Programmable accelerators: hardware performance with software flexibility
By Dr. Andrea Kroll, CoWare, Inc., U.S.A.
Programmable accelerators combine the performance of custom hardware with the flexibility of software--and they are surprisingly easy to design. This article shows how to specify, profile, and debug a programmable accelerator, all in a matter of weeks.
Higher product design costs and risks have been driving the electronics industry to an increased focus on developing "product platforms." The architecture often needs to be able to support new product requirements over the lifetime of the platform without a chip re-spin.
This creates conflicting requirements for the platform. On one hand, the solution needs to be customized to achieve performance and cost close to that of an ASIC. On the other hand, there is a need for the flexibility of a programmable solution, where modifications and enhancements can be done by software changes rather then by re-spins of the hardware. But what if the performance requirements are too high for an off-the-shelf processor? What if many tasks need to be executed in parallel, but cost constraints prohibit use of separate off-the-shelf processors for each task?
In the following article we will present a language-based tools approach that enables the designer to:
Programmable accelerators combine the performance of custom hardware with the flexibility of software--and they are surprisingly easy to design. This article shows how to specify, profile, and debug a programmable accelerator, all in a matter of weeks.
Higher product design costs and risks have been driving the electronics industry to an increased focus on developing "product platforms." The architecture often needs to be able to support new product requirements over the lifetime of the platform without a chip re-spin.
This creates conflicting requirements for the platform. On one hand, the solution needs to be customized to achieve performance and cost close to that of an ASIC. On the other hand, there is a need for the flexibility of a programmable solution, where modifications and enhancements can be done by software changes rather then by re-spins of the hardware. But what if the performance requirements are too high for an off-the-shelf processor? What if many tasks need to be executed in parallel, but cost constraints prohibit use of separate off-the-shelf processors for each task?
In the following article we will present a language-based tools approach that enables the designer to:
- Add programmability to hardware accelerators
- Customize programmable architectures to achieve a more than 100 times performance improvement over off-the-shelf processors
- Introduce software flexibility into the design without sacrificing design productivity
To read the full article, click here
Related Semiconductor IP
- eUSB2V2.0 Controller + PHY IP
- I/O Library with LVDS in SkyWater 90nm
- 50G PON LDPC Encoder/Decoder
- UALink Controller
- RISC-V Debug & Trace IP
Related Articles
- Adaptable Hardware with Unlimited Flexibility for ASIC & SoC ICs
- NetComposer-II: High performance Structured ASIC Programmable NPU platform for layer 4-7 applications
- A Flexible, Low Power, High Performance DSP IP Core for Programmable Systems-on-Chip
- H.264 Baseline Decoder With ADI Blackfin DSP and Hardware Accelerators
Latest Articles
- ChipBench: A Next-Step Benchmark for Evaluating LLM Performance in AI-Aided Chip Design
- COVERT: Trojan Detection in COTS Hardware via Statistical Activation of Microarchitectural Events
- A Reconfigurable Framework for AI-FPGA Agent Integration and Acceleration
- Veri-Sure: A Contract-Aware Multi-Agent Framework with Temporal Tracing and Formal Verification for Correct RTL Code Generation
- FlexLLM: Composable HLS Library for Flexible Hybrid LLM Accelerator Design