RenhotecIC FPGA development board vs prototyping system

 

The full name of PGA is Field Programmable Gate Array (Field Programmable Gate Array), which belongs to a semi-custom circuit in ASIC and is a programmable logic array. The basic structure of FPGA includes programmable input and output units, basic programmable logic units, digital clock management modules, embedded block RAM, rich wiring resources, embedded dedicated hard cores, and underlying embedded functional units.

Commercially available FPGA-based platform products include FPGA development boards and FPGA prototype verification systems. Since they are also designed based on FPGA chips, why are there such big differences in scale, function, cost and price? This starts with the difference between their application scenarios and design goals:

 

FPGA development board:

 

The main scenario of the FPGA development board is "developing an IP or application system based on an independent FPGA chip". Its design goals are simplification, high performance, and low cost. Use the original software to debug on an FPGA.

 

Therefore, the FPGA chip it carries usually has a small to medium-scale capacity. In practical applications, it is often used for the development of small and medium-scale chips with specific protocol functions, such as Ethernet, MIPI, NVME/M.2 SSD control, UART/ I2C control, HDMI/DVI display control, etc. It is also possible to directly place an FPGA development board in a large system to function as a control board, so that users can flexibly make various adjustments to the control signals. There are also some application scenarios where computing algorithms are implemented with larger-capacity FPGAs to achieve the application goals of high performance and algorithm flexibility. At the same time, due to the moderate price of low-end development boards, FPGA development boards are also suitable for beginners to learn and use.

 

Secondly, some FPGA development boards are also used in the development and verification scenarios of IP and small chip design. This part of the development board is equipped with a large-capacity FPGA chip, or even a single board is equipped with multiple FPGA chips to adapt to the development and verification scenario. Generally, the user is responsible for manually implementing the process from design to FPGA function prototype.

 

FPGA prototype verification system:

 

The main application scenario of the FPGA prototype verification system is "building a system verification environment integrating software and hardware during the chip design process": one is to provide a platform for the software team to debug and drive software before the chip is released, and to accelerate the time to market of the chip; the other is to serve as a chip A supplement to simulation verification, because FPGA can be connected to real hardware sub-cards, which is different from the software model used in simulation, and there is a certain chance to find hidden bugs; in addition, FPGA is faster than software simulation and Emulator, and is more suitable for some time-consuming There are many large scene cases. Therefore, when the chip design is getting bigger and bigger, the design goal is to use multiple FPGA chips to quickly realize a high-performance full-system verification prototype, and to support the debugging requirements in this scenario.

 

First of all, it is often equipped with large-capacity and multi-chip FPGA chips, such as Xilinx VU440/VU19P, Intel's Stratix 10, etc., so it is very suitable for verification and implementation of complex algorithms, CPU/GPU type chips: such as artificial Intelligent, multi-core RISC-V processor IP and other development environments; if it is the development of SoC chips or large-scale IP, then the FPGA system can be verified after interconnection and expansion of capacity.

 

Secondly, the more important goal of the FPGA prototype verification system is to support the requirements of large-scale chip function prototypes in terms of hardware and software. Such as low-latency parallel IO interface, high-bandwidth Serdes interface, automatic design split into multiple FPGAs and optimize performance, multi-chip FPGA signal debugging, arbitrary scaling of prototype system scale, various software and hardware interface expansion solutions, etc. These goals determine that the prototype verification system needs a more specialized design, especially the supporting automation tools, because for medium and large designs with more than two or three FPGAs, the investment in manually implementing design segmentation and optimization is too large, and the design team needs more automation tools.

 

After distinguishing the application scenarios and design goals of FPGA development board and FPGA prototype verification system platform, we can understand why they have such a big difference, which is essentially a function selection based on design goals. Let's introduce these two products and their key points respectively:

 

FPGA development board

 

Let's start with the FPGA development board. In order to realize the development, testing and application based on the FPGA chip, we need to add a series of peripheral circuits and components to it, so that the FPGA can be powered on, configured, loaded and running normally, and provide corresponding peripheral interfaces and long-term Maintain a stable working condition. Judging from the simplest implementation at present, this is the FPGA development board. As mentioned above, its main scenario is to develop for the direct application of FPGA chips, so the design focus of this type of product is to be as close as possible to the target application system.

 

FPGA development board

 

Let's start with the FPGA development board. In order to realize the development, testing and application based on the FPGA chip, we need to add a series of peripheral circuits and components to it, so that the FPGA can be powered on, configured, loaded and running normally, and provide corresponding peripheral interfaces and long-term Maintain a stable working condition. Judging from the simplest implementation at present, this is the FPGA development board. As mentioned above, its main scenario is to develop for the direct application of FPGA chips, so the design focus of this type of product is to be as close as possible to the target application system.

 

First of all, from the appearance point of view, the size of a single FPGA development board can be made very small, usually no more than the size of a piece of A4 paper, which is convenient for placement and movement. Discrete components such as FPGA main chip, power processing chip, external interface components, capacitors and resistors are laid out on it. Original FPGA manufacturers such as Xilinx, Intel, and Lattice have launched various development boards. Among them, there are not only FPGA function development boards in the traditional category, but also SoC solutions using ARM core + FPGA architecture, such as Xilinx Zynq, Intel Arria10 and so on. ARM has rich interface resources and low power consumption, and is good at multimedia display and logic control; while FPGA is good at multi-channel or high-speed AD acquisition, interface expansion, and high-speed signal transmission. The combination of the two can meet various industrial field application scenarios.

 

Secondly, in terms of hardware architecture, because it generally comes with many commonly used peripheral interfaces, and the application of a single chip is the main application, the FPGA development board does not have high requirements for interconnection and expansion, and sometimes there are multiple FPGAs on the board. Chip interconnection, but usually does not consider the high-speed connection requirements between multiple boards. After all, a large-scale logic design requires multiple FPGAs, which will greatly affect the operating performance and debugging capabilities.

 

In terms of software, users mainly rely on the integrated software provided by FPGA manufacturers (such as Xilinx's Vivado, Intel's Quartus, Lattice's Diamond, etc.) to realize the synthesis and layout of FPGA projects. Of course, there are also some third-party manufacturers with strong technical strength that provide good comprehensive tools (such as Synplify, Precision, etc.). First, the netlist is obtained from the design source code, and then the original software is used for layout and routing. However, none of the above tools support multi-chip FPGA scenarios. Therefore, when the FPGA development board is used for chip design or IP verification that exceeds the capacity of a single FPGA, the user can only manually divide the design, which requires solving a lot of clocks, resources, The problems of performance and debugging have high requirements for engineers and require a lot of time.

 

Judging from the sales of FPGA development boards on the market, some domestic manufacturers currently have a high share. The development boards they provide are often configured with low-end FPGA chips (including domestic and imported ones), and they design/manufacture PCB boards by themselves. It is equipped with rich learning materials and integrates commonly used interface modules on the board, such as Flash, HDMI, DDR4, PCIe, etc.; in addition, the price of these development boards is not expensive, generally ranging from a few hundred yuan to several thousand yuan , suitable for colleges and self-study crowd to buy and use.