實(shí)驗(yàn)二基于HDL十進(jìn)制計(jì)數(shù)器設(shè)計(jì)._第1頁
實(shí)驗(yàn)二基于HDL十進(jìn)制計(jì)數(shù)器設(shè)計(jì)._第2頁
實(shí)驗(yàn)二基于HDL十進(jìn)制計(jì)數(shù)器設(shè)計(jì)._第3頁
實(shí)驗(yàn)二基于HDL十進(jìn)制計(jì)數(shù)器設(shè)計(jì)._第4頁
實(shí)驗(yàn)二基于HDL十進(jìn)制計(jì)數(shù)器設(shè)計(jì)._第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于基于HDL十進(jìn)制計(jì)數(shù)、顯示系統(tǒng)設(shè)計(jì)十進(jìn)制計(jì)數(shù)、顯示系統(tǒng)設(shè)計(jì) 實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康膎掌握基于語言的ISE設(shè)計(jì)全流程;n熟悉、應(yīng)用VerilogHDL描述數(shù)字電路;n掌握基于Verilog的組合和時(shí)序邏輯電路的設(shè)計(jì)方法。n掌握chipscope片內(nèi)邏輯分析儀的使用與調(diào)試方法。n設(shè)計(jì)準(zhǔn)備n設(shè)計(jì)輸入n設(shè)計(jì)處理n器件編程功能仿真器件測試時(shí)序仿真設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備n設(shè)計(jì)任務(wù):具有數(shù)顯輸出的十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備n設(shè)計(jì)任務(wù)表述:輸入信號:clk_50m -系統(tǒng)采樣時(shí)鐘clk -待計(jì)數(shù)的時(shí)鐘clr -異步清零信號,當(dāng)clr=1,輸出復(fù)位為0,當(dāng)clr=0,正常計(jì)數(shù)ena-使能控制信號,當(dāng)ena=1,

2、電路正常累加計(jì)數(shù),否則電路不工作輸出信號:q6:0-驅(qū)動數(shù)碼管,顯示計(jì)數(shù)值的個(gè)位COM-共陽級數(shù)碼管公共端(接VCC)設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備n需主要設(shè)計(jì)完成兩個(gè)子模塊,一個(gè)是十進(jìn)制計(jì)數(shù)器(cnt10.v),一個(gè)是驅(qū)動七段數(shù)碼管的模塊(led.v)。n由于實(shí)驗(yàn)板上的按鍵需要消抖,增加一個(gè)消抖模塊debounce_module,待計(jì)數(shù)的時(shí)鐘clk輸入至計(jì)數(shù)器前,先通過消抖模塊。n本設(shè)計(jì)共包括3個(gè)模塊。設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備n十進(jìn)制計(jì)數(shù)器:對輸入時(shí)鐘進(jìn)行計(jì)數(shù)輸入:CLK -待計(jì)數(shù)的時(shí)鐘CLR -異步清零信號,當(dāng)CLR =1,輸出復(fù)位為0,當(dāng)CLR =0,正常計(jì)數(shù)ENA-使能控制信號,當(dāng)ENA=1,電路正常累加計(jì)

3、數(shù),否則電路不工作輸出:SUM3:0- 計(jì)數(shù)值的個(gè)位。即,在CLK上升沿檢測到SUM=9時(shí),SUM將被置0,開始新一輪的計(jì)數(shù)。COUT -計(jì)數(shù)值的十位進(jìn)位,即:只有在時(shí)鐘CLK上升沿檢測到SUM=9時(shí),COUT將被置1,其余情況下COUT=0;設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備nLED顯示驅(qū)動模塊(led.v)輸入:sum3:0 -待顯示的數(shù)值out6:0 -驅(qū)動數(shù)碼管的七位數(shù)值(注意下表中out的對應(yīng)位) 數(shù)碼輸入sum輸出out對應(yīng)碼(h)3210Aout0Bout1Cout2Dout3Eout4Fout5Gout600000000000181100011001111CF200100010010923001

4、1000011086 401001001100CC501010100100A4601100100000A07011100011118F8100000000008091001000010084A1010000100088b10111100000E0C11000110001B1d11011000010C2E11100110000B0F11110111000B8設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備電源按鍵消抖:通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會馬上穩(wěn)定地接通,在斷開時(shí)也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象而

