国产久草深夜福利精品_精品国产看高清国产毛片_成年日韩片av在线网站_亚洲国产综合777_免费高清一级在线观看_欧美色图中文字幕_老中医用嘴排阴毒 小雨_99精品无码视频在线播放_久久久精品强暴视频_国产aⅴ一区最新精品

羿步FIFO的VHDL設計
電子元件,電子元器件深圳市創(chuàng)唯電子有限公司
您現(xiàn)在的位置: 首頁 > 電子技術
羿步FIFO的VHDL設計  2012/3/1
摘要:給出了一個利用格雷碼對地址編碼的羿步FIFO的實現(xiàn)方法,并給出了VHDL程序,以解決異步讀寫時鐘引起的問題。關鍵詞:FIFO雙口RAM格雷碼VHDLFIFO(先進先出隊列)是一種在電子系統(tǒng)得到廣泛應用的器件,通常用于數(shù)據(jù)的緩存和用于容納異步信號的頻率或相位的差異。FIFO的實現(xiàn)通常是利用雙口RAM和讀寫地址產(chǎn)生模塊來實現(xiàn)的。FIFO的接口信號包括異步的寫時鐘(wr_clk)和讀時鐘(rd_clk)、與寫時鐘同步的寫有效(wren)和寫數(shù)據(jù)(wr_
 

    摘要:給出了一個利用格雷碼對地址編碼的羿步FIFO的實現(xiàn)方法,并給出了VHDL程序,以解決異步讀寫時鐘引起的問題。

    關鍵詞:FIFO 雙口RAM 格雷碼 VHDL

FIFO(先進先出隊列)是一種在電子系統(tǒng)得到廣泛應用的器件,通常用于數(shù)據(jù)的緩存和用于容納異步信號的頻率或相位的差異。FIFO的實現(xiàn)通常是利用雙口RAM和讀寫地址產(chǎn)生模塊來實現(xiàn)的。FIFO的接口信號包括異步的寫時鐘(wr_clk)和讀時鐘(rd_clk)、與寫時鐘同步的寫有效(wren)和寫數(shù)據(jù)(wr_data)、與讀時鐘同步的讀有效(rden)和讀數(shù)據(jù)(rd_data)。為了實現(xiàn)正確的讀寫和避免FIFO的上溢或下溢,通常還應該給出與讀時鐘和寫時鐘同步的FIFO的空標志(empty)和滿標志(full)以禁止讀寫操作。

1 異步FIFO功能描述

圖1給出了FIFO的接口信號和內(nèi)部模塊圖。

由圖1可以看出,寫地址產(chǎn)生模塊根據(jù)寫時鐘和寫有效信號產(chǎn)生遞增的寫地睛,讀地址產(chǎn)生模塊根據(jù)讀時鐘和讀有效信號產(chǎn)生遞增的讀地址。FIFO的操作如下:在寫時鐘wr_clk的升沿,當wren有效時,將wr_data寫入雙口RAM中寫地址對應的位置中;始終將讀地址對應的雙口RAM中的數(shù)據(jù)輸出到讀數(shù)據(jù)總線上。這樣就實現(xiàn)了先進先出的功能。

   寫地址產(chǎn)生模塊還根據(jù)讀地址和寫地址關系產(chǎn)生FIFO的滿標志。當wren有效時,若寫地址+2=讀地址時,full為1;當wren無效時,若寫地址+1=讀地址時,full為1。讀地址產(chǎn)生模塊還根據(jù)讀地址和寫地址的差產(chǎn)生FIFO的空標志。當rden有效時,若寫地址-1=讀地址時,empty為1;當rden無效時,若寫地址=讀地址時,empty為1。按照以上方式產(chǎn)生標志信號是為了提前一個時鐘周期產(chǎn)生對應的標志信號。

由于空標志和滿標志控制了FIFO的操作,因此標志錯誤會引起操作的錯誤。如上所述,標志的產(chǎn)生是通過對讀寫地址的比較產(chǎn)生的,當讀寫時鐘完全異步時,對讀寫地址進行比較時,可能得出錯誤的結果。例如,在讀地址變化過程中,由于讀地址的各位變化并不同步,計算讀寫地址的差值,可能產(chǎn)生錯誤的差值,導致產(chǎn)生錯誤的滿標志信號。若將未滿標志置為滿標志時,可能降低了應用的性能,降低寫數(shù)據(jù)速率;而將滿置標志置為未滿時,執(zhí)行一次寫操作,則可能產(chǎn)生溢出錯誤,這對于實際應用來說是絕對應該避免的�?諛酥拘盘柕漠a(chǎn)生也可能產(chǎn)生類似的錯誤。

2 異步FIFO的改進設計

從以上分析中可以看出,異步FIFO之所以會發(fā)生錯誤是國為在地址變化時,由于多位地址各位變化時間不同,異步時鐘對其進行采樣時數(shù)值可能為不同于地址變化喪后數(shù)值的其他值,異步產(chǎn)生錯誤的空標志和滿標志,以致于產(chǎn)生FIFO的操作錯誤。

格雷碼是一種在相鄰計數(shù)值之間只有一位發(fā)生變化的編碼方式�?梢钥闯�,若讀寫地址采用格雷碼編碼方式,就可以解決上面的問題。

為了應用的靈活,還增加了兩個標志信號,將滿(almosf_full)標志和空(almost_empty)標志分別定義如下:當寫地址與讀地址的距離小于某個預先定義數(shù)值時,almost_full為1;當讀地址與寫地址的距離小于這個預先定義的數(shù)值時,almost_empty為1。

3 異步FIFO的VHDL實現(xiàn)

硬件描述語言VHDL(Very-highspeedICHardware Description Language)是一種應用于電路設計的高層次描述語言,具有行為級、寄存器傳輸級和門級等多層次描述,并且具有簡單、易讀、易修改和與工藝無關等優(yōu)點。目前VHDL語言已經(jīng)得到多種EDA工具的支持,綜合工具得到迅速發(fā)展,VHDL語言的行為級綜合也已經(jīng)得到支持和實現(xiàn),因此利用VHDL語言進行電路設計可以節(jié)約開發(fā)成本和周期。

首先給出格雷碼和普通自然碼之間的轉(zhuǎn)換模塊的VHDL程序。

程序1:自然碼碼到格雷碼的轉(zhuǎn)換程序

entity norm_to_gery is

與《羿步FIFO的VHDL設計》相關列表
電話:400-900-3095
QQ:800152669
庫存查詢
Copyright(C) 2011-2021 Szcwdz.com 創(chuàng)唯電子 版權所有 備案號:粵ICP備11103613號
專注電子元件代理銷售  QQ:800152669  電子郵件:[email protected]  電話:400-900-3095