Building an FPGA FIFO without using logic recourses
Today, FPGA designers are using these flexible devices to perform everything from simple glue logic tasks to implementing complicated system on a chip (SoC) functions. The efficiency and ease of implementation of these designs are greatly enhanced by the feature-rich embedded elements present in the target technology. While simple FPGAs offer the ability to implement only basic logic functions, more advanced FPGAs provide embedded RAMs, multipliers, and highly specialized IO structures. These embedded elements are building blocks that – when combined with surrounding logic – can turn an embedded RAM into a FIFO, or an embedded multiplier into a finite impulse response (FIR) filter.
Thus, to expand upon these embedded building blocks to create more advanced functions, extra logic must typically be utilized and configured by the designer. This extra logic, in most cases, must be created, verified, implemented, and properly connected to the embedded elements by the designer in the source RTL.
But, what if this weren't the case? What if a designer could simply configure, for example, a highly flexible embedded RAM block in an FPGA to be a FIFO? And, what if this FIFO could have various depths and widths, have programmable output flags, and simultaneously operate in two separate clock domains – all without consuming any additional FPGA logic? Finally, what if this could be done without writing one line of RTL code? All of this is now possible using QuickLogic's new PolarPro line of low-power FPGAs. This paper will discuss how to use the PolarPro device – along with its associated design software, QuickWorks – to build these highly flexible FIFOs without using any of the FPGA's logic resources.
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
- Control an FPGA bus without using the processor
- Building security into an AI SoC using CPU features with extensions
- FPGAs: Embedded Apps : Building mesh-based distributed switch fabrics with programmable logic
- Asynchronous Logic: large CMOS devices without a clock tree
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