常用時序電路設計實用教案_第1頁
常用時序電路設計實用教案_第2頁
常用時序電路設計實用教案_第3頁
常用時序電路設計實用教案_第4頁
常用時序電路設計實用教案_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、D D觸發(fā)器設計(shj)(shj)u 上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器u 異步復位上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器u 異步置位上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器u 異步復位和置位上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器u 同步復位上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器u 同步置位上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器u 帶異步復位和時鐘使然、上升沿觸發(fā)(chf)(chf)的D D觸發(fā)(chf)(chf)器第1頁/共39頁第一

2、頁,共39頁。上升(shngshng)沿觸發(fā)的D觸發(fā)器參考設計必須(bx)滿足數(shù)據建立時間和保持時間/* 上升沿觸發(fā)的D觸發(fā)器參考(cnko)設計*/module d_flipflop_1(d,cp,q); input d,cp; output q; reg q; always(posedge cp)begin q = d;endendmodule 第2頁/共39頁第二頁,共39頁。/* 異步復位、上升(shngshng)沿觸發(fā)的D觸發(fā)器*/module d_flipflop_2(d,cp,reset,q); input d,cp,reset; output q; reg q; always(

3、posedge cp or negedge reset) beginif(reset=1b0) q=1b0;elseq = d; endendmodule 異步復位(f wi)、上升沿觸發(fā)的D觸發(fā)器第3頁/共39頁第三頁,共39頁。異步置位、上升(shngshng)沿觸發(fā)的D觸發(fā)器/* 異步置位、上升(shngshng)沿觸發(fā)的D觸發(fā)器*/module d_flipflop_3(d,cp,set,q); input d,cp,set; output q; reg q; always(posedge cp or negedge set) beginif(set=1b0) q=1b1;elseq

4、= d; endendmodule 第4頁/共39頁第四頁,共39頁。異步復位和置位、上升(shngshng)沿觸發(fā)的D觸發(fā)器/* 異步復位和置位、上升(shngshng)沿觸發(fā)的D觸發(fā)器*/module d_flipflop_4(d,cp,set,reset,q); input d,cp,reset,set; output q; reg q; always(posedge cp or negedge reset or negedge set) beginif(reset=1b0) q=1b0;else if(set=1b0)q=1b1;else q = d; endendmodule 第5頁

5、/共39頁第五頁,共39頁。同步(tngb)復位、上升沿觸發(fā)的D觸發(fā)器/* 同步(tngb)復位、上升沿觸發(fā)的D觸發(fā)器*/module d_flipflop_5(d,cp,reset,q); input d,cp,reset; output q; reg q; always(posedge cp) beginif(reset=1b0) q=1b0;elseq= d; endendmodule 第6頁/共39頁第六頁,共39頁。同步(tngb)置位、上升沿觸發(fā)的D觸發(fā)器/* 同步(tngb)置位、上升沿觸發(fā)的D觸發(fā)器*/module d_flipflop_6(d,cp,set,q); input

6、 d,cp,set; output q; reg q; always(posedge cp) beginif(pset=1b0) q=1b1;elseq= d; endendmodule第7頁/共39頁第七頁,共39頁。/*異步復位和時鐘(shzhng)使然、上升沿觸發(fā)的D觸發(fā)器*/module dff_3(data,clk,en,reset,q); input data,clk,reset,en; output q; reg q; always(posedge clk or negedge reset) beginif(reset=1b0) q=1b0;else if(en=1b1)q= d

7、ata; endendmodule 異步復位和時鐘使然(sh rn)、上升沿觸發(fā)的D觸發(fā)器第8頁/共39頁第八頁,共39頁。 Shift RegisterShift Registeru 移位寄存器是一種在時鐘脈沖的作用下,將寄存器中的數(shù)據按位移動的邏輯電路。u 主要功能:串并轉換u 串行輸入串行輸出(shch)(shch)u 串行輸入并行輸出(shch)(shch)u 并行輸入串行輸出(shch)(shch)第9頁/共39頁第九頁,共39頁。 串入串出移位(y wi)寄存器u基本串入串出移位寄存器原理圖u 8位移(wiy)位寄存器由8個D觸發(fā)器串聯(lián)構成,在時鐘信號的作用下,前級的數(shù)據向后移動。

