基于VHDL萬年歷的設計_第1頁
基于VHDL萬年歷的設計_第2頁
基于VHDL萬年歷的設計_第3頁
基于VHDL萬年歷的設計_第4頁
基于VHDL萬年歷的設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——基于VHDL萬年歷的設計

《EDA技術實用教程》

基于VHDL的萬年歷設計

(EDA試驗報告)

2023年12月28日

前言

本設計為實現(xiàn)一個多功能的萬年歷,具有年、月、日、時、分、秒計時并顯示的功能,顧名思義,其滿量程計時為一萬年;具有校對功能,能夠對初始的時間進行人為的設定。

本設計采用EDA技術,以硬件描述語言VHDL為系統(tǒng)規(guī)律描述手段設計具有萬年歷功能的硬件電路,在QuartusII軟件設計環(huán)境下,采用自頂向下的設計思路,分別對各個基礎模塊進行創(chuàng)立,通過各個基礎模塊的組合和連接來構建上層原理圖,完成基于VHDL萬

基于VHDL萬年歷設計

年歷設計。

系統(tǒng)目標芯片采用EP1K30TC144-3,由時鐘模塊、控制模塊、計時模塊、數(shù)據(jù)譯碼模塊、顯示模塊組成。經(jīng)編譯和仿真所設計的程序,在可編程規(guī)律器件上下載驗證,將硬件編寫程序下載到試驗箱上,選擇模式3進行功能驗證。本系統(tǒng)能夠完成年、月、日和時、分、秒的分別顯示,由按鍵輸入進行萬年歷的校時功能。

目錄

1試驗概述4

1.1EDA技術41.2QuartusII的使用41.3模塊化設計41.4分析、解決問題42試驗內容與要求5

2

基于VHDL萬年歷設計

2.1試驗內容52.1試驗說明52.3試驗要求63試驗原理7

3.1設計思想73.2設計原理圖83.3工作工程94試驗結果10

4.1VHDL程序與仿真104.1.1秒和分模塊104.1.2小時模塊114.1.3日(天)模塊124.1.4月份模塊154.1.5年模塊174.1.6校時模塊194.1.7顯示模式切換模塊214.2頂層設計與仿真234.3下載與驗證254.3.1電路結構選擇254.3.2端口配置264.3.3實際電路驗證29

5試驗小結30基于VHDL萬年歷設計

年/時月/分日/秒圖2萬年歷顯示格式

2.3試驗報告要求

1)分析系統(tǒng)的工作原理。

2)畫出頂層原理圖,寫出頂層文件源程序。3)寫出各功能模塊的源程序。4)仿真各功能模塊,畫出仿真波形。5)書寫試驗報告應結構合理,層次明顯。

3、試驗原理

3.1設計思想

依照模塊化的設計思想,要實現(xiàn)萬年歷的基礎功能,必定要包含年、月、日和時、分、

6

基于VHDL萬年歷設計

秒的功能模塊,其中秒和分可以用六十進制計數(shù)器來實現(xiàn),時用二十四進制計數(shù)器實現(xiàn),月用十二進制計數(shù)器來實現(xiàn),年的低兩位和高兩位都是一百進制計數(shù)器,比較特別的是天的計數(shù)器,由于它有四種狀況,大月三十一天,小月三十天,平年二月二十八天,閏年二月有二十九天,所以年和月的模塊對天的計數(shù)都有影響,需要從年和月的輸出端引出控制信號來控制天的計數(shù)。同時每個計數(shù)器都有顯示輸出端和進位輸出端,同時低級別(如秒)的進位輸出要給較高級別(如分)的時鐘輸入端,以此類推,采用串行工作方式進行連接。從而完成了基礎的計時和顯示的功能。

再依照由基礎功能到加強功能的設計思路,要實現(xiàn)校時功能,要在之前電路的基礎之上增加一個校時控制模塊,增加兩個按鍵來實現(xiàn)控制,按鍵1來選擇校對哪一個模塊,按鍵2選擇校對到何值——檢測到按鍵2的一個上升沿,對應的計數(shù)器加1。除此之外還需要有顯示模式的切換的功能,需要增加一個模式切換的控制模塊,通過增加一個按鍵3來實現(xiàn)控制,是顯示年月日還是時分秒。

