Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE...

24
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
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE...

Page 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:

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

Page 2: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 2/24

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.

Page 3: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 3/24

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.

Page 4: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 4/24

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

Page 5: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 5/24

ADL-Driven Framework

Page 6: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 6/24

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 for programmable embedded systems

Page 7: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

Introduction to ADLs and Some Examples

Page 8: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 8/24

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

Page 9: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 9/24

Classification of ADLs

Content

Objective

Page 10: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 10/24

MIMOLA

Structural ADLSpecification of program counter

Specification of ALU

Specification of connections

•Purpose

•Hardware synthesis

•Program generation

•Weakness

•Lack of pipeline information

Page 11: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 11/24

nML Behavioral ADL

Example of instruction specification•Purpose

•Software compilation

•Instruction-set simulation

•Weakness

•Hard to model the complicated processors

Page 12: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 12/24

EXPRESSION

Mixed ADL

Data-path specification

Page 13: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 13/24

EXPRESSION (Cont.)

•Purpose

•Software compilation

•Instruction-set simulation

•Hardware synthesis

•Weakness

•Control path is not modeled

Instruction specification

Page 14: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 14/24

LISA

Mixed ADLPipeline specification

Operation specification

•Purpose

•Instruction-set simulation

•Hardware synthesis

Page 15: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 15/24

AIDL

Partial ADL Aims at validation of the pipeline behavior

Data forwarding Out-of-order completion

Page 16: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

ADL Applications

Page 17: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 17/24

Software Toolkit Generation

Page 18: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 18/24

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 usi

ng EXPRESSION

Page 19: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 19/24

Simulator Generation

Interpretation-Based Simulator Compilation-Based Simulator Interpretive + Compiled Simulator

Page 20: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 20/24

Hardware Generation Parameterized processor core based

EX: Xtensa, Jazz, PEAS ADL-based

EX: HGEN using ISDL, GO using nML, LISA-based

Page 21: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 21/24

Hardware Validation

Page 22: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 22/24

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 ] )

Page 23: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 23/24

Comparative Study

Noted by speaker:

It seems that the EXPRESSION would be the best choice for microprocessor validation

Page 24: Architecture Description Languages for Programmable Embedded Systems P. Mishra and N. Dutt IEE Proc.-Comput. Digit. Tech., Vol. 152, No. 3, May 2005 Speaker:

2005/11/18 Architecture Description Languages for Programmable embedded Systems 24/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