8、第10頁/共39頁第十頁,共39頁。/* 串入串出移位寄存器參考(cnko)設計*/module shift_1(din,clk,dout); input din,clk; output dout; reg dout; reg tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7; always(posedge clk) begintmp1=din;tmp2=tmp1;tmp3=tmp2;tmp4=tmp3;tmp5=tmp4;tmp6=tmp5;tmp7=tmp6;dout=tmp7; endendmodule 串入串出移位(y wi)寄存器參考設計第11頁/共39頁第十一頁

9、,共39頁。 串入并出shift registershift register 4 位串行輸入并行輸出移位寄存器的邏輯電路如圖所示。該寄存器由4個同步D觸發(fā)器組成這種D觸發(fā)器的R端是是非(shfi)同步清零端。第12頁/共39頁第十二頁,共39頁。/* 串入并出移位寄存器參考(cnko)設計*/module shift_2(din,clk,clr,q); input din,clk,clr; output 3:0 q; reg 3:0 q; always(posedge clk or negedge clr) beginif(clr=1b0)q=4b0000;elseq0=din;q=q1;

10、endendmodule 串入并出移位(y wi)寄存器參考設計第13頁/共39頁第十三頁,共39頁。 并入(bn r)(bn r)串出shift shift registerregisterv 并入串出移位寄存器可以將一組二進制數(shù)并行送入一組寄存器,然后把這些數(shù)據串行從寄存器內輸出。v 一個同步(tngb)并入串出移位寄存器的基本管腳:v 并行輸出輸入端:datav 時鐘脈沖輸入端:clkv 加載數(shù)據端:loadv 串行數(shù)據輸出端:dout第14頁/共39頁第十四頁,共39頁。/* 串入并出shift register參考(cnko)設計*/module shift3(clk,din, lo

11、ad,q); input clk,load; input 3:0 din; output q; reg q; reg 3:0 tmp; always(posedge clk ) beginif(load=1b1) tmp=din;elsebegintmp=tmp1;tmp0=1b0;endq=tmp3; endendmodule 串入并出shift register參考(cnko)設計第15頁/共39頁第十五頁,共39頁。 計數(shù)器設計(shj)v 計數(shù)器是一種典型的時序器件,常用于對時鐘脈沖的個數(shù)進行計數(shù),還用于定時,分頻,產生同步脈沖。v 按觸發(fā)方式分:同步計數(shù)器和異步計數(shù)器。v 最容易(r

12、ngy)(rngy)的計數(shù)器設計就是cnt=cnt+1cnt=cnt+1,但是你可能得不到最好的結果。第16頁/共39頁第十六頁,共39頁。 基本(jbn)計數(shù)器的設計u基本計數(shù)器只能實現(xiàn)單一遞增或遞減計數(shù)功能基本計數(shù)器只能實現(xiàn)單一遞增或遞減計數(shù)功能沒有其他控制端。沒有其他控制端。 u以遞增計數(shù)器為例,介紹其以遞增計數(shù)器為例,介紹其Verilog HDLVerilog HDL設計方設計方法。法。u 遞增計數(shù)器基本引腳:遞增計數(shù)器基本引腳:u時鐘時鐘(shzhng)(shzhng)輸入端:輸入端:clkclku計數(shù)輸出端:計數(shù)輸出端:cntcnt第17頁/共39頁第十七頁,共39頁。Verilo