3.2試驗原理圖

萬年歷時分秒部分的原理圖如下圖所示,年月日部分與之同理,通過控制可以進行切換。

譯碼驅動時十位計數(shù)譯碼驅動時個位計數(shù)譯碼驅動分十位計數(shù)譯碼驅動分個位計數(shù)譯碼驅動秒十位計數(shù)譯碼驅動秒個位計數(shù)校時控制電路校分控制電路1HZ晶體振蕩器電路分頻器電路分頻器電路圖3萬年歷試驗原理圖

7

基于VHDL萬年歷設計

圖4萬年歷試驗結構框圖

圖5萬年歷試驗結構局部圖

8

基于VHDL萬年歷設計

原理圖說明:

如圖4、5所示,K1鍵是選擇萬年歷工作的模式,K2鍵提供上升沿(時鐘功能)來使各計數(shù)模塊加一,從而實現(xiàn)校時的功能。LED燈起指示作用。

模式0:正常計時顯示--K1不按,LED1到LED5都不亮模式1:調整分增加--K1按下一次,LED1亮其余四個不亮模式2:調整時增加--K1按下兩次,LED2亮其余四個不亮模式3:調整日增加--K1按下三次,LED3亮其余四個不亮模式4:調整月增加--K1按下四次,LED4亮其余四個不亮模式5:調整年增加--K1按下五次,LED5亮其余四個不亮CLK是外部1Hz輸入時鐘,作為秒的時鐘輸入,驅動整個萬年歷工作運行。K3鍵是顯示模式的選擇,顯示時分秒時,LEDSHUCHUMOSHI指示燈亮,顯示年月日時,LEDSHUCHUMOSHI指示燈滅。

3.3工作過程

當1Hz時鐘信號從CLK輸入端輸入時,K1,K2,K3都沒有按下時,系統(tǒng)從零(閏年)開始處于正常的計時模式,顯示時分秒部分,LEDSHUCHUMOSHI指示燈亮。低位計滿歸零并且向高位進1,假使月份是二月,則天計滿29就向月進1。假使按下按鍵3,LEDSHUCHUMOSHI指示燈不亮,顯示年月日部分。假使此時按一下按鍵1,那么萬年歷中止計時,工作于模式1,再通過按鍵2對分進行校時,通過同樣的方法可以對時、日、月、年進行校時。當校時完畢,需要萬年歷重新計時工作時,通過按下鍵1使LED1到LED5都不亮時,系統(tǒng)工作與正常計時模式。

9

基于VHDL萬年歷設計

4、試驗結果

4.1VHDL程序與仿真4.1.1秒與分模塊

秒與分模塊為六十進制的計數(shù)器源程序:LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT60IS

PORT(CLK:INSTD_LOGIC;

Q1,Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);

ENDCNT60;

ARCHITECTUREONEOFCNT60IS

SIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

Q11'0');ENDIF;

IFQ22=5ANDQ11=9THEN

Q22基于VHDL萬年歷設計

圖660進制計數(shù)器仿真圖

如上圖所示當Q1、Q2計滿60時,Q1、Q2都歸零同時有一個進位輸出脈沖,完成了六十進制計數(shù)器的功能,設計正確。

4.1.2小時模塊

時模塊為24進制計數(shù)器。源程序:LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT24IS

ARCHITECTUREONEOFCNT24IS

PORT(CLK:INSTD_LOGIC;

Q1,Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:OUTSTD_LOGIC);

ENDCNT24;

SIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

Q11'0');ENDIF;

11

BEGIN

基于VHDL萬年歷設計

IFQ22=2ANDQ11=3THEN

Q22'0');CQ4NULL;ENDCASE;ENDIF;

CQ1基于VHDL萬年歷設計

cq3NULL;ENDCASE;cq1'0');

Q2'0');

RUNNULL;ENDCASE;ENDPROCESS;END;仿真結果:

圖15校時模塊仿真圖

20

基于VHDL萬年歷設計

圖16校時模塊仿真圖

如圖15、16,按鍵K1,K2能夠完成萬年歷工作模式的選擇與調時校對的功能,滿足系統(tǒng)的設計要求,設計正確。

4.1.7顯示模式切換模塊

