91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的異步FIFO的實(shí)現(xiàn)

FPGA學(xué)習(xí)交流 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-06-21 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來聊一聊基于FPGA的異步FIFO的實(shí)現(xiàn)。

一、FIFO簡(jiǎn)介

FIFO是英文First In First Out 的縮寫,是一種先進(jìn)先出的數(shù)據(jù)緩存器,它與普通存儲(chǔ)器的區(qū)別是沒有外部讀寫地址線,這樣使用起來非常簡(jiǎn)單,但缺點(diǎn)就是只能順序?qū)懭霐?shù)據(jù),順序的讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動(dòng)加1完成,不能像普通存儲(chǔ)器那樣可以由地址線決定讀取或?qū)懭肽硞€(gè)指定的地址。

用途1:
異步FIFO讀寫分別采用相互異步的不同時(shí)鐘。在現(xiàn)代集成電路芯片中,隨著設(shè)計(jì)規(guī)模的不斷擴(kuò)大,一個(gè)系統(tǒng)中往往含有數(shù)個(gè)時(shí)鐘,多時(shí)鐘域帶來的一個(gè)問題就是,如何設(shè)計(jì)異步時(shí)鐘之間的接口電路。異步FIFO是這個(gè)問題的一種簡(jiǎn)便、快捷的解決方案,使用異步FIFO可以在兩個(gè)不同時(shí)鐘系統(tǒng)之間快速而方便地傳輸實(shí)時(shí)數(shù)據(jù)。

用途2:
對(duì)于不同寬度的數(shù)據(jù)接口也可以用FIFO,例如單片機(jī)位8位數(shù)據(jù)輸出,而DSP可能是16位數(shù)據(jù)輸入,在單片機(jī)與DSP連接時(shí)就可以使用FIFO來達(dá)到數(shù)據(jù)匹配的目的。

二、分類
同步FIFO是指讀時(shí)鐘和寫時(shí)鐘為同一個(gè)時(shí)鐘,在時(shí)鐘沿來臨時(shí)同時(shí)發(fā)生讀寫操作;
異步FIFO是指讀寫時(shí)鐘不一致,讀寫時(shí)鐘是互相獨(dú)立的。

