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

當(dāng)前位置:首頁 > > ZYNQ
		


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

上圖則是該IP核的參數(shù)設(shè)定界面(開發(fā)環(huán)境為VIVADO2015.1),點(diǎn)擊左上角的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深度:該設(shè)定為指定例化FIFO的深度。當(dāng)FIFO的深度為16或者32時(shí)利用基于FIFO的LUTRAM,其他深度的FIFO將利用BLOCK RAM實(shí)現(xiàn)。

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

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

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

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

Signal Properties:
信號(hào)特性:
當(dāng)使用IP集成器是,Vivado IDE會(huì)自動(dòng)計(jì)算這些參數(shù)的值。

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

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

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

Enable TLAST:

使能TLAST:

如果設(shè)定為Yes,這個(gè)參數(shù)指定是否在所有AXI4-Stream interfaces使用可選的TLAST信號(hào)。對(duì)于TLAST信號(hào)要重點(diǎn)說明,因?yàn)樵谑褂肧TREAM FIFO時(shí)TLAST的作用特別的重要。對(duì)于STREAM FIFO來說,TLAST信號(hào)的作用是指示一次傳輸數(shù)據(jù)流的最后一個(gè)數(shù)據(jù),也指示著該數(shù)據(jù)流的結(jié)束。其會(huì)記錄下TLAST信號(hào)的位置,及當(dāng)其SLAVE接口(SFIFO的數(shù)據(jù)寫入接口)的某一個(gè)數(shù)據(jù)寫入的同時(shí)TLASET信號(hào)也為高的話,當(dāng)MASTER接口(SFIFO的數(shù)據(jù)讀出接口)讀出該數(shù)據(jù)的同時(shí)也會(huì)將TLAST信號(hào)拉高。總結(jié)起來就是,進(jìn)的數(shù)據(jù)有TLAST,該數(shù)據(jù)出的時(shí)候就會(huì)有TLAST。

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

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

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

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

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

在使用STREAM FIFO的應(yīng)用中只應(yīng)用到了TDATA、TVALID、TREADY以及TLAST信號(hào),所以接下來對(duì)STREAM FIFO的功能說明只要是針對(duì)只是用以上信號(hào)的條件下的。

STREAM FIFO的復(fù)位信號(hào)為低有效,當(dāng)復(fù)位信號(hào)拉高后的第三個(gè)時(shí)鐘上升沿s_axis_tready信號(hào)會(huì)自動(dòng)拉高,該fifo處于等待接收數(shù)據(jù)狀態(tài)。

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

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

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

最后再來觀測(cè)下TLAST信號(hào):

為了說明TLAST信號(hào)的傳輸特點(diǎn),我們?cè)赟LAVE的寫入數(shù)據(jù)時(shí)在數(shù)據(jù)1023 和數(shù)據(jù)1024的時(shí)候?qū)_axis_tlast拉高。然后打開MASTER接口將STREAM FIFO內(nèi)部的數(shù)據(jù)讀出。

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