基于VHDL的秒表設(shè)計(jì)_第1頁(yè)
基于VHDL的秒表設(shè)計(jì)_第2頁(yè)
基于VHDL的秒表設(shè)計(jì)_第3頁(yè)
基于VHDL的秒表設(shè)計(jì)_第4頁(yè)
基于VHDL的秒表設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1引言EDA(Electronic Design Automation,電子設(shè)計(jì)自動(dòng)化)技術(shù)是現(xiàn)代電子工程領(lǐng)域的一門新技術(shù)。它提供了基于計(jì)算機(jī)和信息技術(shù)的電路系統(tǒng)設(shè)計(jì)方法。EDA技術(shù)的發(fā)張和推廣應(yīng)用極大地推動(dòng)了電子工業(yè)的發(fā)展。EDA技術(shù)就是以計(jì)算機(jī)為工具,在EDA軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言VHDL為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件自動(dòng)地完成邏輯編譯,邏輯化簡(jiǎn),邏輯分割,邏輯綜合及優(yōu)化,邏輯布局布線,邏輯仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯,邏輯映射和編程下載等工作。設(shè)計(jì)者的工作僅限于利用軟件的方式,即利用硬件描述語(yǔ)言來(lái)完成對(duì)系統(tǒng)硬件功能的描述,在EDA工具的幫助下就可以得到最后的設(shè)計(jì)結(jié)果1。近

2、年來(lái),集成電路制造技術(shù)的快速發(fā)展, 一方面促進(jìn)了相應(yīng)設(shè)計(jì)技術(shù)的發(fā)展, 另一方面也對(duì)設(shè)計(jì)技術(shù)提出了更高的要求。當(dāng)前集成電路設(shè)計(jì), 面臨著功能強(qiáng)、性能好、規(guī)模大、成本低、設(shè)計(jì)周期短等一系列要求和挑戰(zhàn), 這些要求和挑戰(zhàn)引起了集成電路設(shè)計(jì)方法的全面革新。當(dāng)今, 以行為設(shè)計(jì)為主要標(biāo)志的新一代數(shù)字系統(tǒng)設(shè)計(jì)理論已形成并得到發(fā)展。在集成電路的數(shù)字系統(tǒng)的系統(tǒng)級(jí)設(shè)計(jì)中, VHDL 硬件描述語(yǔ)言構(gòu)造的描述模型優(yōu)化設(shè)計(jì), 有利于高效利用設(shè)計(jì)空間, 實(shí)現(xiàn)設(shè)計(jì)結(jié)構(gòu)的精確分析, 使芯片資源得以充分利用。1.1課題的背景、目的在新世紀(jì),電子技術(shù)獲得了飛速的發(fā)展,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)

3、展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。隨著科學(xué)技術(shù)的不斷發(fā)展人們?cè)诿氡淼脑O(shè)計(jì)上功能不斷完善,各類秒表都發(fā)揮出自己的特點(diǎn)。數(shù)字秒表在各類大小比賽中的應(yīng)用也越來(lái)越廣泛。除了時(shí)間的設(shè)計(jì)精確外,秒表還具有啟動(dòng)、復(fù)位、停止功能。而現(xiàn)在許多的公司生產(chǎn)的秒表不僅僅具有計(jì)時(shí)功能,還有多次計(jì)時(shí)功能。本次設(shè)計(jì)秒表適用于各類時(shí)間比賽,具有靈敏度高,電路簡(jiǎn)單,操作方便的特點(diǎn),適合一次計(jì)時(shí)比賽用?,F(xiàn)今電子信息類產(chǎn)品的開發(fā)明顯地出現(xiàn)了兩個(gè)特點(diǎn):一是開發(fā)產(chǎn)品的復(fù)雜程度加深;二是開發(fā)產(chǎn)品的上市時(shí)限緊迫。而伴隨著如上兩個(gè)特點(diǎn)的產(chǎn)生,相應(yīng)的出現(xiàn)了設(shè)計(jì)上的兩個(gè)問(wèn)題。其一,在電子

