基于FPGA十進(jìn)制同步計(jì)數(shù)器_第1頁(yè)
基于FPGA十進(jìn)制同步計(jì)數(shù)器_第2頁(yè)
基于FPGA十進(jìn)制同步計(jì)數(shù)器_第3頁(yè)
基于FPGA十進(jìn)制同步計(jì)數(shù)器_第4頁(yè)
基于FPGA十進(jìn)制同步計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、十進(jìn)制同步計(jì)數(shù)器實(shí)驗(yàn)?zāi)康?. 學(xué)習(xí)十進(jìn)制同步計(jì)數(shù)器的 Verilog 硬件設(shè)計(jì)2. 學(xué)會(huì)并掌握 Quartus II 軟件的使用3. 學(xué)會(huì)并掌握 modelsim 仿真軟件的使用二、實(shí)驗(yàn)原理進(jìn)制計(jì)數(shù)器具有電路結(jié)構(gòu)簡(jiǎn)單、 運(yùn)算方便等特點(diǎn), 但是日常生活中我們所接 觸的大部分都是十進(jìn)制數(shù), 特別是當(dāng)二進(jìn)制數(shù)的位數(shù)較多時(shí), 閱讀非常困難, 還 有必要討論十進(jìn)制計(jì)數(shù)器。 在十進(jìn)制計(jì)數(shù)體制中, 每位數(shù)都可能是 0,1,2, 9 十個(gè)數(shù)碼中的任意一個(gè),且“逢十進(jìn)一” 。 根據(jù)計(jì)數(shù)器的構(gòu)成原理,必須由四 個(gè)觸發(fā)器的狀態(tài)來(lái)表示一位十進(jìn)制數(shù)的四位二進(jìn)制編碼。第 2 個(gè)計(jì)數(shù)脈沖來(lái)到后,其狀態(tài)為 0010。以下類推

2、,可以得到如表 1 所示 的狀態(tài)表。但需注意:在第 9 個(gè)脈沖來(lái)到后,亦即計(jì)數(shù)器處于 1001 態(tài)時(shí),低電 平封住了 F2的置 1端,Q1的高電平又使 K41,故第十個(gè)計(jì)數(shù)脈沖來(lái)到后, F2、 F3狀態(tài)不變, F1、F4同時(shí)置 0,計(jì)數(shù)器跳過(guò)多余的 6個(gè)狀態(tài),完成一次十進(jìn)制 計(jì)數(shù)循環(huán)。計(jì)數(shù) NQ4 Q3 Q2 Q1十進(jìn)制00 0 0 0010 0 0 1120 0 1 0230 0 1 1340 1 0 0450 1 0 1560 1 1 0670 1 1 1781 0 0 0891 0 0 19101 0 1 0111 0 1 1121 1 0 0131 1 0 1表 1 同步十進(jìn)制加法計(jì)數(shù)

3、器狀態(tài)表為了滿足十進(jìn)制加法計(jì)數(shù)器的原理,本實(shí)驗(yàn)用 Verilog 程序在 FPGA/CPLD 中來(lái)實(shí)現(xiàn)。首先設(shè)計(jì)一個(gè)程序,程序?yàn)槊}沖輸入,設(shè)輸出的四位碼為 q3:0 , 十進(jìn)制計(jì)數(shù)值為 count, 脈沖上升沿時(shí) q 值+1,直到 q=9 時(shí) count=1 ,q 置零重新 開始計(jì)數(shù)直至下一個(gè) q=9,count=2 ,依次循環(huán)。三、實(shí)驗(yàn)任務(wù)1. 根據(jù)實(shí)驗(yàn)?zāi)康木帉?verilog 程序2. 將設(shè)計(jì)好的 Verilog 譯碼器程序在 Quartus II 上進(jìn)行編譯3. 對(duì)程序進(jìn)行適配、仿真,給出其所有信號(hào)的時(shí)序仿真波形圖(注意仿真波形 輸入激勵(lì)信號(hào)的設(shè)置) 。本實(shí)驗(yàn)要求自己設(shè)置 clr 值,理

4、解清零的意義四、實(shí)驗(yàn)步驟:1. 建立工作庫(kù)文件和編輯設(shè)計(jì)文文件任何一項(xiàng)設(shè)計(jì)都是一項(xiàng) Project (工程),而把一個(gè)工程下的所有文件放在 一個(gè)文件夾是一個(gè)非常好的習(xí)慣, 以便于我們整理, 利用和提取不同工程下的文 件,而此文件夾將被 EDA軟件默認(rèn)為 Work Library (工作庫(kù)),所以第一步先根 據(jù)自己的習(xí)慣,建立個(gè)新的文件夾。(1)新建文件夾:在 E 盤建立并保存工程,文件夾取名 myproject, 工程取 名為 cnt10_1( 2 )輸入源程序:打開 Quartus II ,選擇菜單 File-New-Design Files-VerilogHDL File-OK(如下圖所示

5、 )代碼如下: modulet10_1(clr, clk, q, cout); input clr, clk;output3:0 q;output cout;reg3:0 q;reg cout;always (posedge clk)beginif (clr)q = 0;else beginif (q = 9) q = 0; else q = q + 1;if (q = 0)cout = 1;else cout = 0;endendendmodule(3)保存文件:完成一步就保存一步是一個(gè)好習(xí)慣,這樣即使出現(xiàn)意外情 況,也不至于以前的努力付諸東流。選擇 File-Save as, 選擇保存路徑