5、作的措施就是按鍵消抖。根據(jù)實(shí)驗(yàn)板的資料,對按鍵輸入信號需進(jìn)行消抖處理。設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備n消抖模塊n電平檢查模塊:檢測輸入的按鍵是否被按下或者釋放,并分別將H2L_Sig,L2H_Sig拉高,并隨后拉低,給出按鍵的操作信息。n延時(shí)模塊,對輸入的信號變化時(shí)刻進(jìn)行計(jì)時(shí)并觀察信號的變換情況,對輸出端口進(jìn)行恰當(dāng)?shù)刭x值n實(shí)驗(yàn)資料中給出消抖模塊設(shè)計(jì)源代碼。n消抖模塊不要求仿真n下面分別設(shè)計(jì)1、十進(jìn)制計(jì)數(shù)器cnt10.v.2、LED驅(qū)動模塊led.v3、按鍵消抖模塊4、頂層模塊設(shè)計(jì)n設(shè)計(jì)準(zhǔn)備n設(shè)計(jì)輸入n設(shè)計(jì)處理n器件編程功能仿真器件測試時(shí)序仿真十進(jìn)制計(jì)數(shù)器十進(jìn)制計(jì)數(shù)器cnt10.v的設(shè)計(jì)的設(shè)計(jì)設(shè)計(jì)輸入設(shè)計(jì)輸入

6、n建立工程:file-New Project要求:同學(xué)們在E盤或者DATA盤的根目錄下,以自己的學(xué)號為文件名建立工程選擇Top-level的類型是HDL設(shè)計(jì)輸入設(shè)計(jì)輸入n注意器件、EDA工具的正確選擇設(shè)計(jì)輸入設(shè)計(jì)輸入n建立工程后,開始模塊的設(shè)計(jì)。ncnt10.v模塊設(shè)計(jì)1、建立新Verilog HDL模塊編輯窗口設(shè)計(jì)輸入設(shè)計(jì)輸入n選擇Verilog Module ,并輸入合法文件名設(shè)計(jì)輸入設(shè)計(jì)輸入n在文本編輯窗口輸入代碼設(shè)計(jì)處理設(shè)計(jì)處理n在sources窗口選中待綜合模塊cnt10,在process窗口雙擊Synthesize-XSTn綜合完后可以雙擊Synthesize-XST下的View

7、RTL Schematic,得到綜合后的電路圖。1、綜合:功能仿真功能仿真1)建立仿真激勵文件功能仿真功能仿真n考慮完備性測試和減短仿真耗時(shí),將時(shí)鐘周期改為100ns,測試文件時(shí)間長度2000ns功能仿真功能仿真n根據(jù)所設(shè)計(jì)的十進(jìn)制計(jì)數(shù)器的各種工作狀態(tài),完成激勵信號的編輯功能仿真功能仿真n進(jìn)行仿真:1、選擇sources for:Behavioral Simulation2、選中激勵源文件3、雙擊simulate Bahavioral Model功能仿真功能仿真n分析得到的仿真波形,如有問題,對設(shè)計(jì)進(jìn)行修正n由于本次設(shè)計(jì)的時(shí)鐘周期長,對時(shí)序沒有要求,故可以省略各子模塊的時(shí)序仿真。LED驅(qū)動模塊

8、驅(qū)動模塊led.v的設(shè)計(jì)的設(shè)計(jì)n分析下表,(注意輸出out6:0與下表數(shù)據(jù)的對應(yīng)關(guān)系)理解led.v模塊的功能 數(shù)碼輸入sum輸出out對應(yīng)碼(h)3210Aout0Bout1Cout2Dout3Eout4Fout5Gout600000000000181100011001111CF2001000100109230011000011086 401001001100CC501010100100A4601100100000A07011100011118F8100000000008091001000010084A1010000100088b10111100000E0C11000110001B1d110

9、11000010C2E11100110000B0F11110111000B8LED驅(qū)動模塊驅(qū)動模塊led.v的設(shè)計(jì)的設(shè)計(jì)n按照與cnt10.v相同的設(shè)計(jì)步驟完成led.v模塊的設(shè)計(jì)輸入、綜合、功能仿真cnt10.v和和led.v組合為一個(gè)系統(tǒng)組合為一個(gè)系統(tǒng) 用Verilog HDL將cnt10.v和led.v組合為一個(gè)模塊,完成綜合、功能仿真,分析波形,修正設(shè)計(jì)。消抖模塊設(shè)計(jì)消抖模塊設(shè)計(jì)n了解消抖模塊的功能,拷貝相關(guān)代碼n擬采用實(shí)驗(yàn)板上的50MHZ時(shí)鐘為延遲計(jì)數(shù)時(shí)鐘n消抖模塊端口說明: debounce_module ( CLK, RSTn, Pin_In, Pin_Out);CLK-50MH

