eda數(shù)字電子鐘_第1頁
eda數(shù)字電子鐘_第2頁
eda數(shù)字電子鐘_第3頁
eda數(shù)字電子鐘_第4頁
eda數(shù)字電子鐘_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計說明書唐 山 學 院 EDA技術 課 程 設 計 題 目 數(shù)字電子鐘設計 系 (部) 智能與信息工程學院 班 級 13電本1班 姓 名 馬建雨 學 號 4130208144 指導教師 郭耀華、王默琦、戴彥 2016 年 7 月 4 日至 7 月 8 日 共 1 周2016年 7 月8日目 錄1 引言12 EDA技術簡介22.1 EDA技術的基本特征22.2 硬件描述語言23 QuartusII軟件簡介43.1軟件介紹43.2 QuartusII工作環(huán)境介紹54 課程設計說明84.1設計內容84.2設計要求84.3設計目的84.4設計思路84.5 設計具體方案及實現(xiàn)94.5.1秒、分、時

2、計時模塊94.5.2 動態(tài)顯示模塊114.5.3 整點報時模塊134.5.4 校時模塊144.6 總程序165 總結18參考文獻193課程設計說明書1 引言隨著大規(guī)模集成電路技術和計算機技術的不斷發(fā)展,在涉及通信、國防、航天、醫(yī)學、工業(yè)自動化、計算機應用、儀器儀表等領域的電子系統(tǒng)設計工作中,EDA技術的含量正以驚人的速度上升;電子類的高新技術項目的開發(fā)也愈益依賴于EDA技術的應用。即使是普通的電子技術的開發(fā),EDA技術常常使一些原來的技術瓶頸得以輕松突破,從而使產品的開發(fā)周期大為縮短、性能價格比大幅提高。不言而喻,EDA技術將迅速成為電子設計領域中的極其重要的組成部分。EDA技術的設計語言為V

3、HDL(硬件描述語言),實驗載體為可編程器件CPLD或者FPGA,進行元件模擬和仿真的目標器件為ASIC/SOC芯片。它是一種自動化設計電子產品的過程。在電子設計仿真的領域里,EDA技術的出現(xiàn)具有非常重要的現(xiàn)實意義。EDA源自于計算機輔助設計、制造、測試以及輔助工程。利用EDA工具,設計者們可以從概念、算法、協(xié)議等方面來設計電子系統(tǒng)。值得一提的是,在整個電子系統(tǒng)的設計過程中,設計電路、分析性能、布置IC和PCB版圖等步驟都可以在電腦上自動完成。時鐘是我們日常生活中必備的生活用品之一。而數(shù)字時鐘的出現(xiàn)更是給人們的生產生活帶來了極大的便利。鐘表的數(shù)字化給人們生產生活帶來了極大的方便,而且大大地擴展

4、了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關烘箱、通斷動力設備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字鐘及擴大其應用,有著非?,F(xiàn)實的意義。EDA技術為數(shù)字類產品提供了一個非常簡便實用的開發(fā)平臺。隨著EDA技術的快速發(fā)展,數(shù)字時鐘的應用越來越廣泛,并且它在功能外觀方面也有了很大的改善和提高。本文就是基于EDA技術的基礎知識,利用Quartus2軟件再現(xiàn)一個具有傳統(tǒng)時鐘功能和自動報時功能的數(shù)字時鐘。 數(shù)字鐘采用EDA技術設計,利用硬件描述語言VHDL按模塊化方式設計、編程及時序仿真等。該數(shù)字鐘能實

5、現(xiàn)時、分、秒計數(shù)的顯示功能,且以24小時循環(huán)計時,具有清零的功能,且能夠對計時系統(tǒng)的小時、分鐘進行調整,具有整點報時功能。整個系統(tǒng)包括傳統(tǒng)數(shù)字時鐘所擁有的計時模塊、校時模塊、譯碼顯示模塊以及整點報時模塊。整個系統(tǒng)使用方便,功能齊全,精度高。2 EDA技術簡介電子設計技術的核心就是EDA 技術,EDA是指以計算機為工作平臺,融合應用電子技術、計算機技術、智能化技術、最新成果二研制成的電子CAD通用軟件包,主要能輔助進行三方面的設計工作,即IC設計、電子電路設計和PCB設計。2.1 EDA技術的基本特征EDA代表了當今電子技術的最新發(fā)展方向,它的基本特征是:設計人員按照“自頂向下”的設計方法,對整

