Field programmable gate arrays (FPGA) are devices that provide engineers a way to build custom digital designs. Unlike custom application specific integrated circuits (ASIC) which are basically a sea of gates, the FPGA are designed with higher level components. The basic components are memory, four input lookup table with register, digital signal processing blocks (multiply/adds), and high speed communication blocks. Most often FPGAs designs are paired with a processor. The FPGA’s allow the hardware engineers a method to interface with any type of hardware. While the software talks to the hardware mostly thru the FPGA. However, the interface type used between the processor and FPGA varies with each design.
FPGA design has been limited by text-based tools that have been available since the 1980s. These tools are difficult to use and have a steep learning curve. Unfortunately, due to the lack of progress in tool development, only two languages, VHDL and Verilog, are used for design. Fortunately, either language can be used to easily port a design to any of the vendors’ FPGAs.
FPGA magic was initially envisioned to remove integration between hardware and software. With a consistent message set between hardware and software, a software library can be crafted that will readily access a library of hardware components. As the library for each side of integration is expanded, eventually the majority of components will exist for new designs.
The communication protocols can change, but the message set is always the same. Currently FPGA magic is support serial ports, USB through serial ports and Ethernet. Even in high throughput designs Ethernet scales to meet most communication requirements, even at 100Mbit. The internal FPGA bus starts at 100Mbytes/second throughput, which is more than sufficient for most designs. The functional modules can be daisy-chained in any order, and the same module can be used repeatedly.
Our macros are designed to make FPGA design more accessible and efficient than ever before. Whether you are a seasoned engineer or just starting out, our macros will help you streamline your design process. Our macros are the key to unlocking your full potential and taking your designs to the next level. So why wait? Start using our macros today and experience the difference for yourself.
- Significantly reduces coding time and the time required for new designs.
- Reduces software/hardware integration through the use of common messages and standard interfaces.
- Enables immediate integration thru interfaces that are available on both processor and FPGA boards.
- Exceptionally fast bus that meets the requirements of most designs (minimum 100Mbytes/sec).
- Allows non-coders to develop FPGA designs.
- Macros are space-efficient.
To minimize the learning curve and cost, our site uses an older version of Altera Quartus II V9.1 and a widely available, inexpensive FPGA board.
Watch a FPGA design completed and tested in under ten minutes.
Copyright FPGA Magic, 2023