10、Z板上時(shí)鐘,提供給延時(shí)模塊計(jì)時(shí)使用。RSTn-異步復(fù)位信號, RSTn=1,復(fù)位Pin_In-待消抖信號,在本次設(shè)計(jì)是輸入給十進(jìn)制的時(shí)鐘信號。Pin_Out-消抖后輸出信號,輸?shù)绞M(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號。頂層模塊設(shè)計(jì)頂層模塊設(shè)計(jì)n硬件測試平臺設(shè)計(jì): 系統(tǒng)輸入:系統(tǒng)輸入: 十進(jìn)制計(jì)數(shù)器cnt10模塊中的復(fù)位信號(clr)通過撥動開關(guān)SW3輸入,使能信號(ena)通過撥動開關(guān)SW2輸入,待計(jì)數(shù)時(shí)鐘clk通過按鍵V16輸入,為保證設(shè)計(jì)效果,將clk通過消抖模塊處理后,生成的clk_out送到后續(xù)模塊。 系統(tǒng)輸出系統(tǒng)輸出: 向十位的進(jìn)位可以鎖于發(fā)光二極管(比如:LD4) 數(shù)碼管驅(qū)動的七位信號可輸出到D

11、5,B6,E7,F(xiàn)7,B4,A4,C5等引腳。n為簡化設(shè)計(jì),消抖模塊的復(fù)位信號、使能信號與cnt10模塊共用頂層模塊設(shè)計(jì)頂層模塊設(shè)計(jì)n用Verilog HDL代碼描述模塊的連接,構(gòu)成如下圖所示的系統(tǒng):頂層模塊處理頂層模塊處理nHDL代碼完成后,綜合。n頂層模塊不需要仿真。頂層模塊處理頂層模塊處理n引腳鎖定:信號名引腳號信號名引腳號信號名引腳號clrN17AC5EB6enaH18BB4FE7clkV16CA4GA6clk_50mC9DF7COMD5頂層模塊處理頂層模塊處理n由于clk沒鎖于ISE默認(rèn)的時(shí)鐘輸入引腳上,需要添加“CLOCK_DEDICATED_ROUTE = FALSE;”n為了更

12、好的消抖效果,需要在V16輸入端口加入下拉電阻,即需加“PULLDOWN”。n所以在約束文件(.ucf)中clk的鎖定應(yīng)為為:1)、NET “clk” LOC = “V16” |PULLDOWN | CLOCK_DEDICATED_ROUTE = FALSE;” :或者2) NET “clk” LOC = “V16” |PULLDOWN ; NET clk CLOCK_DEDICATED_ROUTE=FALSE;用戶約束文件(用戶約束文件(*.ucf)參考:)參考:nNET clk LOC = V16 | IOSTANDARD = LVCMOS33 | PULLDOWN ;nNET clk_5

13、0m LOC = C9 | IOSTANDARD = LVCMOS33 ;nNET clr LOC = N17 | IOSTANDARD = LVCMOS33;nNET ena LOC = H18| IOSTANDARD = LVCMOS33;nNET q0 LOC = C5 | IOSTANDARD = LVCMOS33; # DATA0anNET q1 LOC = B4 | IOSTANDARD = LVCMOS33; # DATA1bnNET q2 LOC = A4 | IOSTANDARD = LVCMOS33; # DATA2cnNET q3 LOC = F7 | IOSTANDAR

14、D = LVCMOS33; # DATA3dnNET q4 LOC = B6 | IOSTANDARD = LVCMOS33; # DATA4 enNET q5 LOC = E7 | IOSTANDARD = LVCMOS33; # DATA5fnNET q6 LOC = A6 | IOSTANDARD = LVCMOS33; # DATA6gnNET COM LOC = D5 | IOSTANDARD = LVCMOS33; # DATA7 DIG頂層模塊處理頂層模塊處理n雙擊Implement Design,進(jìn)行布局布線下載下載n雙擊Generate Programming File生成下