4、系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化的今天,電子廠商們?cè)郊悠惹械刈非箅娮赢a(chǎn)品的高功能、優(yōu)品質(zhì)、低成本、微功耗和微小封裝尺寸,從而使得電子設(shè)計(jì)日趨復(fù)雜。那么如何去完成這些高復(fù)雜度的電子設(shè)計(jì)呢?其二,電子產(chǎn)品設(shè)計(jì)周期短和上市快是電子廠商們堅(jiān)持不懈的追求,那么面對(duì)日趨復(fù)雜的設(shè)計(jì),又如何能夠縮短開發(fā)時(shí)間呢?解決以上兩個(gè)問(wèn)題的唯一途徑是電子設(shè)計(jì)自動(dòng)化(EDA),即用計(jì)算機(jī)幫助設(shè)計(jì)人員完成繁瑣的設(shè)計(jì)工作。1.2課題設(shè)計(jì)主要內(nèi)容 秒表的邏輯結(jié)構(gòu)比較簡(jiǎn)單,它主要由顯示譯碼器、分頻器、十進(jìn)制計(jì)數(shù)器、報(bào)警器和六進(jìn)制計(jì)數(shù)器組成。在整個(gè)秒表中最關(guān)鍵是如何獲得一個(gè)精確的100Hz計(jì)時(shí)脈沖,除此之外,整個(gè)秒表還需要一個(gè)啟

5、動(dòng)信號(hào)和一個(gè)歸零信號(hào),以便能夠隨時(shí)啟動(dòng)及停止。秒表有六個(gè)輸出顯示,分別為百分之一秒,十分之一秒、秒、十秒、分、十分,所以共有6個(gè)計(jì)數(shù)器與之對(duì)應(yīng),6個(gè)計(jì)數(shù)器全為BCD碼輸出,這樣便于同時(shí)顯示譯碼器的連接。當(dāng)計(jì)時(shí)達(dá)60分鐘后,蜂鳴器鳴響10聲。2 開發(fā)工具簡(jiǎn)介2.1MAX+PLUS的介紹Max+plus是Altera公司提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。Max+plus界面友好,使用便捷,被譽(yù)為業(yè)界最易用易學(xué)的EDA軟件。在Max+plus上可以完成設(shè)計(jì)輸入、元件適配、時(shí)序仿真和功能仿真、編程下載整個(gè)流程,它提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,是

6、設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。MAX+PLUS的編譯器還提供了強(qiáng)大的邏輯綜合與優(yōu)化功能,使用戶比較容易地將設(shè)計(jì)集成到器件中。設(shè)計(jì)輸入MAX+plus II軟件的設(shè)計(jì)輸入方式有多種,主要包括原理圖輸入方式、文本輸入方式、波形設(shè)計(jì)輸入方式、層次設(shè)計(jì)輸入方式和底層設(shè)計(jì)輸入方式。因此,設(shè)計(jì)人員可以根據(jù)自己的實(shí)際情況靈活選擇使用。設(shè)計(jì)編譯MAX+plus II編譯一個(gè)設(shè)計(jì)時(shí),Compiler在設(shè)計(jì)文件中讀取信息并產(chǎn)生編程文件和仿真文件,Message Processor(信息處理程序)可自動(dòng)定位錯(cuò)誤。設(shè)計(jì)校驗(yàn)設(shè)計(jì)校驗(yàn)過(guò)程包括設(shè)計(jì)仿真和定時(shí)分析,仿真起的作用是測(cè)試邏輯操作和設(shè)計(jì)功能的完備

7、性;Timing Analyzer(定時(shí)分析程序)可分析設(shè)計(jì)的定時(shí)和延時(shí)情況。器件編程 MAX+plus II Programmer是使用Compiler生成的編程文件對(duì)Altera器件進(jìn)行編程的。它可以用來(lái)對(duì)器件編程、校驗(yàn)和試驗(yàn),是對(duì)設(shè)計(jì)功能進(jìn)行的測(cè)試。Altera公司器件的編程方法有許多種,可根據(jù)具體情況選擇使用。編譯生成的配置文件經(jīng)計(jì)算機(jī)并行通信口接到Altera專用編程電纜上,再接到器件的編程接口6,利用應(yīng)用軟件提供的編程軟件,Programmer即可對(duì)器件進(jìn)行配置。這種方法的優(yōu)點(diǎn)是配置方便、迅速,便于修改。MAX+plus2在Windows 2000/XP上一旦安裝完畢,經(jīng)過(guò)設(shè)置即可

