国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

流 FIFO 控制器 (Stream FIFO Controller)——可以“耍無賴”的 FIFO

2019-11-14 11:03:17
字體:
來源:轉載
供稿:網友

流 FIFO 控制器 (Stream FIFO Controller)——可以“耍無賴”的 FIFO

Introduction

在幀 (FRAME) 或包 (PACKET) 應用的設計中,經常需要同步傳遞幀描述信息和在幀校驗出錯的時候做丟棄處理。

上游模塊 先寫“數據緩存”,在寫入一幀數據完成后,再寫“描述緩存”,寫入幀描述信息,如幀長度、幀校驗結果等。

下游模塊 先讀“描述緩存”,讀出幀描述信息,再讀“數據緩存”,根據幀描述信息對幀數據做相應處理,如丟棄等。

替代通用 FIFO

上述應用設計,如果使用“Stream FIFO”,可以有下面優點:

簡化設計——可以把幀描述信息和幀數據都放在一個 FIFO 中 FIFO 寫側可以在幀數據寫入之后把幀描述信息,即幀頭,插入到幀數據之前——“插隊”;FIFO 讀側可以順序地先讀出幀頭,再讀出幀數據。

提高吞吐率——可以在 FIFO 寫側一拍丟幀 幀數據寫入 FIFO 后,如果幀尾數據校驗出錯需要丟棄,它可以直接在 FIFO 寫側丟棄,即下一幀數據是直接從上一個錯幀的第一個位置開始填充。比較而言,普通 FIFO 需要把全部錯幀數據讀出來丟棄。

項目地址:Laotzu

Feature

易用的類似 FIFO 接口 參數化數據寬度和 FIFO 深度 參數化幀頭長度 增強的同步數據有效指示 增強的首數據預讀加速功能(可關閉)

application

圖片名稱

Input/Output

Name I/O Description
w_rst_n I Reset in write-side1 is normal0 is reset
w_clk I Clock in write-side
w_ctrl [2:0] I Write control0 is NOP1 is write data2 is eof with writing data3 is eof without writing data4 is write head5 is write final head6 is discard frame7 is NOP
w_full O 1 is FIFO full
w_error O Error in write-side1 is error0 is normal
w_counter [] O FIFO counter in write-side
r_rst_n I Reset in read-side1 is normal0 is reset
r_clk I Clock in read-side
r_en I Read enable1 is read0 is NOP
r_valid O 1 is data valid in read-side
r_error O Error in read-side1 is error0 is normal
r_counter [] O FIFO counter in read-side
w_ram_addr [] O Write address for dual-port RAM
w_ram_en O Write enable for dual-port RAM1 is enable0 is disable
r_ram_addr [] O Read address for dual-port RAM
r_ram_en O Read enable for dual-port RAM1 is enable0 is disable

Parameter

Name Description
FWFTEN First Word PRe-fetch enable1 is enable0 is disable
ADDRWIDTH Address bus width
FIFODEPTH FIFO depth
HEADSIZE HEAD size

Back-to-Back 傳輸的情況

Back-to-back

Non-Back-to-Back 傳輸的情況

Non back-to-back

Discard 命令的情況

Discard

HEADSIZE = 1 的情況

Head = 1

HEADSIZE = 2 的情況

Head = 2

使用條件

FIFO 寫側最小幀的時間需要大于 FIFO 讀側時鐘 4 倍周期,即 Tw_frame>4?Tr_period

讀計數跳變

原因解釋如上圖所示,FIFO 讀計數在幀尾出現跳變,即 FIFO 寫側在發出下面命令后,寫指針才被更新到 FIFO 讀側,通知有新的數據被寫入到 FIFO,可以讀取了。

HEADSIZE = 0 w_ctrl = 2, or w_ctrl = 3

HEADSIZE = 1 w_ctrl = 5

寫指針從寫時鐘域傳到讀時鐘域,并且是跳變信號,所以不能使用傳統 Gray 碼的方式處理。設計中采用了“濾波”的方式,過濾掉了跨時鐘域傳遞出現的的雜亂信號。“使用條件”就表示了從信號跳變開始到信號穩定的時間。

References


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渝北区| 商洛市| 都江堰市| 哈巴河县| 将乐县| 汉寿县| 东阿县| 延庆县| 顺义区| 宝鸡市| 淮安市| 金山区| 海南省| 鲁甸县| 芷江| 安塞县| 庆阳市| 山阴县| 兰西县| 托克逊县| 天柱县| 枣阳市| 六安市| 伽师县| 砀山县| 平邑县| 类乌齐县| 延津县| 潮州市| 昌平区| 疏勒县| 墨竹工卡县| 黄山市| 东莞市| 凌源市| 万州区| 德昌县| 建瓯市| 溆浦县| 德昌县| 杨浦区|