Verilog程序設(shè)計與EDA(二版) 課件 第8章 時序電路設(shè)計實(shí)例_第1頁
Verilog程序設(shè)計與EDA(二版) 課件 第8章 時序電路設(shè)計實(shí)例_第2頁
Verilog程序設(shè)計與EDA(二版) 課件 第8章 時序電路設(shè)計實(shí)例_第3頁
Verilog程序設(shè)計與EDA(二版) 課件 第8章 時序電路設(shè)計實(shí)例_第4頁
Verilog程序設(shè)計與EDA(二版) 課件 第8章 時序電路設(shè)計實(shí)例_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

8.1序列檢測器

8.2脈沖分配器

8.38路搶答器

8.4數(shù)字跑表

8.5交通燈控制系統(tǒng)

8.6以2遞增的變模計數(shù)器

8.7定時器的Verilog編程實(shí)現(xiàn)

8.8ATM信元的接收及空信元的

檢測系統(tǒng)

8.9點(diǎn)陣漢字顯示系統(tǒng)

8.10通過EPM240開發(fā)板驗(yàn)證的幾個時序電路在時序邏輯電路中,任一個時刻的輸出不僅與該時刻輸入變量的取值有關(guān),而且與決定電路原狀態(tài)的過去輸入情況有關(guān)。時序電路通常包含組合邏輯電路和由觸發(fā)器組成的存儲電路兩部分。按照狀態(tài)變化的特點(diǎn),時序電路分為同步時序電路和異步時序電路。在同步時序邏輯電路中,電路狀態(tài)的變化在同一時鐘脈沖的作用下發(fā)生,即各個觸發(fā)器狀態(tài)的轉(zhuǎn)換同步完成。在異步時序電路中,觸發(fā)器不使用同一個時鐘脈沖信號源,即各個觸發(fā)器狀態(tài)的轉(zhuǎn)換異步完成。8.1序列檢測器檢測器有一個輸入端a和一個輸出端p。被檢測的信號為二進(jìn)制序列串行輸入,當(dāng)連續(xù)出現(xiàn)4個1時,輸出為1,其余情況均輸出為0。如:a:1101111110110p:0000001110000思路1用VerilogHDL設(shè)計的序列檢測器源文件如下:仿真測試模塊如下:在XilinxISE13環(huán)境下得到的仿真波形(部分)如圖8.1所示。仿真時設(shè)計的ABEL-HDL測試向量源文件如下:在Lattice公司的EDA開發(fā)軟件環(huán)境下得到的仿真波形如圖8.2所示。思路2采用if…begin…end…else…思路編寫源文件,并使用ModelSim進(jìn)行仿真。測試模塊如下:用ModelSim得到的仿真波形如圖8.3所示。思路3這是一個涉及時序電路的模塊,并且與狀態(tài)機(jī)有關(guān),下面采用三段式狀態(tài)機(jī)的方法編寫源文件。思路4采用狀態(tài)機(jī)思路編寫源文件,并用Lattice公司的EDA開發(fā)軟件進(jìn)行仿真。在Lattice公司的EDA開發(fā)軟件環(huán)境下得到的仿真波形如圖8.4所示。8.2脈

器脈沖分配器的狀態(tài)圖如圖8.5所示。脈沖分配器電路能在時鐘脈沖的作用下按順序輪流地輸出脈沖信號,即將脈沖信號按順序分配到W0、W1、W2、W3各個輸出端。參考5.2.2小節(jié)設(shè)計脈沖分配器的源文件如下:仿真測試模塊如下:在XilinxISE13環(huán)境下得到的仿真波形(部分)如圖8.6所示。8.38??路

器player_8為8路搶答器搶答輸入端;flag為確定哪個搶答器為首先搶答標(biāo)志;cnt_7為計時器數(shù)碼管輸出端;rst為異步復(fù)位端,下降沿復(fù)位;en為使能端,高電平有效;clklk為1kHz時鐘輸入端。搶答時間的分辨率為1ms,可以分辨出8路搶答器中搶答的先后順序。為了使程序設(shè)計簡潔,并且容易讀懂,我們采用有限狀態(tài)機(jī)的編寫方法。8路搶答器的源文件如下:8.4數(shù)