8、使用硬件下載功能。在Windows 2000上除了安裝軟件外,為了使用ByteBlaster(MV)下載功能,還必須安裝硬件驅(qū)動(dòng)(Drivers)以支持MAX+plus2對(duì)PC機(jī)并行口的操作。2.2EDA技術(shù)一、什么是EDAEDA在通信行業(yè)(電信)里的另一個(gè)解釋是企業(yè)數(shù)據(jù)架構(gòu),EDA給出了一個(gè)企業(yè)級(jí)的數(shù)據(jù)架構(gòu)的總體視圖,并按照電信企業(yè)的特征,進(jìn)行了框架和層級(jí)的劃分。EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的。

9、20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、

10、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過(guò)程的計(jì)算機(jī)上自動(dòng)處理完成?,F(xiàn)在對(duì)EDA的概念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機(jī)制造過(guò)程中,從設(shè)計(jì)、性能測(cè)試及特性

11、分析直到飛行模擬,都可能涉及到EDA技術(shù)。二、設(shè)計(jì)方法 (1) 前端設(shè)計(jì)(系統(tǒng)建模RTL 級(jí)描述)后端設(shè)計(jì)(FPGAASIC)系統(tǒng)建模(2) IP 復(fù)用(3) 前端設(shè)計(jì)(4) 系統(tǒng)描述:建立系統(tǒng)的數(shù)學(xué)模型。(5) 功能描述:描述系統(tǒng)的行為或各子模塊之間的數(shù)據(jù)流圖。(6) 邏輯設(shè)計(jì):將系統(tǒng)功能結(jié)構(gòu)化,通常以文本、原理圖、邏輯圖、布爾表達(dá)式來(lái)表示設(shè)計(jì)結(jié)果。(7) 仿真:包括功能仿真和時(shí)序仿真,主要驗(yàn)證系統(tǒng)功能的正確性及時(shí)序特性。三、EDA工具軟件 EDA工具軟件可大致可分為芯片設(shè)計(jì)輔助軟件、可編程芯片輔助設(shè)計(jì)軟件、系統(tǒng)設(shè)計(jì)輔助軟件等三類。目前進(jìn)入我國(guó)并具有廣泛影響的EDA軟件是系統(tǒng)設(shè)計(jì)軟件輔助類和

12、可編程芯片輔助設(shè)計(jì)軟件:Protel、PSPICE、multiSIM10(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim,ISE,modelsim等等。這些工具都有較強(qiáng)的功能,一般可用于幾個(gè)方面,例如很多軟件都可以進(jìn)行電路設(shè)計(jì)與仿真,同進(jìn)還可以進(jìn)行PCB自動(dòng)布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。EDA工具軟件廠商三巨頭:Synopsys、Mentor Graphics、Cadence。2.3硬件描述語(yǔ)言VHDLVHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language

13、,誕生于1982年。1987年底,VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡(jiǎn)稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡(jiǎn)稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,又得到眾多EDA公司的支持

14、,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。有專家認(rèn)為,在新的世紀(jì)中,VHDL于Verilog語(yǔ)言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。 VHDL語(yǔ)言是一種用于電路設(shè)計(jì)的高級(jí)語(yǔ)言。它在80年代的后期出現(xiàn)。最初是由美國(guó)國(guó)防部開發(fā)出來(lái)供美軍用來(lái)提高設(shè)計(jì)的可靠性和縮減開發(fā)周期的一種使用范圍較小的設(shè)計(jì)語(yǔ)言 。VHDL的英文全寫是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻譯成中文就是超高速集成電路硬件描述語(yǔ)言。因此它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計(jì)中。目前,它在中國(guó)的應(yīng)用多數(shù)是用在FPGA/CPL

15、D/EPLD的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為雄厚的單位,它也被用來(lái)設(shè)計(jì)ASIC。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn) VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)與其他

