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

當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:介紹了FIFO的基本概念、設(shè)計方法和步驟,采用了一種新穎的讀、寫地址寄存器和雙體存儲器的交替讀、寫機制,實現(xiàn)了FIFO的基本功能,同時使本32X8 FIFO擁有可同時讀、寫的能力,完全基于Verilog HDL語言實現(xiàn)了電路功能

摘要:介紹了FIFO的基本概念、設(shè)計方法和步驟,采用了一種新穎的讀、寫地址寄存器和雙體存儲器的交替讀、寫機制,實現(xiàn)了FIFO的基本功能,同時使本32X8 FIFO擁有可同時讀、寫的能力,完全基于Verilog HDL語言實現(xiàn)了電路功能并應(yīng)用Synopsys公司的DesignCompiler和VCS對其進行綜合、仿真。

對基于單體存儲器的FIFO,作為一種數(shù)據(jù)緩沖器,其數(shù)據(jù)存放結(jié)構(gòu)和RAM是一致的,只是存取方式有所不同。因RAM中的各存儲單元可被隨機讀寫,故FIFO的隊首位置及隊列長度均可浮動。為此,需要用兩個地址寄存器,分別存儲讀地址(即隊首元素地址)和寫地址(即隊尾元素地址加1)。在讀寫過程中FIFO所存儲的信息并不移動,而是通過改變讀地址或?qū)懙刂穪碇甘娟犑钻犖病?/p>

本32X8 FIFO的設(shè)計,采用了雙體存儲器的交替讀寫機制,使得在對其中一個存儲器寫操作的同時可以對另一個存儲器進行讀操作;對其中一個存儲器讀操作的同時可以對另一個存儲器進行寫操作。實現(xiàn)了高速數(shù)據(jù)緩沖,速度比單體存儲器的FIFO提高了一倍。

1 指針以及滿空信號的產(chǎn)生

空/滿標(biāo)志的產(chǎn)生是FIFO的核心部分。如何正確設(shè)計此部分的邏輯,直接影響到FIFO的性能。

對于同步FIFO,讀寫指針都指向一個內(nèi)存的初始位置,每進行一次讀寫操作,相應(yīng)的指針就遞增一次,指向下一個內(nèi)存位置。當(dāng)指針移動到了內(nèi)存的最后一個位置時,它又重新跳回初始位置。在FIFO非滿或非空的情況下,這個過程將隨著讀寫控制信號的變化一直進行下去。如果FIFO處于空的狀態(tài),下一個讀動作將會導(dǎo)致向下溢出(underflow),一個無效的數(shù)據(jù)被讀出;同樣,對于一個滿了的FIFO,進行寫動作將會導(dǎo)致向上溢出(overflow),一個有用的數(shù)據(jù)被新寫入的數(shù)據(jù)覆蓋。這兩種情況都屬于誤動作,因此需要設(shè)置滿和空兩個信號,對滿信號置位表示FIFO處于滿狀態(tài),對滿信號復(fù)位表示FIFO非滿,還有空間可以寫入數(shù)據(jù);對空信號置位表示FIFO處于空狀態(tài),對空信號復(fù)位表示FIFO非空,還有有效的數(shù)據(jù)可以讀出。當(dāng)讀指針和寫指針相等也就是指向同一個內(nèi)存位置的時候,FIFO可能處于滿或空兩種狀態(tài)??梢酝ㄟ^不同的方法判斷或區(qū)分FIFO究竟是處于滿狀態(tài)還是空狀態(tài),也就是究竟是寫指針從后趕上了讀指針,還是讀指針從后趕上了寫指針。

本文所應(yīng)用的方法是分別將讀、寫地址寄存器擴展一位,將最高位設(shè)置為狀態(tài)位,其余低位作為地址位,指針由地址位以及狀態(tài)位組成。巧妙地應(yīng)用地址位和狀態(tài)位的結(jié)合實現(xiàn)對空、滿標(biāo)志位的控制。當(dāng)讀寫指針的地址位和狀態(tài)位全部吻合的時候,讀寫指針經(jīng)歷了相同次數(shù)的循環(huán)移動,也就是說,FIFO處于空狀態(tài)(圖1(a));如果讀寫指針的地址位相同而狀態(tài)位相反,寫指針比讀指針多循環(huán)一次,標(biāo)志FIFO處于滿狀態(tài)(圖1(b))。


圖1 FIFO處于的狀態(tài)

2 32X8FIFO系統(tǒng)結(jié)構(gòu)

