EDA技術(shù)7-典型時序電路設(shè)計實例_第1頁
EDA技術(shù)7-典型時序電路設(shè)計實例_第2頁
EDA技術(shù)7-典型時序電路設(shè)計實例_第3頁
EDA技術(shù)7-典型時序電路設(shè)計實例_第4頁
EDA技術(shù)7-典型時序電路設(shè)計實例_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

典型時序電路設(shè)計實例CHAPTER主要內(nèi)容7段數(shù)碼管顯示的模10計數(shù)器(SSD)移位寄存器電路27段數(shù)碼管顯示的模10計數(shù)器(SSD)移位寄存器電路3實驗4:計數(shù)器+7段LED數(shù)碼管顯示1.7段LED數(shù)碼管顯示模塊2.計數(shù)器模塊3.頂層文件-例化計數(shù)器+譯碼器顯示譯碼器-復(fù)習(xí)數(shù)電用來驅(qū)動各種顯示器件,從而將用二進(jìn)制代碼表示的數(shù)字、文字、符號翻譯成人們習(xí)慣的形式直觀地顯示出來的電路,稱為顯示譯碼器。數(shù)字、文字、符號代碼譯碼器顯示器67半導(dǎo)體數(shù)碼管顯示器件:常用的是七段顯示器件abcdefgabcdefg510YaYbYgabg510510發(fā)光二極管Ya-Yg:控制信號高電平時,對應(yīng)的LED亮低電平時,對應(yīng)的LED滅輸入4位BCD碼,產(chǎn)生7個輸出,分別驅(qū)動相應(yīng)顯示器件;考慮7段輸出與數(shù)字的對應(yīng)關(guān)系,可以得出如下關(guān)系

abcdefg0:0000--11111101:0001--01100002:0010--11011013:0011--1111001

abcdfgabcdefg111111001100001101101e有4個共陽極7段顯示管,所有的陽極都連接在一起,并通過一個PNP晶體管接到+3.3V電壓上。abcdfgabcdefg000000110011110010010eXABCDEFGDP000000011110011111200100101300001101410011001501001001601000001700011111800000001900001001

BCD-七段顯示譯碼器A3-A0:輸入數(shù)據(jù)要設(shè)計的七段顯示譯碼器aYaYbYcYdYeYfYg譯碼器A3A2A1A0bcdefg電子與通信工程系十進(jìn)制數(shù)

A3A2A1A0

YaYbYcYdYeYfYg

顯示字形

0

0000

11111

100

1

0001

01100001

2

001011011012

3

001111110013

4

010001100114

5

010110110115

6011000111116

7

011111100007

8

100011111118

9

100111100119

LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSSDIS PORT(data:INSTD_LOGIC_VECTOR(3DOWNTO0); LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));END;ARCHITECTUREoneOFSSDISBEGIN

PROCESS(data) BEGIN為方便標(biāo)示,Yx我們使用LED7S(x)來標(biāo)示

CASEdataIS–方向為6downto0,gfedcba WHEN"0000"=>LED7S<="0111111"; WHEN"0001"=>LED7S<="0000110"; WHEN"0010"=>LED7S<="1011011"; WHEN"0011"=>LED7S<="1001111"; WHEN"0100"=>LED7S<="1100110"; WHEN"0101"=>LED7S<="1101101"; WHEN"0110"=>LED7S<="1111101"; WHEN"0111"=>LED7S<="0000111"; WHEN"1000"=>LED7S<="1111111"; WHEN"1001"=>LED7S<="1101111"; WHEN"1010"=>LED7S<="1110111"; WHEN"1011"=>LED7S<="1111100"; WHEN"1100"=>LED7S<="0111001"; WHEN"1101"=>LED7S<="1011110"; WHEN"1110"=>LED7S<="1111001"; WHEN"1111"=>LED7S<="1110001"; WHENOTHERS=>NULL;

END

CASE;

END

PROCESS;END;帶有復(fù)位和時鐘使能的10進(jìn)制計數(shù)器LIBRARYIEEE;ENTITYCNTISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC;)ENDCNT;ARCHITECTUREbehavOFCNTIS

SIGNALCQI:STD_LOGIC_VECTOR(0DOWNTO3);BEGINPROCESS(CLK,RST,EN)IF(RST=‘1’)THENCQI<=(OTHERS=>'0');--計數(shù)器復(fù)位

ELSIF

(CLK'EVENTANDCLK='1')THEN--檢測時鐘上升沿

IF

(EN='1')THEN--檢測是否允許計數(shù)

IF

(CQI<"1001")THENCQI<=CQI+1;

ELSECQI<=(OTHERS=>'0');

ENDIF;

ENDIF;

ENDIF;

IF

(CQI="1001")THENCOUT<='1';--計數(shù)大于9,輸出進(jìn)位信號

ELSE

COUT<=‘0’;

ENDIF;CQ<=CQI;--將計數(shù)值向端口輸出

ENDPROCESS;ENDbehavior;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYLED_COUNTERISPORT(CLK,RST,EN:INSTD_LOGIC; COUT:OUTSTD_LOGIC; LED:OUTSTD_LOGIC_VECTOR(6DOWNTO0));END;ARCHITECTUREbhvOFLED_COUNTERIS SIGNALCNT_TO_SSD:STD_LOGIC_VECTOR(3DOWNTO0);頂層例化:

COMPONENTDECL7S

PORT( data:INSTD_LOGIC_VECTOR(3DOWNTO0); LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0) );