16、硬件描述語(yǔ)言相比,VHDL具有以下特點(diǎn):功能強(qiáng)大、設(shè)計(jì)靈活。VHDL具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu),可以用簡(jiǎn)潔明確的源代碼來(lái)描述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后可直接生成電路級(jí)描述。VHDL支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì),這是其他硬件描述語(yǔ)言雖不能比擬的。VHDL還支持各種設(shè)計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。支持廣泛、易于修改。由于VHDL已經(jīng)成為IEEE標(biāo)準(zhǔn)所規(guī)范的硬件描述語(yǔ)言,目前大多數(shù)EDA工具幾乎都支持VHDL,這為VHDL的進(jìn)一步推廣和廣泛應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計(jì)過(guò)程中,主要的設(shè)計(jì)文件是用VHDL編

17、寫的源代碼,因?yàn)閂HDL易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。強(qiáng)大的系統(tǒng)硬件描述能力。VHDL具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級(jí)電路,又可以描述門級(jí)電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級(jí)描述。另外,VHDL支持慣性延遲和傳輸延遲,還可以準(zhǔn)確地建立硬件電路模型。VHDL支持預(yù)定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來(lái)較大的自由度,使設(shè)計(jì)人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。獨(dú)立于器件的設(shè)計(jì)、與工藝無(wú)關(guān)。設(shè)計(jì)人員用VHDL進(jìn)行設(shè)計(jì)時(shí),不需要首先考慮選擇完成設(shè)計(jì)的器件,就可以集中精力進(jìn)行設(shè)計(jì)的優(yōu)化。當(dāng)設(shè)計(jì)描述完成后,可以用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)其功能。很

18、強(qiáng)的移植能力。VHDL是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,同一個(gè)設(shè)計(jì)描述可以被不同的工具所支持,使得設(shè)計(jì)描述的移植成為可能。易于共享和復(fù)用。VHDL采用基于庫(kù)(Library)的設(shè)計(jì)方法,可以建立各種可再次利用的模塊。這些模塊可以預(yù)先設(shè)計(jì)或使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放到庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用,可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間進(jìn)行交流和共享,減少硬件電路設(shè)計(jì)。(1)與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句

19、和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。3設(shè)計(jì)方案3.1秒表的設(shè)計(jì)思路通過(guò)分頻器將2.5MHz脈沖變成100Hz,用

20、分頻率器來(lái)產(chǎn)生頻率為100Hz的脈沖信號(hào)使得計(jì)數(shù)器進(jìn)行計(jì)數(shù);用四個(gè)十進(jìn)制計(jì)數(shù)器來(lái)分別對(duì)百分之一秒、十分之秒、秒和分進(jìn)行計(jì)數(shù),用兩個(gè)6進(jìn)制計(jì)數(shù)器來(lái)分別對(duì)秒和時(shí)分進(jìn)行計(jì)數(shù);將計(jì)數(shù)器所輸出的數(shù)據(jù)用數(shù)據(jù)選擇器選擇,選擇各個(gè)計(jì)數(shù)端口來(lái)的數(shù)據(jù),當(dāng)相應(yīng)的數(shù)據(jù)到來(lái)時(shí)數(shù)據(jù)選擇器選擇器數(shù)據(jù)后輸出給數(shù)碼管,并由數(shù)碼管顯示。然后以數(shù)碼管驅(qū)動(dòng)電路,驅(qū)動(dòng)數(shù)碼管發(fā)光。通過(guò)對(duì)脈沖信號(hào)的控制,以此來(lái)控制計(jì)數(shù)器計(jì)數(shù),最終實(shí)現(xiàn)秒表的啟動(dòng)與停止功能。對(duì)計(jì)數(shù)器進(jìn)行清零來(lái)完成秒表的復(fù)位功能。3.2秒表各模塊的代碼設(shè)計(jì)1.分頻器代碼:library ieee;use ieee.std_logic_1164.all;entity div i

