June 22, 2005 IRISATECH DAY
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
June 22, 2005 IRISATECH DAY
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
June 22, 2005 IRISATECH DAY
Hardware Resources and Computer Power
June 22, 2005 IRISATECH DAY
HW/SW Cost Breakdown Trends
June 22, 2005 IRISATECH DAY
Abstraction Trends
June 22, 2005 IRISATECH DAY
Hybrid and AMS
June 22, 2005 IRISATECH DAY
Electronic System Level?
June 22, 2005 IRISATECH DAY
Verification Trends
June 22, 2005 IRISATECH DAY
Verification Gap
June 22, 2005 IRISATECH DAY
Verification Trends
June 22, 2005 IRISATECH DAY
A Tale of Two ESLs?
June 22, 2005 IRISATECH DAY
ESL Industry Space
June 22, 2005 IRISATECH DAY
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
June 22, 2005 IRISATECH DAY
SystemC’s Discrete-Event Kernel
• Evaluate-Update Paradigm
• Dynamic scheduling incurs unnecessary delta cycles
• Statically schedulable MoCs should avoid dynamic scheduling
June 22, 2005 IRISATECH DAY
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
June 22, 2005 IRISATECH DAY
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();}
};
June 22, 2005 IRISATECH DAY
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
June 22, 2005 IRISATECH DAY
Heterogeneous ExtensionsCommunicating Sequential Processes• Rendez-vous communication
Phil1Phil4
Phil3
Phil0
Phil2
Fork1
Fork0
Fork4
Fork3
Fork2
Footman
June 22, 2005 IRISATECH DAY
Heterogeneous ExtensionsFinite State Machine• Control machines
Phil1Phil4
Phil3
Phil0
Phil2
Fork1
Fork0
Fork4
Fork3
Fork2
Footmans0 s1 s2 s3 s4
June 22, 2005 IRISATECH DAY
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
June 22, 2005 IRISATECH DAY
Simulation EfficiencyA brief look• Pure SDF models ~ 65% gains• Pure FSM models ~ 10% degradation• Pure CSP models ~ 1% gains
June 22, 2005 IRISATECH DAY
Behavioral Hierarchy with Heterogeneity • Decompose design into small behaviors• Behaviors expressed by different MoCs
June 22, 2005 IRISATECH DAY
Behavioral Hierarchy with Heterogeneity• Semantics define interactions within MoC and
across MoCs• Hierarchical composition
June 22, 2005 IRISATECH DAY
SystemCXML: http://systemcxml.sourceforge.net
SystemC Source
IR
Doxygen
Annotated XML
Phase 1
Extracted XML
Phase 2
Analysis, Transformation, Testing, Optimization, …
June 22, 2005 IRISATECH DAY
Service Oriented Validation• 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
June 22, 2005 IRISATECH DAY
June 22, 2005 IRISATECH DAY
Meta-Modeling• Metamodeling frameworkMetamodeling framework
− Creating metamodelsCreating metamodels− Meta model allows an abstract descriptionMeta model allows an abstract description− Facilitates modeling using metamodel abstract Facilitates modeling using metamodel abstract − syntaxsyntax− Eg.: GME (Generic Modeling Environment)Eg.: GME (Generic Modeling Environment)
• GMEGME− Abstract syntax using pure UML class diagramsAbstract syntax using pure UML class diagrams− Semantic constraints using the Semantic constraints using the Object Constraint Object Constraint − Language (OCL)Language (OCL)− XML access for both model and metamodel XML access for both model and metamodel − informationinformation
June 22, 2005 IRISATECH DAY
Meta Modeling
June 22, 2005 IRISATECH DAY
Features of EWD
• A visual environment that supports heterogeneous modeling
• Executable simulation models are automatically built by the tool and currently the target simulation languages are
• SML and Haskell-based modeling extensions.
• Translation to other targets such as SMV for formal verification purposes
• Multi-targeting is achieved through XML-based interoperability
June 22, 2005 IRISATECH DAY
Reference
• Website for SystemC-H: http://fermat.ece.vt.edu/systemc-h/
• Book
Top Related