Presentation is loading. Please wait.

Presentation is loading. Please wait.

ESL: Panacea or Hype? FERMAT | Sandeep Shukla | June 2005 Acknowledgement: NSF, Project Tech, and the “Chip.

Similar presentations


Presentation on theme: "ESL: Panacea or Hype? FERMAT | Sandeep Shukla | June 2005 Acknowledgement: NSF, Project Tech, and the “Chip."— Presentation transcript:

1 ESL: Panacea or Hype? FERMAT | Sandeep Shukla | June 2005 shukla@vt.edu Acknowledgement: NSF, Project Espresso @IRISA, FERMAT @Virginia Tech, and the “Chip Design” Magazine

2 Outline Pictures speak louder than words − What is ESL? − Abstraction Trends − Verification Trends − EDA Industry Trends What are we doing? − Heterogeneity and MoCs − Behavioral Hierarchy − Meta Modeling Support − Service Oriented Validation Framework

3 Electronic System Level?

4 Abstraction Trends

5 Hardware Resources and Computer Power

6 A Tale of Two ESLs?

7 HW/SW Cost Breakdown Trends

8 Verification Trends

9 Hybrid and AMS

10

11 Verification Trends

12 ESL Industry Space

13 Our Work at FERMAT and ESPRESSO Introduce Heterogeneity in SystemC with Models of Computation (MoC) extensions Raise the Modeling Fidelity Step towards Behavioral Hierarchy with Heterogeneity EWD: Meta-Modeling Frameworks CARH: Service Oriented Validation Framework

14 SystemC’s Discrete-Event Kernel Evaluate-Update Paradigm Dynamic scheduling incurs unnecessary delta cycles Statically schedulable MoCs should avoid dynamic scheduling

15 An Example MoC Extension: Synchronous Data Flow in SystemC SDF models are: − Amenable to static scheduling − Require blocks to have predefined production and consumption rates − Construct repetition vector − Construct firing order − Executable schedule achieved with valid repetition vector and firing order

16 An Example MoC Extension: Synchronous Data Flow in SystemC Constructing an SDF model requires: − Encapsulating SDF specific processes (SC_SDF_METHOD) in a top-level SystemC process − Top-level constructs SDF graph with appropriate API − Every unique SDF model must be registered in its own sdf_graph instance − Top-level entry function must invoke sdf_trigger() function SC_MODULE( sdf_block ) { SDFPort > sample_in; SDFPort > sample_out; SC_SDF_METHOD( block_entry ); SC_CTOR( sdf_block ) { // Register this block into sdf_graph } void block_entry() { // Entry specific code } }; SC_MODULE( toplevel ) { sc_in_clk CLK; SC_THREAD( topentry ){ sensitive << CLK.pos(); }; SC_CTOR ( toplevel ) { // Instantiate SDF blocks and connect // the ports } void topentry() { sdf_trigger(); } };

17 An Example MoC Extension: Synchronous Data Flow in SystemC During initialization all executable schedules are computed DE kernel continues executes without intervention until sdf_trigger() is invoked SDF kernel takes over and executes the SDF-specific blocks according to the computed schedule

18 Heterogeneous Extensions Communicating Sequential Processes Rendez-vous communication Phil1Phil4 Phil3 Phil0 Phil2 Fork1 Fork0 Fork4 Fork3 Fork2 Footman

19 Heterogeneous Extensions Finite State Machine Control machines Phil1Phil4 Phil3 Phil0 Phil2 Fork1 Fork0 Fork4 Fork3 Fork2 Footman s0s1s2s3s4

20 Heterogeneous Extensions DE, FSM, SDF & CSP Phil1Phil4 Phil3 Phil0 Phil2 Fork1 Fork0 Fork4 Fork3 Fork2 Footman DE: Solves RSA Encryption Algorithm ProducerConsumer SDF: Producer/Consumer SDF: Sobel Edge Detection Algorithm

21 Simulation Efficiency A brief look Pure SDF models ~ 65% gains Pure FSM models ~ 10% degradation Pure CSP models ~ 1% gains

22 Behavioral Hierarchy with Heterogeneity Decompose design into small behaviors Behaviors expressed by different MoCs

23 Behavioral Hierarchy with Heterogeneity Semantics define interactions within MoC and across MoCs Hierarchical composition preserves behavioral hierarchy

24 Why you want GreenSocs SystemCXML: http://systemcxml.sourceforge.net http://systemcxml.sourceforge.net SystemC Source IR Doxygen Annotated XML Phase 1 Extracted XML Phase 2 Analysis, Transformation, Testing, Optimization, …

25 What we do with SystemC? Service-oriented architecture − Provide infrastructure for incorporating multiple features into services using ACE/TAO − Use SCV for automated testbench generation − Dynamic-Value Change Dump − Logging Service Employ existing CORBA services such as: − Naming Service − Event Service

26 Reference Website for SystemC-H: http://fermat.ece.vt.edu/systemc-h/ http://fermat.ece.vt.edu/systemc-h/ Book


Download ppt "ESL: Panacea or Hype? FERMAT | Sandeep Shukla | June 2005 Acknowledgement: NSF, Project Tech, and the “Chip."

Similar presentations


Ads by Google