日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > ZYNQ
		


AXI4 STREAM DATA FIFO是輸入輸出接口均為AXIS接口的數(shù)據緩存器,和其他fifo一樣是先進先出形式??梢栽诳鐣r鐘域的應用中用于數(shù)據緩沖,避免亞穩(wěn)態(tài)出現(xiàn)。支持數(shù)據的分割和數(shù)據拼接。在使用該IP核之前,我們應該熟悉該IP核的各種參數(shù)設定的含義。

上圖則是該IP核的參數(shù)設定界面(開發(fā)環(huán)境為VIVADO2015.1),點擊左上角的Documentation,下拉框中選擇Product Guide,打開該IP核的說明文檔。

鏈接如下:
http://www.xilinx.com/support/documentation/ip_documentation/axis_infrastructure_ip_suite/v1_1/pg085-axi4stream-infrastructure.pdf

Component Name:
元件名字:該IP核生成后的模塊名;

FIFO Depth:
FIFO深度:該設定為指定例化FIFO的深度。當FIFO的深度為16或者32時利用基于FIFO的LUTRAM,其他深度的FIFO將利用BLOCK RAM實現(xiàn)。

Enable Packet Mode:
使能包模式:設置為Yes將使能包模式。此項設定需要TLAST信號被使能。FIFO的操作在包模式下被修改為存儲傳送的數(shù)據,知道TLAST信號被斷言(響應)。當TLAST信號被響應或者FIFO滿了,存儲的傳送數(shù)據將被送至AXI4-Stream master interface。

Asynchronous Clocks:
異步時鐘:如果設定了Yes,S_AXIS_ACLK和M_AXIS_ACLK被設定為與彼此異步,該IP將在異步模式進行操作。

Synchronization Stages across Cross Clock Domain Logic:
跨交叉時鐘域邏輯的同步階段:
當S_AXIS_ACLK和M_AXIS_ACLK是與彼此異步的,此項參數(shù)指定了用于跨時鐘域邏輯的同步階段的階數(shù)。增加這個值可以增加設計的MTBF,但是會增加延遲時間和邏輯利用。參考the FIFO Generator Product Guide(PG075)獲得該參數(shù)的更多信息。

ACLKEN Conversion Mode
ACLKEN轉換模式:
這個下拉選項為ACLKEN信號的轉換模式。當ACLKEN轉換執(zhí)行時會消耗額外的延遲和邏輯。這個選項有:
None - 這里沒有ACLKEN信號關聯(lián)于IP。
S AXIS Only - 一個S_AXIS_ACLKEN信號關聯(lián)到S_AXIS_ACLK時鐘信號和沒M_AXIS_ACLKEN信號。
M AXIS Only - 一個M_AXIS_ACLKEN信號關聯(lián)到M_AXIS_ACLK時鐘信號和沒有S_AXIS_ACLKEN信號。
S AXIS & M AXIS - 兩邊時鐘都有 ACLKEN信號關聯(lián)到他們。

Signal Properties:
信號特性:
當使用IP集成器是,Vivado IDE會自動計算這些參數(shù)的值。

TDATA Width(bytes):
TDATA位寬(字節(jié)為最小單位):
該參數(shù)指定了所有AXI4-Stream interfaces中的TDATA信號的位寬,以字節(jié)為最小單位。該參數(shù)為整數(shù),在0到512之間。設為0將省略TDATA信號。如果TDATA信號被省略,TKEEP和TSTRB信號也會被省略。接口數(shù)據的位寬按bits計算,需要乘以8。

Enable TSTRB:
使能TSTRB信號
如果設定為Yes,這個參數(shù)指定是否在所有AXI4-Stream interfaces使用可選的TSTRB信號。這個選項只能在TDATA Width(bytes)參數(shù)大于0時才可以使能。

Enable TKEEP:
使能TKEEP信號
如果設定為Yes,這個參數(shù)指定是否在所有AXI4-Stream interfaces使用可選的TKEEP信號。這個選項只能在TDATA Width(bytes)參數(shù)大于0時才可以使能。

Enable TLAST:

使能TLAST:

如果設定為Yes,這個參數(shù)指定是否在所有AXI4-Stream interfaces使用可選的TLAST信號。對于TLAST信號要重點說明,因為在使用STREAM FIFO時TLAST的作用特別的重要。對于STREAM FIFO來說,TLAST信號的作用是指示一次傳輸數(shù)據流的最后一個數(shù)據,也指示著該數(shù)據流的結束。其會記錄下TLAST信號的位置,及當其SLAVE接口(SFIFO的數(shù)據寫入接口)的某一個數(shù)據寫入的同時TLASET信號也為高的話,當MASTER接口(SFIFO的數(shù)據讀出接口)讀出該數(shù)據的同時也會將TLAST信號拉高??偨Y起來就是,進的數(shù)據有TLAST,該數(shù)據出的時候就會有TLAST。