表設(shè)計一個數(shù)字跑表,該跑表具有復(fù)位、暫停、秒表計時等功能。首先對數(shù)字跑表進(jìn)行結(jié)構(gòu)和功能的劃分。跑表設(shè)置三個輸入端,分別為時鐘輸入(CLK)、復(fù)位(CLR)和啟動/暫停(STOP)按鍵。復(fù)位信號(CLR)當(dāng)出現(xiàn)高電平時復(fù)位,可對跑表異步清零。當(dāng)啟動/暫停為低電平時,開始計時;為高電平時,計時暫停,再次變?yōu)榈碗娖胶笤谠瓉淼臄?shù)值基礎(chǔ)上繼續(xù)計數(shù)。數(shù)字跑表示意圖如圖8.7所示。模塊中各信號含義說明如下:BSH、BSL:百分秒的高位和低位。SH、SL:秒信號的高位和低位。MH、ML:分鐘信號的高位和低位。數(shù)字跑表模塊的源文件如下:在XilinxISE13環(huán)境下得到的仿真波形(部分)如圖8.8所示。8.5交通燈控制系統(tǒng)用LAMPA0~LAMPA2分別控制A方向的綠燈、黃燈和紅燈的亮滅;LAMPB0~LAMPB2分別控制B方向的綠燈、黃燈和紅燈的亮滅;ADISPLAY代表A方向燈的倒計時時間,8位,通過兩個數(shù)碼管進(jìn)行顯示;BDISPLAY代表B方向燈的倒計時時間,8位,通過兩個數(shù)碼管進(jìn)行顯示。交通燈控制系統(tǒng)模塊如下:在XilinxISE13環(huán)境下得到的測試仿真波形(部分)如圖8.9所示。測試仿真波形分析:ADISPLAY[7:0]行與豎線交叉處為00100101,即25,A方向綠燈倒計時開始。此時,A方向的兩個數(shù)碼管中代表低位的數(shù)碼管a[0]b[0]c[0]d[0]e[0]f[0]g[0]=1011011,即5;代表高位的數(shù)碼管a[1]b[1]c[1]d[1]e[1]f[1]g[1]=1101101,即2。在ADISPLAY[7:0]行豎線交叉處向右的下一個時鐘周期,變?yōu)?0100100,即24,A方向綠燈倒計時25-1。此時,A方向的兩個數(shù)碼管中代表低位的數(shù)碼管a[0]b[0]c[0]d[0]e[0]f[0]g[0]=0110011,即4;代表高位的數(shù)碼管a[1]b[1]c[1]d[1]e[1]f[1]g[1]=1101101,即2。由于B方向的兩個數(shù)碼管顯示部分未加入系統(tǒng)模塊中,因此代表低位的數(shù)碼管a[2]b[2]c[2]d[2]e[2]f[2]g[2]=X,代表高位的數(shù)碼管a[3]b[3]c[3]d[3]e[3]f[3]g[3]?=?X。觀察仿真波形,經(jīng)過依次驗(yàn)證可看出,燈的狀態(tài)變化正確,數(shù)碼管顯示正確。8.6以2遞增的變模計數(shù)器在控制信號S0、S1的控制下,實(shí)現(xiàn)變模(模值為9、11、13、15)計數(shù)。rst_n為復(fù)位信號,低電平有效;clk為時鐘輸入,out為變模計數(shù)器輸出。以2遞增的變模計數(shù)器源文件如下:仿真測試模塊如下:在XilinxISE13環(huán)境下得到的仿真波形(部分)如圖8.10所示。8.7定時器的Verilog編程實(shí)現(xiàn)下面通過VerilogHDL語言,將多個模塊組合,從而實(shí)現(xiàn)60以內(nèi)定時功能,并進(jìn)行數(shù)據(jù)顯示。定時器的原理示意框圖如圖8.11所示。該定時器共有5個輸入端口,分別是10s和1s的時間輸入端口、重置RESET輸入端口、開關(guān)模式MODE選擇輸入端口,以及接收晶體分頻模塊的分頻輸出數(shù)據(jù)的輸入端口。10s和1s的時間輸入端口分別可以實(shí)現(xiàn)以10s和1s為單位、60為周期的定時計數(shù);重置輸入端口可以將定時器清零;開關(guān)模式選擇輸入端口可以控制整個定時器是否處于工作狀態(tài)。使用晶體分頻模塊輸出作為定時器的輸入端口可以控制定時器的運(yùn)行。晶體分頻模塊的分頻輸出頻率為32kHz。該定時器的輸出數(shù)據(jù)顯示在數(shù)碼顯示管上,顯示內(nèi)容為時間剩余。在XilinxISE13環(huán)境下得到的仿真波形(部分)如圖8.12所示。該定時器的Verilog源文件如下:8.8ATM信元的接收及空信元的檢測系統(tǒng)在某些物理鏈路中,ATM信元采用串行數(shù)據(jù)流進(jìn)行傳輸,而ATMPHY芯片對信元的處理均為并行,所以在接收ATM信元時,需要進(jìn)行串并轉(zhuǎn)換;同時,為保證鏈路的同步,發(fā)送方在沒有數(shù)據(jù)要發(fā)送時會填充空信元,所以在進(jìn)行ATM信元的接收時,還需要對空信元進(jìn)行檢測,空信元前5個字節(jié)分別是00、00、00、01、52(十六進(jìn)制)。根據(jù)上述原理,設(shè)計ATM信元的接收及空信元的檢測系統(tǒng),并用Lattice公司的ispLSI1016E-80LJ44器件實(shí)現(xiàn)。用VerilogHDL設(shè)計的檢測系統(tǒng)模塊源文件如下:ispLSI1016E-80LJ44的引腳配置如圖8.13所示。仿真波形如圖8.14所示。圖8.14中,data為仿真產(chǎn)生的并行輸入數(shù)據(jù),并串變換后形成data_i,輸入到底層模塊中,由底層模塊接收與檢測后輸出;data_o為輸出數(shù)據(jù);data_val為輸出數(shù)據(jù)的有效信號(高電平有效),可以看出,data_val有效時,data_o同時輸出一個8位數(shù)據(jù)。如圖8.15所示,在接收完前5個字節(jié)后,指示信號is_empty變?yōu)楦唠娖?圖中圓圈位置所示),說明該信元為空信元。在ATM網(wǎng)絡(luò)中信元的接收與檢測是一項(xiàng)常用功能,因此上述模塊有一定的工程實(shí)用價值。隨著代碼數(shù)量的增加,在代碼的編寫和仿真過程中,難免會引起更多的問題與困難。為保持功能的獨(dú)立性,需要在設(shè)計模塊時把接收和檢測在不同的alwasy塊中實(shí)現(xiàn),但是這樣做在保持功能獨(dú)立的同時卻帶來了兩個模塊間的傳遞數(shù)據(jù)問題,只有確定了模塊間數(shù)據(jù)傳遞的格式和內(nèi)容,才能完成設(shè)計。8.9點(diǎn)陣漢字顯示系統(tǒng)(1)設(shè)計一個點(diǎn)陣漢字顯示系統(tǒng),能在24腳多色8?×?8點(diǎn)陣上循環(huán)顯示“西電科大”。源文件如下:仿真波形如圖8.16所示。點(diǎn)陣結(jié)構(gòu)及引腳見圖8.17。點(diǎn)陣顯示板如圖8.18所示??删幊唐骷c點(diǎn)陣顯示板連接示意圖如圖8.19所示。點(diǎn)陣在快速掃描顯示時,當(dāng)人眼所看到的字符消失后,人眼仍能繼續(xù)保留其影像0.1s~0.4s的時間,這種現(xiàn)象被稱為視覺暫留現(xiàn)象。為了能保證正常顯示,考慮到視覺暫留現(xiàn)象,時鐘CLK頻率可選擇64Hz。(2)設(shè)計一個點(diǎn)陣漢字顯示系統(tǒng),能在16腳單色8?×?8點(diǎn)陣上顯示“西”。源文件如下:根據(jù)EPM240開發(fā)板單色8?×?8點(diǎn)陣引腳(見圖8.20)與主芯片EPM240T100C5引腳(見圖8.21)的連接關(guān)系,配置如下:8.10通過EPM240開發(fā)板驗(yàn)證的幾個時序電路根據(jù)EPM240開發(fā)板單色8?×?8點(diǎn)陣引腳(見圖8.20)與主芯片EPM240T100C5引腳(見圖8.21)的連接關(guān)系,配置如下:8.10.18個發(fā)光二極管按8位計數(shù)器規(guī)律循環(huán)顯示8.10.2第1個數(shù)碼管動態(tài)顯示0~7對應(yīng)引腳如圖8.22所示。七段數(shù)碼管:a1=對應(yīng)器件91,b1=對應(yīng)器件92,c1=對應(yīng)器件

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論