21、s port(clr,clk: in bit;q: buffer bit);end div;architecture a of div is signal counter:integer range 0 to 5;begin process(clr,clk) begin if (clk=1 and clkevent) then if clr=1 then counter=0; elsif counter=5 then counter=0; q= not q; else counter=counter+1; end if; end if; end process;end a;分頻器的功能是把2.

22、5MHz脈沖變成100Hz的脈沖信號(hào),使得計(jì)數(shù)器進(jìn)行計(jì)數(shù)。2.十進(jìn)制計(jì)數(shù)器代碼:library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 is port(clr,start,clk: in bit; cout: out bit; daout: out std_logic_vector(3 downto 0);end count10;architecture a of count10 is signal temp:std_logic_vector(3 downto 0);beg

23、in process(clk,clr) begin if clr=1 then temp=0000; cout=1001 then temp=0000; cout=1; else temp=temp+1; cout=0; end if; end if; end if; daout=temp; end process;end a;原理為加法計(jì)數(shù)器,計(jì)數(shù)十時(shí)由cout進(jìn)位3.六進(jìn)制計(jì)數(shù)器代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity c6 is port(clr,start,clk

24、: in bit; daout: out std_logic_vector(3 downto 0); cout: out std_logic);end c6;architecture a of c6 is signal temp:std_logic_vector(3 downto 0);begin process(clk,clr) begin if clr=1 then temp=0000; cout=0101 then temp=0000; cout=1; else temp=temp+1; cout=0; end if; end if; end if; end process; daout

25、=temp; end a;原理為加法計(jì)數(shù)器,計(jì)數(shù)六時(shí)由cout進(jìn)位。4.報(bào)警器代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alarm1 isport(clk, I:in std_logic; q:out std_logic);end alarm1;ARCHITECTURE a OF alarm1 IS signal n:integer range 0 TO 20; signal q0 :std_logic;begin process(clk) begin if(clk=1a

26、nd clkevent) then if i=0 then q0=0; n=0; elsif (n=19 and i=1) then q0=not q0; n=n+1; else q0=0; end if; end if;end process;q=q0;END a;當(dāng)記時(shí)到一小時(shí)時(shí),報(bào)警器報(bào)警,并響十聲。5.數(shù)據(jù)選擇和數(shù)碼管選擇模塊代碼:library ieee;use ieee.std_logic_1164.all;USE ieee.std_logic_UNSIGNED.all;entity seltime is port(clr,clk: in bit; dain0,dain1,dain

27、2,dain3,dain4,dain5: in std_logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); daout: out std_logic_vector(3 downto 0);end seltime;architecture a of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr=1) then daout=0000; sel=000; temp=0; elsif (clk=1and clkeven

28、t) then if temp=5 then temp=0; else tempsel=000;daoutsel=001;daoutsel=010;daoutsel=011;daoutsel=100;daoutsel=101;daoutledledledledledledledledledledled=;-00H end case; end process; end a;數(shù)碼管驅(qū)動(dòng)電路,驅(qū)動(dòng)數(shù)碼管發(fā)光。3.3設(shè)計(jì)硬件要求1、主芯片EP1K100QC2083;2、6位八段掃描共陰極數(shù)碼顯示管;3、二個(gè)按鍵開關(guān)(歸零,啟動(dòng))。3.4數(shù)據(jù)選擇和數(shù)碼管選擇模塊的設(shè)計(jì)數(shù)據(jù)選擇和數(shù)碼管選擇模塊是秒表設(shè)計(jì)模

29、塊中的核心模塊,它承擔(dān)的任務(wù)是選擇各個(gè)計(jì)數(shù)端口來(lái)的數(shù)據(jù),當(dāng)相應(yīng)的數(shù)據(jù)到來(lái)時(shí)數(shù)據(jù)選擇器選擇器數(shù)據(jù)后輸出給數(shù)碼管,并由數(shù)碼管顯示。其VHDL構(gòu)造體代碼如下:architecture a of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr=1) then daout=0000; sel=000; temp=0; elsif (clk=1and clkevent) then if temp=5 then temp=0; else tempsel=000;daoutsel=001;daoutsel

