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
- DeWarp IP
- 6-bit, 12 GSPS Flash ADC - GlobalFoundries 22nm
- LunaNet AFS LDPC Encoder and Decoder IP Core
- ReRAM NVM in DB HiTek 130nm BCD
- UFS 5.0 Host Controller 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
- VolTune: A Fine-Grained Runtime Voltage Control Architecture for FPGA Systems
- A Lightweight High-Throughput Collective-Capable NoC for Large-Scale ML Accelerators
- Quantifying Uncertainty in FMEDA Safety Metrics: An Error Propagation Approach for Enhanced ASIC Verification
- SoK: From Silicon to Netlist and Beyond Two Decades of Hardware Reverse Engineering Research
- An FPGA-Based SoC Architecture with a RISC-V Controller for Energy-Efficient Temporal-Coding Spiking Neural Networks