




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、EDA 技術(shù)實(shí)用教程基 于 VHDL 的 萬(wàn) 年 歷 設(shè) 計(jì)(實(shí)驗(yàn)報(bào)告)學(xué)校:蘇州大學(xué)院部:電子信息學(xué)院年級(jí):2010 級(jí)專(zhuān)業(yè):通信工程姓名:王國(guó)盛2012 年 12 月 28 日前言本設(shè)計(jì)為實(shí)現(xiàn)一個(gè)多功能的萬(wàn)年歷,具有年、月、日、時(shí)、分、秒計(jì)時(shí)并顯示的功能, 顧名思義,其滿(mǎn)量程計(jì)時(shí)為一萬(wàn)年;具有校對(duì)功能,能夠?qū)Τ跏嫉臅r(shí)間進(jìn)行人為的設(shè)定。本設(shè)計(jì)采用 EDA 技術(shù), 以硬件描述語(yǔ)言 VHDL 為系統(tǒng)邏輯描述手段設(shè)計(jì)具有萬(wàn)年歷 功能的硬件電路,在 QuartusII 軟件設(shè)計(jì)環(huán)境下,采用自頂向下的設(shè)計(jì)思路,分別對(duì)各個(gè) 基礎(chǔ)模塊進(jìn)行創(chuàng)建,通過(guò)各個(gè)基礎(chǔ)模塊的組合和連接來(lái)構(gòu)建上層原理圖,完成基于 VHD
2、L 萬(wàn)年歷設(shè)計(jì)。系統(tǒng)目標(biāo)芯片采用 EP1K30TC144-3 ,由時(shí)鐘模塊、控制模塊、計(jì)時(shí)模塊、數(shù)據(jù)譯碼 模塊、顯示模塊組成。經(jīng)編譯和仿真所設(shè)計(jì)的程序,在可編程邏輯器件上下載驗(yàn)證,將硬 件編寫(xiě)程序下載到試驗(yàn)箱上, 選擇模式 3 進(jìn)行功能驗(yàn)證。 本系統(tǒng)能夠完成年、 月、日和時(shí)、 分、秒的分別顯示,由按鍵輸入進(jìn)行萬(wàn)年歷的校時(shí)功能。目錄1 實(shí)驗(yàn)概述 41.1 EDA 技術(shù) 41.2 QuartusII 的使用 41.3 模塊化設(shè)計(jì) 41.4 分析、解決問(wèn)題 42 實(shí)驗(yàn)內(nèi)容與要求 52.1 實(shí)驗(yàn)內(nèi)容 52.1 實(shí)驗(yàn)說(shuō)明 52.3 實(shí)驗(yàn)要求 63 實(shí)驗(yàn)原理 73.1 設(shè)計(jì)思想 73.2 設(shè)計(jì)原理圖 83
3、.3 工作工程 94 實(shí)驗(yàn)結(jié)果 104.1VHDL 程序與仿真 104.1.1 秒和分模塊 104.1.2 小時(shí)模塊 114.1.3 日(天)模塊 124.1.4 月份模塊 154.1.5 年模塊 174.1.6 校時(shí)模塊 194.1.7 顯示模式切換模塊 214.2 頂層設(shè)計(jì)與仿真 234.3 下載與驗(yàn)證 254.3.1 電路結(jié)構(gòu)選擇 254.3.2 端口配置 264.3.3 實(shí)際電路驗(yàn)證 295 實(shí)驗(yàn)小結(jié) 30參考文獻(xiàn) 311 、實(shí)驗(yàn)概述1.1 EDA 技術(shù)EDA (Electronic Design Automation),即電子設(shè)計(jì)自動(dòng)化,是指利用計(jì)算機(jī)完成電子系統(tǒng)的設(shè)計(jì)。它的主要特征
4、及核心是“自頂向下”的設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì)。在方框圖一級(jí)進(jìn)行仿真、糾 錯(cuò),并用硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證。然后用綜合 優(yōu)化工具生成具體門(mén)電路的網(wǎng)表。由于設(shè)計(jì)的主要仿真和調(diào)試過(guò)程是在高層次上完成的, 這不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),而且也減少了邏輯功能 仿真的工作量,提高了設(shè)計(jì)的一次成功率。1.2 QuartusII 的使用通過(guò)實(shí)驗(yàn),熟悉并掌握 QuartusII 軟件的使用,熟悉該軟件工具的環(huán)境。除了學(xué)習(xí) 利用 VHDL 語(yǔ)言編寫(xiě)程序?qū)崿F(xiàn)硬件電路以外, 還要熟練的使用原理圖輸入的
5、方法進(jìn)行硬件 設(shè)計(jì),具體是對(duì)每個(gè)模塊形成一個(gè)功能元件,通過(guò)元件的連接來(lái)實(shí)現(xiàn)系統(tǒng)的功能,而不是 通過(guò) VHDL 語(yǔ)言的元件例化程序來(lái)完成,不僅提高了效率,而且思想原理也更加的清晰。1.3 模塊化設(shè)計(jì)掌握年、月、日、時(shí)、分、秒以及控制部分的各功能模塊程序設(shè)計(jì)的原理,進(jìn)而理解 萬(wàn)年歷的設(shè)計(jì)原理,學(xué)習(xí)并理解模塊化設(shè)計(jì)的方法與思想。 用 VHDL 語(yǔ)言編寫(xiě)各模塊程序, 進(jìn)一步了解和掌握各個(gè)程序語(yǔ)言,知道編程中的注意事項(xiàng),提高編程的熟練程度。1.4 分析、解決問(wèn)題 通過(guò)本實(shí)驗(yàn)設(shè)計(jì),理論聯(lián)系實(shí)際,鞏固所學(xué)理論知識(shí),并且提高自己通過(guò)所學(xué)理論 分析、解決實(shí)際問(wèn)題的能力。進(jìn)一步加深對(duì) VHDL 設(shè)計(jì)的了解與認(rèn)識(shí),
6、體會(huì) EDA 的巨大 作用,了解進(jìn)行硬件系統(tǒng)設(shè)計(jì)的整個(gè)流程,對(duì)生活工作中的電氣設(shè)備有了更深一層次的了 解,對(duì)電氣工程專(zhuān)業(yè)有了更多興趣。2 、實(shí)驗(yàn)內(nèi)容與要求2.1 實(shí)驗(yàn)內(nèi)容設(shè)計(jì)具有如下功能的萬(wàn)年歷:1 )能進(jìn)行正常的年、月、日和時(shí)、分、秒的日期和時(shí)間計(jì)時(shí)功能,按鍵 KEY1 用來(lái) 進(jìn)行模式切換,當(dāng) KEY1=1 時(shí),顯示年、月、日;當(dāng) KEY1=0 時(shí),顯示時(shí)、分、 秒。2 )能利用實(shí)驗(yàn)系統(tǒng)上的按鍵實(shí)現(xiàn)年、月、日和時(shí)、分、秒的校對(duì)功能。3)用層次化設(shè)計(jì)方法設(shè)計(jì)該電路,編寫(xiě)各個(gè)功能模塊的程序。4 )仿真報(bào)時(shí)功能,通過(guò)觀察有關(guān)波形確認(rèn)電路設(shè)計(jì)是否正確。5 )完成電路設(shè)計(jì)后,用實(shí)驗(yàn)系統(tǒng)下載驗(yàn)證設(shè)計(jì)的正
7、確性。2.2 實(shí)驗(yàn)說(shuō)明 萬(wàn)年歷的設(shè)計(jì)思路與多功能時(shí)鐘的設(shè)計(jì)思路相似。多功能時(shí)鐘的各功能模塊及相互之 間的連接如下圖 1 所示圖 1 多功能時(shí)鐘系統(tǒng)原理框圖年、月、日和時(shí)、分、秒的顯示格式如圖 2 所示。年、月、日同時(shí)顯示,時(shí)、分、秒同時(shí)顯示,通過(guò)顯示模式切換來(lái)分別顯示年/ 時(shí)月 / 分日 / 秒圖 2 萬(wàn)年歷顯示格式2.3 實(shí)驗(yàn)報(bào)告要求1 )分析系統(tǒng)的工作原理。2 )畫(huà)出頂層原理圖,寫(xiě)出頂層文件源程序3)寫(xiě)出各功能模塊的源程序。4 )仿真各功能模塊,畫(huà)出仿真波形。5 )書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告應(yīng)結(jié)構(gòu)合理,層次分明3 、實(shí)驗(yàn)原理3.1 設(shè)計(jì)思想按照模塊化的設(shè)計(jì)思想,要實(shí)現(xiàn)萬(wàn)年歷的基礎(chǔ)功能,必定要包含年、月、
8、日和時(shí)、分、秒的功能模塊,其中秒和分可以用六十進(jìn)制計(jì)數(shù)器來(lái)實(shí)現(xiàn),時(shí)用二十四進(jìn)制計(jì)數(shù)器實(shí)現(xiàn), 月用十二進(jìn)制計(jì)數(shù)器來(lái)實(shí)現(xiàn),年的低兩位和高兩位都是一百進(jìn)制計(jì)數(shù)器,比較特殊的是天 的計(jì)數(shù)器,因?yàn)樗兴姆N情況,大月三十一天,小月三十天,平年二月二十八天,閏年二 月有二十九天,所以年和月的模塊對(duì)天的計(jì)數(shù)都有影響,需要從年和月的輸出端引出控制 信號(hào)來(lái)控制天的計(jì)數(shù)。 同時(shí)每個(gè)計(jì)數(shù)器都有顯示輸出端和進(jìn)位輸出端, 同時(shí)低級(jí)別 (如秒) 的進(jìn)位輸出要給較高級(jí)別 (如分)的時(shí)鐘輸入端, 以此類(lèi)推, 采用串行工作方式進(jìn)行連接。 從而完成了基礎(chǔ)的計(jì)時(shí)和顯示的功能。再按照由基礎(chǔ)功能到增強(qiáng)功能的設(shè)計(jì)思路,要實(shí)現(xiàn)校時(shí)功能,要在
9、之前電路的基礎(chǔ)之 上增加一個(gè)校時(shí)控制模塊,增加兩個(gè)按鍵來(lái)實(shí)現(xiàn)控制,按鍵 1 來(lái)選擇校對(duì)哪一個(gè)模塊,按 鍵 2 選擇校對(duì)到何值檢測(cè)到按鍵 2 的一個(gè)上升沿,對(duì)應(yīng)的計(jì)數(shù)器加 1。除此之外還需 要有顯示模式的切換的功能,需要增加一個(gè)模式切換的控制模塊,通過(guò)增加一個(gè)按鍵 3 來(lái) 實(shí)現(xiàn)控制,是顯示年月日還是時(shí)分秒。3.2 實(shí)驗(yàn)原理圖萬(wàn)年歷時(shí)分秒部分的原理圖如下圖所示,年月日部分與之同理,通過(guò)控制可以進(jìn)行切換圖 3 萬(wàn)年歷實(shí)驗(yàn)原理圖圖 4 萬(wàn)年歷實(shí)驗(yàn)結(jié)構(gòu)框圖圖 5 萬(wàn)年歷實(shí)驗(yàn)結(jié)構(gòu)局部圖原理圖說(shuō)明:如圖 4、5 所示, K1 鍵是選擇萬(wàn)年歷工作的模式, K2 鍵提供上升沿(時(shí)鐘功能)來(lái) 使各計(jì)數(shù)模塊加一,從
10、而實(shí)現(xiàn)校時(shí)的功能。 LED 燈起指示作用。模式 0 :正常計(jì)時(shí)顯示 -K1 不按, LED1 到 LED5 都不亮模式 1 :調(diào)整分增加 -K1 按下一次, LED1 亮其余四個(gè)不亮模式 2 :調(diào)整時(shí)增加 - K1 按下兩次, LED2 亮其余四個(gè)不亮模式 3 :調(diào)整日增加 - K1 按下三次, LED3 亮其余四個(gè)不亮模式 4 :調(diào)整月增加 - K1 按下四次, LED4 亮其余四個(gè)不亮模式 5 :調(diào)整年增加 - K1 按下五次, LED5 亮其余四個(gè)不亮CLK 是外部 1Hz 輸入時(shí)鐘,作為秒的時(shí)鐘輸入,驅(qū)動(dòng)整個(gè)萬(wàn)年歷工作運(yùn)行K3 鍵是顯示模式的選擇,顯示時(shí)分秒時(shí), LEDSHUCHUMO
11、SHI 指示燈亮,顯示 年月日時(shí), LEDSHUCHUMOSHI 指示燈滅。3.3 工作過(guò)程當(dāng) 1Hz 時(shí)鐘信號(hào)從 CLK 輸入端輸入時(shí), K1,K2,K3 都沒(méi)有按下時(shí),系統(tǒng)從零(閏年) 開(kāi)始處于正常的計(jì)時(shí)模式, 顯示時(shí)分秒部分, LEDSHUCHUMOSHI 指示燈亮。 低位計(jì)滿(mǎn) 歸零并且向高位進(jìn) 1 ,如果月份是二月,則天計(jì)滿(mǎn) 29 就向月進(jìn) 1。如果按下按鍵 3, LEDSHUCHUMOSHI 指示燈不亮,顯示年月日部分。如果此時(shí)按一下按鍵 1,那么萬(wàn)年 歷停止計(jì)時(shí), 工作于模式 1 ,再通過(guò)按鍵 2 對(duì)分進(jìn)行校時(shí), 通過(guò)同樣的方法可以對(duì)時(shí)、 日、 月、年進(jìn)行校時(shí)。當(dāng)校時(shí)完畢,需要萬(wàn)年
12、歷重新計(jì)時(shí)工作時(shí),通過(guò)按下鍵 1 使 LED1 到 LED5 都不亮?xí)r,系統(tǒng)工作與正常計(jì)時(shí)模式。4 、實(shí)驗(yàn)結(jié)果4.1VHDL 程序與仿真4.1.1 秒與分模塊 秒與分模塊為六十進(jìn)制的計(jì)數(shù)器 源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT60 ISPORT(CLK:IN STD_LOGIC;Q1,Q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT60;ARCHITECTURE ONE OF CN
13、T60 ISSIGNAL Q11,Q22:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENQ11=Q11+1;IF Q11=9 THEN Q110);Q22=Q22+1;END IF;IF Q22=5 AND Q11=9 THENQ22=0000;Q11=0000;COUT=1;ELSE COUT=0;END IF;END IF;END PROCESS;Q1=Q11;Q2=Q22;END;仿真結(jié)果:圖 6 60 進(jìn)制計(jì)數(shù)器仿真圖如上圖所示當(dāng) Q1、Q2 計(jì)滿(mǎn) 60 時(shí), Q1 、Q2 都?xì)w
14、零同時(shí)有一個(gè)進(jìn)位輸出脈沖,完成了六 十進(jìn)制計(jì)數(shù)器的功能,設(shè)計(jì)正確。4.1.2 小時(shí)模塊時(shí)模塊為 24 進(jìn)制計(jì)數(shù)器。源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT24 ISPORT(CLK:IN STD_LOGIC;Q1,Q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT24;ARCHITECTURE ONE OF CNT24 ISSIGNAL Q11,Q22:STD_LOGIC_VECTOR(
15、3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENQ11=Q11+1;IF Q11=9 THEN Q110);Q22=Q22+1;END IF;IF Q22=2 AND Q11=3 THENQ22=0000;Q11=0000;COUT=1;ELSE COUT=0;END IF;END IF;END PROCESS;Q1=Q11;Q2=Q22;END;仿真結(jié)果:如上圖所示當(dāng) Q1、Q2 計(jì)滿(mǎn) 24 時(shí),Q1 、Q2 都?xì)w零同時(shí)有一個(gè)進(jìn)位輸出脈沖,完成了六十進(jìn)制計(jì)數(shù)器的功能,設(shè)計(jì)正確。4.1.3 日(天)模塊日模塊有四種情況,大
16、月為 31 進(jìn)制計(jì)數(shù)器,小月為 30 進(jìn)制計(jì)數(shù)器,平年二月為 28 進(jìn)制 計(jì)數(shù)器,閏年二月為 29 進(jìn)制計(jì)數(shù)器, 需要有一個(gè)二位判斷輸入信號(hào)來(lái)進(jìn)行進(jìn)制數(shù)的選擇。 源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DAY ISPORT( PANDUAN :IN STD_LOGIC_VECTOR(1 DOWNTO 0);-兩位判斷輸入信號(hào)CLK :IN STD_LOGIC;CQ1 :OUT STD_LOGIC_VECTOR (3 DOWNTO 0);CQ2 :OUT STD_LOG
17、IC_VECTOR (3 DOWNTO 0);COUT :OUT STD_LOGIC);END;ARCHITECTURE ONE OF DAY ISSIGNAL CQ3,CQ4:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL PAN:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(CLK,PANDUAN)BEGIN-上升沿IF CLKEVENT AND CLK=1 THENCQ3=CQ3+1;IF CQ3=9 THEN CQ30);CQ4=CQ4+1;END IF;PANIF CQ3=0001 AND CQ4=001131 進(jìn)THEN
18、 CQ3=0001;CQ4=0000;COUT=1;ELSE COUTIF CQ3=0000 AND CQ4=0011 為 30 進(jìn)THEN CQ3=0001;CQ4=0000;COUT=1;-判斷信號(hào)為 00 時(shí)為- 制計(jì)數(shù)器- 判斷信號(hào)為 01 時(shí)- 制計(jì)數(shù)器ELSE COUTIF CQ3=1000 AND CQ4=0010 為 28 進(jìn)THEN CQ3=0001;CQ4=0000;COUT=1;ELSE COUTIF CQ3=1001 AND CQ4=001029 進(jìn)THEN CQ3=0001;CQ4=0000;COUT=1;ELSE COUTNULL;END CASE;END IF;C
19、Q1=CQ3;CQ2=CQ4;END PROCESS;END;- 判斷信號(hào)為 10 時(shí)- 制計(jì)數(shù)器-判斷信號(hào)為 11 時(shí)為- 制計(jì)數(shù)器仿真結(jié)果:圖 9 判斷信號(hào)為 01 時(shí)天模塊仿真圖圖 10 判斷信號(hào)為 10 時(shí)天模塊仿真圖圖 11 判斷信號(hào)為 11 時(shí)天模塊仿真圖如圖 8、9、10 、11 所示,仿真結(jié)果與設(shè)計(jì)要求一致,日模塊的設(shè)計(jì)正確4.1.4 月模塊月模塊為 12 進(jìn)制計(jì)數(shù)器,同時(shí)其需要為天提供判斷信號(hào)輸出,其與天的判斷輸入信號(hào)相一致。由于二月的判斷信號(hào)輸出要受到平年和閏年的影響,平年時(shí)判斷信號(hào)是10 ,閏年時(shí)判斷信號(hào)為 11 ,所以它要有接收來(lái)之年模塊的判斷平年閏年的輸出信號(hào)( ru
20、n=0 時(shí)表平年, run=1 時(shí)表閏年)。源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MONTH ISport(clk :IN STD_LOGIC;run :IN STD_LOGIC;cout :OUT STD_LOGIC;pan:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);cq1,cq2 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ;ARCHITECTURE behav OF MONTH ISsignal cq3,
21、cq4: STD_LOGIC_VECTOR (3 DOWNTO 0);signalcq5: STD_LOGIC_VECTOR (7 DOWNTO 0);BEGINPROCESS(clk)BEGINIF clkEVENT and clk=1 THENcq3=cq3+1;IF cq3=9 THENcq4=cq4+1;cq3=0000; END IF;IF cq3=2 and cq4=1 THEN cq3=0001;cq4=0000;cout=1;ELSE cout=0;END IF;END IF; - 十二進(jìn)制計(jì)數(shù)器 cq5panif run=1 then pan=11;else panpanpa
22、npanpanpanpanpanpanpanpanNULL;END CASE;cq1=cq3;cq2=cq4;END PROCESS;END;仿真結(jié)果:圖 12 平年( run=0 )時(shí)月模塊仿真圖如圖 12 、13 所示月模塊為 12 進(jìn)制計(jì)數(shù)器,并且 1、3、5、7、8、10 、12 月(大 月)判斷信號(hào)為 00,4 、6、9 平年( run=0 )2月的判斷輸出信號(hào)為、 11 月(小月)判斷 信號(hào)為 01 ,平年( run=0 )2 月的判斷輸出信號(hào)為 10 ,閏年( run=1 )2 月的判斷輸出 信號(hào)為 11 ,與天模塊的判斷輸入信號(hào)相一致,符合設(shè)計(jì)要求,模塊的設(shè)計(jì)正確。4.1.5
23、年模塊年的高兩位和低兩位都為一百進(jìn)制計(jì)數(shù)器,功能基本相同,不同的是低兩位模塊有閏 年判斷輸出信號(hào),要傳送給月份模塊,計(jì)滿(mǎn)四次就產(chǎn)生一個(gè)閏年輸出信號(hào),因?yàn)殚c年數(shù)值是 4 的整倍數(shù)。源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YEAR ISPORT(CLK:IN STD_LOGIC;Y1,Y2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);RUN,COUT:OUT STD_LOGIC);END YEAR;ARCHITECTURE ONE OF YEAR I
24、SSIGNAL Q1,Q2,Q3:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENQ1=Q1+1;IF Q1=9 THEN Q10);Q2=Q2+1;END IF;IF Q2=9 AND Q1=9 THENQ2=0000;Q1=0000;COUT=1;ELSE COUT=0;END IF;END IF;END PROCESS;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THEN Q3=Q3+1;IF Q3=3 THEN Q30);RUN=1;ELSE RU
25、N =0;END IF;END IF;Y1=Q1;Y2=Q2;END PROCESS;END;仿真結(jié)果:圖 14 低兩位年模塊仿真圖如圖 14 所示,低兩位年模塊為 100 進(jìn)制計(jì)數(shù)器當(dāng) T2、T1 表示的數(shù)為 4 的整數(shù)倍時(shí),判斷閏年輸出信號(hào)就為高電平,與月模塊的判斷閏年輸入信號(hào)相一致。符合設(shè)計(jì)的要求, 設(shè)計(jì)正確。4.1.6 校時(shí)模塊如原理圖的說(shuō)明部分所述,校時(shí)模塊進(jìn)行工作模式的選擇,輸入端設(shè)有控制按鍵K1 ,K2 。K1 進(jìn)行模式的選擇, K2 的功能如同手動(dòng)時(shí)鐘脈沖,進(jìn)行調(diào)時(shí)設(shè)置源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.S
26、TD_LOGIC_UNSIGNED.ALL;ENTITY JIAODUI ISPORT( K1,K2 :IN STD_LOGIC;MI,FI,SI,TI,YI:IN STD_LOGIC;FO,SO,TL,YO,NO :OUT STD_LOGIC;L1,L2,L3,L4,L5 :OUT STD_LOGIC);END;ARCHITECTURE BEHAV OF JIAODUI ISSIGNAL A: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINPROCESS(K1,K2)BEGINIF K1EVENT AND K1=1 THENA=A+1;IF A=5 THENAFO=M
27、I;SO=FI;TL=SI;YO=TI;NO=YI;L1=0;L2=0;L3=0;L4=0;L5FO=K2;SO=0;TL=0;YO=0;NO=0;L1=1;L2=0;L3=0;L4=0;L5FO=0;SO=K2;TL=0;YO=0;NO=0;L1=0;L2=1;L3=0;L4=0;L5FO=0;SO=0;TL=K2;YO=0;NO=0;L1=0;L2=0;L3=1;L4=0;L5FO=0;SO=0;TL=0;YO=K2;NO=0;L1=0;L2=0;L3=0;L4=1;L5FO=0;SO=0;TL=0;YO=0;NO=K2;L1=0;L2=0;L3=0;L4=0;L5NULL;END CAS
28、E;END PROCESS;END;仿真結(jié)果:圖 15 校時(shí)模塊仿真圖圖 16 校時(shí)模塊仿真圖如圖 15 、16 ,按鍵 K1 ,K2 能夠完成萬(wàn)年歷工作模式的選擇與調(diào)時(shí)校對(duì)的功能,滿(mǎn) 足系統(tǒng)的設(shè)計(jì)要求,設(shè)計(jì)正確。4.1.7 顯示模式切換模塊 顯示模式切換模塊完成顯示年月日和顯示時(shí)分秒的相互切換,設(shè)置一個(gè)按鍵 K3 對(duì)其 進(jìn)行控制,通過(guò)檢測(cè)按鍵的上升沿,對(duì)顯示模式進(jìn)行輪流切換。源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CONTROL ISPORT(SL,SH,FL,FH
29、,HL,HH,DL,DH,ML,MH,YL,YH,Y1L,Y1H:INSTD_LOGIC_VECTOR(3 DOWNTO 0);K1:IN STD_LOGIC;led:OUT STD_LOGIC;Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END CONTROL;ARCHITECTURE ONE OF CONTROL ISSIGNAL W:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(K1)BEGINIF K1EVENT AND K1=1 THEN W=W+1;IF W=2 THEN W
30、Q8=Y1H;Q7=Y1L;Q6=YH;Q5=YL;Q4=MH;Q3=ML;Q2=DH;Q1=DL;ledQ8=0000;Q7=0000;Q6=HH;Q5=HL;Q4=FH;Q3=FL;Q2=SH;Q1=SL;l edNULL;END CASE;END PROCESS;END;仿真結(jié)果:如圖 16 所示,當(dāng)按鍵 K1 沒(méi)有按下時(shí) Q1 到 Q6 顯示的是年月日部分, 此時(shí)的指示燈LED 為零(不亮),當(dāng)按鍵 K1 按下一次,檢測(cè)到一次上升沿, Q1 到 Q6 顯示的是時(shí)分 秒部分,此時(shí)的指示燈 LED 為 1(亮),當(dāng) K1 鍵再次按下時(shí), 上升沿一到, 顯示年月日, 這樣通過(guò)按鍵 K1 可以
31、實(shí)現(xiàn)顯示模式的切換。設(shè)計(jì)符合系統(tǒng)的要求,設(shè)計(jì)正確圖 17 顯示模塊仿真圖4.2 頂層設(shè)計(jì)與仿真頂層設(shè)計(jì)采樣原理圖輸入方法, 用以上的各模塊的 VHDL 源程序分別生成元器件, 在 此基礎(chǔ)上用“導(dǎo)線”對(duì)元器件進(jìn)行連接,搭建原理圖,完成系統(tǒng)的頂層設(shè)計(jì),而不是利用 元件例化程序去設(shè)計(jì)。對(duì)于較為復(fù)雜的系統(tǒng)而言,采用原理圖輸入的設(shè)計(jì)方法思路更加清 晰,設(shè)計(jì)更加直觀。頂層原理圖的設(shè)計(jì)框架如圖 4 所示,有年、月、日、時(shí)、分、秒計(jì)時(shí)模塊,調(diào)時(shí)校對(duì) 模塊,顯示模式切換模塊,并且由以上討論知萬(wàn)年歷一共有六種工作模式。仿真結(jié)果:如圖 18 所示,此時(shí)萬(wàn)年歷工作于模式 0 ,屬于正常的計(jì)時(shí)狀態(tài),當(dāng)?shù)臀挥?jì)滿(mǎn)時(shí)向高位進(jìn)
32、 1,通過(guò)鍵 K3, 可以對(duì)顯示模式進(jìn)行切換,從顯示時(shí)分秒轉(zhuǎn)換到顯示年月日,正確的 實(shí)現(xiàn)了系統(tǒng)的計(jì)時(shí)功能圖 18 萬(wàn)年歷仿真圖圖 19 萬(wàn)年歷仿真圖圖 20 萬(wàn)年歷仿真圖如圖 19 、20 所示,通過(guò)按鍵 K1 可以進(jìn)行工作模式的選擇,按鍵 K2 進(jìn)行數(shù)值的校對(duì) 設(shè)定,按鍵 K3 進(jìn)行顯示模式的切換,與設(shè)計(jì)的要求相符合。綜上所述,整個(gè)系統(tǒng)設(shè)計(jì)正 確,萬(wàn)年歷能夠正確的實(shí)現(xiàn)功能。4. 下載驗(yàn)證4.3.1 電路結(jié)構(gòu)選擇 程序、原理圖仿真正確后,下一步通過(guò)把頂層原理圖輸入的設(shè)計(jì)程序下載到試驗(yàn)箱中 的實(shí)際芯片中,完成硬件電路的設(shè)計(jì)搭建并驗(yàn)證其功能。輸入的頂層原理圖如圖 4 所示。目標(biāo)芯片選擇 EP1K3
33、0TC144-3 ,實(shí)驗(yàn)箱中的電路結(jié)構(gòu)選擇模式 NO.3 ,如圖 21 所示,其本身附帶了顯示譯碼的功能,無(wú)需在程序、原理圖中設(shè)計(jì)七段顯示譯碼的模塊就可以在數(shù)碼管中進(jìn)行顯示,同時(shí)配置有 8 個(gè)按鍵輸入端3實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)PIO19-PIO16PIO23-PIO20PIO27-PIO24PIO31-PIO28PIO35-PIO32REKAEPD8PIO15D7PIO14D6PIO13D5PIO12D4PIO11D3PIO10D2PIO9D1PIO8PIO39-PIO36PIO43-PIO40PIO47-PIO44FPGA/CPLD實(shí)實(shí)實(shí)實(shí)PIO15-PIO8PIO
34、7PIO6PIO5PIO4PIO3PIO2D16 D15 D14 D13 D12 D11 D10PIO1PIO0實(shí)8實(shí)7實(shí)6實(shí)5實(shí)4實(shí)3圖 21 實(shí)驗(yàn)電路結(jié)構(gòu)圖 No.3實(shí)2實(shí)1實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)實(shí)NO.34.3.2 端口配置將頂層原理圖中輸入輸出端引腳與試驗(yàn)箱中的輸入輸出引腳進(jìn)行匹配,才可以進(jìn)行下載驗(yàn)證。表 1 GW48CK/GK/EK/PK2 系統(tǒng)萬(wàn)能接插口與結(jié)構(gòu)圖信號(hào) / 與芯片引腳對(duì)照表上名 圖號(hào) 構(gòu)信 結(jié)的CC 1 0 848- W48 K20 QCK3 0T 4G 1C 4腳號(hào)引引腳名 稱(chēng)號(hào) 腳 引稱(chēng) 名 腳 引號(hào) 腳 引稱(chēng) 名 腳 引腳號(hào) 引號(hào)稱(chēng) 名 腳 引0O7O220O80O10O
35、1OP8O5221O91O21O2OP9O6222O012O32O3O1O1323O23O43O4OP2O2304O34O54O5OP3O2325O715O65O6OP4O3326O86O76O7OP5O2347O97O017O8OP71O5328O208O19OP8O6329O219O32F1 RE B01OP2O2301O2201O3301O11 O P25O8321O231O341O21 O P26O9322O262O352O31 O P2O231O231O3631O41 O P28O34O284O34O51 O P29O45O295O385O61 O P30O76O306O396O71
36、 O P31O87O317O07O81 O P36O98O328O148O91 O P3O019O339O29OO238O1O236O247O212 O P39O3O213O218O2122O0O622O3822O922O32O14O7132O3932O5032OO24O8O214O251O252O5O2052O252O5252O62O311O13162O6562O662O72 O P4O331O26O268O282O5O34182O6882O6982O92O6O53192O6992O092OO309O631O300O3071O3013 O P02O831O312O312O3123O21O31
37、23O323O323O33O22O65133O833O433OO3452O51O349O345O3453O621O6153O8053O653OPIO36127I/O161I/O3681I/O3677I/O36PIO37128I/O163I/O3782I/O3778I/O37PIO38131I/O164I/O3883I/O3883I/O38PIO39132I/O166I/O3986I/O3984I/O39PIO40133I/O169I/O4087I/O4085I/O40PIO41134I/O170I/O4188I/O4196I/O41PIO42135I/O171I/O4289I/O4297I/O
38、42PIO43136I/O172I/O4390I/O4398I/O43PIO44139I/O173I/O4491I/O4499I/O44PIO45140I/O174I/O4592I/O45103I/O45PIO46141I/O178I/O4695I/O46105I/O46PIO47142I/O180I/O4796I/O47106I/O47PIO48143I/O182I/O4897I/O48107I/O48PIO49144I/O183I/O4998I/O49108I/O49PIO60202PIO60223PIO60137PIO60131PIO60PIO61203PIO61222PIO61138P
39、IO61132PIO61PIO62204PIO62221PIO62140PIO62133PIO62PIO63205PIO63220PIO63141PIO63134PIO63PIO64206PIO64219PIO64142PIO64139PIO64PIO65207PIO65217PIO65143PIO65140PIO65PIO66208PIO66216PIO66144PIO66141PIO66PIO6710PIO67215PIO677PIO67142PIO67PIO6899PIO68197PIO68119PIO68122PIO68PIO69100PIO69198PIO69118PIO69121PIO69PIO70101PIO70200PIO70117PIO70120PIO70PIO71102PIO71201PIO71116PIO71119PIO71PIO72103PIO72202PIO72114PIO72114PIO72PIO73104PIO73203PIO73113PIO73113PIO73PIO74111PIO74204PIO74112PIO74112PIO74P
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六一活動(dòng)喜茶活動(dòng)方案
- 六一活動(dòng)超市活動(dòng)方案
- 六一游園活動(dòng)活動(dòng)方案
- 六一甜品diy活動(dòng)方案
- 六一美德少年活動(dòng)方案
- 六一讀書(shū)活動(dòng)方案
- 六一車(chē)位營(yíng)銷(xiāo)活動(dòng)方案
- 六一雪糕接龍活動(dòng)方案
- 六周年蛋糕活動(dòng)方案
- 六年級(jí)學(xué)校美德活動(dòng)方案
- 2025蘭州資源環(huán)境職業(yè)技術(shù)大學(xué)輔導(dǎo)員考試試題及答案
- 上海中考:地理高頻考點(diǎn)
- 道路工程平移合同協(xié)議
- 續(xù)簽采購(gòu)合同范本(標(biāo)準(zhǔn)版)
- 肺癌介入治療進(jìn)展
- GB/T 3091-2025低壓流體輸送用焊接鋼管
- 2025年上半年江蘇常州大學(xué)一般管理崗和專(zhuān)技崗招聘37人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2025春國(guó)開(kāi)《金融基礎(chǔ)》形考任務(wù)1-5答案
- 2024-2025學(xué)年蘇教版七年級(jí)生物下冊(cè)知識(shí)點(diǎn)復(fù)習(xí)提綱
- 知識(shí)創(chuàng)業(yè)思維與方法知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春湖南師范大學(xué)
- 焊工(初級(jí))實(shí)操理論考試1000題及答案
評(píng)論
0/150
提交評(píng)論