三、FIFO的常見參數(shù)
FIFO的寬度:即FIFO一次讀寫操作的數(shù)據(jù)位;
FIFO的深度:指的是FIFO可以存儲(chǔ)多少個(gè)N位的數(shù)據(jù)(如果寬度為N)。
滿標(biāo)志:FIFO已滿或?qū)⒁獫M時(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的寫操作繼續(xù)向FIFO中寫數(shù)據(jù)而造成溢出(overflow)。
空標(biāo)志:FIFO已空或?qū)⒁諘r(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的讀操作繼續(xù)從FIFO中讀出數(shù)據(jù)而造成無效數(shù)據(jù)的讀出(underflow)。
讀時(shí)鐘:讀操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來臨時(shí)讀數(shù)據(jù)。
寫時(shí)鐘:寫操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來臨時(shí)寫數(shù)據(jù)。

讀寫指針的工作原理
寫指針:總是指向下一個(gè)將要被寫入的單元,復(fù)位時(shí),指向第1個(gè)單元(編號(hào)為0)。
讀指針:總是指向當(dāng)前要被讀出的數(shù)據(jù),復(fù)位時(shí),指向第1個(gè)單元(編號(hào)為0)

FIFO的“空”/“滿”檢測(cè)
FIFO設(shè)計(jì)的關(guān)鍵:產(chǎn)生可靠的FIFO讀寫指針和生成FIFO“空”/“滿”狀態(tài)標(biāo)志。

當(dāng)讀寫指針相等時(shí),表明FIFO為空,這種情況發(fā)生在復(fù)位操作時(shí),或者當(dāng)讀指針讀出FIFO中最后一個(gè)字后,追趕上了寫指針時(shí),如下圖所示:
123118sawxcouuaacy3ck4.png


當(dāng)讀寫指針再次相等時(shí),表明FIFO為滿,這種情況發(fā)生在,當(dāng)寫指針轉(zhuǎn)了一圈,折回來(wrapped around)又追上了讀指針,如下圖:
122509xslrjygkggjyghr5.png


為了區(qū)分到底是滿狀態(tài)還是空狀態(tài),可以采用以下方法:

方法1:在指針中添加一個(gè)額外的位(extra bit),當(dāng)寫指針增加并越過最后一個(gè)FIFO地址時(shí),就將寫指針這個(gè)未用的MSB加1,其它位回零。對(duì)讀指針也進(jìn)行同樣的操作。此時(shí),對(duì)于深度為2n的FIFO,需要的讀/寫指針位寬為(n+1)位,如對(duì)于深度為8的FIFO,需要采用4bit的計(jì)數(shù)器,0000~1000、1001~1111,MSB作為折回標(biāo)志位,而低3位作為地址指針。

* 如果兩個(gè)指針的MSB不同,說明寫指針比讀指針多折回了一次;如r_addr=0000,而w_addr = 1000,為滿。
* 如果兩個(gè)指針的MSB相同,則說明兩個(gè)指針折回的次數(shù)相等。其余位相等,說明FIFO為空;

3.二進(jìn)制FIFO指針的考慮
將一個(gè)二進(jìn)制的計(jì)數(shù)值從一個(gè)時(shí)鐘域同步到另一個(gè)時(shí)鐘域的時(shí)候很容易出現(xiàn)問題,因?yàn)椴捎枚M(jìn)制計(jì)數(shù)器時(shí)所有位都可能同時(shí)變化,在同一個(gè)時(shí)鐘沿同步多個(gè)信號(hào)的變化會(huì)產(chǎn)生亞穩(wěn)態(tài)問題。而使用格雷碼只有一位變化,因此在兩個(gè)時(shí)鐘域間同步多個(gè)位不會(huì)產(chǎn)生問題。所以需要一個(gè)二進(jìn)制到gray碼的轉(zhuǎn)換電路,將地址值轉(zhuǎn)換為相應(yīng)的gray碼,然后將該gray碼同步到另一個(gè)時(shí)鐘域進(jìn)行對(duì)比,作為空滿狀態(tài)的檢測(cè)。
122509e29dmvv62g2bg4os.png


4.
使用gray碼進(jìn)行對(duì)比,如何判斷“空”與“滿”
使用gray碼解決了一個(gè)問題,但同時(shí)也帶來另一個(gè)問題,即在格雷碼域如何判斷空與滿。

對(duì)于“空”的判斷依然依據(jù)二者完全相等(包括MSB);

而對(duì)于“滿”的判斷,如下圖,由于gray碼除了MSB外,具有鏡像對(duì)稱的特點(diǎn),當(dāng)讀指針指向7,寫指針指向8時(shí),除了MSB,其余位皆相同,不能說它為滿。因此不能單純的只檢測(cè)最高位了,在gray碼上判斷為滿必須同時(shí)滿足以下3條:

* wptr和同步過來的rptr的MSB不相等,因?yàn)閣ptr必須比rptr多折回一次。
* wptr與rptr的次高位不相等,如上圖位置7和位置15,轉(zhuǎn)化為二進(jìn)制對(duì)應(yīng)的是0111和1111,MSB不同說明多折回一次,111相同代表同一位置。
* 剩下的其余位完全相等。
122510vqu8elbujwakye4n.png

5.總體實(shí)現(xiàn)
系統(tǒng)的總體框圖如下:
122510pdyt99tfhddmob5t.png


