esl: panacea or hype?
DESCRIPTION
FERMAT | Sandeep Shukla | June 2005 {shukla}@vt.edu. ESL: Panacea or Hype?. Acknowledgement: NSF, Project Espresso @IRISA, FERMAT @Virginia Tech, and the “Chip Design” Magazine. Outline. Pictures speak louder than words What is ESL? Abstraction Trends Verification Trends - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/1.jpg)
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
![Page 2: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/2.jpg)
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
![Page 3: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/3.jpg)
Electronic System Level?
![Page 4: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/4.jpg)
Abstraction Trends
![Page 5: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/5.jpg)
Hardware Resources and Computer Power
![Page 6: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/6.jpg)
A Tale of Two ESLs?
![Page 7: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/7.jpg)
HW/SW Cost Breakdown Trends
![Page 8: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/8.jpg)
Verification Trends
![Page 9: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/9.jpg)
Hybrid and AMS
![Page 10: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/10.jpg)
![Page 11: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/11.jpg)
Verification Trends
![Page 12: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/12.jpg)
ESL Industry Space
![Page 13: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/13.jpg)
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
![Page 14: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/14.jpg)
SystemC’s Discrete-Event Kernel
• Evaluate-Update Paradigm
• Dynamic scheduling incurs unnecessary delta cycles
• Statically schedulable MoCs should avoid dynamic scheduling
![Page 15: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/15.jpg)
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
![Page 16: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/16.jpg)
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< sc_uint< 8 > > sample_in;
SDFPort< sc_uint< 8 > > 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();}
};
![Page 17: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/17.jpg)
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
![Page 18: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/18.jpg)
Heterogeneous ExtensionsCommunicating Sequential Processes• Rendez-vous communication
Phil1Phil4
Phil3
Phil0
Phil2
Fork1
Fork0
Fork4
Fork3
Fork2
Footman
![Page 19: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/19.jpg)
Heterogeneous ExtensionsFinite State Machine• Control machines
Phil1Phil4
Phil3
Phil0
Phil2
Fork1
Fork0
Fork4
Fork3
Fork2
Footmans0 s1 s2 s3 s4
![Page 20: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/20.jpg)
Heterogeneous ExtensionsDE, FSM, SDF & CSP
Phil1Phil4
Phil3
Phil0
Phil2
Fork1
Fork0
Fork4
Fork3
Fork2
Footman
DE: Solves RSA Encryption Algorithm
Producer Consumer
SDF: Producer/Consumer
SDF: Sobel EdgeDetectionAlgorithm
![Page 21: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/21.jpg)
Simulation EfficiencyA brief look• Pure SDF models ~ 65% gains• Pure FSM models ~ 10% degradation• Pure CSP models ~ 1% gains
![Page 22: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/22.jpg)
Behavioral Hierarchy with Heterogeneity • Decompose design into small behaviors• Behaviors expressed by different MoCs
![Page 23: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/23.jpg)
Behavioral Hierarchy with Heterogeneity• Semantics define interactions within MoC and
across MoCs• Hierarchical composition preserves behavioral
hierarchy
![Page 24: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/24.jpg)
Why you want GreenSocs • SystemCXML: http://systemcxml.sourceforge.net
SystemC Source
IR
Doxygen
Annotated XML
Phase 1
Extracted XML
Phase 2
Analysis, Transformation, Testing, Optimization, …
![Page 25: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/25.jpg)
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
![Page 26: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/26.jpg)
Meta Modeling
![Page 27: ESL: Panacea or Hype?](https://reader036.vdocument.in/reader036/viewer/2022062805/56814e47550346895dbbc7c0/html5/thumbnails/27.jpg)
Reference
• Website for SystemC-H: http://fermat.ece.vt.edu/systemc-h/
• Book