廣工 EDA課程設(shè)計
《廣工 EDA課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《廣工 EDA課程設(shè)計(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 課 程 設(shè) 計 課程名稱___VHDL與集成電路設(shè)計___ 題目名稱___電子鐘VHDL設(shè)計______ 學生學院___物理與光電工程學院___ 專業(yè)班級___ __________ 學 號_____________ 學生姓名___ ______________ 指導教師_______________ 2014 年 12 月 19 日 目錄 一、前言 1 1.1 EDA技術(shù)簡介 1 1.2 EDA的發(fā)展前景 1 二、設(shè)計內(nèi)容及要求 1 2.1設(shè)計內(nèi)容 1 2.2 設(shè)計要求 1 2.3 實驗?zāi)康?
2、2 三、設(shè)計原理及框圖 2 3.1設(shè)計原理 2 3.2 設(shè)計框圖 2 四、模塊程序設(shè)計 4 4.1 秒、分模塊程序及仿真 4 4.2 時模塊程序及仿真 6 4.3 消抖模塊 7 4.4 頂層文件設(shè)計 8 五、調(diào)試 11 六、心得總結(jié) 12 參考文獻 12 11 一、前言 1.1 EDA技術(shù)簡介 電子系統(tǒng)設(shè)計自動化(EDA:?Electronic?Design?Automation)已成為不可逆轉(zhuǎn)的潮流,它是包含CAD、CAE、CAM等與計算機輔助設(shè)計或設(shè)計自動化等相關(guān)技術(shù)的總稱。隨著信息時代的到來,信息電子產(chǎn)品已不斷地向系統(tǒng)高度集成化和高度微型化發(fā)展,使得
3、傳統(tǒng)的手工設(shè)計和生產(chǎn)技術(shù)無法滿足信息產(chǎn)品的社會和市場需要,因此,人們開始借助于EDA技術(shù)進行產(chǎn)品的設(shè)計和開發(fā)。目前EDA技術(shù)主要是以計算機軟件工具形式表現(xiàn)出來的,對于現(xiàn)代復雜的電子產(chǎn)品設(shè)計和開發(fā)來說,一般需要考慮“自上而下”三個不同層次內(nèi)容的設(shè)計(即:系統(tǒng)結(jié)構(gòu)級設(shè)計,PCB板級設(shè)計和IC集成芯片級設(shè)計)。Protel?DXP軟件系統(tǒng)是一套建立在IBM兼容PC環(huán)境下的CAD電路集成設(shè)計系統(tǒng),它是世界上第一套EDA環(huán)境引入到Windows環(huán)境的EDA開發(fā)工具,具有高度的集成性和可擴展性。本設(shè)計就是利用Protel?DXP?進行原理圖設(shè)計、PCB布局布線、進行電路仿真測試。通過本設(shè)計充分了解到Pro
4、tel?DXP的特點并且充分掌握了Protel?DXP的設(shè)計系統(tǒng)的基礎(chǔ)知識。 1.2 EDA的發(fā)展前景 隨著微電子技術(shù)和計算機技術(shù)的不斷發(fā)展,在涉及通信、國防、航天、工業(yè)自動化、儀器儀表等領(lǐng)域工作中,EDA技術(shù)的含量以驚人的速度上升,從而使它成為當今電子技術(shù)發(fā)展的前言之一。? 由于在電子系統(tǒng)設(shè)計領(lǐng)域中的明顯優(yōu)勢,基于大規(guī)模可編程器件解決方案的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ù)。
5、 二、設(shè)計內(nèi)容及要求 2.1設(shè)計內(nèi)容 設(shè)計一個電子鐘,要求可以顯示時、分、秒,用戶可以設(shè)置時間。 2.2 設(shè)計要求 ①? 設(shè)計思路清晰,整體設(shè)計給出框圖,提供頂層電路圖;?? ②? 應(yīng)用vhdl完成各次級模塊設(shè)計,繪出具體設(shè)計程序;?? ③ ?完成設(shè)計仿真和程序下載;?? ④ ?寫出實驗報告 2.3 實驗?zāi)康? ① 掌握多位計數(shù)器相連的設(shè)計方法。 ② 掌握二十四進制,六十進制計數(shù)器的設(shè)計方法。 ③ 掌握VHDL技術(shù)的層次化設(shè)計方法。? ④ 了解軟件的元件管理含義以及模塊元件之間的連接概念。 ⑤ 掌握電子電路一般的設(shè)計方法,并了解電子產(chǎn)品的研制開發(fā)過程,基本掌握
6、電子電路安裝和調(diào)試的方法。 ⑥ 培養(yǎng)獨立分析問題,解決問題的能力 三、設(shè)計原理及框圖 3.1設(shè)計原理 首先,電子鐘的時鐘信號的分、秒都是60進制的計數(shù)信號,小時則為24進制的計數(shù)信號。由此,可以設(shè)置3個模塊,分別為秒模塊、分鐘模塊和小時模塊。 首先開關(guān)打開后,給秒模塊接一個1Hz的時鐘信號,使秒模塊開始對時鐘的上升沿計數(shù),每來一個時鐘上升沿,秒模塊加1。每當計滿一個周期后,即60秒,會向分鐘模塊產(chǎn)生進位信號,同時向秒模塊發(fā)出重置信號,使秒模塊為00。然后重新對時鐘上升沿計數(shù),當秒模塊顯示為59之后,下一個時鐘上升沿到來時又向分模塊產(chǎn)生進位信號,秒模塊重新被置為00,如此循環(huán)。
7、分鐘模塊對秒模塊的進位信號進行計數(shù)。來一個秒進位,分模塊加1。當分鐘模塊計滿一個周期后,即60分鐘,同樣向小時模塊產(chǎn)生進位信號并向本模塊發(fā)出重置信號,使分鐘模塊為00。然后重新對秒模塊的進位信號進行計數(shù),當分模塊顯示為59時,下一個秒模塊進位信號到來時,分模塊又向小時模塊產(chǎn)生進位信號,分模塊重新被置為00,如此循環(huán)。 小時模塊對分鐘模塊進位信號的數(shù)目進行計數(shù),來一個進位信號,小時模塊加1。當大于23后,小時模塊向本模塊發(fā)出重置信號,使小時模塊顯示為00,開始新一輪的計數(shù)。以此來實現(xiàn)24小時的計時功能。? 復位功能的設(shè)計,可以用控制信號控制各個模塊的重置功能即可實現(xiàn)。 3.2 設(shè)計框圖
8、 ① 系統(tǒng)頂層框圖,如下圖1 計 數(shù) 器 時鐘信號 復位控制 調(diào)分 按鍵消抖 按鍵消抖 調(diào)時 數(shù) 碼 管 顯 示 1Hz 圖1 系統(tǒng)頂層框圖 ② 電子鐘結(jié)構(gòu)框圖,如下圖2 時十位 時個位 分十位 分個位 秒十位 秒個位 譯碼器 譯碼器 譯碼器 譯碼器 譯碼器 譯碼器 時計數(shù)器 分計數(shù)器 秒計數(shù)器 按鍵消抖 按鍵消抖 時鐘信號 復位控制 小時調(diào)節(jié) 分鐘調(diào)節(jié) 1Hz 1MHz 進位信號 進位信號 圖2 數(shù)字鐘結(jié)構(gòu)框圖 四、模塊程序設(shè)計 4.1 秒、分模塊程序及仿真 秒和分計數(shù)模塊
9、是60進制計數(shù)器,計數(shù)到59后,下一個計數(shù)脈沖到來時清零,并向高位發(fā)出進位信號,然后重新從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);
10、 C:OUT STD_LOGIC); END cnt_sm; ARCHITECTURE behav OF cnt_sm IS SIGNAL 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
11、 S_L(3 DOWNTO 0)<=S_L(3 DOWNTO 0)+1; C<='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
12、 DOWNTO 0)<="0000"; C<='1'; END IF; END IF; IF CLR='1' THEN S_L(3 DOWNTO 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 波形分析:從仿
13、真波形可知,當計數(shù)到59時,即OUT_H=0101,OUT_L=1001時,下一個時鐘上升沿到來時就清零了,即OUT_H=0000,OUT_L=0000,并且產(chǎn)生進位信號,即C=1,然后重新開始計數(shù),如此循環(huán),符合設(shè)計要求。 4.2 時模塊程序及仿真 時計數(shù)模塊就是一個24進制計數(shù)器,記數(shù)到23時,下一個時鐘脈沖到來時清零,重新從00開始計數(shù)。?VHDL的RTL描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt_h IS PORT(C
14、LK,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 IS SIGNAL S_H:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR) BEGIN IF CL
15、R='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<="0000"; ELSIF S_L<"1001" THEN S_L<=S_L+1; ELSE S_L<="0000"; S_H<=S_H+1; END IF; END
16、IF; END PROCESS; OUT_H<=S_H; OUT_L<=S_L; END; 時模塊的仿真波形如下圖5: 圖5 波形分析:從仿真波形可知,當計數(shù)到23時,即OUT_H=0010,OUT_L=0011時,下一個時鐘上升沿到來時就清零了,即OUT_H=0000,OUT_L=0000,然后重新進行計數(shù),如此循環(huán)符合設(shè)計要求。 4.3 消抖模塊 按鍵消抖動有很多方案,這里選擇的是計數(shù)消抖,即只當有效電平到來后開始計數(shù),當計數(shù)值大于一定值后再輸出該有效電平,否則不輸出,從而達到消抖目的。?VHDL的RTL描述如下: LIBRARY IEEE; US
17、E IEEE.STD_LOGIC_1164.ALL; ENTITY ajxd IS PORT(DIN,CLK:IN STD_LOGIC; DOUT:OUT STD_LOGIC); END; ARCHITECTURE behav OF ajxd IS BEGIN PROCESS(DIN) VARIABLE T: INTEGER RANGE 0 TO 63:=0; BEGIN IF DIN='1' THEN IF CLK 'EVENT AND CLK='1'THEN
18、 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.A
19、LL; USE 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 DOWNT
20、O 0); --時分秒輸出 SECL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); MINH : OUT STD_LOGIC_VECTOR (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
21、 SIGNAL SCO1, SCOM : STD_LOGIC; SIGNAL YS, YM : STD_LOGIC; SIGNAL SCO2,SCOH : STD_LOGIC; SIGNAL S1,S2 : STD_LOGIC; SIGNAL SMINH,SMINL :STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL SSECH,SSECL:STD_LOGIC_VECTOR (3 DOWNTO 0); COMPONENT cnt_sm
22、--分和秒模塊 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; OUT_H:OUT STD_LOGIC_VECTOR(3 DO
23、WNTO 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
24、 IF S1='1' THEN SCOM<='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
25、=>CLR0,C=>SCO2, 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);
26、 --按鍵模塊例化 YS<=SCOM OR SCO1; YM<=SCOH OR SCO2; SECL<=SSECL; SECH<=SSECH; MINL<=SMINL; MINH<=SMINH; END; 因為秒和分鐘模塊都是60進制的計數(shù)器,所以在例化時,U1和U2的元件名相同,都是cnt_sm。但是它們連接端口名不一樣,在U1中:CLK=>CLK1,CLR=>CLR0,C=>SCO1, OUT_L=>SSECL,OUT_H=>SSECH 。而在U2中:CLK=>YS,CLR=>CLR0,C
27、=>SCO2, OUT_L=>SMINL,OUT_H=>SMINH。這樣可以綜合出秒模塊和分鐘模塊。 U4,U5的例化也是這個道理。其中,U4的KEY1_M是調(diào)節(jié)分鐘的按鍵;U5的KEY2_H是調(diào)節(jié)小時的按鍵。 頂層模塊電路原理如下圖7: 圖7 頂層模塊電路原理圖 五、調(diào)試 當把程序下載到試驗箱上的時候,時分秒能夠正常顯示,秒逢60向分鐘進1,分鐘數(shù)加1。當分鐘數(shù)大于59后,向小時進1,小時數(shù)加1。小時數(shù)滿24后,變?yōu)?0。 按下清零端,時鐘顯示變?yōu)?0:00:00。 調(diào)分按鍵,每按1次,分鐘數(shù)加1,當加到59后,又從00開始加。調(diào)分正常。 調(diào)時按鍵,每按1次,小時數(shù)加
28、1,當加到23后,又從00開始加。調(diào)時正常。 遇到的問題:當時遇到的問題就是,例如當實驗箱上顯示的時間為8:59:59,當下一個1Hz時鐘脈沖到來時,時間立馬變?yōu)?:00:00。然而,繼續(xù)往前計時,當計到9:00:59時,下一個秒時鐘脈沖到來時,時間卻變?yōu)?0:01:00。就是說,程序在進位的問題上發(fā)生錯誤了。后來檢查程序,發(fā)現(xiàn)是頂層文件中這段程序綜合出兩個D觸發(fā)器SCOM和SCOH導致的。 問題程序: BEGIN PROCESS(CLK0,KEY1_M,KEY2_H,SCO1,SCO2) --調(diào)時調(diào)分 BEGIN IF CLK0'EVENT
29、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
30、 CLK1m'EVENT AND CLK1m='1' THEN IF S1='1' THEN SCOM<='1'; ELSE SCOM<='0'; END IF; IF S2='1' THEN SCOH<='1'; ELSE SCOH<='0'; END IF; END IF; END PROCESS; 比較問題程序和修改后的程序,可以發(fā)現(xiàn),修改后的程序里面,只讓按鍵S1和S2的分別連接到D觸發(fā)器的輸入端SCOM和SCOH。而秒進位信號SCO1和分進位信號SCO2則通過YS<=SCO
31、M OR SCO1; YM<=SCOH OR SCO2; 這兩句程序,跳過D觸發(fā)器,從而解決了問題。 六、心得總結(jié) 上課的時候,一直不明白EDA是用來干嘛的。也不知到為什么要學這門課程。通過這次設(shè)計,進一步加深了對EDA的了解,知道它是用來設(shè)計硬件電路的,通過代碼寫出各模塊功能,然后綜合在一起,可以綜合出復雜、功能強大的電路系統(tǒng),給電路設(shè)計帶來很大的方便。 在編寫頂層文件的程序時,遇到了不少問題,特別是各元件之間的連接,以及信號的定義,總是有錯誤,在細心的檢查下,終于找出了錯誤和警告,排除困難后,程序編譯就通過了,心里終于舒了一口氣。 通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重
32、要的,看懂代碼不等于會編寫,所以經(jīng)常動手把代碼輸入QuartusⅡ,編譯一下,觀察仿真波形,查看綜合出來的RTL,這樣才能有明顯的進步。在設(shè)計的過程中遇到問題,可以說得是困難重重,因為對EDA還不熟悉,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處:對上課所學過的知識理解得不夠深刻,掌握得不夠牢固。經(jīng)過這次課程設(shè)計,加深了我對書本知識的理解。 參考文獻 [1] 彭介華.電子技術(shù)課程設(shè)計指導.北京:高等教育出版社,1997 [2] 李國麗,朱維勇.電子技術(shù)實驗指導書.合肥:中國科技大學出版社,2000 [3] 潘松,黃繼業(yè).EDA技術(shù)實用教程.北京:科學出版社,2002
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學:變得一樣多
- 蘇教版三年級數(shù)學上冊教學ppt課件58:解決問題的策略復習
- 小學科學六下《拓展與應(yīng)用》-公開課一等獎ppt課件
- 高中英語人教版選修七Unit-2-Robots-ppt課件
- 第九章長期負債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂&#183;京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護患溝通技巧-課件
- 《高等數(shù)學B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(人教版)九年級總復習題型訓練補全對話(含最新原創(chuàng)題)課件