BPIFlash operation based on MicroBlaze processor

Abstract: This article mainly introduces the application of MicroBlaze in FPGA, and introduces how to design MicroBlaze microprocessor and BPI Flash interface with how to improve the programming speed of BPI Flash, and also briefly introduces the dynamics of FPGA using MicroBlaze microcontroller. Reconfigurable.

Xilinx has long introduced a solution for embedding a microcontroller in an FPGA. As a configurable microcontroller, MicroBlaze can be configured into the FPGA via software to solve some applications that require less speed but are more complex to control.

With the advancement of semiconductor technology, the capacity of FPGA chips is getting larger and larger, and the capacity requirements for externally configured Flash are also getting higher and higher. As the configuration chip for FPGA power-on, the size of the loaded data affects the FPGA. The electrical configuration time, the large-capacity FPGA chip means that it takes more time to complete the loading. The traditional serial loading method can not meet the stringent requirements of the system for loading time. BPI (Byte-wide Peripheral Interface) Flash adopts parallel ( The 8bit, 16bit) mode provides power-up loading data for the FPGA, which greatly shortens the loading time of the FPGA. Therefore, it is increasingly used in engineering.

基于MicroBlaze处理器的BPIFlash操作

In many practical projects, due to different application environments, FPGAs need to implement different functions in different environments. In this case, the FPGA chip itself needs to dynamically update the contents of the loaded Flash and complete the weight of its own configuration data. Load, this process is the reconfigurable ability of the FPGA.

1 Hardware design example Figure 1 shows a simple application block diagram based on MicroBlaze microcontroller and BPI Flash interface. From Figure 1, we can see that MicroBlaze can directly control the external loading of the Flash chip. The internal function logic of the FPGA can indirectly access the BPI Flash chip through MicroBlaze to realize the read and write operations of the internal data of BPI Flash.

Figure 1: BPI Flash application based on MicroBlaze

Figure 1: BPI Flash application based on MicroBlaze

Figure 2: Block diagram of BPI Flash programming

Figure 2: Block diagram of BPI Flash programming

The configuration capacity of Virtex-6, Virtex-7 and other series of FPGA chips is gradually increasing. Some models have a capacity of more than 128Mb. If the FPGA chip exceeds 128Mb, you need to use the BPI Flash chip provided by a third-party manufacturer as the FPGA. Power-on loading chip, BPI Flash as the power-on configuration chip of FPGA has the following advantages: (1) can shorten the time of FPGA power-on loading (2) remove the flash space required for loading, and the remaining space can be used to store application data. The disadvantage is that it takes up too many FPGA pins.

The power-on configuration data of the FPGA needs to be written into the BPI Flash through the iMPACT software. Since the iMPACT software does not support the third-party BPI Flash chip very well, it takes more time to complete the flash programming by using the byte programming method. For example, it takes 8602 seconds for a 70MB MCS file to complete programming.

For the general-purpose Flash chip, there is a buffer programming operation command. In this mode, the programmed data is sent to the Flash chip according to the size of the buffer, and the Flash chip writes the data of the internal buffer area to the inside of the chip. The byte programming method can significantly improve the programming speed of the Flash chip, thereby greatly shortening the programming time of the configuration file. The following describes a way to improve the programming time of the Flash.

2 Typical design introduction
Xilinx provides EDK (Embedded Development Kit) for hardware design and software development of MicroBlaze controllers. As shown in Figure 2, a minimal MicroBlaze system is built in the FPGA. The serial port is used to communicate with the computer. The computer will parse the configuration file and send it to MicroBlaze through the serial port. Microblaze will receive the data cache. In the internal memory, after receiving a certain amount of data, the BPI Flash is buffered and programmed to be programmed; if the serial port communication rate is 115200 bits per second, the converted byte width (8 bits) is 11520 bytes per second, according to The speed of the buffer programming given in the Flash data sheet is 1.46 Mbyte/s. The parsing time for a 70 MB MCS file is 2257 seconds. Considering the interaction between software, the actual programming time. It may be longer, but burning configuration files in this way is significantly faster than using the iMPACT software provided by Xilinx.

In the above typical design introduction, we use the serial port to communicate with the computer. Because the serial port rate does not match the programming speed of the Flash, it takes more time to communicate with the computer. If the communication speed between the MicroBlaze and the computer can be improved, Then Flash programming speed can be further improved. For example, using USB, network, parallel port and other means to communicate with the computer, the advantage of buffer programming can be fully utilized, and the programming speed of BPI Flash can be further improved.

Using MicroBlaze to communicate with BPI Flash can simplify the interface design with Flash. If you need to modify the FPGA loader online, you only need to design the communication between the FPGA function module and MicroBlaze, and use MicroBlaze to write the configuration file to the external BPI. In Flash, IPROG is used to implement automatic loading of the program, thereby realizing online reconfigurable and automatic loading of the FPGA.

Ceshi Xiaojuzizhi Gold spiral evil vehicle parts

cccccccccccccccccccvvvvvvvvvvvvvvvvvvvvvvvvvvvvxvxvxvxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvujfgjfvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvgjnfgjfvvvvvvvvvvvvvvvvvgjfcjnfcvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvfhdfhdhvvvvvvvvvvvvvvvvvvvvvvvvvvhjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvfhfchxcfvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzx

xiaojuzizhi Manufacturer of Orange Enzyme Solution in China,dog ktv dfdv

Guangdong ganzhou , https://www.cn-gangdao.com

This entry was posted in on