Designing hardware with C-based languages
Venkat Krishnaswamy, Calypto Design Systems
EE Times
11/14/2005 10:00 AM EST
With increasing design complexity and shortening time-to-market, hardware designers have sought to use higher levels of abstraction for both verification and design. For many hardware engineers, C-based languages (C/C++ or SystemC) have become a means to specify designs for verification, in addition to offering a starting point for implementation.
The process of design starts with a transactional model that is used mostly for architectural exploration. This transactional model may be refined into a more-detailed C specification model for use in verification. Alternatively, the performance verification model may have sufficient detail for use as a "golden" model for verification. This model is then labeled the specification model. It can be used as a baseline for generating RTL (using behavioral synthesis) or for verifying manually written RTL.
As designers increasingly use this process, their success depends on the availability of a sound methodology and a set of guidelines for coding an effective specification model. Such a model should achieve high simulation speed for model validation; achieve the ability to modify the design easily as the project progresses; be an effective specification model for behavioral synthesis flows; and be an effective specification model for formal verification, so that both hand-coded RTL and behavioral synthesis output can be accommodated.
To ensure a faster path to success when designing hardware with C-based languages, here is a short list of items that require attention.
EE Times
11/14/2005 10:00 AM EST
With increasing design complexity and shortening time-to-market, hardware designers have sought to use higher levels of abstraction for both verification and design. For many hardware engineers, C-based languages (C/C++ or SystemC) have become a means to specify designs for verification, in addition to offering a starting point for implementation.
The process of design starts with a transactional model that is used mostly for architectural exploration. This transactional model may be refined into a more-detailed C specification model for use in verification. Alternatively, the performance verification model may have sufficient detail for use as a "golden" model for verification. This model is then labeled the specification model. It can be used as a baseline for generating RTL (using behavioral synthesis) or for verifying manually written RTL.
As designers increasingly use this process, their success depends on the availability of a sound methodology and a set of guidelines for coding an effective specification model. Such a model should achieve high simulation speed for model validation; achieve the ability to modify the design easily as the project progresses; be an effective specification model for behavioral synthesis flows; and be an effective specification model for formal verification, so that both hand-coded RTL and behavioral synthesis output can be accommodated.
To ensure a faster path to success when designing hardware with C-based languages, here is a short list of items that require attention.
To read the full article, click here
Related Semiconductor IP
- ReRAM NVM in DB HiTek 130nm BCD
- UFS 5.0 Host Controller IP
- PDM Receiver/PDM-to-PCM Converter
- Voltage and Temperature Sensor with integrated ADC - GlobalFoundries® 22FDX®
- 8MHz / 40MHz Pierce Oscillator - X-FAB XT018-0.18µm
Related Articles
- OmniSim: Simulating Hardware with C Speed and RTL Accuracy for High-Level Synthesis Designs
- Run by Chips, Secured with Chips - Hardware Security with NeoPUF solutions
- Advantages and Challenges of Designing with Multiple Inferencing Chips
- C based design methodology accelerates ASIC/FPGA design cycles
Latest Articles
- An FPGA-Based SoC Architecture with a RISC-V Controller for Energy-Efficient Temporal-Coding Spiking Neural Networks
- Enabling RISC-V Vector Code Generation in MLIR through Custom xDSL Lowerings
- A Scalable Open-Source QEC System with Sub-Microsecond Decoding-Feedback Latency
- SNAP-V: A RISC-V SoC with Configurable Neuromorphic Acceleration for Small-Scale Spiking Neural Networks
- An FPGA Implementation of Displacement Vector Search for Intra Pattern Copy in JPEG XS