6、個系統(tǒng)進行方案設計和功能劃分,系統(tǒng)的關鍵電路用一片或幾片專用集成電路(ASIC)實現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為及設計,最后通過綜合器和適配器生成最終的目標器件,這樣的設計被稱為高層次的電子設計方法。這種設計方法首先從系統(tǒng)設計入手,在頂層進行功能方框圖的劃分和結構設計。在方框圖一級進行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進行描述,在系統(tǒng)一進行享驗證。然后,用綜合優(yōu)化工具生成具體門電路的網絡表,其對應的物理實現(xiàn)既可以是印刷電路板或專用集成電路。由于設計的主要仿真和調試過程實在高層次上完成的,這既有利于早期發(fā)現(xiàn)結構設計上的一些錯誤,避免設計工作的浪費,又減少了邏輯功能仿真

7、的工作量,提高了設計的一次成功率。2.2 硬件描述語言 硬件描述語言是一種用于設計硬件電子系統(tǒng)的計算機語言,它用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、電路結構和連接形式,與傳統(tǒng)的門級描述方式相比,它更適合大規(guī)模系統(tǒng)的設計。例如一個32位的加法器,利用圖形輸入軟件需要輸入500至1000個門,而利用VHDL語言只需要書寫一行A=B+C即可。而且VHDL語言可讀性強,易于修改和發(fā)現(xiàn)錯誤。早期的硬件描述語言,如ABEL、HDL、AHDL,由不同的EDA廠商開發(fā),互不兼容,而且不支持多層次設計,層次間翻譯工作要由人工完成。為了克服以上不足,1985年美國國防部正式推出了高速集成電路硬件描述語言VHD

8、L,1987年IEEE采納VHDL為硬件描述語言標準(IEEESTD1067)。VHDL是一種全方位的硬件描述語言,包括系統(tǒng)行為級、寄存器傳輸級和邏輯門級多個設計層次,支持結構、數(shù)據(jù)流和行為三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂向下或者自底向上的電子設計過程都可以用VHDL來完成。VHDL還具有以下優(yōu)點:(1)VHDL的寬范圍描述能力使它成為高層次設計的核心,將設計人員的工作重心提高到了系統(tǒng)功能的實現(xiàn)與調試,而花較少的精力于物理實現(xiàn).(2)VHDL可以用簡潔明確的代碼描述來進行復雜控制邏輯的設計,靈活且方便,而且也便于設計結果的交流、保存和重用。(3

9、)VHDL的設計不依賴于特定的期間,方便了工藝的轉換。(4)VHDL是一個標準語言,為眾多的EDA廠商支持,因此移植性好。VHDL主要用于描述數(shù)字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風格以及語法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL

10、系統(tǒng)設計的基本點。與其他的硬件描述語言相比,VHDL的優(yōu)勢在于:(1)VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。(3)VHDL語句的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。(4)對于用VHDL完成的一個確定的設計,可以利用EDA工

11、具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設計轉變成門級網表。(5)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。3 QuartusII軟件簡介3.1軟件介紹Quartus II 是Altera公司的綜合性PLD/FPGA開發(fā)軟件,原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程。Quartus II可以在XP、Linux以及Unix上使用,除

12、了可以使用Tcl腳本完成設計流程外,提供了完善的用戶圖形界面設計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方EDA工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結合,可以方便地實現(xiàn)各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)、可編程邏輯設

13、計于一體,是一種綜合性的開發(fā)平臺。Quartus II提供了完全集成且與電路結構無關的開發(fā)包環(huán)境,具有數(shù)字邏輯設計的全部特性,包括:可利用原理圖、結構框圖、VerilogHDL、AHDL和VHDL完成電路描述,并將其保存為設計實體文件;芯片(電路)平面布局連線編輯;LogicLock增量設計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊;功能強大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時/時序分析與關鍵路徑延時分析;可使用SignalTap II邏輯分析工具進行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編

