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

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

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

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

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

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

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

本文所應(yīng)用的方法是分別將讀、寫地址寄存器擴(kuò)展一位,將最高位設(shè)置為狀態(tài)位,其余低位作為地址位,指針由地址位以及狀態(tài)位組成。巧妙地應(yīng)用地址位和狀態(tài)位的結(jié)合實(shí)現(xiàn)對(duì)空、滿標(biāo)志位的控制。當(dāng)讀寫指針的地址位和狀態(tài)位全部吻合的時(shí)候,讀寫指針經(jīng)歷了相同次數(shù)的循環(huán)移動(dòng),也就是說,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è)計(jì)采用了雙體存儲(chǔ)器(FIFOMemory)結(jié)構(gòu)(如圖2)。每個(gè)FIFOMemery中都有一個(gè)16X8的RAM,rd-cntr3: 和wr-cntr3: 分別作為讀、寫地址,rd-cntr和wr-cntr分別作為讀、寫狀態(tài)位。對(duì)整個(gè)系統(tǒng),當(dāng)寫信號(hào)(wrN)有效,數(shù)據(jù)將寫入FIFO,且交替寫入這兩個(gè)分立的存儲(chǔ)器。當(dāng)讀信號(hào)(rdN)有效,數(shù)據(jù)將被讀出FIFO,且交替從這兩個(gè)分立的存儲(chǔ)器讀出。對(duì)基于單體存儲(chǔ)器的FIFO,在讀操作的同時(shí)不能有任何的寫操作,只能在讀操作結(jié)束后再進(jìn)行寫操作。本文應(yīng)用的交替讀寫機(jī)制使得32X8 FIFO具有可以同時(shí)讀寫的能力,即對(duì)一個(gè)存儲(chǔ)器讀操作的同時(shí)可以對(duì)另一個(gè)存儲(chǔ)器寫操作;對(duì)一個(gè)存儲(chǔ)器寫操作的同時(shí)可以對(duì)另一個(gè)存儲(chǔ)器讀操作。32X8 FIFO Data Path的結(jié)構(gòu)框圖如圖3所示。其結(jié)構(gòu)中有兩個(gè)分立的存儲(chǔ)器FIFOmem(even)和FIFOmem(odd)。FIFO cntrl模塊控制對(duì)這兩個(gè)分立存儲(chǔ)器的讀、寫操作。而整個(gè)系統(tǒng)的空、滿標(biāo)志位分別由FIFOmem(even)和FIFOmem(odd)中的空、滿標(biāo)志位mem_full_even、mem_empty_even、mem_full_odd和mem_empty_odd來實(shí)現(xiàn)。其中rdN和wrN為整個(gè)系統(tǒng)的讀寫控制信號(hào),rstN為FIFO復(fù)位信號(hào)。同時(shí)可以看出32X8 FIFO共有3個(gè)周期的延時(shí):輸入寄存器,FIFOMemery和輸出寄存器延時(shí),存取速度快。


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


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

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

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

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

32X8FIFO設(shè)計(jì)應(yīng)用全球著名EDA軟件供應(yīng)商Synopsys公司的DesignCompiler進(jìn)行了邏輯綜合,并應(yīng)用Synopsys公司的仿真軟件VCS做了仿真驗(yàn)證。(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é)語

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

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