資源描述:
《二位十進(jìn)制計(jì)數(shù)器.pdf》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、EDA技術(shù)及應(yīng)用講座作業(yè)題目:基于EDA的二位十進(jìn)制計(jì)數(shù)器學(xué)校:中南大學(xué)學(xué)科專(zhuān)業(yè):生物醫(yī)學(xué)工程學(xué)生:學(xué)號(hào):0405080704任課教師:完成日期:2011年5月19日基于EDA的二位十進(jìn)制計(jì)數(shù)器一實(shí)驗(yàn)?zāi)康?了解QuartusII軟件及基本操作;2熟悉圖形編輯器GraphicEditorFile的設(shè)計(jì)方法;3熟悉VHDL語(yǔ)言設(shè)計(jì)方法;4掌握簡(jiǎn)單計(jì)數(shù)器的圖形設(shè)計(jì)方法和VHDL語(yǔ)言設(shè)計(jì)方法。二任務(wù)要求用兩種EDA設(shè)計(jì)方法設(shè)計(jì)一個(gè)二位十進(jìn)制計(jì)數(shù)器,具體要求如下:1能累加計(jì)時(shí);2能循環(huán)計(jì)時(shí)(當(dāng)計(jì)時(shí)到我們所需的數(shù)值時(shí),能清零繼續(xù)計(jì)數(shù));3能通過(guò)一個(gè)開(kāi)關(guān)來(lái)選擇計(jì)數(shù)器進(jìn)制數(shù);4要求分別用圖形設(shè)計(jì)方法和VH
2、DL語(yǔ)言?xún)煞N方法實(shí)現(xiàn)該設(shè)計(jì);5分析比較兩種設(shè)計(jì)方法。三計(jì)數(shù)器原理及其EDA實(shí)現(xiàn)方法計(jì)數(shù)是一種最簡(jiǎn)單基本的運(yùn)算,計(jì)數(shù)器就是實(shí)現(xiàn)這種運(yùn)算的邏輯電路,計(jì)數(shù)器在數(shù)字系統(tǒng)中主要是對(duì)脈沖的個(gè)數(shù)進(jìn)行計(jì)數(shù),以實(shí)現(xiàn)測(cè)量、計(jì)數(shù)和控制的功能,同時(shí)兼有分頻功能,計(jì)數(shù)器是由基本的計(jì)數(shù)單元和一些控制門(mén)所組成,計(jì)數(shù)單元?jiǎng)t由一系列具有存儲(chǔ)信息功能的各類(lèi)觸發(fā)器構(gòu)成,這些觸發(fā)器有RS觸發(fā)器、T觸發(fā)器、D觸發(fā)器及JK觸發(fā)器等。在EDA設(shè)計(jì)中,可以采用兩種方法來(lái)實(shí)現(xiàn)簡(jiǎn)單的計(jì)數(shù)器。采用圖形設(shè)計(jì)方法,設(shè)計(jì)者可以調(diào)用設(shè)計(jì)軟件提供的庫(kù)元件,如基本的邏輯器件與門(mén)、或門(mén)、四位十進(jìn)制計(jì)數(shù)器74160等等,并將這些元件以一定方式連接,從而構(gòu)成目
3、標(biāo)計(jì)數(shù)器;采用VHDL語(yǔ)言設(shè)計(jì)方法,設(shè)計(jì)者只要根據(jù)VHDL語(yǔ)言規(guī)則定義目標(biāo)計(jì)數(shù)器的管腳,并描述目標(biāo)計(jì)數(shù)器的功能,然后設(shè)計(jì)軟件便可以自動(dòng)綜合出目標(biāo)計(jì)數(shù)器,采用這種設(shè)計(jì)方法,設(shè)計(jì)者不用考慮實(shí)際可用硬件的構(gòu)成方式,因此很靈活方便。本作業(yè)將利用Alter公司的設(shè)計(jì)軟件QuartusII9.1分別采用以上兩種方法來(lái)實(shí)現(xiàn)一個(gè)二位十進(jìn)制計(jì)數(shù)器,該計(jì)數(shù)器有兩個(gè)可選進(jìn)制24進(jìn)制和12進(jìn)制,可以通過(guò)一個(gè)開(kāi)關(guān)來(lái)改變進(jìn)制。該計(jì)數(shù)器在輸入時(shí)鐘的驅(qū)動(dòng)下可以在00到24(或12)間循環(huán)計(jì)數(shù),并將當(dāng)前計(jì)數(shù)的十位和個(gè)位以BCD碼輸出。四具體方案4.1圖形設(shè)計(jì)方法1設(shè)計(jì)思路我采用了兩個(gè)同步十進(jìn)制計(jì)數(shù)器74160來(lái)實(shí)現(xiàn)二位十進(jìn)
4、制計(jì)數(shù)器,其原理圖如圖1所示。圖1中將個(gè)位計(jì)數(shù)器ONES的輸出H0[0]-H0[3]通過(guò)一個(gè)或非門(mén)連接到十位計(jì)數(shù)器TENS的時(shí)鐘輸入,從而實(shí)現(xiàn)個(gè)位到十位的進(jìn)位。當(dāng)H0[0]-H0[3],由“1001”變?yōu)椤?000時(shí)”,或非門(mén)將產(chǎn)生一個(gè)上升沿,從而觸發(fā)十位數(shù)計(jì)數(shù)器加1。74160具有一個(gè)異步清零腳(CLRN)和一個(gè)同步置數(shù)腳(LDN),我采用了同步置數(shù)腳來(lái)實(shí)現(xiàn)該計(jì)數(shù)器的循環(huán)計(jì)數(shù)。圖1中24進(jìn)制計(jì)數(shù)情況下,當(dāng)兩個(gè)計(jì)數(shù)器的輸出為23(即“00100011”)時(shí),通過(guò)一個(gè)與非門(mén)產(chǎn)生一個(gè)下降沿并輸入到兩個(gè)計(jì)數(shù)器的同步置數(shù)端,從而實(shí)現(xiàn)了循環(huán)計(jì)數(shù)。12進(jìn)制計(jì)數(shù)時(shí),只要輸出為111(即“00010001
5、”)時(shí)便產(chǎn)生置數(shù)信號(hào)。圖1中多路復(fù)用器Multiplexer用來(lái)選擇進(jìn)制數(shù),由開(kāi)關(guān)SWI控制,如果SWI為高電平,則選通A->Y的通道,即選擇了24進(jìn)制計(jì)數(shù);如果SWI為高電平,剛選通B->Y通道,即選擇了12進(jìn)制計(jì)數(shù)。圖1二位十進(jìn)制計(jì)數(shù)器原理圖2仿真波形仿真波形如圖2和圖3所示,圖2為24進(jìn)制下的仿真波形,圖3為12進(jìn)制下的仿真波形。圖224進(jìn)制計(jì)數(shù)器仿真波形圖312進(jìn)制計(jì)數(shù)器仿真波形24.2VHDL語(yǔ)言設(shè)計(jì)方法1設(shè)計(jì)思路及代碼利用VHDL語(yǔ)言設(shè)計(jì)電路,只要正確描述目標(biāo)電路的功能,然后由設(shè)計(jì)軟件綜合而到最終的邏輯電路。下面是設(shè)計(jì)該二位十進(jìn)制計(jì)數(shù)器的程序代碼,其功能與上面圖形設(shè)計(jì)方法所得計(jì)
6、數(shù)器基本一樣,只是多一個(gè)復(fù)位功能。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityCounter24VHDLisport(Rst:instd_logic;--復(fù)位,低電平有效hCLK:instd_logic;--時(shí)鐘輸入SWI:instd_logic;--開(kāi)關(guān)輸入,用于選擇24(高電平)或12(低電平)進(jìn)制計(jì)數(shù)hour0,hour1:outstd_logic_vector(3downto0));--個(gè)位與十位BCD碼輸出endentityCounter24VHDL;architectur
7、eoneofCounter24VHDLissignalhour0_t,hour1_t:std_logic_vector(3downto0);--個(gè)位與十位緩沖器beginprocess(Rst,hCLK,SWI)beginifRst='0'thenhour0_t<="0000";hour1_t<="0000";elsifhCLK'eventandhCLK='1'thenifSWI='1'andhour0_t="0011"