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
- 8MHz / 40MHz Pierce Oscillator - X-FAB XT018-0.18µm
- UCIe RX Interface
- Very Low Latency BCH Codec
- 5G-NTN Modem IP for Satellite User Terminals
- 400G UDP/IP Hardware Protocol Stack
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
- 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
- A Persistent-State Dataflow Accelerator for Memory-Bound Linear Attention Decode on FPGA
- VMXDOTP: A RISC-V Vector ISA Extension for Efficient Microscaling (MX) Format Acceleration
- PDF: PUF-based DNN Fingerprinting for Knowledge Distillation Traceability