A bridging model for ESL synthesis
Rishiyur S. Nikhil, CTO, Bluespec, Inc.
(05/29/2006 9:00 AM EDT)
SystemC has recently become popular for electronic system-level (ESL) modeling because of the growing complexity of systems on a chip (SoCs), and because of the ubiquity of C and C++. It facilitates the incorporation of embedded software, instruction set simulators and cycle-accurate simulators, which are usually written in C or C++. Transaction-level modeling (TLM) not only provides a higher level of abstraction, but also faster simulation speed.
Unfortunately, hardware-accurate modeling and synthesis to hardware are problematic in SystemC and, with its current approach, are likely to remain so. The root cause is the model of computation — threads and events.
First, as eloquently argued by Lee and Ousterhout (in [L1] and [01]), the thread model is very difficult to use for any serious concurrent programming, and hardware systems have complex concurrency. Second, threads and events are so far removed from hardware that hardware-accuracy is difficult, and synthesis intractable, unless the design is written essentially as RTL. Behavioral synthesis is often cited as a solution, but its current incarnation only works for applications with loop-and-array scientific/technical algorithms, and leaves untouched the majority of hardware blocks, which have heterogeneous and irregular structures with complex control.
What ESL needs is a bridging model of hardware, rather than threads and events. A bridging model raises the level of abstraction while retaining the fundamental essence of hardware: fine-grain parallel state transitions on fixed circuit structures organized into a module hierarchy. This will allow architects and designers to work at a high level while retaining a sense of predictability and control in the structures they design. An implementation of such a bridging model exists in Bluespec SystemVerilog (BSV) — and, the recently introduced ESL Synthesis Extensions (ESE) to SystemC address this need for SystemC.
(05/29/2006 9:00 AM EDT)
SystemC has recently become popular for electronic system-level (ESL) modeling because of the growing complexity of systems on a chip (SoCs), and because of the ubiquity of C and C++. It facilitates the incorporation of embedded software, instruction set simulators and cycle-accurate simulators, which are usually written in C or C++. Transaction-level modeling (TLM) not only provides a higher level of abstraction, but also faster simulation speed.
Unfortunately, hardware-accurate modeling and synthesis to hardware are problematic in SystemC and, with its current approach, are likely to remain so. The root cause is the model of computation — threads and events.
First, as eloquently argued by Lee and Ousterhout (in [L1] and [01]), the thread model is very difficult to use for any serious concurrent programming, and hardware systems have complex concurrency. Second, threads and events are so far removed from hardware that hardware-accuracy is difficult, and synthesis intractable, unless the design is written essentially as RTL. Behavioral synthesis is often cited as a solution, but its current incarnation only works for applications with loop-and-array scientific/technical algorithms, and leaves untouched the majority of hardware blocks, which have heterogeneous and irregular structures with complex control.
What ESL needs is a bridging model of hardware, rather than threads and events. A bridging model raises the level of abstraction while retaining the fundamental essence of hardware: fine-grain parallel state transitions on fixed circuit structures organized into a module hierarchy. This will allow architects and designers to work at a high level while retaining a sense of predictability and control in the structures they design. An implementation of such a bridging model exists in Bluespec SystemVerilog (BSV) — and, the recently introduced ESL Synthesis Extensions (ESE) to SystemC address this need for SystemC.
To read the full article, click here
Related Semiconductor IP
- AXI to UCIe FDI Interface IP
- 45SPCLO UCIe-Class 1-32Gbps Low Power Receiver IP (NRZ)
- 45SPCLO UCIe-Class 1-32Gbps Low Power Transmitter IP (NRZ)
- Peripheral Sensor Interface (PSI5) Host Controller
- Link Acceleration Unit
Related Articles
- Customizing a Large Language Model for VHDL Design of High-Performance Microprocessors
- Use ESL synthesis techniques to replace dedicated DSPs with FPGAs
- A Multi-Objective Optimization Model for Energy and Performance Aware Synthesis of NoC Architecture
- FastPath: A Hybrid Approach for Efficient Hardware Security Verification
Latest Articles
- CHIA: An open-source framework for principled, agentic AI-driven hardware/software co-design research
- Croc: Training the Next Generation Chip Designers on Domain-Specific End-to-End Open Source Silicon
- Design and Development of a Neuromorphic Silicon Suite: PVT Sensing, Stochastic LIF Inference, On-Chip STDP Learning, and Crossbar Programming
- LLM4RTL: Tool-Assisted LLM for RTL Generation
- Towards Delta Aware Training: Efficient DNN Weight Storage for Resource-Constrained FPGAs