




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學Matlab應用專項實踐課程設計說明書課程設計任務書學生姓名: 專業班級: 指導教師: 工作單位: 信息工程學院 題 目: 89先進先出(FIFO)緩沖器 一、 設計目的根據設計要求,完成對89先進先出(FIFO)緩沖器的設計。進一步加強對Quartus的應用和對VHDL語言的使用。二、設計內容和要求 設計一個89先進先出(FIFO)緩沖器,9位字深,8位字寬;當讀信號ready有效時,FIFO的輸出data_out使能;當ready無效時,FIFO的輸出處于高阻態;當寫信號write有效時,8位寬的寄存器進行寫操作,信號rdinc和wrinc被用來作為寄存器讀和寫指針遞增,以指示
2、該位寄存器的讀和寫。信號rdptclr和wrptclr復位讀寫指針指向FIFO的第一個寄存器。data_in是將被載入到一個寄存器的數據。掌握Quartus的操作和使用方法。利用Quartus軟件對所設計的電路進行仿真分析。 三、初始條件CPLD,按鍵,時鐘信號,撥碼開關等。四、時間安排1、2016年01月11日,課程設計任務布置、選題、查閱資料。2、2016年01月13日,設計,軟件編程、仿真和調試。3、2016年01月16日至2015年01月21日, 設計的硬件調試。4、2016年01月22日,機房檢查設計成果,提交設計說明書及答辯。指導教師簽名: 2016年 01 月 22日系主任(或負
3、責教師)簽名: 2016年 01 月 22日武漢理工大學電子線路EDA課程設計說明書目錄摘要I緒 論11.設計的內容及要求11.1設計的目的11.2設計任務要求12.FIFO5 2.1 FIFO的使用5 2.2 FIFO的參數5 2.3 FIFO的分類及設計63.先進先出緩存器設計7 3.1 設計思想7 3.2 各部分模塊7 3.2.1 先入先出緩存器7 3.2.2 消抖電路8 3.2.3 分頻電路9 3.2.4 頂層原理圖94.仿真及硬件調試10 4.1 緩沖器仿真10 4.2 緩存器硬件測試105.心得體會115.參考文獻12附錄13摘要本文介紹了先進先出(FIFO)緩存器的設計方法,主要
4、闡述如何使用新興的EDA器件取代傳統的電子設計方法。利用FPGA的可編程性,擁有簡潔而又多變的設計方法。本設計實現了先進先出緩存器的一些基本功能,也把一些新的思路加入到設計中。主要包括采用了FPGA芯片,使用Quartus中的VHDL語言進行編程。VHDL是一個標準語言,其具有良好的移植性,值得本設計更為靈活,從而更有利于產品升級。關鍵詞:VHDL;FIFO;緩存器;Quartus; II緒 論當前電子系統的設計正朝著速度快,容量大,體積小,質量輕,用電省的方向發展。推動該潮流迅速發展的決定性因素就是使用了現代化的EDA設計工具。EDA是電子設計自動化(Electronic Design Au
5、tomation)的縮寫,是90年代初,從CAD(計算機輔助沒計)、CAM(算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發展而來的。EDA技術就是以計算機為工具,在EDA軟件平臺上,對以硬件描述語言HDL為系統邏輯描述手段完成的設計文件自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優化、邏輯行局布線、邏輯仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作1。設計者的工作僅限于利用軟件的方式,即利用硬件描述語言來完成對系統硬件功能的描述,在EDA工具的幫助下就可以得到最后的設計結果。盡管目標系統是硬件,但整個設計和修改過程如同完成軟件設計一樣方便和高效
6、。高速發展的CPLD/FPGA器件又為EDA技術的不斷進步奠定可堅實的物質基礎。CPLD/FPGA器件更廣泛的應用及廠商間的競爭,使得普通的設計人員獲得廉價的器件和EDA軟件成為可能。VHDL是一種全方位的硬件描述語言,包括系統行為級、寄存器傳輸級和邏輯門級多個設計層次,支持結構、數據流和行為3種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂向下或自底向上的電路設計過程都可以用VHDL來完成。另外,VHDL還有以下優點:VHDL的寬范圍描述能力使它成為高層次設計的核心,將設計人員的工作重心轉移到了系統功能的實現和調試上,只需要花較少的精力用于物理實現;VHDL可
7、以用簡潔明確的代碼描述來進行復雜控制邏輯的設計,靈活且方便,而且也便于設計結果的交流、保存和重用;VHDL的設計不依賴于特定的器件,方便了工藝的轉換。1.設計的內容及要求1.1設計的目的根據設計要求,完成對89先進先出(FIFO)緩沖器的設計。進一步加強對Quartus的應用和對VHDL語言的使用。1.2設計任務要求 1設計一個89先進先出(FIFO)緩沖器,9位字深,8位字寬;當讀信號ready有效時,FIFO的輸出data_out使能;當ready無效時,FIFO的輸出處于高阻態;當寫信號write有效時,8位寬的寄存器進行寫操作,信號rdinc和wrinc被用來作為寄存器讀和寫指針遞增,
8、以指示該位寄存器的讀和寫。信號rdptclr和wrptclr復位讀寫指針指向FIFO的第一個寄存器。data_in是將被載入到一個寄存器的數。2. 掌握Quartus的操作和使用方法。3利用Quartus軟件對所設計的電路進行仿真分析。 2.FIFOFIFO( First In First Out)簡單說就是指先進先出。由于微電子技術的飛速發展,新一代FIFO芯片容量越來越大,體積越來越小,價格越來越便宜。作為一種新型大規模集成電路,FIFO芯片以其靈活、方便、高效的特性,逐漸在高速數據采集、高速數據處理、高速數據傳輸以及多機處理系統中得到越來越廣泛的應用。2.1 FIFO的使用FIFO一般用
9、于不同時鐘域之間的數據傳輸,比如FIFO的一端時AD數據采集,另一端時計算機的PCI總線,假設其AD采集的速率為16位100K SPS,那么每秒的數據量為100K16bit=1.6Mbps,而PCI總線的速度為33MHz,總線寬度32bit,其最大傳輸速率為1056Mbps,在兩個不同的時鐘域間就可以采用FIFO來作為數據緩沖。另外對于不同寬度的數據接口也可以用FIFO,例如單片機位8位數據輸出,而DSP可能是16位數據輸入,在單片機與DSP連接時就可以使用FIFO來達到數據匹配的目的。2.2 FIFO的參數FIFO的寬度:也就是英文資料里??吹降腡HE WIDTH,它只的是FIFO一次讀寫操
10、作的數據位,就像MCU有8位和16位,ARM 32位等等,FIFO的寬度在單片成品IC中是固定的,也有可選擇的,如果用FPGA自己實現一個FIFO,其數據位,也就是寬度是可以自己定義的。FIFO的深度:THE DEEPTH,它指的是FIFO可以存儲多少個N位的數據(如果寬度為N)。如一個8位的FIFO,若深度為8,它可以存儲8個8位的數據,深度為12 ,就可以存儲12個8位的數據,FIFO的深度可大可小。一般來說根據電路的具體情況,在兼顧系統性能和FIFO成本的情況下估算一個大概的寬度和深度就可以了。而對于寫速度慢于讀速度的應用,FIFO的深度要根據讀出的數據結構和讀出數據的由那些具體的要求來
11、確定。在FIFO實際工作中,其數據的滿/空標志可以控制數據的繼續寫入或讀出。滿標志:FIFO已滿或將要滿時由FIFO的狀態電路送出的一個信號,以阻止FIFO的寫操作繼續向FIFO中寫數據而造成溢出(overflow)??諛酥荆篎IFO已空或將要空時由FIFO的狀態電路送出的一個信號,以阻止FIFO的讀操作繼續從FIFO中讀出數據而造成無效數據的讀出(underflow)。讀時鐘:讀操作所遵循的時鐘,在每個時鐘沿來臨時讀數據。寫時鐘:寫操作所遵循的時鐘,在每個時鐘沿來臨時寫數據。讀指針:指向下一個讀出地址。讀完后自動加1。寫指針:指向下一個要寫入的地址的,寫完自動加1。讀寫指針其實就是讀寫的地址
12、,只不過這個地址不能任意選擇,而是連續的。2.3 FIFO的分類及設計根均FIFO工作的時鐘域,可以將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時鐘和寫時鐘為同一個時鐘。在時鐘沿來臨時同時發生讀寫操作。異步FIFO是指讀寫時鐘不一致,讀寫時鐘是互相獨立的。其連接模式如圖2.1FIFO設計的難點在于怎樣判斷FIFO的空/滿狀態。為了保證數據正確的寫入或讀出,而不發生益處或讀空的狀態出現,必須保證FIFO在滿的情況下,不能進行寫操作。在空的狀態下不能進行讀操作。怎樣判斷FIFO的滿/空就成了FIFO設計的核心問題。一般是異步FIFO有空/滿標志所產生問題,但是在本次設計中暫不討論這
13、個問題。圖2.1 FIFO連接模式3 先進先出緩存器設計先進先出法是指根據先入庫先發出的原則,對于輸出的數據以先輸入存儲器的數據為依據。3.1 設計思想 在緩沖器內部定義一個89的存儲空間用于暫存數據。初始狀態讀寫指針都指向0號數寄存器(共8個)。當輸入通道打開時,每來一個脈沖(由外部按鍵提供),向緩沖期內輸入一個9位的數,與此同時內部寄存器讀指針加1,準備接受下一個需要暫存的數,下一個脈沖到來,再存一個數,讀指針再加1當輸出通道打開時,每來一個脈沖輸出一個9位數,寫指針加1,準備輸出下一個9位數,同理進行下一個數的輸出由于輸入/輸出數據是按需進行的,故設計脈沖由按鍵提供,為更好的進行控制,加
14、一個消抖電路使其每按一次內部計數確定加1。3.2 各部分模塊 本設計共由三個部分組成:先入先出緩存器、消抖模塊、分頻器。3.2.1 先入先出緩存器這是整個設計的核心模塊,其輸入輸出端口設置如下:ready:控制輸出通道,當其為1時,輸出通道打開,可以進行讀操作。writey:控制輸入通道,當其為1時,輸入通道打開,可以進行寫操作。rdptclr,wrptclr:緩沖器內部讀寫指針,用于規范內部寄存器(編號07)的使用,兩指針初始狀態都指向0寄存器。當寫入第一個數據時,數據存入0寄存器,同時寫指針加1,指向下一個寄存器,準備接受下一個將被寫入的數據。在需要讀出數據時,打開輸出通道,同時由脈沖控制
15、輸出數據,每輸出一個數據,讀指針加1,準備輸出下一個數據,同時輸出數據以輸入數據的個數為頂限。clk:脈沖控制輸入,控制數據的寫入和讀出。data_in:放置將被輸入的數據。data_out:用于輸出數據的通道。readit:控制讀取輸入數據。編寫的程序見附錄。生成元件后如圖3.1所示: 圖3.1 FIFO元件圖3.2.2 消抖電路本設計用外部按鍵產生脈沖來控制輸入輸出數據的個數,每一個脈沖對應一個數據,同時對應內部寄存器的移位。為了保證數據輸入順序與數據輸出順序完全相同,要保證每按鍵一次只產生一個脈沖。通常的按鍵在閉合及斷開的瞬間均伴隨有一連串的抖動。抖動時間的長短由按鍵的機械特性決定,一般
16、為5ms10ms。為確保電路對按鍵的一次閉合僅作一次處理,必須去除按鍵抖動。軟件消抖的方法為:在檢測出鍵閉合保持后執行一個延時程序,產生5ms10ms的延時,讓前延抖動消失后再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認真正有鍵按下。當檢測到按鍵釋放后,也要給5ms10ms的延時,待后沿抖動消失才能轉入該鍵的處理程序。本課題中用2個D觸發器和一個2輸入與門聯合實現。用程序分別編寫D觸發器和2輸入與門,生成元件,供最后頂層原理圖使用。D觸發器的程序見附錄,消抖模塊的電路如圖3.2所示:圖3.2 消抖模塊原理圖3.2.3 分頻電路為了配合消抖電路,取延時為5ms,即使得采樣頻率為5ms,由此根
17、據f=1/T,算得脈沖頻率為200Hz,而實驗箱上提供的是20M的時鐘頻率,故要對時鐘進行分頻。程序中用內部計數器計算到來的脈沖數,脈沖數小于50000時輸出為0,否則輸出為1,同時計到100000時計數器清零。同理,將分頻器生成元件,供頂層原理圖使用。生成元件如圖3.3所示:圖3.3 分頻器元件圖3.2.4 頂層原理圖以上所描述模塊的程序編寫均在同一工程下,由程序生成的元件也在該工程下。用前面所介紹的方法,在該工程下再建一原理圖作為頂層,將所需的元件按照要求進行連線,加入輸入輸出處端口并改名。保存原理圖,并將原理圖置為頂層文件。本設計的整體原理圖如圖3.4所示: 圖3.4 整體原理圖4 仿真
18、及硬件調試4.1 緩沖器仿真用前面所描述的方法進入仿真界面,得到某個激勵條件下的仿真圖如圖4.1: 圖4.1 仿真圖4.2 緩存器硬件測試 按照軟件用法中的步驟將程序導入實驗箱上,接通電源,用按鍵來控制它的脈沖輸入,用撥碼開關來控制它的輸入序列,用發光二極管作為它的輸出,以觀察燈的的變化來觀察FIFO的輸出。在調試過程中出現了部分問題,由于輸入的管腳比較多,也用了很多撥碼開關,在設置時,要小心區分。5 心得體會通過這次的課設,我認識到了Quartus軟件的功能非常強大,對于很多關于數電方面的元器件都可以用它來實現,這使得我們在使用的時候非常方便及多變。我也熟悉了Quartus的工作環境,可以很
19、熟練的對Quartus進行常規的操作,快速進行程序編輯和仿真。本文次課設利用Quartus設計FIFO先進先出緩存器,方法簡單、快捷。在本次的課程設計中,由于沒有完全讀懂課設要求,導致設計出來的FIFO的功能沒有完全達到要求,使我對自己的學習態度有了反思。讀課設要求,寫程序,直到完成硬件調試都需要認真對待,每一步都不能放松,否則都可能導致整個設計失敗。參 考 文 獻1 張亦華,延明,肖冰.數字邏輯設計實驗技術與EDA工具.北京:北京郵電大學出版社,20032 陳小毛,胡機秀新編數字電路與EDA技術北京:國防工業出版社,20083 夏路易.基于EDA的電子技術課程設計北京:電子工業出版社,200
20、94 宋嘉玉,孫麗霞EDA實用技術北京:人民郵電出版社,2006. 5 齊洪喜,陸穎VHDL電路設計實用技術北京:清華大學出版社,2004.附 錄FIFIO的程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity keshe isport( clk,ready,writey,readit,rdptclr,wrptclr: in std_logic; data_out:out std_logic_vector(8 downto 0); data_in: in std_logic_vecto
21、r(8 downto 0);end;architecture arh of keshe is component nclk port( clk: in std_logic; clk1: buffer std_logic);end component;component anjian port( clk: in std_logic; d: in std_logic_vector(0 to 4); q: out std_logic_vector(0 to 4);end component;component cpu port( q:std_logic_vector(0 to 4); data_ou
22、t:out std_logic_vector(8 downto 0); data_in: in std_logic_vector(8 downto 0);end component;signal q1:std_logic_vector(0 to 4);signal c1:std_logic;begina1:nclk port map(clk=clk,clk1=c1);a2:anjian port map(clk=c1,d(0)=ready,d(1)=writey,d(2)=rdptclr,d(3)=wrptclr,d(4)=readit,q=q1);a3:cpu port map(q=q1,d
23、ata_out=data_out,data_in=data_in);end; cpu程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cpu isport( q:std_logic_vector(0 to 4); data_out:out std_logic_vector(8 downto 0); data_in: in std_logic_vector(8 downto 0) );end;architecture arh of cpu is signal rdinc:integ
24、er range 0 to 7; signal wrinc:integer range 0 to 7; signal data0,data1,data2,data3,data4,data5,data6,data7:std_logic_vector(8 downto 0);beginp1:process(q)beginif q(2)=1 then rdinc data_out data_out data_out data_out data_out data_out data_out data_out=data7;end case;rdinc=rdinc+1;end if;elsif q(0)=0 thendata_out=ZZZZZZZZZ;end if;end process;p2:process(q)beginif q(3)=1 then wrinc data0 data1 data2 data3 data4 data5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教版小升初數學專項訓練-雞兔同籠(含答案)
- 精彩視頻分享廣告設計師試題及答案
- 2024紡織品設計師證書考試重要試題及答案
- 生理學解剖試題及答案
- 冰雕設計考試題及答案
- 保密在線考試題庫及答案
- .net專業面試題目及答案
- 市場競爭下的紡織研發戰略試題及答案
- 開發潛能的廣告設計師考試試題及答案
- 新聞夜航考試題及答案
- 韋氏測試題及答案
- 歷年貴州特崗試題及答案
- 2025怎樣正確理解全過程人民民主的歷史邏輯、實踐邏輯與理論邏輯?(答案3份)
- 國家開放大學《工具書與文獻檢索》形考任務1-4參考答案及作業1
- GB/T 45501-2025工業機器人三維視覺引導系統通用技術要求
- 淺談南京市區地形地貌和工程地質層構成
- 北師大版四年級數學下冊第五單元 認識方程標準檢測卷(含答案)
- 人工智能在環保領域的應用及挑戰
- 2025年陜西省初中學業水平考試英語 例析與指導 試卷示例題答案及聽力材料
- 泉州地理會考題目及答案
- 2025年工會知識競賽題庫200題及答案(完整版)
評論
0/150
提交評論