250 likes | 431 Views
Architecture Description Languages for Programmable Embedded Systems. P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker: Wen-Kai Huang. Abstract.
E N D
Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker: Wen-Kai Huang
Abstract • Embedded systems present a tremendous opportunity to customize designs by exploiting the application behavior. Shrinking time-to-market, coupled with short product lifetimes, create a critical need for rapid exploration and evaluation of candidate architectures. Architecture description languages (ADL) enable exploration of programmable architectures for a given set of application programs under various design constraints such as area, power and performance. The ADL is used to specify programmable embedded systems, include processor, coprocessor and memory architectures. The ADL specification is used to generate a variety of software tools. Architecture Description Languages for Programmable embedded Systems
Abstract (Cont.) • The paper surveys the existing ADLs in terms of (a) the inherent features of the languages and (b) the methodologies they support to enable simulation, compilation, synthesis, test generation and validation of programmable embedded systems. It concludes with a discussion of the relative merits and demerits of the existing ADLs and expected features of future ADLs. Architecture Description Languages for Programmable embedded Systems
What’s the Problem • Embedded systems are everywhere • Architecture Description Languages(ADL) are traditionally used to enable rapid design space exploration Example system: • Key Features: • Shrinking time-to-market • Shorten product lifetime • So we need: Rapid design space exploration Architecture Description Languages for Programmable embedded Systems
ADL-Driven Framework Architecture Description Languages for Programmable embedded Systems
Related Works • Qin and Malik [1] • Surveyed and compared the ADLs to highlight their strengths and weaknesses for retargetable compilation • Tomiyama et al. [2] • Classified existing ADLs into four categories • Synthesis • Compiler generation • Simulator generation • Validation This paper presents a comprehensive survey and accompanying methodologies forprogrammable embedded systems Architecture Description Languages for Programmable embedded Systems
Language Comparison • How do ADLs differ from conventional non-ADLs?? • Programming languages • EX: C, C++ • Hardware description languages (HDL) • VHDL, Verilog • Modeling languages • EX: UML, SystemC Architecture Description Languages for Programmable embedded Systems
Classification of ADLs Content Objective Architecture Description Languages for Programmable embedded Systems
MIMOLA • Structural ADL Specification of program counter Specification of ALU • Purpose • Hardware synthesis • Program generation • Weakness • Lack of pipeline information Specification of connections Architecture Description Languages for Programmable embedded Systems
nML • Behavioral ADL Example of instruction specification • Purpose • Software compilation • Instruction-set simulation • Weakness • Hard to model the complicated processors Architecture Description Languages for Programmable embedded Systems
EXPRESSION • Mixed ADL Data-path specification Architecture Description Languages for Programmable embedded Systems
EXPRESSION (Cont.) Instruction specification • Purpose • Software compilation • Instruction-set simulation • Hardware synthesis • Weakness • Control path is not modeled Architecture Description Languages for Programmable embedded Systems
LISA • Mixed ADL Pipeline specification • Purpose • Instruction-set simulation • Hardware synthesis Operation specification Architecture Description Languages for Programmable embedded Systems
AIDL • Partial ADL • Aims at validation of the pipeline behavior • Data forwarding • Out-of-order completion Architecture Description Languages for Programmable embedded Systems
Software Toolkit Generation Architecture Description Languages for Programmable embedded Systems
Compiler Generation • Retargetable compiler • Architecture template based (non-ADL based) • EX: Valen C, GNU-based C/C++ • Explicit behavioral information based • EX: AVIV using ISDL, CHESS using nML, Elcor using MDes • Behavioral information generation based • EX: MSSQ using MIMOLA, LISA-based, EXPRESS using EXPRESSION Architecture Description Languages for Programmable embedded Systems
Simulator Generation • Interpretation-Based Simulator • Compilation-Based Simulator • Interpretive + Compiled Simulator Architecture Description Languages for Programmable embedded Systems
Hardware Generation • Parameterized processor core based • EX: Xtensa, Jazz, PEAS • ADL-based • EX: HGEN using ISDL, GO using nML, LISA-based Architecture Description Languages for Programmable embedded Systems
Hardware Validation Architecture Description Languages for Programmable embedded Systems
Validation of ADL • Static verify • Connectedness • False pipeline • Data-transfer paths • Dynamic verify • Instruction flow in the pipeline (More detail discussion can be found in [ 58 – 63 ] ) Architecture Description Languages for Programmable embedded Systems
Comparative Study Noted by speaker: It seems that the EXPRESSION would be the best choice for microprocessor validation Architecture Description Languages for Programmable embedded Systems
Conclusions • The architecture description language (ADL) is an important modeling tool for future SOC design • Hardware synthesis • Software toolkit generations • Test generations • This paper gives a comprehensive survey for several popular ADLs Architecture Description Languages for Programmable embedded Systems