Authoritative Guide Of FPGA Board
The development board (demo board) is a circuit board used for embedded system development, including a series of hardware components such as central processing unit, memory, input device, output device, data path/bus and external resource interface.
The development board is generally customized by the embedded system developer according to the development needs, and can also be researched and designed by the user. The development board is for beginners to understand and learn the hardware and software of the system. At the same time, some development boards also provide the basic integrated development environment, software source code and hardware schematic diagram. Common development boards include 51, ARM, FPGA, DSP development boards, etc.
1. Basic introduction of FPGA board
In the general embedded system development process, the hardware is generally divided into two platforms, one is the development platform (host), and the other is the target platform (target), that is, the development board. The development platform described here refers to using a computer to connect with the target platform through a transmission interface, such as serial port (RS-232), USB, parallel port, or network (Ethernet).
The main scenario of the FPGA board is to “develop IP or application systems based on independent FPGA chips”. Its design goals are simplification, high performance, low cost, and its own appropriate peripheral interfaces. The requirements for debugging functions are limited to a single device. It is debugged with the original software on the FPGA.
Therefore, the capacity of the FPGA chip it carries is usually small to medium. In practical applications, it is often used for the development of small and medium-scale, specific protocol function chips, such as Ethernet, MIPI, NVME/M. I2C control, HDMI/DVI display control, etc. There is also a FPGA development board directly placed in a large system to play the role of 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.
2. FPGA board selection requirements
For embedded system development, you must first select the CPU, FPGA, and DSP that meet the needs of your own development, and then select the range of development boards that support the selected chip according to the CPU, FPGA, and DSP of the selected model. Thirdly, the development environment and technical support provided by the development board are preferred. Finally, in addition to integrating CPU, FPGA, DSP, etc., the development board needs to have a more complete input and output interface, such as keyboard and LCD, program download interface, memory (RAM), FlashROM, power supply module, etc. At the same time, for the convenience of debugging in the early stage of development, several special pins, such as JTAG interface, USB and serial port, etc., will be introduced for the use of external debugging modules.
3. Development and transplantation of FPGA board
When the hardware and specifications are selected, the next step is to enter the initial system development and establish a development environment. If the embedded operating system used in the project is not developed by itself, but purchased from other manufacturers, most of them provide an integrated development environment (IDE) and an emulator (Emulator) so that developers can speed up the entire development process.
When you get the operating system that has been transplanted by the system manufacturer, and you are sure that you have given sufficient relevant information, you can do integration actions for your own target platform.
After the operating system is selected, the development tools used on the development platform, such as compilers, linkers, etc., are usually specified. The compilation parameters that need to be set during development will vary according to each environment. This part must compile a runnable image file according to the hardware specifications and instructions, and then burn it to the target platform through the burning tool.
4. Types of FPGA Boards
CPLD (Complex Programmable Logic Device) complex programmable logic device is a device developed from PAL and GAL devices. It is relatively large in scale and complex in structure, and belongs to the scope of large-scale integrated circuits.
It is a digital integrated circuit that users can construct logic functions according to their own needs. The basic design method is to use the integrated development software platform to generate corresponding target files by means of schematic diagrams, hardware description languages, etc., and transfer the code to the target chip through a download cable (“in-system” programming) to realize the designed digital system. .
Many companies have developed CPLD programmable logic devices today. The typical ones are the products of the three major authoritative companies in the world, Altera, Lattice and Xilinx. Here are the commonly used chips: Altera EPM7128S (PLCC84), Lattice LC4128V (TQFP100), Xilinx XC95108 (PLCC84)
FPGA is the abbreviation of English Field-Programmable Gate Array, that is, Field Programmable Gate Array, which is the product of further development on the basis of programmable devices such as PAL, GAL, and CPLD. It emerged as a semi-custom circuit in the field of application-specific integrated circuits (ASIC), which not only solved the shortcomings of the custom circuit, but also overcome the shortcomings of the limited number of gate circuits of the original programmable device.
There are many varieties of FPGA, including XILINX’s XC series, TI’s TPC series, ALTERA’s FIEX series, etc.
5. Components of an FPGA Board
A. Embedded Microprocessor
The core of the hardware layer of the embedded system is the embedded microprocessor. The biggest difference between the embedded microprocessor and the general-purpose CPU is that most of the embedded microprocessors work in a system specially designed for a specific user group. The completed tasks are integrated inside the chip, which is conducive to the miniaturization of embedded systems in design, and also has high efficiency and reliability.
The architecture of the embedded microprocessor can adopt the von Neumann system or the Harvard architecture; the instruction system can choose the Reduced Instruction Set Computer (RISC) and the Complex Instruction Set Computer (CISC). RISC computers only contain the most useful instructions in the channel, ensuring that the data channel executes each instruction quickly, thereby improving the execution efficiency and simplifying the design of the CPU hardware structure.
Embedded microprocessors come in various architectures, and even within the same architecture may have different clock frequencies and data bus widths, or integrate different peripherals and interfaces. According to incomplete statistics, there are more than 1,000 kinds of embedded microprocessors in the world, and there are more than 30 series of architectures, among which the mainstream systems are ARM, MIPS, PowerPC, X86 and SH. But unlike the global PC market, no embedded microprocessor can dominate the market. For 32-bit products alone, there are more than 100 embedded microprocessors. The choice of embedded microprocessor is determined according to the specific application.
Embedded systems require memory to store and execute code. The memory of embedded system includes Cache, main memory and auxiliary memory.
Cache is a small-capacity, high-speed memory array. It is located between the main memory and the embedded microprocessor core, and stores the program codes and data most used by the microprocessor in recent times.
When a data read operation is required, the microprocessor reads data from the Cache as much as possible, rather than from the main memory, which greatly improves the performance of the system and improves the relationship between the microprocessor and the main memory. data transfer rate. The main goal of Cache is to reduce the memory access bottleneck caused by memory (such as main memory and auxiliary memory) to the microprocessor core, so that the processing speed is faster and the real-time performance is stronger.
In the embedded system, the Cache is all integrated in the embedded microprocessor, which can be divided into data Cache, instruction Cache or mixed Cache. The size of the Cache depends on different processors. Generally, the Cache is integrated into the high-end embedded microprocessors.
The main memory is a register that the embedded microprocessor can directly access, and is used to store the program and data of the system and the user. It can be located inside or outside the microprocessor, and its capacity is 256KB~1GB, depending on the specific application. Generally, the on-chip memory capacity is small, the speed is fast, and the off-chip memory capacity is large.
The memories commonly used as main memory are: ROM type NOR Flash, EPROM and PROM, etc. RAM class SRAM, DRAM and SDRAM, etc. Among them, NOR Flash has been widely used in the embedded field due to its advantages of many times of rewriting and writing, fast storage speed, large storage capacity and low price.
C. Secondary storage
Auxiliary memory is used to store program codes or information with a large amount of data. Its capacity is large, but its reading speed is much slower than that of main memory, and it is used to store user information for a long time.
Commonly used external storage in embedded systems are: hard disk, NAND Flash, CF card, MMC and SD card, etc.
D. Common interface
The interaction between the embedded system and the outside world requires a certain form of general device interface, such as A/D, D/A, I/O, etc. The peripheral device realizes the input/output of the microprocessor through the connection with other devices or sensors outside the chip Function.
Each peripheral usually has a single function, which can be off-chip or on-chip. There are many types of peripherals, from a simple serial communication device to a very complex 802.11 wireless device.
Common device interfaces commonly used in embedded systems include A/D (analog/digital conversion interface), D/A (digital/analog conversion interface), and I/O interfaces include RS-232 interface (serial communication interface), Ethernet ( Ethernet interface), USB (universal serial bus interface), audio interface, VGA video output interface, I2C (field bus), SPI (serial peripheral device interface) and IrDA (infrared interface), etc.
If you want to know more about FPGA or want to purchase related chip products, please contact our senior technical experts, we will answer relevant questions for you as soon as possible
Haoxinshengic is a pprofessional FPGA and IC chip supplier in China. We have more than 15 years in this field。 If you need chips or other electronic components and other products, please contact us in time. We have an ultra-high cost performance spot chip supply and look forward to cooperating with you.