顯示模式切換模塊完成顯示年月日和顯示時分秒的相互切換,設置一個按鍵K3對其進行控制,通過檢測按鍵的上升沿,對顯示模式進行輪番切換。源程序:LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCONTROLIS

PORT(SL,SH,FL,FH,HL,HH,DL,DH,ML,MH,YL,YH,Y1L,Y1H:IN

21

STD_LOGIC_VECTOR(3

基于VHDL萬年歷設計

DOWNTO0);

ARCHITECTUREONEOFCONTROLISSIGNALW:STD_LOGIC_VECTOR(1DOWNTO0);BEGIN

PROCESS(K1)BEGIN

IFK1'EVENTANDK1='1'THENWNULL;

ENDCASE;ENDPROCESS;

END;仿真結果:

如圖16所示,當按鍵K1沒有按下時Q1到Q6顯示的是年月日部分,此時的指示燈LED為零(不亮),當按鍵K1按下一次,檢測到一次上升沿,Q1到Q6顯示的是時分秒部分,此時的指示燈LED為1(亮),當K1鍵再次按下時,上升沿一到,顯示年月日,這樣通過按鍵K1可以實現(xiàn)顯示模式的切換。設計符合系統(tǒng)的要求,設計正確。

22

基于VHDL萬年歷設計

圖17顯示模塊仿真圖

4.2頂層設計與仿真

頂層設計采樣原理圖輸入方法,用以上的各模塊的VHDL源程序分別生成元器件,在此基礎上用“導線〞對元器件進行連接,搭建原理圖,完成系統(tǒng)的頂層設計,而不是利用元件例化程序去設計。對于較為繁雜的系統(tǒng)而言,采用原理圖輸入的設計方法思路更加明了,設計更加直觀。

頂層原理圖的設計框架如圖4所示,有年、月、日、時、分、秒計時模塊,調時校對模塊,顯示模式切換模塊,并且由以上探討知萬年歷一共有六種工作模式。仿真結果:

如圖18所示,此時萬年歷工作于模式0,屬于正常的計時狀態(tài),當?shù)臀挥嫕M時向高位進1,通過鍵K3,可以對顯示模式進行切換,從顯示時分秒轉換到顯示年月日,正確的實現(xiàn)了系統(tǒng)的計時功能。

23

基于VHDL萬年歷設計

圖18萬年歷仿真圖

圖19萬年歷仿真圖

24

基于VHDL萬年歷設計

圖20萬年歷仿真圖

如圖19、20所示,通過按鍵K1可以進行工作模式的選擇,按鍵K2進行數(shù)值的校對設定,按鍵K3進行顯示模式的切換,與設計的要求相符合。綜上所述,整個系統(tǒng)設計正確,萬年歷能夠正確的實現(xiàn)功能。

4.3下載驗證4.3.1電路結構選擇

程序、原理圖仿真正確后,下一步通過把頂層原理圖輸入的設計程序下載到試驗箱中

的實際芯片中,完成硬件電路的設計搭建并驗證其功能。輸入的頂層原理圖如圖4所示。目標芯片選擇EP1K30TC144-3,試驗箱中的電路結構選擇模式NO.3,如圖21所示,其本身附帶了顯示譯碼的功能,無需在程序、原理圖中設計七段顯示譯碼的模塊就可以在數(shù)碼管中進行顯示,同時配置有8個按鍵輸入端。

25

基于VHDL萬年歷設計87654321??éù?÷PIO19-PIO16PIO23-PIO20PIO27-PIO24PIO31-PIO28PIO35-PIO32PIO39-PIO36PIO43-PIO40PIO47-PIO44D8D7D6D5D4D3D2D1PIO8FPGA/CPLD??±êD???PIO15-PIO8PIO7PIO6PIO5PIO4PIO3PIO2PIO1PIO0PIO15PIO14PIO13PIO12PIO11PIO10PIO9D16D15D14D13D12D11D10D9?ü8?ü7?ü6?ü5?ü4?ü3?ü2?ü1êμ?éμ??·?á11í?NO.3圖21試驗電路結構圖No.34.3.2端口配置將頂層原理圖中輸入輸出端引腳與試驗箱中的輸入輸出引腳進行匹配,才可以進行下載驗證。表1GW48CK/GK/EK/PK2系統(tǒng)萬能接插口與結構圖信號/與芯片引腳對照表結構圖上的信號名GW48-CCP,GWAK100AEP1K100QC208引腳號PIO0PIO1PIO2PIO378911引腳名稱I/OI/OI/OI/O224225226231I/O0I/O1I/O2I/O326891012I/O0I/O1I/O2I/O3GW48-SOC+/GW48-DSPEP20K200/300EQC240引腳號引腳名稱引腳號引腳名稱引腳號1234I/O0I/O1I/O2I/O3引腳名稱GWAK30/50EP1K30/50TQC144GWAC3EP1C3TC144SPEAKERò????÷ò????÷ò????÷ò????÷ò????÷ò????÷ò????÷ò????÷基于VHDL萬年歷設計

