70 likes | 191 Views
DPI+ Proposals. John Stickley, Duaine Pryor Mentor Emulation Division. Existing Requirements. Long standing requirements for SCE-MI I Performance in emulated environments Transaction oriented Support for multi-threaded C/C++/HVL TB modeling environments
E N D
DPI+ Proposals John Stickley, Duaine Pryor Mentor Emulation Division
Existing Requirements • Long standing requirements for SCE-MI I • Performance in emulated environments • Transaction oriented • Support for multi-threaded C/C++/HVL TB modeling environments • Multi-lingual on HDL side (Verilog, VHDL) • Previously discussed requirements for SCE-MI II (fall 2003): • No more uncontrolled time • Variable length messages DPI+ Proposals
New Requirements ? • Fusion, alignment with other standards efforts • Emphasis on ease of use for the user and the model writer • Model reusability • Determinism (a.k.a. repeatability) • Streaming support (while retaining determinism) • Synchronization to (not just “support for”) multi-threaded C++ environments • Easy mapping to accelerator platforms (synthesizeability) DPI+ Proposals
Messages (big vectors) Signals Parametrized TLM FIFOs Function Calls + Arguments Existing Standards – Abstraction Space“Sweet Spots” HVL/C/C++Abstraction HDL Abstraction Conduits What is TLM here ?Is it behavioral ?(Is it synthesizeable ?) Behavioral HDL, “RTL+” CC* HDL(can be synthesizeable) RTL CC* HDL(synthesizeable) Behavioral HDL,RTL CC* HDL(partly synthesizeable),Timed gate level *TLM WG term for “cycle callable” meaning “cycle accurate” DPI+ Proposals
Proposal for DPI+ • Is there some “common ground” for existing transaction based modeling standards ? • Can parts be combined where they are serving the same conceptual purpose ? • Can the combined standard still meet past and current requirements ? • Can the combined standard leverage existing, implemented, proven standards without re-inventing the wheel ? DPI+ Proposals
Signals Parametrized TLM FIFOs Function Calls + Arguments Proposed Standards – Abstraction Space“Sweet Spots” HVL/C/C++Abstraction HDL Abstraction Conduits What is TLM here ?Is it behavioral ?(Is it synthesizeable ?) Behavioral HDL,“RTL+” CC* HDL(can be synthesizeable) Behavioral HDL,RTL CC* HDL(partly synthesizeable),Timed gate level *TLM WG term for “cycle callable” meaning “cycle accurate” DPI+ Proposals