Processor Modeling and Design Tools

This chapter covers state-of-the art specification languages, tools, and methodologies for processor development in academia as well as industry. Time-to-market pressure coupled with short-product lifetimes create a critical need for design automation in processor development. The processor is modeled using a specification language such as Architecture Description Language (ADL). The ADL specification is used to generate various tools (e.g., simulators, compilers and debuggers) to enable exploration and validation of candidate architectures. The goal is to find the best possible processor architecture for the given set of application programs under various design constraints such as cost, area, power and performance. The ADL specification is also used to perform various design automation tasks including hardware generation and functional verification of the processor.

[1]  Kurt Keutzer,et al.  Building ASIPs: The Mescal Methodology , 2006 .

[2]  Prabhat Mishra,et al.  Architecture description languages for programmable embedded systems , 2005 .

[3]  Nikil D. Dutt,et al.  Memory aware compilation through accurate timing extraction , 2000, Proceedings 37th Design Automation Conference.

[4]  Yoshinori Takeuchi,et al.  PEAS-III: an ASIP design environment , 2000, Proceedings 2000 International Conference on Computer Design.

[5]  Nikil D. Dutt,et al.  Towards Automatic Validation of Dynamic Behavior in Pipelined Processor Specifications , 2003, Des. Autom. Embed. Syst..

[6]  Hiroyuki Tomiyama,et al.  Architecture Description Languages for Systems-on-Chip Design , 1999 .

[7]  Nikil D. Dutt,et al.  Modeling and validation of pipeline specifications , 2004, TECS.

[8]  Rajat Moona,et al.  Processor modeling for hardware software codesign , 1999, Proceedings Twelfth International Conference on VLSI Design. (Cat. No.PR00013).

[9]  Nikil D. Dutt,et al.  Synthesis-driven exploration of pipelined embedded processors , 2004, 17th International Conference on VLSI Design. Proceedings..

[10]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

[11]  Edwin A. Harcourt,et al.  Generation Of Software Tools From Processor Descriptions For Hardware/software Codesign , 1997, Proceedings of the 34th Design Automation Conference.

[12]  Nikil D. Dutt,et al.  An efficient retargetable framework for instruction-set simulation , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[13]  Nikil D. Dutt,et al.  Graph-based functional test program generation for pipelined processors , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[14]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[15]  Nikil D. Dutt,et al.  Instruction set compiled simulation: a technique for fast and flexible instruction set simulation , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[16]  Nikil D. Dutt,et al.  A top-down methodology for microprocessor validation , 2004, IEEE Design & Test of Computers.

[17]  B. Ramakrishna Rau,et al.  HMDES Version 2.0 Specification , 1996 .

[18]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[19]  S. Devadas,et al.  ISDL: An Instruction Set Description Language For Retargetability , 1997, Proceedings of the 34th Design Automation Conference.

[20]  Nikil D. Dutt,et al.  V-SAT: a visual specification and analysis tool for system-on-chip exploration , 2001, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[21]  Srinivas Devadas,et al.  Instruction selection, resource allocation, and scheduling in the AVIV retargetable code generator , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[22]  Mario Barbacci,et al.  Instruction set processor specifications (ISPS): The notation and its applications , 1981, IEEE Transactions on Computers.

[23]  Nikil D. Dutt,et al.  Automatic modeling and validation of pipeline specifications driven by an architecture description language [SoC] , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[24]  Wayne Wolf,et al.  High-Level VLSI Synthesis , 1991 .

[25]  David Keppel,et al.  Shade: a fast instruction-set simulator for execution profiling , 1994, SIGMETRICS.

[26]  Maria Freericks,et al.  The nml machine description formalism , 1991 .

[27]  Chuck Siska,et al.  A processor description language supporting retargetable multi-pipeline DSP program development tools , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[28]  Sharad Malik,et al.  Synthesizing operating system based device drivers in embedded systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[29]  Rainer Leupers,et al.  Instruction encoding synthesis for architecture exploration using hierarchical processor models , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[30]  Nikil D. Dutt,et al.  Reducing code size for heterogeneous-connectivity-based VLIW DSPs through synthesis of instruction set extensions , 2003, CASES '03.

[31]  Nikil Dutt,et al.  Specification-driven validation of programmable embedded systems , 2004 .

[32]  Alois Knoll,et al.  Automated generation of DSP program development tools using a machine description formalism , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[33]  Nikil D. Dutt,et al.  Processor-memory coexploration using an architecture description language , 2004, TECS.

[34]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[35]  Sharad Malik,et al.  Architecture Description Languages for Retargetable Compilation , 2007, The Compiler Design Handbook, 2nd ed..

[36]  Srinivas Devadas,et al.  A methodology for accurate performance evaluation in architecture exploration , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[37]  Nikil D. Dutt,et al.  Functional coverage driven test generation for validation of pipelined processors , 2005, Design, Automation and Test in Europe.

[38]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[39]  Kingshuk Karuri,et al.  A methodology and tool suite for C compiler generation from ADL processor models , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[40]  Yoshinori Takeuchi,et al.  Synthesizable HDL Generation for Pipelined Processors from a Micro-Operation Description (Special Section of Selected Papers from the 12th Workshop on Circuit and Systems in Karuizawa) , 2000 .

[41]  Gert Goossens,et al.  Chess: retargetable code generation for embedded DSP processors , 1994, Code Generation for Embedded Processors.

[42]  Heinrich Meyr,et al.  Retargetable compiled simulation of embedded processors using a machine description language , 2000, TODE.

[43]  Rainer Leupers,et al.  RTL processor synthesis for architecture exploration and implementation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[44]  G. Braun,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[45]  Rainer Leupers,et al.  Retargetable Code Generation Based on Structural Processor Description , 1998, Des. Autom. Embed. Syst..

[46]  Aviral Shrivastava,et al.  A customizable compiler framework for embedded systems , 2001 .

[47]  Mendel Rosenblum,et al.  Embra: fast and flexible machine simulation , 1996, SIGMETRICS '96.

[48]  Eko Fajar Nurprasetyo,et al.  A Programming Language for Processor Based Embedded Systems , 1998 .

[49]  Rainer Leupers,et al.  Instruction scheduler generation for retargetable compilation , 2003, IEEE Design & Test of Computers.

[50]  Gert Goossens,et al.  Code Generation for Embedded Processors , 1995 .

[51]  Heinrich Meyr,et al.  LISA-machine description language and generic machine model for HW/SW co-design , 1996, VLSI Signal Processing, IX.

[52]  Nikil D. Dutt,et al.  RTGEN: An Algorithm for Automatic Generation of Reservation Tables from Architectural Descriptions , 2003, IEEE Trans. Very Large Scale Integr. Syst..