本文介紹的32X8FIFO設(shè)計采用了雙體存儲器(FIFOMemory)結(jié)構(gòu)(如圖2)。每個FIFOMemery中都有一個16X8的RAM,rd-cntr3: 和wr-cntr3: 分別作為讀、寫地址,rd-cntr和wr-cntr分別作為讀、寫狀態(tài)位。對整個系統(tǒng),當(dāng)寫信號(wrN)有效,數(shù)據(jù)將寫入FIFO,且交替寫入這兩個分立的存儲器。當(dāng)讀信號(rdN)有效,數(shù)據(jù)將被讀出FIFO,且交替從這兩個分立的存儲器讀出。對基于單體存儲器的FIFO,在讀操作的同時不能有任何的寫操作,只能在讀操作結(jié)束后再進行寫操作。本文應(yīng)用的交替讀寫機制使得32X8 FIFO具有可以同時讀寫的能力,即對一個存儲器讀操作的同時可以對另一個存儲器寫操作;對一個存儲器寫操作的同時可以對另一個存儲器讀操作。32X8 FIFO Data Path的結(jié)構(gòu)框圖如圖3所示。其結(jié)構(gòu)中有兩個分立的存儲器FIFOmem(even)和FIFOmem(odd)。FIFO cntrl模塊控制對這兩個分立存儲器的讀、寫操作。而整個系統(tǒng)的空、滿標(biāo)志位分別由FIFOmem(even)和FIFOmem(odd)中的空、滿標(biāo)志位mem_full_even、mem_empty_even、mem_full_odd和mem_empty_odd來實現(xiàn)。其中rdN和wrN為整個系統(tǒng)的讀寫控制信號,rstN為FIFO復(fù)位信號。同時可以看出32X8 FIFO共有3個周期的延時:輸入寄存器,FIFOMemery和輸出寄存器延時,存取速度快。


圖2 FIFOMemory結(jié)構(gòu)框圖


圖3 32X8FIFODataPath結(jié)構(gòu)框圖

3 32X8FIFO的Verilog HDL實現(xiàn)

硬件描述語言Verilog HDL是一種廣泛應(yīng)用于集成電路設(shè)計的高層次描述語言,適合行為級、寄存器傳輸級和門級等多層次的設(shè)計和描述,并且具有簡單、易讀、易修改和與工藝無關(guān)等優(yōu)點。因此利用Verilog HDL語言進行電路設(shè)計可以節(jié)約開發(fā)成本和周期。

此32X8FIFO各個部分均采用Verilog HDL代碼實現(xiàn)。限于篇幅,下面僅列出FIFOMemery模塊的程序清單。整個

32X8FIFO設(shè)計應(yīng)用全球著名EDA軟件供應(yīng)商Synopsys公司的DesignCompiler進行了邏輯綜合,并應(yīng)用Synopsys公司的仿真軟件VCS做了仿真驗證。(VCS是Synopsys公司的VerilogHDL仿真軟件) FIFO Memery模塊程序清單如下:

module fifo_mem(data,clk,rstN,wrN,rdN,empty,full);

inout [7:0] data;

input clk,rstN,wrN,rdN;

output empty,full;

reg [4:0]  _cntr,rd_cntr;

wire [3:0] add;

ram16X8 ram(.data(data),.addr(addr),.wrN(wrN),.oe(wrN));

always @(posedge clk or negedge rstN)

if(!rstN) wr_cntr<=0;

else if (!wrN) wr_cntr<=wr_cntr+1;

always @ (posedge clk or negedge rstN)

if(!rstN) rd_cntr<=0;

else if(!rdN) rd_cntr<=rd_cntr+1;

assign addr=wrN?rd_cntr [3:0]: wr_cntr [3:0];

assign empty=(wr_cntr [3:0] == rd_cntr [3:0])&&!(wr_cntr[4]^rd_cntr[4]);

assign full=(wr_cntr [3:0] ==rd_cntr [3:0])&&(wr_cntr[4]^rd_cntr[4]);

endmodule

4 結(jié)語

本文通過兩個分立存儲器間的交替讀、寫機制,實現(xiàn)32X8 FIFO的可同時讀、寫功能,提高了數(shù)據(jù)存取的速度,并且提出了新穎的空、滿標(biāo)志位的實現(xiàn)方法。采用Verilog HDL硬件描述語言進行電路設(shè)計,應(yīng)用Synopsys公司的DesignCompiler和VCS進行電路綜合和仿真,電路功能得到驗證。

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

FIFO 中斷狀態(tài)位的輪詢和中斷機制各有優(yōu)劣,適用于不同的應(yīng)用場景。輪詢實現(xiàn)簡單但效率低下,中斷實時性好但復(fù)雜度高。在實際設(shè)計中,應(yīng)根據(jù)系統(tǒng)需求、性能指標(biāo)和資源限制,選擇合適的機制或混合方案。隨著硬件技術(shù)的發(fā)展,現(xiàn)代處理...