1)頂層模塊
module AsyncFIFO
#(parameter ASIZE = 4, //地址位寬
parameter DSIZE = 8) //數(shù)據(jù)位寬
(
input [DSIZE-1:0] wdata,
input winc, wclk, wrst_n, //寫請(qǐng)求信號(hào),寫時(shí)鐘,寫復(fù)位
input rinc, rclk, rrst_n, //讀請(qǐng)求信號(hào),讀時(shí)鐘,讀復(fù)位
output [DSIZE-1:0] rdata,
output wfull,
output rempty
);
wire [ASIZE-1:0] waddr, raddr;
wire [ASIZE:0] wptr, rptr, wq2_rptr, rq2_wptr; /************************************************************
* In order to perform FIFO full and FIFO empty tests using
* this FIFO style, the read and write pointers must be
* passed to the opposite clock domain for pointer comparison
*************************************************************/
/*在檢測(cè)“滿”或“空”狀態(tài)之前,需要將指針同步到其它時(shí)鐘域時(shí),使用格雷碼,可以降低同步過程中亞穩(wěn)態(tài)出現(xiàn)的概率*/
sync_r2w I1_sync_r2w(
.wq2_rptr(wq2_rptr),
.rptr(rptr),
.wclk(wclk),
.wrst_n(wrst_n));
sync_w2r I2_sync_w2r (
.rq2_wptr(rq2_wptr),
.wptr(wptr),
.rclk(rclk),
.rrst_n(rrst_n));
/*
* DualRAM
*/
DualRAM #(DSIZE, ASIZE) I3_DualRAM(
.rdata(rdata),
.wdata(wdata),
.waddr(waddr),
.raddr(raddr),
.wclken(winc),
.wclk(wclk));

/*
* 空、滿比較邏輯
*/
rptr_empty #(ASIZE) I4_rptr_empty(
.rempty(rempty),
.raddr(raddr),
.rptr(rptr),
.rq2_wptr(rq2_wptr),
.rinc(rinc),
.rclk(rclk),
.rrst_n(rrst_n));
wptr_full #(ASIZE) I5_wptr_full(
.wfull(wfull),
.waddr(waddr),
.wptr(wptr),
.wq2_rptr(wq2_rptr),
.winc(winc),
.wclk(wclk),
.wrst_n(wrst_n));
endmodule

2)DualRAM模塊
module DualRAM
#(
parameter DATA_SIZE = 8, // 數(shù)據(jù)位寬
parameter ADDR_SIZE = 4 // 地址位寬
)
(
input wclken,wclk,
input [ADDR_SIZE-1:0] raddr, //RAM read address
input [ADDR_SIZE-1:0] waddr, //RAM write address
input [DATA_SIZE-1:0] wdata, //data input
output [DATA_SIZE-1:0] rdata //data output
);
localparam RAM_DEPTH = 1 << ADDR_SIZE; ? //RAM深度 = 2^ADDR_WIDTH
reg [DATA_SIZE-1:0] Mem[RAM_DEPTH-1:0];
always@(posedge wclk)
begin
if(wclken)
Mem[waddr] <= wdata;
end
assign rdata = Mem[raddr];
endmodule

3)同步模塊
module sync_r2w
#(parameter ADDRSIZE = 4)
(
output reg [ADDRSIZE:0] wq2_rptr,
input [ADDRSIZE:0] rptr,
input wclk, wrst_n
);
reg [ADDRSIZE:0] wq1_rptr;
always @(posedge wclk or negedge wrst_n)
if (!wrst_n)
{wq2_rptr,wq1_rptr} <= 0;
else
{wq2_rptr,wq1_rptr} <= {wq1_rptr,rptr};
endmodule

4)同步模塊2
module sync_w2r
#(parameter ADDRSIZE = 4)
(
output reg [ADDRSIZE:0] rq2_wptr,
input [ADDRSIZE:0] wptr,
input rclk, rrst_n
); reg [ADDRSIZE:0] rq1_wptr;
always @(posedge rclk or negedge rrst_n)
if (!rrst_n)
{rq2_wptr,rq1_wptr} <= 0;
else
{rq2_wptr,rq1_wptr} <= {rq1_wptr,wptr};
endmodule

