在數(shù)字設(shè)計(jì)中,fifo是數(shù)據(jù)操作任務(wù)所需的普遍結(jié)構(gòu),如跨時鐘域、低延遲內(nèi)存緩沖和總線寬度轉(zhuǎn)換。
XILINX FIFO Generator IP生成先進(jìn)先出(FIFO)存儲器隊(duì)列,特別適于需要按次序進(jìn)行數(shù)據(jù)存儲和檢索的應(yīng)用。該IP為 FIFO 配置提供優(yōu)化的解決方案,使用少量資源實(shí)現(xiàn)最高的性能(高達(dá) 500MHz)。用戶可自定義:寬度、深度、狀態(tài)標(biāo)志、存儲器類型以及讀寫端口長寬比等。
該IP的主要特性為:
- FIFO 深度可達(dá) 4,194,304 個字
- 原生 FIFO 配置支持從 1 到 1,024 位的 FIFO 數(shù)據(jù)寬度,而 AXI FIFO 配置的該數(shù)據(jù)寬度則高達(dá) 4,096 位
- 非對稱長寬比(讀寫端口比可從 1:8 到 8:1)
- 支持獨(dú)立或通用時鐘域
- 可選存儲器類型(Block RAM、分布式 RAM、移位寄存器或內(nèi)建 FIFO)
- 原生接口或 AXI 接口(AXI4、AXI4-Lite 或 AXI4-Stream)
- 同步或異步復(fù)位選項(xiàng)
- 支持?jǐn)?shù)據(jù)包模式
- 支持糾錯 (ECC) 和注入特性,適用于特定配置
- 支持首字直接通過 (FWFT)
- 支持嵌入式寄存器選項(xiàng),適用于基于 Block RAM 和內(nèi)建 FIFO 原語的實(shí)現(xiàn)方案
- 支持 — 空/滿、基本空/滿和可編程空/滿信號
原始接口下該IP的接口為:
AXI 接口派生自本來接口fifo,因此它們之間的許多行為是共同的。ready信號是基于FIFO中空間的可用性生成的,并且 保持高位以允許對FIFO進(jìn)行寫操作。只有在FIFO中沒有剩余空間來執(zhí)行額外的寫操作時,ready信號才會被拉低。根據(jù)FIFO中數(shù)據(jù)的可用性生成vaild信號,并保持高電平以允許從 FIFO執(zhí)行讀取。只有當(dāng)沒有數(shù)據(jù)可從 FIFO讀取時,vaild信號才被拉低。AXI接口如下圖:
將information信號映射到Native 接口fifo的din和dout總線上。AXI FIFO的寬度是通過連接AXI接口的所有information信號來確定的。information信號包括所有的AXI 信號,除了有效的和準(zhǔn)備好的握手信號。
XILINX FIFO Generator IP支持Block RAM、分布式 RAM、移位寄存器或內(nèi)建 FIFO,每種ram夠成特性如下:
在ip的gui界面上同樣有上述信息的詳細(xì)描述如下圖,在實(shí)際使用時根據(jù)需要使用的特性,選擇一種合適的底層資源即可。
FPGA使用FIFO最常用的就是跨時鐘域處理,處理流程如下圖。寫時鐘域,根據(jù)限寫使能wr_en產(chǎn)生寫數(shù)據(jù)計(jì)數(shù)器然后將其轉(zhuǎn)換為gray碼,多bit跨時鐘域到讀側(cè)。讀時鐘域,根據(jù)限讀使能rd_en產(chǎn)生讀數(shù)據(jù)計(jì)數(shù)器然后將其轉(zhuǎn)換為gray碼,多bit跨時鐘域到讀側(cè)。讀側(cè)根據(jù)自己時鐘域產(chǎn)生的讀計(jì)數(shù)器和跨時鐘域過來的寫計(jì)數(shù)器值,得到fifo內(nèi)的數(shù)據(jù)量,從而產(chǎn)生相應(yīng)的empty/almost empty/prog empty/rd_data_count.寫側(cè)根據(jù)自己時鐘域產(chǎn)生的寫計(jì)數(shù)器和跨時鐘域過來的讀計(jì)數(shù)器值,得到fifo內(nèi)的數(shù)據(jù)量,從而產(chǎn)生相應(yīng)的full/almost full/prog full/wr_data_count.
-
FPGA
+關(guān)注
關(guān)注
1642文章
21920瀏覽量
612162 -
Xilinx
+關(guān)注
關(guān)注
73文章
2179瀏覽量
123931 -
fifo
+關(guān)注
關(guān)注
3文章
397瀏覽量
44488 -
總線
+關(guān)注
關(guān)注
10文章
2936瀏覽量
89163 -
數(shù)字設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
47瀏覽量
22458
發(fā)布評論請先 登錄
相關(guān)推薦
XILINX FPGA IP之Clocking Wizard詳解

XILINX FPGA IP之MMCM PLL DRP時鐘動態(tài)重配詳解

Xilinx FPGA IP之Block Memory Generator功能概述

XILINX FPGA IP之AXI Traffic Generator

智多晶FIFO_Generator IP介紹

Xilinx FPGA無痛入門,海量教程免費(fèi)下載
Xilinx FPGA入門連載52:FPGA片內(nèi)FIFO實(shí)例之FIFO配置
Xilinx FPGA入門連載52:FPGA片內(nèi)FIFO實(shí)例之FIFO配置
Xilinx FPGA入門連載56:FPGA片內(nèi)異步FIFO實(shí)例之FIFO配置
【正點(diǎn)原子FPGA連載】第十三章IP核之FIFO實(shí)驗(yàn)-領(lǐng)航者ZYNQ之FPGA開發(fā)指南
FPGA零基礎(chǔ)學(xué)習(xí):IP CORE 之 FIFO設(shè)計(jì)
利用XILINX提供的FIFO IP進(jìn)行讀寫測試

FIFO Generator的Xilinx官方手冊

評論