廣工 EDA課程設(shè)計_第1頁
廣工 EDA課程設(shè)計_第2頁
廣工 EDA課程設(shè)計_第3頁
廣工 EDA課程設(shè)計_第4頁
廣工 EDA課程設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設(shè) 計 課程名稱_VHDL與集成電路設(shè)計_題目名稱_電子鐘VHDL設(shè)計_學(xué)生學(xué)院_物理與光電工程學(xué)院_專業(yè)班級_ _學(xué) 號_學(xué)生姓名_ _指導(dǎo)教師_2014 年 12 月 19 日目錄一、前言11.1 EDA技術(shù)簡介11.2 EDA的發(fā)展前景1二、設(shè)計內(nèi)容及要求12.1設(shè)計內(nèi)容12.2 設(shè)計要求12.3 實驗?zāi)康?三、設(shè)計原理及框圖23.1設(shè)計原理23.2 設(shè)計框圖2四、模塊程序設(shè)計44.1 秒、分模塊程序及仿真44.2 時模塊程序及仿真64.3 消抖模塊74.4 頂層文件設(shè)計8五、調(diào)試11六、心得總結(jié)12參考文獻(xiàn)1211一、前言1.1 EDA技術(shù)簡介電子系統(tǒng)設(shè)計自動化(EDA:

2、60;Electronic Design Automation)已成為不可逆轉(zhuǎn)的潮流,它是包含CAD、CAE、CAM等與計算機輔助設(shè)計或設(shè)計自動化等相關(guān)技術(shù)的總稱。隨著信息時代的到來,信息電子產(chǎn)品已不斷地向系統(tǒng)高度集成化和高度微型化發(fā)展,使得傳統(tǒng)的手工設(shè)計和生產(chǎn)技術(shù)無法滿足信息產(chǎn)品的社會和市場需要,因此,人們開始借助于EDA技術(shù)進(jìn)行產(chǎn)品的設(shè)計和開發(fā)。目前EDA技術(shù)主要是以計算機軟件工具形式表現(xiàn)出來的,對于現(xiàn)代復(fù)雜的電子產(chǎn)品設(shè)計和開發(fā)來說,一般需要考慮“自上而下”三個不同層次內(nèi)容的設(shè)計(即:系統(tǒng)結(jié)構(gòu)級設(shè)計,PCB板級設(shè)計和IC集成芯片級設(shè)計)。Protel DXP軟

3、件系統(tǒng)是一套建立在IBM兼容PC環(huán)境下的CAD電路集成設(shè)計系統(tǒng),它是世界上第一套EDA環(huán)境引入到Windows環(huán)境的EDA開發(fā)工具,具有高度的集成性和可擴展性。本設(shè)計就是利用Protel DXP 進(jìn)行原理圖設(shè)計、PCB布局布線、進(jìn)行電路仿真測試。通過本設(shè)計充分了解到Protel DXP的特點并且充分掌握了Protel DXP的設(shè)計系統(tǒng)的基礎(chǔ)知識。1.2 EDA的發(fā)展前景隨著微電子技術(shù)和計算機技術(shù)的不斷發(fā)展,在涉及通信、國防、航天、工業(yè)自動化、儀器儀表等領(lǐng)域工作中,EDA技術(shù)的含量以驚人的速度上升,從而使它成為當(dāng)今電子技術(shù)發(fā)展的前言之一。 由于在

4、電子系統(tǒng)設(shè)計領(lǐng)域中的明顯優(yōu)勢,基于大規(guī)??删幊唐骷鉀Q方案的EDA技術(shù)及其應(yīng)用在近年中有了巨大的發(fā)展,將電子發(fā)展技術(shù)再次推向了又一嶄新的歷史階段。這些新的發(fā)展大致包含了這樣6個方面:1.新器件;2.新工具軟件;3.嵌入式系統(tǒng)設(shè)計;4.DSP系統(tǒng)設(shè)計;5.計算機處理器設(shè)計;6.與ASIC市場的競爭技術(shù)。二、設(shè)計內(nèi)容及要求2.1設(shè)計內(nèi)容設(shè)計一個電子鐘,要求可以顯示時、分、秒,用戶可以設(shè)置時間。2.2 設(shè)計要求  設(shè)計思路清晰,整體設(shè)計給出框圖,提供頂層電路圖;    應(yīng)用vhdl完成各次級模塊設(shè)計,繪出具體設(shè)計程序;    完成