6、,即剛 才新建的文件夾 myproject , 文件名應(yīng)與實(shí)體名保持一致, 即 cnt10_1 ,點(diǎn)擊保存 后會(huì)跳出“ Do you want to create a new project with this file? ”選擇“是”, 則進(jìn)入如下界面點(diǎn)擊 Next,進(jìn)入“工程設(shè)置 ”對(duì)話框,如圖所示第一行表示工程所在的文件夾, 第二行為工程名, 可以與頂層文件的實(shí)體名 保持一致,也可以另取別的名字,第三行為當(dāng)前工程頂層文件的實(shí)體名。點(diǎn)擊 next ,進(jìn)入 ADDF ILE 對(duì)話框,如圖所示,單擊 Add All 按鈕,將工程相關(guān)的所有 VHDL文件加進(jìn)工程,也可以單擊“ Add . ”選擇

7、性加入,按此 步驟建立工程,工程已經(jīng)自動(dòng)將所有文件加進(jìn)去了,可以直接點(diǎn)擊 next ,當(dāng)先 直接建立工程時(shí),需要自己添加。(4)選擇目標(biāo)芯片:我們選用的是 CycloneIII 系列的 EP3C55F484C,8 在 Family 欄選擇芯片系列 CycloneIII ,在窗口右邊的三個(gè)下拉列表框選擇過(guò) 濾條件,分別選擇 Package為 FBGA、 Pin count 為 484和 Speed grade 為 8,點(diǎn) 擊 Next ,如圖所示(5)工具設(shè)置:進(jìn)入 EDA工具設(shè)置窗口,有三個(gè)選項(xiàng),分別是選擇輸入的 HDL類型和綜合工具、選擇仿真工具、選擇時(shí)序分析工具,這是除 Quartus I

8、I 自含的所有設(shè)計(jì)工具以外的外加的工具,如果不作選擇的,表示僅選擇 Quartus II 自含的所有設(shè)計(jì)工具,本次不需要其他的設(shè)計(jì)工具,可以直接點(diǎn)擊 Next6)結(jié)束設(shè)置: 進(jìn)入“工程設(shè)置統(tǒng)計(jì)”窗口, 列出了與此工程相關(guān)的設(shè)置情況,設(shè)置完成,點(diǎn)擊 FinishStart Compilation 命令,2. 編譯 配置好后就可以進(jìn)行編譯了,點(diǎn)擊 Processing 啟動(dòng)全程編譯編譯成功后的界面如圖所示3. 時(shí)序仿真( 1 ) 打 開 波 形 編 輯 器 : File-New-Verification/Debugging Files-Vector Waveform-OK, 即出現(xiàn)空白的波形編輯器

9、,如圖所示(2)設(shè)置仿真時(shí)間區(qū)域:Edit-End Time 在 Time 欄中輸入 50,單位選擇us,”點(diǎn)擊確定并保存波形文件(3)將工程 cnt10_1 的端口信號(hào)名選入波形編輯器中: View-Utility windows-Node Finder, 在 Filter 框中選 Pins :all (通常是默認(rèn)選項(xiàng)) ,然后 點(diǎn)擊 List ,則顯示出了所有引腳,如圖所示將重要的端口名拖進(jìn)波形編輯器后關(guān)閉窗口(4)編輯輸入波形:首先進(jìn)行總線數(shù)據(jù)格式設(shè)置和參數(shù)設(shè)置:點(diǎn)擊信號(hào)左 邊的+號(hào),能展開此總線中的所有信號(hào); 如果雙擊此 +號(hào)左邊的信號(hào)標(biāo)記, 將彈出 對(duì)該信號(hào)數(shù)據(jù)格式設(shè)置的 Node

10、Properties 對(duì)話框, 在該對(duì)話框的 Radix 下拉列表中有四種選擇,這里可選擇二進(jìn)制Binary 表達(dá)方式。其次輸入波形數(shù)據(jù):用鼠標(biāo)在圖所示信號(hào)名的某一數(shù)據(jù)區(qū)拖拉出來(lái)一塊藍(lán)色 區(qū)域,然后單擊左側(cè)工具欄的問(wèn)號(hào)(?)按鈕,在彈出窗口輸入數(shù)據(jù),繼而在不 同區(qū)域設(shè)置不同數(shù)據(jù)。本設(shè)計(jì)不需要輸入數(shù)據(jù),脈沖及輸入。(5)仿真仿真器參數(shù)仿真: 選擇 Assignment Settings 命令,在 Settings 窗口下選 擇 Category Simulator Settings 。在右側(cè)的 Simulation mode 下拉列表中選 擇 Timing ,即選擇時(shí)序仿真,并選擇仿真激勵(lì)文件名

11、 cnt10_1.vwf 。選擇 Simulation Period 欄,確認(rèn)選中了“ Run simulation until all vector stimuli are used ”。(6)啟動(dòng)仿真器: Processing-Start Simulation , 直至出現(xiàn) Simulation was successful ,仿真結(jié)束,然后會(huì)自動(dòng)彈出“ Simulation Report ”如圖所示4.應(yīng)用 RTL電路圖觀察器Tools-Netlist Viewers-RTL Viewer,結(jié)果如圖所示四、 實(shí)驗(yàn)總結(jié)FPGA的學(xué)習(xí)是一個(gè)循序漸進(jìn)的過(guò)程。一開始接觸到 Qurtus ii 的時(shí)候覺(jué)得 很困難,尤其是仿真, 初次仿真的時(shí)候?qū)?shù)的設(shè)置沒(méi)有清晰

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論