PIO4PIO5PIO6PIO7PIO8PIO9PIO10PIO11PIO12PIO13PIO14PIO15PIO16PIO17PIO18PIO19PIO20PIO21PIO22PIO23PIO24PIO25PIO26PIO27PIO28PIO29PIO30PIO31PIO32PIO33PIO34PIO35PIO36PIO37PIO38PIO39PIO40PIO41PIO42PIO43PIO44PIO45PIO46

12131415171824252627282930313637383940414445113114115116119120121122125126127128131132133134135136139140141I/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/O23023223323423523623723823923478910111316171820131133134135136138143156157160161163164166169170171172173174178I/O4I/O5I/O6I/O7I/O8I/O9I/O10I/O11I/O12I/O13I/O14I/O15I/O16I/O17I/O18I/O19I/O20I/O21I/O22I/O23I/O24I/O25I/O26I/O27I/O28I/O29I/O30I/O31I/O32I/O33I/O34I/O35I/O36I/O37I/O38I/O39I/O40I/O41I/O42I/O43I/O44I/O45I/O4627

13171819202122232627282930313233363738394142656768697072737879808182838687888990919295I/O4I/O5I/O6I/O7I/O8I/O9I/O10I/O11I/O12I/O13I/O14I/O15I/O16I/O17I/O18I/O19I/O20I/O21I/O22I/O23I/O24I/O25I/O26I/O27I/O28I/O29I/O30I/O31I/O32I/O33I/O34I/O35I/O36I/O37I/O38I/O39I/O40I/O41I/O42I/O43I/O44I/O45I/O465671011323334353637383940414247484950515267686970717273747576777883848596979899103105I/O4I/O5I/O6I/O7DPCLK1VREF2B1I/O10I/O11I/O12I/O13I/O14I/O15I/O16I/O17I/O18I/O19I/O20I/O21I/O22I/O23I/O24I/O25I/O26I/O27I/O28I/O29I/O30I/O31I/O32I/O33I/O34I/O35I/O36I/O37I/O38I/O39I/O40I/O41I/O42I/O43I/O44I/O45I/O46基于VHDL萬年歷設計

PIO47PIO48PIO49PIO60PIO61PIO62PIO63PIO64PIO65PIO66PIO67PIO68PIO69PIO70PIO71PIO72PIO73PIO74PIO75PIO76PIO77PIO78PIO79SPEAKERCLOCK0CLOCK2CLOCK5CLOCK9142143144202203204205206207208109910010110210310411111216191471491481821847880I/OI/OI/OPIO60PIO61PIO62PIO63PIO64PIO65PIO66PIO67PIO68PIO69PIO70PIO71PIO72PIO73PIO74PIO75PIO76PIO77PIO78PIO79I/OI/OI/OI/OI/O180182183223222221220219217216215197198200201202203204205212209206207184185181151154I/O47I/O48I/O49PIO60PIO61PIO62PIO63PIO64PIO65PIO66PIO67PIO68PIO69PIO70PIO71PIO72PIO73PIO74PIO75PIO76PIO77PIO78PIO79I/OI/OI/OCLKINCLKIN96979813713814014114214314471191181171161141131121111114110109991265456124I/O47I/O48I/O49PIO60PIO61PIO62PIO63PIO64PIO65PIO66PIO67PIO68PIO69PIO70PIO71PIO72PIO73PIO74PIO75PIO76PIO77PIO78PIO79I/O50INPUT1INPUT3I/O53GCLOK2106107108131132133134139140141142122121120119114113112111143144110109129123124125128I/O47I/O48I/O49PIO60PIO61PI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論