5)空判斷邏輯
module rptr_empty
#(parameter ADDRSIZE = 4)
(
output reg rempty,
output [ADDRSIZE-1:0] raddr,
output reg [ADDRSIZE :0] rptr,
input [ADDRSIZE :0] rq2_wptr,
input rinc, rclk, rrst_n);


reg [ADDRSIZE:0] rbin;
wire [ADDRSIZE:0] rgraynext, rbinnext;
wire rempty_val;
//-------------------
// GRAYSTYLE2 pointer: gray碼讀地址指針
//-------------------
always @(posedge rclk or negedge rrst_n)
if (!rrst_n)
begin
rbin <= 0;
rptr <= 0;
end
else
begin
rbin <= rbinnext ;
rptr <= rgraynext;
end
// gray碼計(jì)數(shù)邏輯
assign rbinnext = !rempty ? (rbin + rinc) : rbin;
assign rgraynext = (rbinnext>>1) ^ rbinnext; //二進(jìn)制到gray碼的轉(zhuǎn)換
assign raddr = rbin[ADDRSIZE-1:0];
//---------------------------------------------------------------
// FIFO empty when the next rptr == synchronized wptr or on reset
//---------------------------------------------------------------
/*
* 讀指針是一個(gè)n位的gray碼計(jì)數(shù)器,比FIFO尋址所需的位寬大一位
* 當(dāng)讀指針和同步過來的寫指針完全相等時(shí)(包括MSB),說明二者折回次數(shù)一致,FIFO為空
*
*/
assign rempty_val = (rgraynext == rq2_wptr);
always @(posedge rclk or negedge rrst_n)
if (!rrst_n)
rempty <= 1'b1;
else
rempty <= rempty_val;
endmodule

6)滿判斷邏輯
module wptr_full
#(
parameter ADDRSIZE = 4
)
(
output reg wfull,
output [ADDRSIZE-1:0] waddr,
output reg [ADDRSIZE :0] wptr,
input [ADDRSIZE :0] wq2_rptr,
input winc, wclk, wrst_n);

reg [ADDRSIZE:0] wbin;
wire [ADDRSIZE:0] wgraynext, wbinnext;
wire wfull_val;
// GRAYSTYLE2 pointer
always @(posedge wclk or negedge wrst_n)
if (!wrst_n)
begin
wbin <= 0;
wptr <= 0;
end
else
begin
wbin <= wbinnext;
wptr <= wgraynext;
end
//gray 碼計(jì)數(shù)邏輯
assign wbinnext = !wfull ? wbin + winc : wbin;
assign wgraynext = (wbinnext>>1) ^ wbinnext;
assign waddr = wbin[ADDRSIZE-1:0];
/*由于滿標(biāo)志在寫時(shí)鐘域產(chǎn)生,因此比較安全的做法是將讀指針同步到寫時(shí)鐘域*/
/**/
//------------------------------------------------------------------
// Simplified version of the three necessary full-tests:
// assign wfull_val=((wgnext[ADDRSIZE] !=wq2_rptr[ADDRSIZE] ) &&
// (wgnext[ADDRSIZE-1] !=wq2_rptr[ADDRSIZE-1]) &&
// (wgnext[ADDRSIZE-2:0]==wq2_rptr[ADDRSIZE-2:0]));
//------------------------------------------------------------------
assign wfull_val = (wgraynext=={~wq2_rptr[ADDRSIZE:ADDRSIZE-1],
wq2_rptr[ADDRSIZE-2:0]});
always @(posedge wclk or negedge wrst_n)
if (!wrst_n)
wfull <= 1'b0;
else
wfull <= wfull_val;
endmodule

quartus中有異步FIFO IP核,為安全起見推薦使用IP核定制FIFO,本文的目的只是作為思路參考。

