Architecture Description Languages
摘要
Designing a processor is an arduous task. It involves not only defining the instruction-set architecture but also the various processor development tools such as compiler, instruction-set simulator, debugger, assembler, and linker. Moreover, an efficient hardware implementation of the entire microarchitecture is needed apart from verifying the entire design at every step while meeting various end user constraints. These tasks were traditionally done by various specialized teams, originating from an informal processor specification, which posed a significant challenge of maintaining design performance and consistency. The emergence of Architecture Description Languages (ADLs) addressed this challenge. In this chapter, the background of processor design automation flows and how ADLs fit into this narrative are discussed. Prominent ADLs, including commercial ones, are summarized to provide an idea about the inner workings of ADL-driven design flows.