Design Concept of FPGA Asynchronous FIFO (2)
First, we will discuss the Gray code encoding method:
Let's first look at the 4-bit gray code. When MSB is 0, the positive count is displayed. When MSB is 1, that is, the pointer has already passed through, and the highest digit is flipped. At this time, the gray code is counted in reverse order, the entire set of data is symmetric centered on the maximum value (depth), and each number meets the Gray code
Let's talk about it first. Use FPGA to allow buttons to control the display of digital tubes.
If you use Quartus II, you just need to find a book. There are image examples on the Internet. A typical example of FPGA application development.
Let the digital display, I still 51 Single-Chip Microcomputer idea, come to an input, then output control. Start with a simple
Copy a program from the Internet:/*The deco
The zero crossing detection method is the function of the comparator. It can convert a sine wave of a certain frequency into a square wave or a pulse wave. This is necessary in the test frequency and other places, because FPGA only recognizes the edge, but does not recognize the sine wave.
The algorithm is divided into two parts: the determination of the zero point and the generation of the pulse wave.
Why do we need to determine the zero point. We
compile-compile all.
5. Select the library tag, find work, and click + to expand
6. Right-click the compiled. V file and select simulate without optimization.
7. The sim tab is displayed. Right-click the file to be simulated and select Add wave.
8. Set the simulation time, for example, 1000ns
9. Click Run in the toolbar.
Figure 3 shows lfsr simulation results
Figure 3: lfsr simulation waveform
Analysis:
The software used for analysis is mainly chipscope pro. For details about how to use chipsc
FPGA simulation, mainly including FPGA manufacturer software simulation and third-party edatool simulation.
If you use quartuⅱ software, there are two methods: function and timing.
Function:After synthesis, execute the generate function simulation netlist to implement it, with a door latency.
Timing:It must be completed after compile, including the door latency and path latency.
If Modelsim edatool
In a digital logic system, there are only high voltage and low level. Therefore, it indicates that a number is only in the integer form, and there are three Representation Methods: original code representation (symbol plus absolute value), reverse code notation (symbol plus reverse code) and complement code notation (symbol plus complement ). These three methods are widely used in FPGA development.
1. Original code representation
The original code rep
Fanout, that is, the number of lower-level modules directly called by the module. If this value is too large, the FPGA directly shows a large value of net delay, which is not conducive to Time Series Convergence. Therefore, you should try to avoid high fan-out situations when writing code. However, in some special cases, it is necessary to use other optimization methods to solve the problems caused by high fan output due to the need for the overall st
4 K (3840 x 2160 @60hz) is increasingly becoming a video trend, and how to connect 4K to a splice is a tricky issue.DP enters into the anx1122, through the ANX1122 the DP input signal to the LVDS signal, and then through the FPGA to the LVDS signal to the Video line field signal, and then the field signal through the SerDes sent out. The output card receives the SerDes signal, then turns it into the line field signal, then does the splicing processing
1. Do a stopwatch example today to introduce the FPGA project with Vivado2. Use two keys key0(stopwatch drive, pause),key1The following demonstrates the Vivado operation Process1.create Project(figure)2. It is usually selected (figure)3. do not select source files (figure)4. Select the chip (we use the xc7a35tftg256-1) can also use filters to select the chip (figure)5. Click Finish, our project is created, but a blank, we will eventually produce a bi
Eight tips for solving FPGA timing problemsAdvice one, if the timing difference is not much, within 1NS, can be modified by the synthesis, layout and routing options to fix, if the difference is much, you have to move the code.Second, take a look at the timing report, pick a path with the most tight timing, and take a closer look at what the reason is, first look at the number of logical series? What kind of circuit is wrong, the multiplier or the Ram
Multi-function Selection of pins involved in FPGA: some pins can be allocated as common I/O pins or programming pins. By default, these special pins are used as programming pins. If you want to use these pins as common I/O Ports, you must set them in the FPGA development tool, select an ordinary IO port. Otherwise, the following error occurs:
Error: Can't place multiple pins assigned to pin location pin_30
First, the chip is divided into chip-level and system-level
Chip level is, just a chip, such as 51 single-chip microcomputer, you can write a program, download and follow the program to run, before and after the program
System level is, can run operating system, such as ARM,SOC, have RAM and ROM
Cpu:
Computers should understand that the central processing Unit, computer computing core and control core, all of the following chips contain CPU, chip-level
MPU:
microprocessor, including CPU on
FPGA DDR3 DebuggingSPARTAN6 FPGA chip integrates the MCB hard core, it can support to DDR3. The MiG IP core is available in Xilinx's development tools Xilinx ise, which designers can use to directly generate the DDR3 controller design module and complete the configuration via the MIG GUI graphical interface.First, establish the ISE project and add the MiG IP core,Next to the MiG IP core configuration, the m
There are two types of RAM, BLock RAM, and distributed RAM on the FPGA.Block Ram:1. Bram is a custom RAM resource in FPGA. The location is fixed, for example Bram is a column-by-column distribution, which can result in a longer route delay between user logic and Bram. For the simplest example, in a large-scale FPGA, if you run out of all the Bram, the performance will generally drop, even if the route is no
Why FPGA prototype verification?FPGA prototype verification can evaluate the chip function and performance before the IC flow sheet, and can provide the software designer with a verification platform. All designs, whether SOC or ASIC, need to be validated (functional and timing verification) to ensure that the IC implementation model matches the desired design performance. Moreover, the software content of
Original link:FPGA Development 13: FPGA Practical Development Skills (12)FPGA Development 13: FPGA Practical Development Skills (12)5.6 Commissioning experience in large scale designIn large-scale design debugging should be in accordance with the design concept in reverse order, from the bottom test, mainly rely on the Chipscope Pro tool. The following is mainly
Chapter 5 is finally available-FPGA-based c2mif software design and VGA application I. Overview of the MIF File
For a long time, do you want to talk about the design and application of the MIF file? Bingo cannot decide on his own. I have written so many, and I am a little tired.
Finally, I bit my teeth and wrote it, because no one has ever written it, so I want to write it. If I don't take the ordinary path, I will open up this road, let the design
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.