13、g HDL參考(cnko)設計(1)module count (clk,cnt);input clk;output 2:0 cnt;reg 2:0 cnt;always(posedge clk )beginif(cnt=7)cnt=0;elsecnt=cnt+1;endendmodule第18頁/共39頁第十八頁,共39頁。module cnt (clk,cnt);input clk;output 2:0 cnt;reg 2:0 cnt;reg 2:0 next_cnt;always(cnt )begincase(cnt)3h0:next_cnt=3h1; 3h1:next_cnt=3h2;

14、3h2:next_cnt=3h3; 3h3:next_cnt=3h4; 3h4:next_cnt=3h5; 3h5:next_cnt=3h6; 3h6:next_cnt=3h7; 3h7:next_cnt=3h0; default:next_cnt=3b000;endcaseendalways(posedge clk )cnt=next_cnt;endmoduleVerilog HDL參考(cnko)設計(2)第19頁/共39頁第十九頁,共39頁。問題(wnt)(wnt)思考1.1.上述描述上述描述(mio sh)(mio sh)的是一個模為多少的計數(shù)器?的是一個模為多少的計數(shù)器?2.2.請自

15、行設計一個同步模請自行設計一個同步模1212計數(shù)器計數(shù)器3.3.在在2 2基礎上進行修改,設計一個帶異步復位的模基礎上進行修改,設計一個帶異步復位的模1212計數(shù)器。計數(shù)器。4.4.同步復位的模同步復位的模1212計數(shù)器如何設計?計數(shù)器如何設計?第20頁/共39頁第二十頁,共39頁。 項目(xingm)設計1一、目的(md)(1)實現(xiàn)帶計數(shù)允許和復位端的十進制、六進制和60進制計數(shù)器;(2)掌握計數(shù)器類型模塊的描述方法;(3)掌握Veriog HDL模塊的層次化設計方法。第21頁/共39頁第二十一頁,共39頁。二、說明計數(shù)器是數(shù)字電路系統(tǒng)中最基本的功能模塊之一。設計十進制、六進制和100進制計

16、數(shù)器,要求計數(shù)器有計數(shù)允許和復位輸入及進位輸出功能。計數(shù)時鐘(shzhng)可以用1Hz信號,用LED顯示計數(shù)值。本設計要求用仿真和測試兩種手段來驗證計數(shù)器的功能。實驗時,可以通過修改十進制計數(shù)器的設計得到六進制、100進制計數(shù)器。第22頁/共39頁第二十二頁,共39頁。三、設計要求(yoqi)(1) 完成各模塊的Verilog HDL設計編碼;(2) 進行功能仿真;(3) 下載并驗證計數(shù)器功能;(4) 如果60進制計數(shù)器要求(yoqi)用6進制和10進制計數(shù)器搭建電路,請畫出設計連接圖,并完成設計編碼和驗證。第23頁/共39頁第二十三頁,共39頁。項目(xingm)設計2模擬(mn)74LS

17、160芯片HDL設計 clkclrnloadenabled3.0q3.0flagd3d2d1d0q3q2q1q0進位輸出0 xxxxxx000010 xabcdabcd110 xxxxq不變110 xxxxq不變111xxxxqq1,最高到“1001”第24頁/共39頁第二十四頁,共39頁。分頻器設計(shj)u 2 2的整數(shù)(zhngsh)(zhngsh)次冪的分頻器設計;u 偶分頻電路設計;u 占空比為1:151:15的分頻電路設計。第25頁/共39頁第二十五頁,共39頁。 用Verilog語言完成對時鐘信號 CLK 的 2 分頻, 4 分頻, 8 分頻, 16 分頻。 這也是最簡單( j

18、indn)的分頻電路,只需要一個計數(shù)器即可 。2 2、4 4、8 8、1616分頻(fn pn)(fn pn)電路設計第26頁/共39頁第二十六頁,共39頁。電路的功能(gngnng)仿真波形第27頁/共39頁第二十七頁,共39頁。6分頻電路設計與實現(xiàn) 對于分頻倍數(shù)不是 2 的整數(shù)次冪的情況,我們只需要對源代碼中的計數(shù)器進行一下計數(shù)控制就可以(ky)了,如下面用Verilog設計一個對時鐘信號進行 6 分頻的分頻器 第28頁/共39頁第二十八頁,共39頁。電路(dinl)的仿真波形圖第29頁/共39頁第二十九頁,共39頁。 在進行硬件設計的時候,往往要求得到一個占空比不是 1:1 的分頻信號,

