Architecture Description Languages Prabhat Mishra Nikil Dutt Computer and Information Science and Engineering Center for Embedded Computer Systems University of Florida, Gainesville, FL 32611, USA Donald Bren School of Information and Computer Sciences prabhat@cise.ufl.edu University of California, Irvine, CA 92697, USA dutt@uci.edu Modeling plays a central role in design automation of embedded processors. It is necessary to develop a specification language that can model complex processors at a higher level of abstraction and enable au- tomatic analysis and generation of efficient tools and prototypes. The language should be powerful enough to capture high-level description of the processor architectures. On the other hand, the language should be simple enough to allow correlation of the information between the specification and the architecture manual. Architecture Specification Validation (User/Designer Manual) Prototype (Implementation) JTAG interface Test Programs, Compiler, Simulator, Assembler, Debugger ADL Specification Manual Automatic Toolkit Generation Generation Generation Hardware Test Figure 1. ADL-driven design automation of embedded processors Architecture Description Languages (ADL) enable design automation of embedded processors as as shown in Figure 1. The ADL specification is used to generate various executable models including sim- ulator, compiler and hardware implementation. The generated models enable various design automation tasks including exploration, simulation, compilation, synthesis, test generation, and validation. Chapter 5 describes retargetable software tools for embedded processors. This chapter reviews the existing ADLs in terms of their capabilities in capturing a wide variety of embedded processors available today. Existing ADLs can be classified based on two aspects: content and objective. The content-oriented classification is based on the nature of the information an ADL can capture, whereas the objective-oriented classification is