30、=010;daoutsel=011;daoutsel=100;daoutsel=101;daout=dain5; end case; end if; end process;end a;利用clr,clk控制程序的運(yùn)行,以if-case語(yǔ)句控制clr,clk條件及信號(hào)temp,當(dāng)temp從0到5變化時(shí),將dain(n)的信號(hào)賦給dout,從而完成數(shù)據(jù)的選擇和時(shí)間數(shù)據(jù)的顯示。3.5編譯和波形仿真3.51 分頻器圖3.51(a)為分頻器代碼編譯后的波形仿真圖,將clk以周期信號(hào)輸入,這樣就可以驗(yàn)證從2.5MHz到100Hz的脈沖轉(zhuǎn)換。波形仿真圖如下:圖3.51(a)分頻器元件符號(hào)如圖3.51(b)

31、所示:圖3.51(b)3.52十進(jìn)制計(jì)數(shù)器圖3.52(a)為十進(jìn)制計(jì)數(shù)器波形仿真圖: 圖3.52(a)十進(jìn)制計(jì)數(shù)器元件符號(hào)如圖3.52(b)所示: 圖3.52(b)3.53六進(jìn)制計(jì)數(shù)器圖3.53(a)為六進(jìn)制計(jì)數(shù)器波形仿真圖: 圖3.53(a)六進(jìn)制計(jì)數(shù)器元件符號(hào)如圖3.53(b)所示: 圖3.53(b)3.54報(bào)警器圖3.54(a)為報(bào)警器波形仿真圖: 圖3.54(a)報(bào)警器元件符號(hào)如圖3.54(b)所示: 圖3.54(b)3.55數(shù)據(jù)選擇和數(shù)碼管圖3.55(a)為數(shù)據(jù)選擇和數(shù)碼管波形仿真圖: 圖3.55(a)數(shù)據(jù)選擇和數(shù)碼管元件符號(hào)如圖3.55(b)所示: 圖3.55(b)3.56數(shù)碼管驅(qū)

32、動(dòng)圖3.56(a)為數(shù)碼管驅(qū)動(dòng)波形仿真圖: 圖3.56(a) 數(shù)碼管驅(qū)動(dòng)元件符號(hào)如圖3.56(b)所示: 圖3.56(b)3.6各模塊的GDF圖連接將講各個(gè)模塊利用VHDL語(yǔ)言編譯成功后,以此得到分頻器、十進(jìn)制計(jì)數(shù)器、六進(jìn)制計(jì)數(shù)器、報(bào)警器、數(shù)據(jù)選擇和數(shù)碼管選擇、數(shù)碼管驅(qū)動(dòng)這六個(gè)模塊,根據(jù)設(shè)計(jì)思路,用四個(gè)十進(jìn)制計(jì)數(shù)器,兩個(gè)六進(jìn)制計(jì)數(shù)器,分頻器、報(bào)警器、數(shù)據(jù)選擇和數(shù)碼管選擇、數(shù)碼管驅(qū)動(dòng)各一個(gè)組合,然后將這十個(gè)器件連接起來(lái)得到秒表的GDF圖(如圖3.61)如下: 圖3.61將秒表的GDF圖編譯成功,然后得到其波形仿真圖如圖3.62(a)與3.62(b)所示:圖3.62(a)圖3.62(b)結(jié)束語(yǔ) 在