19、這時仍采用(ciyng)計數(shù)器的方法來產生占空比不是 1:1 的分頻信號。下面源代碼描述的是這樣一個分頻器:將輸入的時鐘信號進行 16 分頻,分頻信號的占空比為 1:15 ,也就是說,其中高電位的脈沖寬度為輸入時鐘信號的一個周期。 占空比1:15分頻(fn pn)電路設計第30頁/共39頁第三十頁,共39頁。電路仿真波形圖第31頁/共39頁第三十一頁,共39頁。在數(shù)碼管上顯示(xinsh)十進制秒計數(shù)任務分析: 1.需要將系統(tǒng)時鐘(50MHz)分頻,得到1Hz分頻時鐘。 2.對分頻時鐘進行十進制計數(shù)。 3.將計數(shù)器計數(shù)結果( ji gu)送數(shù)碼管譯碼器上。 4.選擇數(shù)碼管顯示。 第32頁/共3

20、9頁第三十二頁,共39頁。在數(shù)碼管上顯示(xinsh)十進制秒計數(shù)電路(dinl)框圖:數(shù)碼管譯碼電路(dinl)產生位選信號傳送4位BCD碼clk_sysnum_bcd3.0seg7.0scan3.0led0led1led2led3系統(tǒng)時鐘分頻電路十進制計數(shù)器clk_1scnt103.0rst第33頁/共39頁第三十三頁,共39頁。用4位led數(shù)碼管顯示(xinsh)“9527” 任務分析: 輪流打開(d ki)4個數(shù)碼管,每個數(shù)碼管顯示0.01s0.1s,由于視覺暫留效應,就好像顯示4個不同的數(shù)字。設計思路:1.打開(d ki)scan0的時候,在abcdefg線上賦值“9” 2.打開(d

21、 ki)scan1的時候,在abcdefg線上賦值“5” 3.打開(d ki)scan2的時候,在abcdefg線上賦值“2” 4.打開(d ki)scan3的時候,在abcdefg線上賦值“7” 第34頁/共39頁第三十四頁,共39頁。用4位led數(shù)碼管顯示(xinsh)“9527” 電路(dinl)框圖:數(shù)碼管譯碼電路(dinl)系統(tǒng)時鐘分頻電路2位計數(shù)器產生2位位選碼2-4線譯碼器產生位掃描信號傳送4位BCD碼clk_sysclk_scanscan_sel1.0num_bcd3.0seg7.0scan3.0led0led1led2led3第35頁/共39頁第三十五頁,共39頁。用4位led數(shù)碼管顯示(xinsh)“9527” (1)輸入輸出端口定義:一共有幾組輸入輸出端口?(2)設計掃描信號:首先要降低掃描速度,生成一個大約為0.01s-0.1s的時鐘分頻電路,由系統(tǒng)時鐘分頻,系統(tǒng)時鐘定義為sysclk,分頻后的時鐘定義為div_scan。(第一個always語句塊)(3)利用分頻后的時鐘信號產生一個2位的位選編碼信號。(第二個always語句塊,用2位計數(shù)器實現(xiàn))(4)將2位的位選編碼譯碼,產生四個數(shù)碼管的四根掃描線,依次循環(huán)掃描。 (第三個always語句塊,用2-4線譯碼器實現(xiàn))(5)分不同的時間把9、5、2、7放到數(shù)碼管的

溫馨提示

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

評論

0/150

提交評論