The Vienna Architecture Description Language (VADL) is a powerful processor description language (PDL) that enables the concise formal specification of processor architectures. By utilizing a single VADL processor specification, the VADL system exhibits the capability to automatically generate a range of artifacts necessary for rapid design space exploration. These include assemblers, compilers, linkers, functional instruction set simulators, cycle-accurate instruction set simulators, synthesizable specifications in a hardware description language, as well as test cases and documentation. One distinctive feature of VADL lies in its separation of the instruction set architecture (ISA) specification and the microarchitecture (MiA) specification. This segregation allows users the flexibility to combine various ISAs with different MiAs, providing a versatile approach to processor design. In contrast to existing PDLs, VADL’s MiA specification operates at a higher level of abstraction, enhancing the clarity and simplicity of the design process. Notably, with a single ISA specification, VADL streamlines compiler generation and maintenance by eliminating the need for intricate compiler-specific knowledge. This article introduces VADL, describes the generator techniques in detail and demonstrates the power of the language and the performance of the generators in an empirical evaluation. The evaluation shows the expressiveness and conciseness of VADL and the efficiency of the generated artifacts.
en
dc.description.sponsorship
HUAWEI Technologies CO, Ltd.
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
processor description language
en
dc.subject
compiler generator
en
dc.subject
assembler generator
en
dc.subject
simulator generator
en
dc.subject
hardware generator
en
dc.title
The Vienna Architecture Description Language
en
dc.type
Preprint
en
dc.type
Preprint
de
dc.rights.license
Urheberrechtsschutz
de
dc.rights.license
In Copyright
en
dc.identifier.doi
10.34726/5619
-
dc.identifier.arxiv
2402.09087
-
dc.relation.grantno
TC20220519027
-
tuw.project.title
Processor Description Language and Compiler Optimizations - 2
-
tuw.researchTopic.id
I4
-
tuw.researchTopic.name
Information Systems Engineering
-
tuw.researchTopic.value
100
-
tuw.publication.orgunit
E194-05 - Forschungsbereich Compilers and Languages
-
tuw.publisher.doi
10.48550/arXiv.2402.09087
-
dc.identifier.libraryid
AC17202998
-
dc.description.numberOfPages
62
-
tuw.author.orcid
0009-0002-9727-654X
-
tuw.author.orcid
0009-0004-7203-8283
-
tuw.author.orcid
0000-0001-9954-4881
-
tuw.author.orcid
0009-0003-1433-2049
-
dc.rights.identifier
Urheberrechtsschutz
de
dc.rights.identifier
In Copyright
en
tuw.publisher.server
arXiv
-
wb.sciencebranch
Informatik
-
wb.sciencebranch.oefos
1020
-
wb.sciencebranch.value
100
-
item.grantfulltext
open
-
item.openairecristype
http://purl.org/coar/resource_type/c_816b
-
item.mimetype
application/pdf
-
item.openairetype
preprint
-
item.openaccessfulltext
Open Access
-
item.languageiso639-1
en
-
item.cerifentitytype
Publications
-
item.fulltext
with Fulltext
-
crisitem.author.dept
E194-01 - Forschungsbereich Software Engineering
-
crisitem.author.dept
E194-05 - Forschungsbereich Compilers and Languages
-
crisitem.author.dept
E194-05 - Forschungsbereich Compilers and Languages
-
crisitem.author.dept
E191-03 - Forschungsbereich Automation Systems
-
crisitem.author.dept
E194-05 - Forschungsbereich Compilers and Languages
-
crisitem.author.orcid
0009-0004-7203-8283
-
crisitem.author.orcid
0000-0001-9954-4881
-
crisitem.author.orcid
0009-0003-1433-2049
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering
-
crisitem.author.parentorg
E191 - Institut für Computer Engineering
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering