



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、異步FIFO的VHDL設計 摘要:給出了一個利用格雷碼對地址編碼的羿步FIFO的實現方法,并給出了VHDL程序,以解決異步讀寫時鐘引起的問題。 關鍵詞:FIFO 雙口RAM 格雷碼 VHDLFIFO(先進先出隊列)是一種在電子系統(tǒng)得到廣泛應用的器件,通常用于數據的緩存和用于容納異步信號的頻率或相位的差異。FIFO的實現通常是利用雙口RAM和讀寫地址產生模塊來實現的。FIFO的接口信號包括異步的寫時鐘(wr_clk)和讀時鐘(rd_clk)、與寫時鐘同步的寫有效(w
2、ren)和寫數據(wr_data)、與讀時鐘同步的讀有效(rden)和讀數據(rd_data)。為了實現正確的讀寫和避免FIFO的上溢或下溢,通常還應該給出與讀時鐘和寫時鐘同步的FIFO的空標志(empty)和滿標志(full)以禁止讀寫操作。1 異步FIFO功能描述圖1給出了FIFO的接口信號和內部模塊圖。由圖1可以看出,寫地址產生模塊根據寫時鐘和寫有效信號產生遞增的寫地睛,讀地址產生模塊根據讀時鐘和讀有效信號產生遞增的讀地址。FIFO的操作如下:在寫時鐘wr_clk的升沿,當wren有效時,將wr_data寫入雙口RAM中寫地址對應的位置中;始終將讀地址對應的雙口RAM中的數據輸出到讀數據
3、總線上。這樣就實現了先進先出的功能。 寫地址產生模塊還根據讀地址和寫地址關系產生FIFO的滿標志。當wren有效時,若寫地址+2=讀地址時,full為1;當wren無效時,若寫地址+1=讀地址時,full為1。讀地址產生模塊還根據讀地址和寫地址的差產生FIFO的空標志。當rden有效時,若寫地址-1=讀地址時,empty為1;當rden無效時,若寫地址=讀地址時,empty為1。按照以上方式產生標志信號是為了提前一個時鐘周期產生對應的標志信號。由于空標志和滿標志控制了FIFO的操作,因此標志錯誤會引起操作的錯誤。如上所述,標志的產生是通過對讀寫地址的比較產生
4、的,當讀寫時鐘完全異步時,對讀寫地址進行比較時,可能得出錯誤的結果。例如,在讀地址變化過程中,由于讀地址的各位變化并不同步,計算讀寫地址的差值,可能產生錯誤的差值,導致產生錯誤的滿標志信號。若將未滿標志置為滿標志時,可能降低了應用的性能,降低寫數據速率;而將滿置標志置為未滿時,執(zhí)行一次寫操作,則可能產生溢出錯誤,這對于實際應用來說是絕對應該避免的。空標志信號的產生也可能產生類似的錯誤。2 異步FIFO的改進設計從以上分析中可以看出,異步FIFO之所以會發(fā)生錯誤是國為在地址變化時,由于多位地址各位變化時間不同,異步時鐘對其進行采樣時數值可能為不同于地址變化喪后數值的其他值,異步產生錯誤的空標志和
5、滿標志,以致于產生FIFO的操作錯誤。格雷碼是一種在相鄰計數值之間只有一位發(fā)生變化的編碼方式。可以看出,若讀寫地址采用格雷碼編碼方式,就可以解決上面的問題。為了應用的靈活,還增加了兩個標志信號,將滿(almosf_full)標志和空(almost_empty)標志分別定義如下:當寫地址與讀地址的距離小于某個預先定義數值時,almost_full為1;當讀地址與寫地址的距離小于這個預先定義的數值時,almost_empty為1。3 異步FIFO的VHDL實現硬件描述語言VHDL(Very-high speed IC Hardware Description Language)是一種應用于電路設計
6、的高層次描述語言,具有行為級、寄存器傳輸級和門級等多層次描述,并且具有簡單、易讀、易修改和與工藝無關等優(yōu)點。目前VHDL語言已經得到多種EDA工具的支持,綜合工具得到迅速發(fā)展,VHDL語言的行為級綜合也已經得到支持和實現,因此利用VHDL語言進行電路設計可以節(jié)約開發(fā)成本和周期。首先給出格雷碼和普通自然碼之間的轉換模塊的VHDL程序。程序1:自然碼碼到格雷碼的轉換程序entity norm_to_gery isgeneric(width:integer:=8);port(din:in std_logic_vector(width-1 downto 0);dout:out std_logic_ve
7、ctor(width-1 downto 0);end norm_to_grey;architecture norm_to_grey of norm_to_grey is begindout<=din xor('0' & din(width-1 downto 1);end norm_to_grey;程序2:格雷碼到自然碼的轉換程序process(din)variable tempd:std_logic;beginfor i in width-1 downto 0 loop tempd:='0'for j in width-1 downto i loo
8、p tempd:=tempd xor din(j);end loop;dout(i)<=tempd;end loop;end process;在給出異步FIFO的VHDL程序之前,先給出一些內部信號的解釋:wadd 自然碼寫地址wadd_grey 格雷碼寫地址wr_radd_grey 寫時鐘采樣的格雷碼讀地址wr_radd 寫時鐘采樣的自然碼讀地址almost_length 產生將滿和將空標志的予定義讀寫地址差值程序3:寫地址產生模塊,此程序同時產生寫地址的自然碼和格雷碼waddp<=wadd+1;u1:norm_to_greyport map(waddp,wadd_grey_te
9、mp);wadd_process:process(clr,wr_clk)beginif clr='0'thenwadd<=(others=>'0');wadd_grey<=(others=>'0');elsif wr_clk'event and wr_clk='1'thenif wren='1'thenwadd<=waddp;wadd_grey<=wadd_grey_temp;end if;end if;end process;程序4:滿標志和滿標志產生模塊,以8位地址為
10、例。u2:grey_to_normport map(wr_radd_grey,wr_radd_temp);process(clr,wr_clkbeginif clr='0'thenwr_radd_grey<=(others=>'0');wr_radd<=(Others=>'0')elsif wr_clk'event and wr_clk='1'thenwr_radd_grey<=radd_grey;wr_radd<=wr_radd_temp;end if;end process;wr_c
11、ompare<=wadd-wr_radd;full_process:process(clr,wr_clk)beginif clr='0'thenfull<='0';elsif wr_clk'event and wr_clk='1'thenif(wren='1')thenif wr_compare="11111110"then full<='1'else full<='0'end if;elseif wr_compare="11111111
12、"then full<='1'else full<='0'end if;end if;end if;end process;almost_full_process:process(clr,wr_clk)beginif clr='0' thenalmost_full<='0'elsif wr_clk'event and wr_clk='1'thenif(wren='1')thenif wr_compare>("11111110"-almost_length)then almost_full<='1'else almost_full<='0'end if;elseif wr_compare>("11111111"-almost_length)then almost_full<='1'else almost_full<='0'end if;end if;end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目管理目標制定試題及答案
- 財務透明原則與實務運用試題及答案
- 2024年項目管理認證能力考量試題及答案
- 江津木紋鋁單板施工方案
- 項目管理科目劃分試題及答案
- 2024年項目管理研究新方向試題及答案
- 2024年項目管理博弈分析試題及答案
- 融資融券的基本知識試題及答案
- 證券從業(yè)資格證考生實習經驗試題及答案
- 2025年證券從業(yè)資格證高效學習試題及答案
- “皖南八?!?024-2025學年高一第二學期期中考試-生物(乙)及答案
- 2024年全國中學生生物學聯賽試題含答案
- 數獨題目高級50題(后附答案)
- 全媒體運營師-國家職業(yè)標準(2023年版)
- 2023年浙江高職考數學真題卷
- 深圳市失業(yè)人員停止領取失業(yè)保險待遇申請表樣表
- JIS G4305-2021 冷軋不銹鋼板材、薄板材和帶材
- 平衡計分卡及戰(zhàn)略地圖
- 附件:湖北省重點水利水電工程施工招標投標評分標準-鄂水
- 無人售貨機(自動售貨機)框架合作協議模板
- 充填灌漿試驗施工方案
評論
0/150
提交評論