5、設(shè)計仿真和程序下載;    寫出實驗報告2.3 實驗?zāi)康?掌握多位計數(shù)器相連的設(shè)計方法。 掌握二十四進(jìn)制,六十進(jìn)制計數(shù)器的設(shè)計方法。 掌握VHDL技術(shù)的層次化設(shè)計方法。  了解軟件的元件管理含義以及模塊元件之間的連接概念。 掌握電子電路一般的設(shè)計方法,并了解電子產(chǎn)品的研制開發(fā)過程,基本掌握電子電路安裝和調(diào)試的方法。 培養(yǎng)獨立分析問題,解決問題的能力三、設(shè)計原理及框圖3.1設(shè)計原理首先,電子鐘的時鐘信號的分、秒都是60進(jìn)制的計數(shù)信號,小時則為24進(jìn)制的計數(shù)信號。由此,可以設(shè)置3個模塊,分別為秒模塊、分鐘模塊和小時模塊。首先開關(guān)打開后,給秒模塊接一個1Hz的

6、時鐘信號,使秒模塊開始對時鐘的上升沿計數(shù),每來一個時鐘上升沿,秒模塊加1。每當(dāng)計滿一個周期后,即60秒,會向分鐘模塊產(chǎn)生進(jìn)位信號,同時向秒模塊發(fā)出重置信號,使秒模塊為00。然后重新對時鐘上升沿計數(shù),當(dāng)秒模塊顯示為59之后,下一個時鐘上升沿到來時又向分模塊產(chǎn)生進(jìn)位信號,秒模塊重新被置為00,如此循環(huán)。分鐘模塊對秒模塊的進(jìn)位信號進(jìn)行計數(shù)。來一個秒進(jìn)位,分模塊加1。當(dāng)分鐘模塊計滿一個周期后,即60分鐘,同樣向小時模塊產(chǎn)生進(jìn)位信號并向本模塊發(fā)出重置信號,使分鐘模塊為00。然后重新對秒模塊的進(jìn)位信號進(jìn)行計數(shù),當(dāng)分模塊顯示為59時,下一個秒模塊進(jìn)位信號到來時,分模塊又向小時模塊產(chǎn)生進(jìn)位信號,分模塊重新被置

7、為00,如此循環(huán)。小時模塊對分鐘模塊進(jìn)位信號的數(shù)目進(jìn)行計數(shù),來一個進(jìn)位信號,小時模塊加1。當(dāng)大于23后,小時模塊向本模塊發(fā)出重置信號,使小時模塊顯示為00,開始新一輪的計數(shù)。以此來實現(xiàn)24小時的計時功能。 復(fù)位功能的設(shè)計,可以用控制信號控制各個模塊的重置功能即可實現(xiàn)。3.2 設(shè)計框圖 系統(tǒng)頂層框圖,如下圖1計數(shù)器時鐘信號復(fù)位控制調(diào)分按鍵消抖按鍵消抖調(diào)時數(shù)碼管顯示1Hz圖1 系統(tǒng)頂層框圖 電子鐘結(jié)構(gòu)框圖,如下圖2時十位時個位分十位分個位秒十位秒個位譯碼器譯碼器譯碼器譯碼器譯碼器譯碼器時計數(shù)器分計數(shù)器秒計數(shù)器按鍵消抖按鍵消抖時鐘信號復(fù)位控制小時調(diào)節(jié)分鐘調(diào)節(jié)1Hz1MHz進(jìn)位信號進(jìn)位信號圖

8、2 數(shù)字鐘結(jié)構(gòu)框圖四、模塊程序設(shè)計4.1 秒、分模塊程序及仿真 秒和分計數(shù)模塊是60進(jìn)制計數(shù)器,計數(shù)到59后,下一個計數(shù)脈沖到來時清零,并向高位發(fā)出進(jìn)位信號,然后重新從00開始計數(shù)。VHDL的RTL描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt_sm IS PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

9、 C:OUT STD_LOGIC);END cnt_sm;ARCHITECTURE behav OF cnt_sm ISSIGNAL S_H:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK,CLR) BEGIN IF CLK 'EVENT AND CLK='1' THEN IF S_L(3 DOWNTO 0)<"1001" THEN S_L(3 DOWNTO 0)<=S_L(3 DOWNTO 0)+1; C<

10、='0' ELSIF S_H(3 DOWNTO 0)<"0101" THEN S_L(3 DOWNTO 0)<="0000" S_H(3 DOWNTO 0)<=S_H(3 DOWNTO 0)+1; C<='0' ELSE S_L(3 DOWNTO 0)<="0000" S_H(3 DOWNTO 0)<="0000" C<='1' END IF; END IF; IF CLR='1' THEN S_L(3 DOW

11、NTO 0)<="0000" S_H(3 DOWNTO 0)<="0000" END IF; OUT_H<=S_H; OUT_L<=S_L; END PROCESS;END behav;秒、分計數(shù)模塊的仿真波形如圖3、圖4:圖3圖4波形分析:從仿真波形可知,當(dāng)計數(shù)到59時,即OUT_H=0101,OUT_L=1001時,下一個時鐘上升沿到來時就清零了,即OUT_H=0000,OUT_L=0000,并且產(chǎn)生進(jìn)位信號,即C=1,然后重新開始計數(shù),如此循環(huán),符合設(shè)計要求。4.2 時模塊程序及仿真時計數(shù)模塊就是一個24進(jìn)制計數(shù)器,記數(shù)到2

12、3時,下一個時鐘脈沖到來時清零,重新從00開始計數(shù)。 VHDL的RTL描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt_h IS PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END cnt_h;ARCHITECTURE behav OF cnt_h ISSIGNAL S_H:STD_LOGIC

13、_VECTOR(3 DOWNTO 0);SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR) BEGIN IF CLR='1' THEN S_H<="0000" S_L<="0000" ELSIF CLK='1' AND CLK'EVENT THEN IF S_H="0010" AND S_L="0011" THEN S_L<="0000" S_H<=&quo

14、t;0000" ELSIF S_L<"1001" THEN S_L<=S_L+1; ELSE S_L<="0000" S_H<=S_H+1; END IF; END IF; END PROCESS; OUT_H<=S_H; OUT_L<=S_L; END;時模塊的仿真波形如下圖5:圖5波形分析:從仿真波形可知,當(dāng)計數(shù)到23時,即OUT_H=0010,OUT_L=0011時,下一個時鐘上升沿到來時就清零了,即OUT_H=0000,OUT_L=0000,然后重新進(jìn)行計數(shù),如此循環(huán)符合設(shè)計要求。4.3 消抖模塊按鍵

15、消抖動有很多方案,這里選擇的是計數(shù)消抖,即只當(dāng)有效電平到來后開始計數(shù),當(dāng)計數(shù)值大于一定值后再輸出該有效電平,否則不輸出,從而達(dá)到消抖目的。 VHDL的RTL描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ajxd IS PORT(DIN,CLK:IN STD_LOGIC; DOUT:OUT STD_LOGIC);END;ARCHITECTURE behav OF ajxd ISBEGIN PROCESS(DIN) VARIABLE T: INTEGER RANGE 0 TO 63:=0; BEGIN IF DIN='1

16、' THEN IF CLK 'EVENT AND CLK='1'THEN T:=T+1; IF T>8 THEN DOUT<='1'T:=T-1; ELSE DOUT<='0' END IF; END IF; ELSE DOUT<='0'T:=0; END IF; END PROCESS;END behav;消抖模塊電路原理圖如下圖6:圖6 消抖模塊電路原理圖4.4 頂層文件設(shè)計VHDL的RTL描述如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; U

17、SE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY clock IS PORT ( CLK1m : IN STD_LOGIC; -輸入1MHZ CLK1: IN STD_LOGIC; -輸入1HZ CLR0 : IN STD_LOGIC; KEY1_M : IN STD_LOGIC; -調(diào)時調(diào)分鍵 KEY2_H : IN STD_LOGIC; SECH : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); -時分秒輸出 SECL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); MINH : OUT STD_LOGIC_VE

18、CTOR (3 DOWNTO 0); MINL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); HOUH : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); HOUL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END;ARCHITECTURE behav OF clock IS SIGNAL SCO1, SCOM : STD_LOGIC; SIGNAL YS, YM : STD_LOGIC; SIGNAL SCO2,SCOH : STD_LOGIC; SIGNAL S1,S2 : STD_LOGIC; SIGNAL

19、 SMINH,SMINL :STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL SSECH,SSECL:STD_LOGIC_VECTOR (3 DOWNTO 0);COMPONENT cnt_sm -分和秒模塊PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C:OUT STD_LOGIC);END COMPONENT;COMPONENT cnt_h -時模塊PORT(CLK,CLR:IN STD_LOGIC

20、; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT ajxd -消抖模塊PORT(DIN,CLK:IN STD_LOGIC; DOUT:OUT STD_LOGIC);END COMPONENT;BEGIN PROCESS(CLK10m,KEY1_M,KEY2_H) -調(diào)時調(diào)分 BEGIN IF CLK1m'EVENT AND CLK1m='1' THEN IF S1='1' THEN SCOM<

21、;='1' ELSE SCOM<='0' END IF; IF S2='1' THEN SCOH<='1' ELSE SCOH<='0' END IF; END IF; END PROCESS; U1:cnt_sm PORT MAP (CLK=>CLK1,CLR=>CLR0,C=>SCO1, OUT_L=>SSECL,OUT_H=>SSECH); -秒計數(shù)模塊例化 U2:cnt_sm PORT MAP (CLK=>YS,CLR=>CLR0,C=>SC

22、O2, OUT_L=>SMINL,OUT_H=>SMINH); -分鐘計數(shù)模塊例化 U3:cnt_h PORT MAP (CLK=>YM,CLR=>CLR0,OUT_L=>HOUL,OUT_H=>HOUH); -小時計數(shù)模塊例化 U4:ajxd PORT MAP (DIN=>KEY1_M,CLK=> CLK1m,DOUT=>S1); -按鍵模塊例化 U5:ajxd PORT MAP (DIN=>KEY2_H,CLK=> CLK1m,DOUT=>S2); -按鍵模塊例化 YS<=SCOM OR SCO1; YM<

23、=SCOH OR SCO2; SECL<=SSECL; SECH<=SSECH; MINL<=SMINL; MINH<=SMINH; END;因為秒和分鐘模塊都是60進(jìn)制的計數(shù)器,所以在例化時,U1和U2的元件名相同,都是cnt_sm。但是它們連接端口名不一樣,在U1中:CLK=>CLK1,CLR=>CLR0,C=>SCO1, OUT_L=>SSECL,OUT_H=>SSECH 。而在U2中:CLK=>YS,CLR=>CLR0,C=>SCO2, OUT_L=>SMINL,OUT_H=>SMINH。這樣可以綜合出

24、秒模塊和分鐘模塊。U4,U5的例化也是這個道理。其中,U4的KEY1_M是調(diào)節(jié)分鐘的按鍵;U5的KEY2_H是調(diào)節(jié)小時的按鍵。頂層模塊電路原理如下圖7:圖7 頂層模塊電路原理圖五、調(diào)試當(dāng)把程序下載到試驗箱上的時候,時分秒能夠正常顯示,秒逢60向分鐘進(jìn)1,分鐘數(shù)加1。當(dāng)分鐘數(shù)大于59后,向小時進(jìn)1,小時數(shù)加1。小時數(shù)滿24后,變?yōu)?0。按下清零端,時鐘顯示變?yōu)?0:00:00。調(diào)分按鍵,每按1次,分鐘數(shù)加1,當(dāng)加到59后,又從00開始加。調(diào)分正常。調(diào)時按鍵,每按1次,小時數(shù)加1,當(dāng)加到23后,又從00開始加。調(diào)時正常。遇到的問題:當(dāng)時遇到的問題就是,例如當(dāng)實驗箱上顯示的時間為8:59:59,當(dāng)下

25、一個1Hz時鐘脈沖到來時,時間立馬變?yōu)?:00:00。然而,繼續(xù)往前計時,當(dāng)計到9:00:59時,下一個秒時鐘脈沖到來時,時間卻變?yōu)?0:01:00。就是說,程序在進(jìn)位的問題上發(fā)生錯誤了。后來檢查程序,發(fā)現(xiàn)是頂層文件中這段程序綜合出兩個D觸發(fā)器SCOM和SCOH導(dǎo)致的。問題程序:BEGIN PROCESS(CLK0,KEY1_M,KEY2_H,SCO1,SCO2) -調(diào)時調(diào)分 BEGIN IF CLK0'EVENT AND CLK0='1' THEN IF SCO1='1' OR S1='1' THEN SCOM<='1' ELSE SCOM<='0' END IF; IF (SCO2='1' AND SCO1='1') OR S2='1' THEN SCOH<='1' ELSE SCOH<='0' END IF; END IF; END PROCESS; 修改后的程序:BEGIN PROCESS(CLK10m,KEY1_M,KEY2_H) -調(diào)時調(diào)分 BEGIN IF CLK1m'EVENT AND CLK1m='1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論