15、載文件n雙擊Configure Target Device點(diǎn)擊OK下載下載n點(diǎn)擊Finish下載下載下載下載n對隨后的兩個(gè)器件,一個(gè)是Prom,一個(gè)是CPLD,選擇Bypass。下載下載n彈出對話框,點(diǎn)擊OK下載下載n下載后,改變撥動開關(guān)和按鍵,觀察結(jié)果Chipscope在線調(diào)試在線調(diào)試nChipscope是Xilinx推出的一款在線調(diào)試軟件,如圖,通過JTAG仿真器將FPGA芯片中實(shí)際運(yùn)行的各種參數(shù)通過配置,傳回 ISE套件中的chipscope軟件n類似于示波器,chipscope提供觸發(fā)深度,觸發(fā)方式等一系列設(shè)置,同時(shí)提供數(shù)據(jù)采樣觀察窗口Chipscope調(diào)試開始調(diào)試開始 新建新建.cd

16、c文件文件n在HDL工程中添加chipscope file,選擇ChipScope Definition and Connection File,file name 取名segChipscope-配置配置 .cdc文件文件n在原有的HDL工程下出現(xiàn)新建seg.cdc文件,可以在chipscope植入 ILA 和 ICON IP核,雙擊seg.cdc文件,進(jìn)入配置界面。Chipscope-設(shè)置觸發(fā)端口、類型等設(shè)置觸發(fā)端口、類型等n進(jìn)入配置界面,每個(gè)觸發(fā)端口ILA核可支持多路比特?cái)?shù)據(jù),最多可有16個(gè)端口,觸發(fā)匹配類型共有6種。這里配置根據(jù)需要調(diào)試的數(shù)據(jù)個(gè)數(shù)、類型決定。Chipscope-設(shè)置采樣深

17、度設(shè)置采樣深度n設(shè)置采樣深度,即為一次采樣數(shù)據(jù)所顯示的深度、個(gè)數(shù)。深度范圍512-16384,采樣深度越深,耗費(fèi)資源越多。然后點(diǎn)擊Net Connections標(biāo)簽,設(shè)置設(shè)置觸發(fā)時(shí)鐘與觸發(fā)信號界面。Chipscope-設(shè)置采樣信號設(shè)置采樣信號n選擇Modify Connections 選項(xiàng),進(jìn)入采樣時(shí)鐘和觸發(fā)信號設(shè)置,采樣時(shí)鐘用于捕捉觸發(fā)信號Chipscope-設(shè)置采樣時(shí)鐘設(shè)置采樣時(shí)鐘n設(shè)置觸發(fā)時(shí)鐘,一般選擇系統(tǒng)頻率最高的主時(shí)鐘n注:Net selections中每個(gè)channel必須有添加有信號,否則綜合要報(bào)錯n同樣設(shè)置觸發(fā)信號,將TPO與TP1端口中的每個(gè)channel都添加,此處TP0監(jiān)

18、測clk、clr、ena、coutnTP1監(jiān)測的數(shù)碼管七段信號q7:0、以及COMChipscope-設(shè)置觸發(fā)數(shù)據(jù)設(shè)置觸發(fā)數(shù)據(jù)注:一般選擇緩沖后的信號,例如q_0_OBUFChipscope-JTAG掃描掃描n設(shè)置好以后保存退出,綜合與實(shí)現(xiàn),雙擊圖中Analyze Design Using Chipscope。n進(jìn)入chipscope軟件,單擊 按鈕開始JTAG掃描,查找FPGA器件。Chipscope-裝載裝載.bit文件文件nJTAG掃描以后會發(fā)現(xiàn)三個(gè)設(shè)備,選擇XC3S500E,在DEV:0 MyDevice(XC3S500E)右擊configure按以下圖進(jìn)行操作,選擇下載的bit流文件。Chipscope-裝載裝載.cdc文件文件n按以下步驟加載.cdc文件,此文件里包含了所有觸發(fā)端口。Chipscope-開始采樣開始采樣n開始調(diào)試 ,選擇重復(fù)觸發(fā),然后點(diǎn)擊開始采樣,采樣數(shù)據(jù)將會顯示在waveform窗口。觸發(fā)深度,可選Chipscope-分析數(shù)據(jù)分析數(shù)據(jù)n分析數(shù)據(jù),在開發(fā)板上數(shù)碼管顯示為0,統(tǒng)通過計(jì)算得出七段輸出q6:0 = 7b1000000,加上C

溫馨提示

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

評論

0/150

提交評論