今天就聊到這里,各位,加油。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22415

    瀏覽量

    636557
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FIFO存儲(chǔ)器的種類、IP配置及應(yīng)用

    FIRST IN FIRST OUT (先入先出)。顧名思義,FIFO是一個(gè)數(shù)據(jù)具有先進(jìn)先出的存儲(chǔ)器。
    的頭像 發(fā)表于 01-13 15:15 ?388次閱讀
    <b class='flag-5'>FIFO</b>存儲(chǔ)器的種類、IP配置及應(yīng)用

    基于FPGA的高效內(nèi)存到串行數(shù)據(jù)傳輸模塊設(shè)計(jì)

    本文介紹了一個(gè)基于FPGA的內(nèi)存到串行數(shù)據(jù)傳輸模塊,該模塊設(shè)計(jì)用來高效地處理存儲(chǔ)器中的數(shù)據(jù)并傳輸至串行接口。項(xiàng)目中自定義的“datamover_mm2s_fpga_”方案利用異步FIFO
    的頭像 發(fā)表于 11-12 14:31 ?4347次閱讀
    基于<b class='flag-5'>FPGA</b>的高效內(nèi)存到串行數(shù)據(jù)傳輸模塊設(shè)計(jì)

    如何利用Verilog HDL在FPGA實(shí)現(xiàn)SRAM的讀寫測(cè)試

    本篇將詳細(xì)介紹如何利用Verilog HDL在FPGA實(shí)現(xiàn)SRAM的讀寫測(cè)試。SRAM是一種非易失性存儲(chǔ)器,具有高速讀取和寫入的特點(diǎn)。在FPGA實(shí)現(xiàn)SRAM讀寫測(cè)試,包括設(shè)計(jì)SRA
    的頭像 發(fā)表于 10-22 17:21 ?4365次閱讀
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b>上<b class='flag-5'>實(shí)現(xiàn)</b>SRAM的讀寫測(cè)試

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA實(shí)現(xiàn)該算法時(shí),可
    的頭像 發(fā)表于 07-10 11:09 ?2407次閱讀
    基于<b class='flag-5'>FPGA</b>的壓縮算法加速<b class='flag-5'>實(shí)現(xiàn)</b>

    【RK3568+PG2L50H開發(fā)板實(shí)驗(yàn)例程】FPGA部分 | ROM、RAM、FIFO 的使用

    ROM 數(shù)據(jù)。 2.3. FIFO 介紹 FIFO 即先入先出,在 FPGA 中,FIFO 的作用就是對(duì)存儲(chǔ)進(jìn)來的數(shù)據(jù)具有一個(gè)先入先出特性的一個(gè)緩存器,經(jīng)常用作數(shù)據(jù)緩存或者進(jìn)行數(shù)據(jù)跨
    發(fā)表于 07-10 10:37

    AMD FPGA異步模式與同步模式的對(duì)比

    本文講述了AMD UltraScale /UltraScale+ FPGA 原生模式下,異步模式與同步模式的對(duì)比及其對(duì)時(shí)鐘設(shè)置的影響。
    的頭像 發(fā)表于 07-07 13:47 ?1647次閱讀

    cy7c68013a異步slave fifo模式,外部mcu無法讀寫fifo怎么解決?

    cy7c68013a 異步slave fifo 模式,外部mcu無法讀寫fifo 上位機(jī)發(fā)送bulk數(shù)據(jù),flag標(biāo)志是對(duì)的,SLCS也拉低了,是設(shè)置的低有效, 檢測(cè)到了flag不為空的標(biāo)志后
    發(fā)表于 06-03 10:49

    MAX3107SPI/I2C UART,具有128字FIFO技術(shù)手冊(cè)

    MAX3107是一款高級(jí)通用異步收發(fā)器(UART),接收、發(fā)送通道具有128字長(zhǎng)的先入/先出(FIFO)數(shù)據(jù)緩沖器,可通過I2C或高速SPI?接口控制。2倍速和4倍速模式支持最高24Mbps的數(shù)據(jù)
    的頭像 發(fā)表于 05-22 11:24 ?1058次閱讀
    MAX3107SPI/I2C UART,具有128字<b class='flag-5'>FIFO</b>技術(shù)手冊(cè)

    MAX14830四通道串行UART,具有128字FIFO技術(shù)手冊(cè)

    MAX14830是一款先進(jìn)的四通道通用異步收發(fā)器(UART),每路UART帶有128字先入/先出(FIFO)接收和發(fā)送緩存器,以及高速串行外設(shè)接口(SPI?)或I2C控制器接口。PLL和分?jǐn)?shù)波特率發(fā)生器為波特率編程和參考時(shí)鐘選擇提供了極大靈活性。
    的頭像 發(fā)表于 05-22 10:14 ?1064次閱讀
    MAX14830四通道串行UART,具有128字<b class='flag-5'>FIFO</b>技術(shù)手冊(cè)

    智多晶FIFO_Generator IP介紹

    FIFO_Generator是智多晶設(shè)計(jì)的一款通用型FIFO IP。當(dāng)前發(fā)布的FIFO_Generator IP是2.0版本,相比之前的1.1版本主要新增了非等比輸入輸出數(shù)據(jù)位寬支持和異步
    的頭像 發(fā)表于 04-25 17:24 ?1824次閱讀
    智多晶<b class='flag-5'>FIFO</b>_Generator IP介紹

    AD9122輸出fifo不正確的原因?怎么解決?

    目前遇到了幾個(gè)問題,問題分別是[FPGA]給的時(shí)鐘是250兆Hz,數(shù)據(jù)為40mhz正弦信號(hào),ddr傳輸。不采用pll工作模式,dacclk采用1G,0x1c配置00,0x1d配置00,0x1e配置01,Fifo亂序,輸出也亂序,查了幾次
    發(fā)表于 04-22 14:42

    AD9122輸出fifo不正確的原因?怎么解決?

    目前遇到了幾個(gè)問題,問題分別是Fpga給的時(shí)鐘是250兆Hz,數(shù)據(jù)為40mhz正弦信號(hào),ddr傳輸。不采用pll工作模式,dacclk采用1G,0x1c配置00,0x1d配置00,0x1e配置01,Fifo亂序,輸出也亂序,查了幾次fi
    發(fā)表于 04-15 08:11

    基于FPGAFIFO實(shí)現(xiàn)

    FIFO(First in First out)為先進(jìn)先出隊(duì)列,具有存儲(chǔ)功能,可用于不同時(shí)鐘域間傳輸數(shù)據(jù)以及不同的數(shù)據(jù)寬度進(jìn)行數(shù)據(jù)匹配。如其名稱,數(shù)據(jù)傳輸為單向,從一側(cè)進(jìn)入,再從另一側(cè)出來,出來的順序和進(jìn)入的順序相同。
    的頭像 發(fā)表于 04-09 09:55 ?1473次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIFO</b><b class='flag-5'>實(shí)現(xiàn)</b>

    AXI接口FIFO簡(jiǎn)介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內(nèi)存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Native接口FIFO支持的應(yīng)用外,AXI FIFO
    的頭像 發(fā)表于 03-17 10:31 ?2141次閱讀
    AXI接口<b class='flag-5'>FIFO</b>簡(jiǎn)介

    解鎖TSMaster fifo函數(shù):報(bào)文讀取的高效方法

    前言:TSMaster目前有兩種讀取報(bào)文的模式:回調(diào)函數(shù)模式和fifo模式。fifo函數(shù)是TSMaster近期新增的函數(shù),本文將重點(diǎn)介紹fifo模塊。關(guān)于回調(diào)函數(shù)的使用方法可以參考幫助模塊的《快速
    的頭像 發(fā)表于 03-14 20:04 ?1165次閱讀
    解鎖TSMaster <b class='flag-5'>fifo</b>函數(shù):報(bào)文讀取的高效方法