1 / 24

Architecture Description Languages for Programmable Embedded Systems

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.

abra
Télécharger la présentation

Architecture Description Languages for Programmable Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. ADL-Driven Framework Architecture Description Languages for Programmable embedded Systems

  6. 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

  7. Introduction to ADLs and Some Examples

  8. 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

  9. Classification of ADLs Content Objective Architecture Description Languages for Programmable embedded Systems

  10. 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

  11. 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

  12. EXPRESSION • Mixed ADL Data-path specification Architecture Description Languages for Programmable embedded Systems

  13. 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

  14. LISA • Mixed ADL Pipeline specification • Purpose • Instruction-set simulation • Hardware synthesis Operation specification Architecture Description Languages for Programmable embedded Systems

  15. AIDL • Partial ADL • Aims at validation of the pipeline behavior • Data forwarding • Out-of-order completion Architecture Description Languages for Programmable embedded Systems

  16. ADL Applications

  17. Software Toolkit Generation Architecture Description Languages for Programmable embedded Systems

  18. 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

  19. Simulator Generation • Interpretation-Based Simulator • Compilation-Based Simulator • Interpretive + Compiled Simulator Architecture Description Languages for Programmable embedded Systems

  20. 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

  21. Hardware Validation Architecture Description Languages for Programmable embedded Systems

  22. 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

  23. 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

  24. 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

More Related