




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——數字規律電路設計試驗教案數字規律電路設計試驗教案趙蕙
試驗四四位全加器
試驗要求
使用EDA設計開發工具QuartusII,以VHD語言方式設計實現組合規律電路四位全加器。
試驗原理
四位全加器可由一位全加器以串行方式連接而成,更為高效的方式是直接用VHDL語言實現。
試驗步驟
1.新建工程
參考試驗二指導,,工程名和頂層模塊名均設為fadder_4。
2.設計輸入
點擊菜單項File->new?,這次試驗我們使用VHDL描述語言方式設計電路,所以選擇新建一個“VHDLFile〞文件,點擊“OK〞按鈕,開啟代碼編輯器,將下面的代碼輸入空白編輯區,輸入完成后,保存文件,文件名與實體名一致(本例為:fadder_4.vhd)。libraryieee;useieee.std_logic_1164.all;useieee.numeric_std.all;entityfadder_4isarchitecturebehaveoffadder_4isbeginresultnew?,這次試驗我們使用狀態圖方式設計電路,所以選擇新建一個“StateMachineFile〞文件,點擊“OK〞按鈕,開啟狀態圖編輯器,使用工具欄完成狀態l圖的編輯。
下圖工具欄上的按鈕作用分別是“分開窗口切換〞、“全屏幕切換〞、“選擇〞、“放大縮小〞、“查找〞、“狀態工具〞、“條件轉換工具〞、“狀態表工具〞、“狀態機生成向導〞、“插入輸入端口〞、“插入輸出端口〞、“條件轉換等式顯示〞、“生成HDL文件工具〞、“橡皮筋工具〞。
完成后的序列檢測狀態圖如下,保存文件,本例為sequencer.smf。。
狀態圖完成后,使用“生成HDL文件工具〞
將狀態圖轉換成HDL代碼,在彈出的對話
框中可以選擇生成VerilogHDL、VHDL或SystemVerilog,本例選擇生成VHDL代碼,一個sequencer.vhd文件會自動生成并保存在你的工程文件夾里。
第23頁共37頁
數字規律電路設計試驗教案_指導教師趙蕙
3.規律綜合
參考試驗二指導。
4.功能仿真
參考試驗二指導,創立仿真波形文件,根據生成的仿真波形圖,分析結果是否正確。
5.布局布線
用一個開關K1(引腳號:A12)作為序列檢測器的switch輸入,用一個發光管D1(引腳號:A0)作為序列檢測器的輸出lamp,時鐘信號可以使用開發平臺的可調數字時鐘模塊CLK(引腳號:J4),但是由于試驗平臺上沒有單拍時鐘,所以本例把時鐘信號到開關K2(引腳號:B12),通過撥動開關K2從0->1->0的變化,來模擬時鐘。
詳細引腳對應關系見附錄。使用菜單項Assignment->Pins進行引腳分派,完成后點擊對設計進行全編譯。
按鈕,
6.編程
參考試驗二指導。
7.驗證
試驗報告要求
1.有限狀態機分為Moore狀態機和Mealy狀態機,簡述兩者的特點,分析本例的序列檢測器狀
態機應當屬于哪一種?
2.設計一個1010序列檢測器,畫出狀態圖。
第24頁共37頁
數字規律電路設計試驗教案趙蕙
試驗六計數器和分頻器
試驗要求
層次化設計方法,使用VHDL方式設計實現10進制加法計數器。要求計數器以1秒鐘的頻率計數,具有同步計數,異步清零,同步預置數功能,要求計數值同時在八個數碼管上顯示。主時鐘選擇1KHz的頻率,同時作為數碼管動態掃描時鐘,1KHz主時鐘分頻后作為10進制加法器的計數時鐘。
試驗原理
計數器是最常見的時序規律電路,從微處理器的地址發生器到頻率計都需要用到計數器。分頻器與計數器十分類似,時序電路設計中需要各種各樣的分頻器來獲得不同頻率的時鐘,其中以整數分頻器最為常見,整數分頻可以簡單地使用模n計數器實現,即隨驅動時鐘跳動n次后就輸出一個進位脈沖,然后馬上被清零或置位,再開始新一輪循環的計數器。
試驗步驟
1.新建工程
參考試驗二指導,工程名和頂層模塊名均設為counter_TOP。
2.設計輸入
1)計數器
點擊菜單項File->new?,新建一個“VHDLFile〞文件,點擊“OK〞按鈕,開啟代碼編輯器,將下面的代碼輸入空白編輯區,輸入完成后,保存文件,文件名與實體名一致(本例為:counter.vhd)。計數器模塊采用參數化設計,從MIN_COUNT開始加1計數,計到MAX_COUNT后,重新回到MIN_COUNT開始計數。使用參數化設計的最大特點在于它可以被便利地修改,所以常用來建模一些需要調整的數據,以便在實例化模塊時根據需要進行配置。
libraryieee;useieee.std_logic_1164.all;useieee.numeric_std.all;entitycounterisgeneric(MIN_COUNT:natural:=0;MAX_COUNT:natural:=9);port(clk:instd_logic;reset:instd_logic;load:instd_logic;enable:instd_logic;d:inintegerrangeMIN_COUNTtoMAX_COUNT;q:outintegerrangeMIN_COUNTtoMAX_COUNTendentity;);第25頁共37頁
數字規律電路設計試驗教案趙蕙
試驗一半加器和全加器I
試驗平臺試驗要求
使用TTL小規模集成電路芯片74LS00搭建半加器電路和全加器電路,電路的輸入接試驗平臺開關,電路輸出接試驗平臺的發光管。希望同學們能夠通過試驗把握使用基本門電路設計實現數字電路的方法。
試驗原理
在數字電路中,門電路就是用來實現基本規律關系的電路,譬如這個試驗中的半加器和全加器。最基本的門電路是與門、或門和非門,由這些門可以組合成其它的規律電路。門電路最初由分立元件組成,集成電路出現后,我們現在使用的門電路都是集成門電路。
半加器:完成兩個一位二進制數的相加而求得“和〞及“進位〞。
全加器:當多位二進制數相加時,高位的相加運算除了要將本位的加數和被加數相加以外,還要考慮低位是否有向該位的進位。全加器完成將兩個一位的二進制數相加,并考慮低位來的進位,相當于三個一位二進制數相加的電路。
試驗步驟
1.設計
根據半加器和全加器列出真值表,寫出輸出函數,由于試驗要求使用“與非門〞實現,將輸出函數轉換為“與非門〞形式,畫出訪用與非門實現半加器和全加器的電路圖。
useieee.std_logic_1164.all;entityDecode4_7isport(switch:instd_logic_vector(3downto0);--四位輸入信號ledag:outstd_logic_vector(6downto0);--8個數碼管的7段輸出sel:outstd_logic_vector(2downto0)--8個數碼管的位選輸出);endDecode4_7;architecturebehaveofDecode4_7isbeginselSetasTop-LevelEntitey可以將當前正開啟的文件設置為頂層文件;方法二:使用菜單項Assignmengs->Settings…,在開啟的設置對話框中,選擇左邊最上面的“General〞,在右邊的Top-Levelentity編輯框中選擇設計頂層。
4.布局布線
參考附錄FPGA引腳對應關系,自己完成引腳的選擇和約束。
5.編程6.驗證
附:VHDL知識點
4.元件(模塊)聲明
結構化模型中所使用的元件事先已經定義過,在使用之前必需首先聲明。元件聲明格式如下:COMPONENT元件名;PORT(信號列表);ENDCOMPONENT5.元件例化元件例化語句是要對所適用的元件與當前設計實體中其他組件及端口信號的連接方法加以說明,元件例化的格式如下:元件實例:元件名genericmap(參數)portmap(端口信號1=>信號名1,??)這里使用的端口信號就是實體中port部分使用的端口名,而信號名則是加到當前元件的實際信號的名稱。通過端口信號映像portmap,指明白元件和外部端口信號、元件和元件中間的連接。
第30頁共37頁
數字規律電路設計試驗教案趙蕙
試驗七數字鐘
試驗要求
使用VHDL語言,利用層次化設計方法,設計實現具有時、分、秒計時的簡易數字鐘。
試驗原理
分計時和秒計時可以設計60進制計數器實現,小時計時可以設計24進制計數器實現。秒計時器從0開始計數滿59時,回零,此時分計時器計數一次;分計時計數器從0開始計數滿59時,回零,此時小時計數器計數一次,從0計到23時,回零。將秒、分、時計數器的計數值,在數碼管上顯示出來。
試驗步驟
1.新建工程2.設計輸入
1)參數化方法設計任意進制計數器
參考試驗六計數器修改設計,在計數到最大值時輸出計數滿標志。2)數碼管動態掃描電路參考試驗六。3)頂層模塊
計數器模塊實例化6次,每次參數不同,實例成3個10進制計數器(時鐘計數個位,分鐘計數個位,秒鐘計數個位),1個二進制計數器(時鐘計數十位),2個6進制計數器(秒鐘計數十位,分鐘計數十位)。
秒鐘個位計數器計滿標志作為秒計十位計數器的計數使能(enable),秒鐘十位計數器計滿標志作為分鐘個位計數器的計數使能(enable),分鐘個位計數器計滿標志作為分鐘十位計數器的計數使能,分鐘十位計數器計滿標志作為時鐘個位計數器的計數使能,時鐘個位計數器的計滿標志作為時鐘十位計數器的計數使能。
01libraryieee;02useieee.std_logic_1164.all;--該程序包中定義了轉換函數conv_std_loigc_vector(A,位長)03useieee.std_logic_ARITH.all;04entitycounter_TOPis05generic06(MIN_COUNT:natural:=0;MAX_COUNT:natural:=9;07DATAWIDTH:natural:=408);09port10(11clk:instd_logic;12reset:instd_logic;13loadHOUR:instd_logic;第31頁共37頁
數字規律電路設計試驗教案_指導教師趙蕙
14loadMIN:instd_logic;15loadSEC:instd_logic;16enable:instd_logic;17d:inintegerrangeMIN_COUNTtoMAX_COUNT;18ledag:outstd_logic_vector(7downto0);19sel:outstd_logic_vector(2downto0)20);21endentity;22architecturebehaveofcounter_TOPis23componentcounter24generic25(MIN_COUNT:natural:=0;26MAX_COUNT:natural:=927);28port29(clk:instd_logic;30reset:instd_logic;31load:instd_logic;32enable:instd_logic;33carry_out:outstd_logic;34d:inintegerrangeMIN_COUNTtoMAX_COUNT;35q:outintegerrangeMIN_COUNTtoMAX_COUNT36);37endcomponent;38componentdivider39PORT40(41clock:INSTD_LOGIC;42cout:OUTSTD_LOGIC;43q:OUTSTD_LOGIC_VECTOR(9DOWNTO0)44);45endcomponent;46componentDynamic_Scan47port(clk:instd_logic;48HOUR10:instd_logic_vector(3downto0);49HOUR1:instd_logic_vector(3downto0);50MIN10:instd_logic_vector(3downto0);51MIN1:instd_logic_vector(3downto0);52SEC10:instd_logic_vector(3downto0);53SEC1:instd_logic_vector(3downto0);54ledag:outstd_logic_vector(7downto0);55sel:outstd_logic_vector(2downto0)56);57endcomponent;第32頁共37頁
數字規律電路設計試驗教案趙蕙
58signalclk_sig:std_logic;59signalcarry_hour,carry_min,carry_sec:std_logic;60signalHOUR:integerrange0to23;61signalMIN:integerrange0to59;62signalSEC:integerrange0to59;6364signalHOUR10:std_logic_vector(DATAWIDTH-1downto0);65signalHOUR1:std_logic_vector(DATAWIDTH-1downto0);66signalMIN10:std_logic_vector(DATAWIDTH-1downto0);67signalMIN1:std_logic_vector(DATAWIDTH-1downto0);68signalSEC10:std_logic_vector(DATAWIDTH-1downto0);69signalSEC1:std_logic_vector(DATAWIDTH-1downto0);7071begin72divider_inst:dividerPORTMAP(clk,clk_sig);7374counter_HOUR:countergenericmap(0,23)portmap(clk_sig,reset,loadHOUR,carry_min,carry_hour,d,HOUR);75counter_MIN:countergenericmap(0,59)portmap(clk_sig,reset,loadMIN,carry_sec,carry_min,d,MIN);76counter_SEC:countergenericmap(0,59)portmap(clk_sig,reset,loadSEC,enable,carry_sec,d,SEC);7778HOUR10null;60endcase;61endprocess;6263endbehave;3.規律綜合4.布局布線
參考附錄中FPGA管腳對應關系,根據自己的設計需要,為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省2024年高考語文模擬試卷及答案2
- 2025年運城市稅務系統遴選面試真題附詳細解析含答案
- 泌尿系結石的中醫診療方案(診療標準)
- 某醫院醫療物資采購及設備管理制度 (一)
- 六年級心理健康教案課件
- 老年護理培訓課件大全
- 老年康復護理風險課件
- 老師用的課件app
- 2025年安全產品行業分析報告及未來五至十年行業發展報告
- 財務會計崗位勞動合同書(含合規風險管理)
- 熱射病的護理
- 2025年保安人員職業資格考試試題及答案
- 2025年軍事理論課程考試試卷及答案
- 2025高考化學復習新題速遞之有機合成(解答大題)(2025年4月)
- 終身質保協議書范本
- 中國2型糖尿病防治指南(2024版)解讀課件
- 小學語文課本劇創作計劃2025
- 高中音樂課程綱要
- 2024年三副貨物積載與系固題庫
- 輸血相關法律法規及流程
- 2025年艾滋病知識講座
評論
0/150
提交評論