6672 views|1 replies

1370

Posts

2

Resources
The OP
 

Anlu SparkRoad Development Board Review (6) Use of FIFO IP [Copy link]

 

  FIFO IP in FPGA plays an important role as a buffer in data transmission. In particular, asynchronous FIFO can easily solve the problem of cross-clock synchronization.

  TD provides FIFO IP resources, but compared with the FIFO IP of the Altera Cyclone series that I am most familiar with, the configuration is much simpler. In the IP Generator dialog box, there are two types of IP: FIFO and RAMFIFO.

  Let’s first look at the FIFO IP selection.

  It can be configured as synchronous or asynchronous FIFO. The input data bit width can be selected in a wide range, and the input and output can have different widths. There are five levels of FIFO depth, with a minimum of 512 and a maximum of 8192. In addition to the empty and full flag outputs, you can also select the almost full and almost empty flags, but there is no current FIFO data output.

  Synthesize a FIFO with a width of 8 bits and a depth of 512, and the resulting resource usage is:

  Under the bram group, a fifo9k resource is used, which is different from bram9k. In addition, the usage of LE is very small. It seems that the implementation of FIFO uses a special resource, which is not available in the altera FPGA I have used. The latter is implemented with RAM plus logic. Therefore, the implementation of FIFO in Anlu FPGA may be more efficient.

  What is another RAMFIFO IP like?

  It is also an asynchronous FIFO, but the configuration interface is different and simpler. The input and output data bits must be equal. The implementation method is to use block RAM. The output of the FIFO data volume is provided here. It can be inferred that the implementation method is different from the previous IP.

  Let's take a look at the resource usage of a RAMFIFO that is also 8x512:

  This time, a lot of LE resources are used. It is indeed built with RAM and logic. Because of the increased data output, more logic will be used.

  Let's do a simple demonstration. In order to use the SparkRoad board itself to demonstrate the effect of FIFO, use switches to specify FIFO input and digital tubes to display FIFO output data.

  The clocks for reading and writing FIFOs are strictly asynchronous, so I also used a PLL and reduced the frequency of both the read and write clocks for easier observation.

  The design is that every time the button is pressed, a batch of data is written to the FIFO: the switch is used to set the number of writes (1~255) and the value of the first data (0~255), and the subsequent data values increase in sequence.

  When there is data in FIFO, the data is read and displayed on the digital tube in decimal form.


  The asynchronous FIFOs implemented by the two IPs have the same operation effects, but the resource usage of the entire project will be different:

This post is from Domestic Chip Exchange

Latest reply

The asynchronous FIFOs implemented by the two IPs are both easy to use and have their own advantages.   Details Published on 2022-5-1 08:44
 
 

6555

Posts

0

Resources
2
 

The asynchronous FIFOs implemented by the two IPs are both easy to use and have their own advantages.

This post is from Domestic Chip Exchange
 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

Featured Posts
Homemade STEVAL-IPM05F 3Sh board: FOC motor control 400V/8A non-sensing/sensing Hall/sensing encoder and other reference programs...

This post was last edited by music_586 on 2019-4-4 19:06 This content was originally created by EEWORLD forum user musi ...

C language uses binary tree to parse polynomials and evaluate

It mainly realizes the analysis of polynomial data calculation. If there is a need to make a simple calculator based on ...

Zhouyi Compass Simulation Experiment 2——Environment and Routine Analysis

Zhouyi Compass Simulation Experiment 2——Environment and Routine Analysis In simulation experiment 1 (https://bbs.eewor ...

【Development and application based on NUCLEO-F746ZG motor】13. Parameter configuration - USART3 configuration

The function of this serial port on the development board is to communicate with ST-LINK, and then connect ST_LINK2 to t ...

[EEWorld invites you to play disassembly] PISEN fast charging power bank 10500mAh 22.5W

Quote: Thank you EEWorld for inviting you to the disassembly (fourth issue): popular power bank disassembly event. As w ...

Please tell me why this machine often burns the starting resistor at the customer's place

Please tell me why the resistor burned out and how to fix it? 627875627874627873

[Flower carving hands-on] Interesting and fun music visualization series of small projects (26) - LED hypercube

This post was last edited by eagler8 on 2022-10-5 08:59 I had the urge to do a series of topics on sound visualization. ...

Is it possible to perform socket communication without IP and port number?

When using socket communication, whether it is internal communication within the local machine or communication betwee ...

Development Background and Advantages of SiC Power Devices

SiC power components have higher withstand voltage, lower on-resistance, can operate at higher speeds, and can operate a ...

【Digi-Key Follow me Issue 2】Task Collection

I got the board quite late, and after completing the task, I got busy with a lot of other things so I didn't have time t ...

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list