Commentary: ANSI C won't work for ESL
(05/10/2007 2:36 PM EDT), EE Times
While SystemC has been accepted by most systems, semiconductor, and EDA companies as the language of choice for high-speed system-level modeling, there is a continued debate over which language is best for electronic system level (ESL) synthesis.
Some prefer ANSI C or C++. They argue that the breadth of algorithmic software available in these languages and the large numbers of people familiar with them make them a natural fit for synthesizing hardware implementations from high-level algorithmic descriptions.
These arguments have some merit, and at first blush the prospect of re-using existing software source code for hardware implementation looks fast and easy. Unfortunately, hardware designers attempting this while continuing to meet the challenging power consumption, silicon area, and performance demands of today's high-volume consumer oriented systems-on-chip will encounter two intractable problems. Source code optimized for execution on a processor is unsuitable for direct hardware implementation, and C and C++ have a fundamental inability to express constructs that are necessary for effective hardware design.
To read the full article, click here
Related Semiconductor IP
- Flexible Pixel Processor Video IP
- Complex Digital Up Converter
- Bluetooth Low Energy 6.0 Digital IP
- Verification IP for Ultra Ethernet (UEC)
- MIPI SWI3S Manager Core IP
Related News
- ESL needs more work, panelists say
- Mentor Graphics Introduces Catapult SL, the First High-Level Synthesis Tool to Create High-Performance Subsystems from Pure ANSI C++
- Commentary: Why it's time to redefine ESL
- Commentary: ESL success demands outsourcing
Latest News
- TSMC 6-inch Wafer Fab Exit Affirms Strategy Shift
- Brite Semiconductor Releases PCIe 4.0 PHY IP
- Perceptia Completes Silicon Characterisation of pPLL03 for GF 22FDX – Report Now Available
- NIST Finalizes ‘Lightweight Cryptography’ Standard to Protect Small Devices
- QuickLogic Appoints Ron Shelton to Board of Directors