14、譯方式可一次完成整體設計流程;自動定位編譯錯誤;高效的期間編程與驗證工具;可讀入標準的EDIF網表文件、VHDL網表文件和Verilog網表文件;能生成第三方EDA軟件使用的VHDL網表文件和Verilog網表文件。3.2 QuartusII工作環(huán)境介紹1啟動QuartusII,進入如圖3.1管理器窗口:圖3.1 QuartusII管理器窗口2新建工程,如圖3.2所示:圖3.2.2 新建工程工程項目目錄工程名稱項目頂層設計實體名稱圖3.2 新建工程3代碼輸入:執(zhí)行File菜單下的New命令,點擊VHDL File。如圖3.3所示:圖3.3 代碼輸入界面4進行程序仿真,如圖3.4所示:圖3.4

15、功能仿真界面5建立波形文件,進行波形仿真。執(zhí)行File菜單下的New命令,點擊Vector Waveform File。如圖3.5所示:圖3.5 功能仿真界面4 課程設計說明4.1設計內容在本次課程設計中使用QuartusII軟件并基于實驗室現(xiàn)有的EDA實驗箱,實現(xiàn)數(shù)字電子鐘的設計:(1)設計一個能進行時、分、秒計時數(shù)字鐘。(2)能對時、分和秒進行手動調節(jié)以校準時間。(3)具有整點報時功能,通過選擇此功能,能在整點時間發(fā)出報時聲音。(4)系統(tǒng)具有整體復位功能(5)進階設計:報時聲響為四低一高,最后一響正好為整點4.2設計要求(1) 根據(jù)任務要求確定電路各功能模塊;(2) 寫出設計程序并給出時序

16、仿真結果;(3) 最后要有設計總結;4.3設計目的(1) 加深對VHDL語言設計的理解并熟悉QuartusII軟件的工作方法及應用。(2) 通過設計加深對EDA課程的理解并了解簡易集成電路的設計思路。(3) 熟悉QuartusII軟件的工作方法及應用技術。4.4設計思路顯示LED1(4位)秒計時模塊clk用于正常計時本設計包含:校時模塊、秒、分計時模塊(60進制計數(shù)器)、時計時模塊(24進制計數(shù)器)、數(shù)碼顯示模塊、整點報時模塊。具體框圖如圖4.1所示:moshi=1moshi=0顯示LED2(4位)分計時模塊校時模塊控制鍵moshi moshi=2整點報時時計時模塊控制鍵anjian mosh

17、i=3圖4.1 設計框圖4.5 設計具體方案及實現(xiàn)4.5.1秒、分、時計時模塊(1)秒、分計時模塊的設計原理秒、分計時模塊實質上是一個60進制計數(shù)器其設計思想是將輸入脈沖進行計數(shù),每來一個上升沿記一次數(shù),當計到60是清零并且進位端輸出1,否則輸出0。而秒計時的進位端用于控制分計時的clk脈沖,分計時的進位端用于控制小時計時的clk脈沖。小時計時模塊則是一個24進制計數(shù)器,與前兩個不同的是其在計到24時清零但不需要使用進位輸出端。(以下均以秒計時為例分析)(2)程序如下:library ieee;use ieee.std_logic_1164.all;entity miao is port(cl

18、k,rst:in std_logic;m1,m2:out std_logic_vector(3 downto 0);-m1為秒的低位;m2為秒的高位; cin:out std_logic);end miao;architecture bhv of miao isbeginprocess(clk,rst)variable temp1:integer range 0 to 10;variable temp2:integer range 0 to 6;beginif rst=1 then temp1:=0;temp2:=0;elsif clkevent and clk=1 then temp1:=t

19、emp1+1;if temp1=10 then temp1:=0; temp2:=temp2+1;if temp2=6 then temp2:=0; cin=1;else cinm1m1m1m1m1m1m1m1m1m1null;end case;case temp2 iswhen 0=m2m2m2m2m2m2null;end case;end process;end bhv;(3)波形仿真在Quartus II軟件輸入上述代碼,再通過編譯和時序仿真,可得到如下的仿真波形。如圖4.2所示:圖4.2 仿真波形(4)將我們設計的計時模塊電路編譯成庫中的一個元件。如下圖所示:圖4.3秒計時元件圖4.4