TID Width(bits):
TID位寬(比特為單位):
如果該參數(shù)大于0,這個參數(shù)指定是否在所有的AXI4-Stream interfaces中使用TID信號。值大于0省略這個信號。

TDEST Width(bits):
TDEST位寬(bits):
如果該參數(shù)大于0,這個參數(shù)指定是否在所有的AXI4-Stream interfaces中使用TDEST信號。值大于0省略這個信號。

TUSER Width(bits):
TUSER 位寬(bits):
如果該參數(shù)大于0,這個參數(shù)指定是否在所有的AXI4-Stream interfaces中使用TDEST信號。值大于0省略這個信號。

這里重點說下Synchronization Stages across Cross Clock Domain Logic,這個參數(shù)的出現(xiàn)是由于在進行跨時鐘域操作時,即FIFO的讀寫時鐘異步時,在讀時鐘域與寫時鐘域進行數(shù)據交互時可能會存在亞穩(wěn)態(tài),而通過在數(shù)據交換節(jié)點插入連續(xù)的寄存器進行時鐘同步,而這個參數(shù)的數(shù)值就是插入的同步寄存器的個數(shù),或者叫做階數(shù)。階數(shù)越高,MTBF(Mean Time Between Failures,平均無故障時間)越大,則出現(xiàn)亞穩(wěn)態(tài)的幾率越小,但是同時也會增加信號傳輸?shù)难舆t和增加額外的邏輯資源。

還有一個參數(shù)Packet Mode,當開啟整包發(fā)送模式后,F(xiàn)IFO會一直檢測當前接收數(shù)據量,只有當數(shù)據量到達FIFO的深度時,即FIFO滿的時候(在實際測試中發(fā)現(xiàn)當STREAM FIFO滿的時候不會輸出TLAST信號),或者是FIFO的SLAVE接口接收到TLAST信號時,該FIFO的MASTER接口才可以輸出有效數(shù)據,及才會允許后級模塊接收FIFO內數(shù)據。

在使用STREAM FIFO的應用中只應用到了TDATA、TVALID、TREADY以及TLAST信號,所以接下來對STREAM FIFO的功能說明只要是針對只是用以上信號的條件下的。

STREAM FIFO的復位信號為低有效,當復位信號拉高后的第三個時鐘上升沿s_axis_tready信號會自動拉高,該fifo處于等待接收數(shù)據狀態(tài)。

當STREAM FIFO的前端有數(shù)據需要發(fā)送時,在s_axis_tready為高時拉高s_axis_tvalid信號,在下個時鐘上升沿,STREAM FIFO便開始收數(shù)。

當STREAM FIFO內部的數(shù)據達到fifo的深度時,在接收進最后一個數(shù)據的同時,s_axis_tready將會變?yōu)榈?,告訴前級fifo已滿,不能在收數(shù)據了。其實S_axis_tready信號相當于普通FIFO的full與empty信號的綜合體。

對STREAM FIFO 的MASTER接口為FIFO的數(shù)據輸出接口。當STREAM FIFO接收到數(shù)據并傳到MASTER接口上時,m_axis_tvalid便會拉高,由于使用的STREAM FIFO為異步時鐘模式,數(shù)據寫入時鐘比數(shù)據讀出時鐘要快,而讀數(shù)據計數(shù)器的刷新是在讀數(shù)據時鐘的上升沿,所以可以從圖中看到讀數(shù)據計數(shù)器的值是跳躍上升的。當FIFO的后端將m_axis_tready拉高時,MASTER接口便會將數(shù)據送出去。

最后再來觀測下TLAST信號:

為了說明TLAST信號的傳輸特點,我們在SLAVE的寫入數(shù)據時在數(shù)據1023 和數(shù)據1024的時候將s_axis_tlast拉高。然后打開MASTER接口將STREAM FIFO內部的數(shù)據讀出。

從MASTER接口的數(shù)據流可以看出,將數(shù)據1023和數(shù)據1024讀出的同時也會將m_axis_tlast信號拉高。

最后說明一下STREAM FIFO的Packet mode包模式,開啟包模式必須是采用同步時鐘,而且TLAST信號必須使用。

在包模式下,數(shù)據將是以包的單位,而包內數(shù)據的數(shù)量由TVALID、TREADY和TLAST信號控制,TVALID信號和TREADY信號一起為包數(shù)據的開始,TLAST信號為包數(shù)據的結束。當STREAM FIFO里面沒有收到一包的數(shù)據時,F(xiàn)IFO的MASTER接口將處于關閉狀態(tài),即m_axis_tvalid將一直保持為低。當STREAM FIFO內部數(shù)據有至少一包及以上的數(shù)據時,MASTER接口將開啟,m_axis_tvalid將會拉高,當后級將存的包數(shù)據取完之后,MASTER接口又將關閉,m_axis_tvalid將拉低,直到接收到下一包數(shù)據之后才會重新打開。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
關閉