關(guān)鍵字: FIFO

FIFO 發(fā)送器憑借其獨特的工作原理和結(jié)構(gòu)特點,在眾多領(lǐng)域中發(fā)揮著不可或缺的作用。它為數(shù)據(jù)的有序傳輸和高效處理提供了有力支持,盡管面臨一些挑戰(zhàn),但通過不斷的技術(shù)創(chuàng)新和優(yōu)化,F(xiàn)IFO 發(fā)送器將在未來的科技發(fā)展中繼續(xù)展現(xiàn)其強...

關(guān)鍵字: FIFO

June 24, 2025 ---- 近期市場對于NVIDIA RTX PRO 6000系列產(chǎn)品的討論聲量高,預(yù)期在需求支撐下,整體出貨將有不俗表現(xiàn)。然而,TrendForce集邦咨詢資深研究副總吳雅婷認(rèn)為,該系列產(chǎn)品受...

關(guān)鍵字: 存儲器 供應(yīng)鏈 邊緣AI

在人工智能訓(xùn)練、實時圖形渲染與科學(xué)計算領(lǐng)域,存儲器帶寬已成為制約系統(tǒng)性能的核心瓶頸。HBM3與GDDR7作為當(dāng)前顯存技術(shù)的兩大巔峰之作,分別通過三維堆疊與信號調(diào)制技術(shù)的突破,為不同應(yīng)用場景提供了差異化解決方案。本文從架構(gòu)...

關(guān)鍵字: 存儲器 HBM3

傳統(tǒng)存儲器技術(shù)逼近物理極限,鐵電場效應(yīng)晶體管(FeFET)憑借其獨特的極化翻轉(zhuǎn)機制與非易失性邏輯特性,成為突破馮·諾依曼架構(gòu)瓶頸的關(guān)鍵技術(shù)。FeFET通過將鐵電材料集成至晶體管柵極,實現(xiàn)了存儲與邏輯功能的深度融合,其物理...

關(guān)鍵字: FeFET 存儲器

數(shù)字化轉(zhuǎn)型與人工智能技術(shù)驅(qū)動,數(shù)據(jù)中心存儲架構(gòu)正經(jīng)歷從傳統(tǒng)磁盤陣列向全閃存與新型內(nèi)存技術(shù)的深度變革。全閃存陣列(AFA)憑借亞毫秒級延遲與高IOPS性能重塑存儲性能基準(zhǔn),而持久化內(nèi)存(PMEM)則通過填補DRAM與SSD...

關(guān)鍵字: 數(shù)據(jù)中心 存儲器

AI算力與數(shù)據(jù)中心規(guī)模持續(xù)擴張,存儲器糾錯碼(ECC)技術(shù)已成為保障數(shù)據(jù)完整性的核心防線。從硬件加速架構(gòu)到算法優(yōu)化,ECC技術(shù)正通過多維度創(chuàng)新,將內(nèi)存錯誤率降低至每萬億小時1次以下,為關(guān)鍵任務(wù)系統(tǒng)提供接近零故障的可靠性保...

關(guān)鍵字: 存儲器 ECC

存儲器供應(yīng)鏈安全已成為國家戰(zhàn)略的核心命題,從晶圓代工到封裝測試,中國存儲器產(chǎn)業(yè)正通過關(guān)鍵環(huán)節(jié)的技術(shù)突破與生態(tài)重構(gòu),走出一條從“受制于人”到“自主可控”的替代之路。這條路徑不僅關(guān)乎產(chǎn)業(yè)安全,更承載著數(shù)字經(jīng)濟時代的技術(shù)主權(quán)。

關(guān)鍵字: 存儲器 國產(chǎn)化替

AI算力需求爆炸式增長,存儲器封裝技術(shù)正經(jīng)歷從2.5D到3D異構(gòu)集成的范式變革。這種變革不僅重構(gòu)了芯片間的物理連接方式,更對散熱設(shè)計與信號完整性提出了全新挑戰(zhàn)。本文從封裝架構(gòu)演進、散熱機制創(chuàng)新與信號完整性保障三個維度,解...

關(guān)鍵字: 存儲器 散熱

數(shù)據(jù)成為核心生產(chǎn)要素的時代,存儲器安全技術(shù)已成為保障數(shù)字資產(chǎn)隱私與完整性的關(guān)鍵防線。從早期基于硬件的加密引擎到現(xiàn)代可信執(zhí)行環(huán)境(TEE)的生態(tài)構(gòu)建,存儲器安全技術(shù)經(jīng)歷了從單一防護到體系化協(xié)同的演進。本文從硬件加密引擎、存...

關(guān)鍵字: 存儲器 TEE
關(guān)閉