20、分計時元件圖4.5 時計時元件4.5.2 動態(tài)顯示模塊(1)動態(tài)顯示模塊的設計原理將計時模塊的輸出作為顯示模塊的輸入,用動態(tài)掃描的方式實現(xiàn)四位二進制的七段數(shù)碼顯示。本設計采用了兩個四位七段數(shù)碼顯示模塊實現(xiàn)XXXXXX。(2)設計程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY xianshi1 IS PORT (c1,c2,c3: IN STD_LOGIC_VECTOR(3 DOWNTO 0); clk : IN st

21、d_logic; rst : IN std_logic; led_out1 : OUT std_logic_vector(7 DOWNTO 0); led_bit1 : OUT std_logic_vector(3 DOWNTO 0); END xianshi1 ;ARCHITECTURE bhv OF xianshi1 ISsignal dongtai : std_logic_vector(5 downto 0 );signal data : std_logic_vector(3 downto 0);signal m_bit: std_logic_vector(3 downto 0);beg

22、in process(clk,rst) begin if(rst=1)then dongtai=000000; elsif(clkevent and clk=1)then dongtai m_bit m_bit m_bit m_bit m_bit data data data data data led_out1 led_out1 led_out1 led_out1 led_out1 led_out1 led_out1 led_out1 led_out1 led_out1 led_out1 null; END CASE; END PROCESS; led_bit1=m_bit;end bhv;

23、(4) 將動態(tài)顯示模塊編譯為庫中的元件,如下圖所示: 圖4.7 顯示模塊2圖4.6 顯示模塊1a4.5.3 整點報時模塊(1)模塊設計原理本次設計中要求完成進階設計:報時聲響為四低一高,最后一響正好為整點。所以在設計中用case語句對alarm進行賦值,例如當分計時模塊輸出為59,而秒計時模塊為56、57、58、59時,對alarm賦低頻clk;當秒、分計時模塊輸出都為00時,對alarm賦1;其他情況時對alarm賦0;(2)設計程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use iee

24、e.std_logic_unsigned.all;entity baoshi isport(clk:in std_logic; m1,m2,f1,f2,h1,h2:in std_logic_vector(3 downto 0); alarm:out std_logic);end baoshi;architecture bhv of baoshi is signal a:std_logic;beginprocess(clk)variable cnt:integer range 0 to 10000; variable c:std_logic;beginif clkevent and clk=1

25、then if cnt10000 then cnt:=cnt+1;else cnt:=0; c:=not c; end if; end if;a=c; end process;process(f1,f2,m1,m2)beginif f1=0000 and f2=0000 and m1=0000 and m2=0000 then alarm=1;elsif f1=1001 and f2=0101 and m1=0110 and m2=0101 then alarm=a;elsif f1=1001 and f2=0101 and m1=0111 and m2=0101 then alarm=a;e

26、lsif f1=1001 and f2=0101 and m1=1000 and m2=0101 then alarm=a;elsif f1=1001 and f2=0101 and m1=1001 and m2=0101 then alarm=a;else alarmout1=c1;out2=c2;out3out1=k2;out2=1;out3out1=1;out2=k2;out3out1=1;out2=1;out3null;end case; end process; end bhv; (3)將整點報時模塊編譯為庫中的元件,如圖4.9所示:圖4.9 調時元件4.6 總程序 (1)設計思想將各個模塊生成元件,最后采用原理圖的方式將輸入輸出對應好以完成各個單獨模塊的綜合來構成最后的主程序。 (2)構建原理圖,如圖4.10所示: 圖4.10 原理圖(3)對原理圖進行仿真得到仿真波形,如圖4.11所示:圖4.11 仿真波形5 總結本學期我們開設了VHDL數(shù)字電路設計教程,這門學科屬于電子和通信信息技術范疇,與我們的專業(yè)有著密切的聯(lián)系,且是理論方面的指示。正所謂“紙上談兵終覺淺,覺知此事要躬行?!睂W習任何知識,僅從理論上去求知,而不去實踐、探索是不夠的,所以在本學期暨VHDL數(shù)字電路設計剛學完之際,緊接

溫馨提示

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

評論

0/150

提交評論