ENDCOMPONENT;

COMPONENTCNT

PORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);

ENDCOMPONENT;BEGINUUT_DECL7S:SSDPORTMAP(data=>CNT_TO_SSD,LED7S=>LED);UUT_CNT:CNTPORTMAP(CLK=>CLK,RST=>RST,EN=>EN,CQ=>CNT_TO_SSD,COUT=>COUT);

END;如果模10000計數(shù)器顯示需要4個SSD,我們這里可以用一個dig來表示數(shù)碼管的位選信號,用一個位寬為4的dig(3downto0)來表示數(shù)碼管段選信號。當(dāng)你想最后一個數(shù)碼管顯示數(shù)字1時,只需給dig(3downto0)賦值“1110”選中最后一位數(shù)碼管,并且seg[7:0]賦值“10011111”即可。26由于數(shù)碼管動態(tài)顯示,在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1ms~16ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。Clk來決定,例如Spartan6的時鐘頻率為100Mhz,周期為10ns,需要時鐘分頻。選用refresh周期為4ms。動態(tài)掃描原理在許多情況下為了節(jié)省I/O管腳和內(nèi)部邏輯資源,常用動態(tài)掃描的方法進(jìn)行顯示。動態(tài)掃描顯示利用了時分原理和人的視覺暫留現(xiàn)象。例如,4位掃描數(shù)碼顯示.器將時間劃分為4個掃描周期:

周期1一>周期2一>周期3一>周期4每個周期只選通一位數(shù)據(jù)。在周期1顯示第1個數(shù)碼,周期2顯示第2個數(shù)碼管。在掃描四個周期后,又重新按順序循環(huán)。如果掃描的速度足夠快,人的感覺就象4個數(shù)碼同時顯示。

掃描模塊文件

LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSCAN4AIS PORT(CLK_SCAN:INSTD_LOGIC;DATA_IN:INSTD_LOGIC_VECTOR(3DOWNTO0); SEL:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDSCAN4A;

ARCHITECTUREBEHAVEOFSCAN4AIS SIGNALS1:STD_LOGIC_VECTOR(1DOWNTO0); SIGNALBCD_OUT:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN PROCESS(CLK_SCAN) BEGIN IF(CLK_SCAN'EVENTANDCLK_SCAN='1')THENIF(S1=“11")THENS1<="00";ELSES1<=S1+1;ENDIF; ENDIF; ENDPROCESS;

PROCESS(S1) BEGIN CASES1IS WHEN"00"=>SEL<=“1110”; WHEN"01"=>SEL<=“1101”; WHEN"10"=>SEL<=“1011”; WHEN"11"=>SEL<=“0111”;WHENOTHERS=>SEL<=“0000”; ENDCASE; ENDPROCESS;PROCESS(data_in) BEGIN CASEdata_inIS WHEN"0000"=>DOUT<="00000011"; WHEN"0001"=>DOUT<=“10011111"; WHEN"0010"=>DOUT<="00100101"; WHEN"0011"=>DOUT<="00001101"; WHEN"0100"=>DOUT<="10011001"; WHEN"0101"=>DOUT<="01001001"; WHEN"0110"=>DOUT<="01000001"; WHEN"0111"=>DOUT<="00011111"; WHEN"1000"=>DOUT<="00000001"; WHEN"1001"=>DOUT<="00001001"; WHENOTHERS=>DOUT<="00000011"; ENDCASE; ENDPROCESS;ENDBEHAVE;7段數(shù)碼管顯示的模10計數(shù)器(SSD)移位寄存器電路33帶有并行置位的移位寄存器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSHFRTIS--8位右移寄存器

PORT(CLK,LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);QB:OUTSTD_LOGIC);ENDSHFRT;ARCHITECTUREbehaviorOFSHFRTIS SIGNALREG8:STD_LOGIC_VECTOR(7DOWNTO0);BEGIN

PROCESS(CLK,LOAD)

BEGIN

IF(CLK'EVENTANDCLK='1')THEN

IF(LOAD='1')THEN--裝載新數(shù)據(jù)

REG8<=DIN;

ELSE REG8(6DOWNTO0)<=REG8(7DOWNTO1); QB<=REG8(0);

ENDIF;

ENDIF;

ENDPROCESS;

ENDbehavior;電子與通信工程系(1)在第二個時鐘到來時,LOAD為高電平(2)第三個時鐘,以及以后的時鐘信號都是移位時鐘(3)第四個時鐘后,QB輸出了右移出的第1個位‘1’工作時序(1)在第一個時鐘到來時,LOAD為低電平LIBRARY

IEEE;USE

IEEE.STD_LOGIC_1164.ALL;ENTITY

SHIFT

ISPORT(CLK,C0:INSTD_LOGIC;--時鐘和進(jìn)位輸入 MD:INSTD_LOGIC_VECTOR(2DOWNTO0);--移位模式控制字

D:INSTD_LOGIC_VECTOR(7DOWNTO0);--待加載移位的數(shù)據(jù)

QB:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--移位數(shù)據(jù)輸出

CN:OUTSTD_LOGIC);--進(jìn)位輸出ENDENTITY;ARCHITECTUREBEHAVOFSHIFTIS

SIGNALREG:STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALC

溫馨提示

  • 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

提交評論