33、秒表的設(shè)計(jì)中,重要體現(xiàn)了數(shù)據(jù)選擇和顯示的VHDL設(shè)計(jì)以及六進(jìn)制和十進(jìn)制計(jì)數(shù)器的設(shè)計(jì),然后通過(guò)各個(gè)模塊的聯(lián)結(jié)而完成秒表的功能。通過(guò)分頻器將2.5MHz脈沖變成100Hz,用分頻率器來(lái)產(chǎn)生頻率為100Hz的脈沖信號(hào)使得計(jì)數(shù)器進(jìn)行計(jì)數(shù);用四個(gè)十進(jìn)制計(jì)數(shù)器來(lái)分別對(duì)百分之一秒、十分之秒、秒和分進(jìn)行計(jì)數(shù),用兩個(gè)6進(jìn)制計(jì)數(shù)器來(lái)分別對(duì)秒和時(shí)分進(jìn)行計(jì)數(shù);將計(jì)數(shù)器所輸出的數(shù)據(jù)用數(shù)據(jù)選擇器選擇,選擇各個(gè)計(jì)數(shù)端口來(lái)的數(shù)據(jù),當(dāng)相應(yīng)的數(shù)據(jù)到來(lái)時(shí)數(shù)據(jù)選擇器選擇器數(shù)據(jù)后輸出給數(shù)碼管,并由數(shù)碼管顯示。然后以數(shù)碼管驅(qū)動(dòng)電路,驅(qū)動(dòng)數(shù)碼管發(fā)光。通過(guò)對(duì)脈沖信號(hào)的控制,以此來(lái)控制計(jì)數(shù)器計(jì)數(shù),最終實(shí)現(xiàn)秒表的啟動(dòng)與停止功能。對(duì)計(jì)數(shù)器進(jìn)行清零

34、來(lái)完成秒表的復(fù)位功能。由于本人時(shí)間及能力有限,該設(shè)計(jì)還存在諸多缺陷,一個(gè)是按鍵設(shè)計(jì)問(wèn)題,如何讓按鍵設(shè)計(jì)適合秒表外型以及延長(zhǎng)秒表的使用壽命;另一個(gè)就是秒表多功能顯示問(wèn)題,如何設(shè)計(jì)可以讓秒表最大化展現(xiàn)其商業(yè)價(jià)值,關(guān)于這些我并未深入研究,我將在今后的學(xué)習(xí)工作中進(jìn)一步研究。 致謝本次設(shè)計(jì)是在指導(dǎo)老師鄭斌的指導(dǎo)下完成的。鄭老師是帶我們進(jìn)入VHDL世界的人,僅僅一次課讓我們了解VHDL的世界,這是我這次課程設(shè)計(jì)能成功的最主要原因。在設(shè)計(jì)的過(guò)程中,鄭老師還給予了指導(dǎo),并提供了很多與該設(shè)計(jì)相關(guān)的重要信息,培養(yǎng)了我們對(duì)課程設(shè)計(jì)的興趣,豐富了我們的知識(shí)。這都將非常有利于我們今后的學(xué)習(xí)和工作。在此表示衷心的感謝!在

35、這里還要感謝蔡爍老師,是他教會(huì)了我們?nèi)绾问褂肕AX+PLUS工具,熟練操作MAX+PLUS對(duì)VHDL語(yǔ)言的編譯及其后波形的仿真非常重要,在這深深表示感謝。另外,在課程設(shè)計(jì)過(guò)程中,我更深刻的了解到計(jì)算機(jī)是一門很精深的課程,與通信工程專業(yè)緊密相連,要想學(xué)好它,還必須投入更多時(shí)間與熱情。在課程設(shè)計(jì)中我還明白了一個(gè)道理,那就是很多內(nèi)容不是光看就可以學(xué)到的,必須高強(qiáng)度的提高動(dòng)手能力,多去嘗試,只有自己做了才能發(fā)現(xiàn)錯(cuò)誤,改正錯(cuò)誤,取得最后的成功。這些都對(duì)我以后的學(xué)習(xí)有很大的幫助。還有,在課程設(shè)計(jì)過(guò)程中遇到的種種問(wèn)題,我都會(huì)和班上的同學(xué)一起討論,班上同學(xué)同樣給與我很大幫助,在這里一并表示感謝。參考文獻(xiàn)1邢建平,曾繁泰VHDL程序設(shè)計(jì)教程M北京:清華大學(xué)出版社,2005年,11月2甘登岱,田富鵬,朱利娜 EDA培訓(xùn)教程M北京:機(jī)械工業(yè)出版社,2005年,3月3

溫馨提示

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

評(píng)論

0/150

提交評(píng)論