地鐵站售票系統(tǒng)的控制_第1頁
地鐵站售票系統(tǒng)的控制_第2頁
地鐵站售票系統(tǒng)的控制_第3頁
地鐵站售票系統(tǒng)的控制_第4頁
地鐵站售票系統(tǒng)的控制_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 地鐵站售票系統(tǒng)的控制摘要 隨著公共交通的飛速發(fā)展,地鐵已經(jīng)不再是一個新的名詞,地鐵給城市帶來的便捷眾所周知,但是如何更好的控制地鐵,已經(jīng)成為很多國家追捧的熱點和難題。 本課題就是圍繞地鐵控制中的售票系統(tǒng)的控制實現(xiàn),系統(tǒng)闡述了EDA技術(shù)的由來和發(fā)展前景,VHDL語言的編譯,以及在電腦中運用MAXPLUS軟件的仿真出課題要求任務(wù)。讓我們不僅在理論上實現(xiàn)了地鐵售票系統(tǒng)的控制語言的編譯,而且在軟件上也得到仿真。通過圖表。讓我們看到程序運行數(shù)據(jù),流程說明,以及可能產(chǎn)生的問題。這一切都是通過精心的論證。當(dāng)然本論文也可以讓地鐵站工作人員對票務(wù)的管理具有很好的參考價值關(guān)鍵詞:EDA技術(shù) VHDL語言 MAX

2、PLUS仿真軟件 Subway station ticket system control AbstractWith the rapid development of public transportation, subway is no longer a new term, subway to the city brought convenient as everyone knows, but how to better control the subway, has become in many countries pursued hot and difficult problem.The

3、 topic is on the subway control in the ticketing system control, the system elaborated the EDA technology of the origin and development prospects, VHDL language compiler, as well as in computer by use of MAXPLUS software simulation to task demands of the task. Let us not only in the theory on the re

4、alization of the subway ticketing system control language compiler, but also in the software has also been simulation. Through the graph. Let us see the program operation data, process description, and possible problems. All this is through careful argumentation. Of course, this thesis also can let

5、subway station staff to the ticket clerk management has very good reference valueKey words: EDA VHDL MAXPLUS language simulation software目錄摘要1Abstract2第一章 EDA技術(shù)概述61.1 EDA技術(shù)的概念61.2 EDA技術(shù)的主要內(nèi)容61.3 EDA常用軟件介紹71.4 EDA技術(shù)的應(yīng)用展望8第二章 VHDL編程基礎(chǔ)92.1 概述92.2 數(shù)字系統(tǒng)的硬件設(shè)計概述92.1.2利用硬件描述語言()的硬件電路設(shè)計方法92.1.3 VHDL語言設(shè)計硬件電路的

6、優(yōu)點102.2 VHDL語言程序的基本結(jié)構(gòu)102.2.1 VHDL語言設(shè)計的基本單元102.2.2構(gòu)造體(實現(xiàn))102.2.3語言結(jié)構(gòu)體的子結(jié)構(gòu)描述122.2.4庫132.2.5包集合132.2.6配置132.3 VHDL語言的數(shù)據(jù)類型及運算操作符142.3.1 VHDL語言的客體(或?qū)ο?及其分類142.3.2 VHDL語言的數(shù)據(jù)類型152.3.3用戶定義的子類型162.3.4數(shù)據(jù)類型的轉(zhuǎn)換172.4 VHDL語言的主要描述語句172.5 VHDL語言構(gòu)造體的描述方式18第三章 MAX+PLUS使用簡介193.1 建立一個新項目203.2 建立一新的圖形輸入文件213.3 編輯圖形輸入文件2

7、23.4 編譯項目文件243.5 創(chuàng)建波形文件并進(jìn)行功能仿真25第四章 設(shè)計284.1 設(shè)計要求:294.2 課題分析294.2.1系統(tǒng)流程圖:294.2.2系統(tǒng)狀態(tài)圖31第五章 實現(xiàn)32第六章 總結(jié)39致謝39參考文獻(xiàn)39附錄40引言隨著大規(guī)模集成電路技術(shù)和計算機(jī)技術(shù)的不斷發(fā)展,在涉及通信、國防、航天、醫(yī)學(xué)、工業(yè)自動化、計算機(jī)應(yīng)用、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計工作中,EDA技術(shù)的含量正以驚人的速度上升;電子類的高新技術(shù)項目的開發(fā)也逾益依賴于EDA技術(shù)的應(yīng)用。即使是普通的電子產(chǎn)品的開發(fā),EDA技術(shù)常常使一些原來的技術(shù)瓶頸得以輕松突破,從而使產(chǎn)品的開發(fā)周期大為縮短、性能價格比大幅提高。不言而喻,

8、EDA技術(shù)將迅速成為電子設(shè)計領(lǐng)域中的極其重要的組成部分。地鐵的控制固然離不開這項新的技術(shù),因此我們應(yīng)該更應(yīng)該對這項技術(shù)有一定的認(rèn)識!4 第一章 EDA技術(shù)概述1.1 EDA技術(shù)的概念 即電子設(shè)計自動( Electronic DesignAutomation)技術(shù),以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計電子系統(tǒng)到硬件系統(tǒng)的一門技術(shù)。1.2 EDA技術(shù)的主要內(nèi)容 EDA技術(shù)涉及面很廣,內(nèi)容豐富,從教學(xué)和實用的角度看,主要應(yīng)掌握如下四個方面的內(nèi)容:1)

9、大規(guī)模可編程邏輯器件;2)硬件描述語言;3)軟件開發(fā)工具;4)實驗開發(fā)系統(tǒng)。其中,大規(guī)模可編程邏輯器件是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的載體,硬件描述語言是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的主要表達(dá)手段,軟件開發(fā)工具是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的智能化的自動設(shè)計工具,實驗開發(fā)系統(tǒng)則是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的下載工具及硬件驗證工具。大規(guī)模可編程邏輯器件PLD(Programmable Logic Device,可編程邏輯器件)是一種由用戶編程以實現(xiàn)某種邏輯功能的新型邏輯器件。FPGA和CPLD分別是現(xiàn)場可編程門陣列和復(fù)雜可編程邏輯器件的簡稱,兩者的功能基本相同,只是實現(xiàn)原理略有不同,所

10、以我們有時可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/FPGA。PLD是電子設(shè)計領(lǐng)域中最具活力和發(fā)展前途的一項技術(shù),PLD能完成任何數(shù)字器件的功能。PLD如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由的設(shè)計一個數(shù)字系統(tǒng),通過軟件仿真,我們可以事先驗證設(shè)計的正確性。在PCB完成以后,還可以利用PLD的在線修改能力,隨時修改設(shè)計而不必改動硬件電路。使用PLD來開發(fā)數(shù)字電路,可以大大縮短設(shè)計時間,減少PCB面積,提高系統(tǒng)的可靠性。PLD的這些優(yōu)點使得PLD技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時也大大推動了EDA軟件和硬件描述語言(HDL)的進(jìn)步。硬

11、件描述語言(HDL)硬件描述語言(HDL)是相對于一般的計算機(jī)軟件語言如C、Pascal而言的。HDL是用于設(shè)計硬件電子系統(tǒng)的計算機(jī)語言,它描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。HDL具有與具體硬件電路無關(guān)和與設(shè)計平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化結(jié)構(gòu)化設(shè)計方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。用HDL進(jìn)行電子系統(tǒng)設(shè)計的一個很大的優(yōu)點是設(shè)計者可以專心致力于其功能的實現(xiàn),而不需要對不影響功能的與工藝有關(guān)的因素花費過多的時間和精力。就FPGA/CPLD開發(fā)來說,比較常用和流行的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、Sy

12、stemVerilog和SystemC。其中VHDL、Verilog在現(xiàn)在EDA設(shè)計中使用最多,也擁有幾乎所有的主流EDA工具的支持。而Sys-temVerilog和SystemC這兩種HDL語言還處于完善過程中?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL與Verilog HDL語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計任務(wù)。1 1.3 EDA常用軟件介紹 EDA工具層出不窮,目前進(jìn)入我國并具有廣泛影響的EDA軟件有:multiSIM7(原EWB的最新版本)、PSPICE

13、、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。這些工具都有較強(qiáng)的功能,一般可用于幾個方面,例如很多軟件都可以進(jìn)行電路設(shè)計與仿真,同進(jìn)還可以進(jìn)行PCB自動布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。1.4 EDA技術(shù)的應(yīng)用展望EDA技術(shù)將廣泛應(yīng)用于高校電類專業(yè)的實踐教學(xué)和科研工作中與世界各知名高校相比,我國高等院校在EDA及微電子方面的教學(xué)和科研工作有著明顯的差距,我們的學(xué)生現(xiàn)在做的課程實驗普遍陳舊,動手能力較差。從某種意義上來說,EDA教學(xué)科研情況如何,代表著一個學(xué)校電類專業(yè)

14、教學(xué)及科研水平的高低,而EDA教學(xué)科研工作開展起來后,還會對微電子類、計算機(jī)類學(xué)科產(chǎn)生積極的影響,從而帶動各高校相應(yīng)學(xué)科的同步發(fā)展。EDA技術(shù)將廣泛應(yīng)用于專用集成電路和新產(chǎn)品的開發(fā)研制中由于可編程邏輯器件性能價格比的不斷提高,開發(fā)軟件功能的不斷完善,而且由于用EDA技術(shù)設(shè)計電子系統(tǒng)具有用軟件的方式設(shè)計硬件;設(shè)計過程中可用有關(guān)軟件進(jìn)行各種仿真;系統(tǒng)可現(xiàn)場編程,在線升級;整個系統(tǒng)可集成在一個芯片上等特點,使其將廣泛應(yīng)用于專用集成電路和機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域新產(chǎn)品的開發(fā)研制中。EDA技術(shù)將廣泛應(yīng)用于傳統(tǒng)機(jī)電設(shè)備的升級換代和技術(shù)改造傳統(tǒng)機(jī)電設(shè)備的電器控制系統(tǒng)

15、,如果利用EDA技術(shù)進(jìn)行重新設(shè)計或進(jìn)行技術(shù)改造,不但設(shè)計周期短、設(shè)計成本低,而且將提高產(chǎn)品或設(shè)備的性能,縮小產(chǎn)品體積,提高產(chǎn)品的技術(shù)含量,提高產(chǎn)品的附加值。EDA技術(shù)將在國防現(xiàn)代化建設(shè)中發(fā)揮重要的作用EDA技術(shù)是電子設(shè)計領(lǐng)域的一場革命,目前正處于高速發(fā)展階段,每年都有新的EDA工具問世,我國EDA技術(shù)的應(yīng)用水平長期落后于發(fā)達(dá)國家,如果說用于民品的核心集成電路芯片還可以從國外買的到的話,那么軍用集成電路就必須依靠自己的力量研制開發(fā),因為用錢是買不到國防現(xiàn)代化的,特別是中國作為一支穩(wěn)定世界的重要力量,更要走自主開發(fā)的道路。強(qiáng)大的現(xiàn)代國防必須建立在自主開發(fā)的基礎(chǔ)上,因此,廣大電子工程技術(shù)人員應(yīng)該盡早

16、掌握這一先進(jìn)技術(shù),這不僅是提高設(shè)計效率和我國電子工業(yè)在世界市場上生存、竟?fàn)幣c發(fā)展的需要,更是建立強(qiáng)大現(xiàn)代國防的需要。第二章 VHDL編程基礎(chǔ)2.1 概述VHDL語言(VHSIC Hardware Description Language,甚高速集成電路硬件描述語言)是一種設(shè)計、仿真、綜合的標(biāo)準(zhǔn)硬件描述語言,是對可編程邏輯器件進(jìn)行開發(fā)與設(shè)計的重要工具,其優(yōu)點是:支持自上而下和基于庫的設(shè)計,支持范圍廣,具有多層次描述系統(tǒng)硬件功能的能力。VHDL語言已成為IEEE的一種工業(yè)標(biāo)準(zhǔn),是實現(xiàn)信息系統(tǒng)硬件開發(fā)所必備的知識和技能。2.2 數(shù)字系統(tǒng)的硬件設(shè)計概述 l 采用自下而上(ottom )的設(shè)計方法l 采

17、用通用的邏輯元、器件l 在系統(tǒng)硬件設(shè)計的后期進(jìn)行仿真和調(diào)試l 主要設(shè)計文件是電原理圖2.1.2利用硬件描述語言()的硬件電路設(shè)計方法l 硬件描述語言:可以描述硬件電路的功能,信號連接關(guān)系和定時關(guān)系的語言。利用硬件描述語言編程來表示邏輯器件與系統(tǒng)硬件的功能和行為,是該設(shè)計方法的一個重要特征。l 采用自上而下(op Down)的設(shè)計方法 就是從系統(tǒng)的總體要求出發(fā),自上而下地逐步將設(shè)計內(nèi)容細(xì)化,最后完成系統(tǒng)硬件的總體設(shè)計。l 設(shè)計的三個層次:第一層次是行為描述。 第二層次是RTL方式描述,又稱寄存器傳輸描述(數(shù)據(jù)流描述),以實現(xiàn)邏輯綜合。第三層次是邏輯綜合。l 自上而下硬件設(shè)計流程(表2-1)表2-

18、12.1.3 VHDL語言設(shè)計硬件電路的優(yōu)點l 美國國防部1982年開發(fā)VHDL(Very -High-Speed Integrated Circuit Hardware Description Language)語言,是當(dāng)前廣泛使用的HDL語言之一,并被IEEE和美國防部采用為標(biāo)準(zhǔn)的HDL語言。l 設(shè)計技術(shù)齊全、方法靈活、支持廣泛l 系統(tǒng)硬件描述能力強(qiáng)l 可以與工藝無關(guān)編程l 語言標(biāo)準(zhǔn)、規(guī)范、易于共享和復(fù)用 2.2 VHDL語言程序的基本結(jié)構(gòu)2.2.1 VHDL語言設(shè)計的基本單元l 一個完整的VHDL語言程序通常包含實體(Entity)、構(gòu)造體(Architecture)、配置(Config

19、uration)、包集合(Package)和庫(Library):l 功能: 實體、構(gòu)造體、包集合、配置和庫 l 基本組成:實體說明和構(gòu)造體兩部分 2.2.2構(gòu)造體(實現(xiàn))1 實體說明:規(guī)定此實體輸入與輸出的數(shù)目與類型。l 結(jié)構(gòu): entity 實體名 isgeneric(類屬參數(shù)說明);port(端口說明);end實體名;l 類屬參數(shù)說明:generic ( 常數(shù)名:數(shù)據(jù)類型:數(shù)值);在端口說明前,用于指定參數(shù)。l 端口說明: 在entity語句的實體說明部分,常用port語句描述實體對外界連接的端口(數(shù)目、方向和數(shù)據(jù)類型)。port (端口名:端口方向端口數(shù)據(jù)類型;端口名:端口方向端口數(shù)據(jù)

20、類型;);端口方向:in (輸入),只能讀,用于:時鐘輸入、控制輸入(裝入、復(fù)位、使能)、單向數(shù)據(jù)輸入;out (輸出),只能被賦值,用于不能反饋的輸出;inout(輸入輸出) ,既可讀又可被賦值,被讀的值是端口輸入值而不是被賦值,作為雙向端口。buffer(緩沖),類似于輸出,但可以讀,讀的值是被賦值,用做內(nèi)部反饋用,不能作為雙向端口使用。VHDL語言設(shè)計的構(gòu)造體構(gòu)造體定義實體功能的一種實現(xiàn)。l 構(gòu)造體的結(jié)構(gòu):architecture 構(gòu)造體名of 實體名 is塊說明項begin 并發(fā)語句end 構(gòu)造體名;塊說明項(或定義語句),位于architecture 和begin之間,對構(gòu)造體內(nèi)部的

21、使用信號、常數(shù)、數(shù)據(jù)類型和函數(shù)進(jìn)行說明。l 并行語句處于begin 與end之間,描述構(gòu)造體的行為與連接關(guān)系。l 構(gòu)造體的描述方法: 行為描述 數(shù)據(jù)流描述或RTL描述 結(jié)構(gòu)化描述 l 構(gòu)造體的組織(表2-2)表2-22.2.3語言結(jié)構(gòu)體的子結(jié)構(gòu)描述1. block語句結(jié)構(gòu)l 語句結(jié)構(gòu):塊結(jié)構(gòu)名:block begin . . .end block 塊結(jié)構(gòu)名;2. 進(jìn)程(process)語句結(jié)構(gòu)l 進(jìn)程語句的結(jié)構(gòu):進(jìn)程名:process(信號,信號,) 說明內(nèi)部變量begin順序語句 end process;l 功能獨立的電路可用進(jìn)程來描述l 進(jìn)程中語句的順序性l 進(jìn)程的啟動l 進(jìn)程的同步描述同

22、一結(jié)構(gòu)體中有多個進(jìn)程存在時,進(jìn)程之間可一邊進(jìn)行通信,一邊并行同步執(zhí)行。子程序(subprogram)語句結(jié)構(gòu)描述 兩種類型:過程(procedure) 函數(shù) (function)l 過程語句結(jié)構(gòu):procedure 過程名(參數(shù)1,參數(shù)2,) is 定義語句;begin 順序處理語句;end 過程名;l 函數(shù)語句結(jié)構(gòu):function 函數(shù)名(參數(shù)1,參數(shù)2,) return 數(shù)據(jù)類型名 is 定義語句;begin 順序處理語句; return 返回變量名end 函數(shù)名;2.2.4庫庫(Library)是經(jīng)編譯后的數(shù)據(jù)的集合,庫說明總是放在設(shè)計單元的最前面。1) 庫的種類:l IEEE 庫 l

23、 STD庫 l ASIC矢量庫l WORK 庫l 用戶定義的庫2) 庫的使用l 除WORK、STD庫外,首先要說明。格式: library 庫名; use 庫名.包名.項目名;l 庫說明的作用范圍:從實體開始到其所屬構(gòu)造體、配置為止。2.2.5包集合l 包集合用于封裝屬于多個設(shè)計單元分享的公共信息。l 包集合由包說明(說明數(shù)據(jù)類型、子程序和常量等)和包體(它含有子程序體與現(xiàn)有的延時常數(shù))所組成。子程序由執(zhí)行公共操作的過程和函數(shù)組成。包集合是分享屬于實體數(shù)據(jù)的一種機(jī)制,把子程序、數(shù)據(jù)類型和元件說明看成建立設(shè)計的工具,則包集合可看成工具箱。 1) 包集合的結(jié)構(gòu): package 包集合名 is 包

24、集合說明語句; end 包集合名; package body 包集合名 is 包集合體說明語句; end 包集合名;注:包集合體為可選項。3) 包集合的使用: use work.包集合名.all;l 用于其他使用此包集合的程序: 2.2.6配置描述層與層之間的連接關(guān)系以及實體與構(gòu)造體之間的連接關(guān)系。在仿真時利用配置選擇不同的構(gòu)造體。格式:CONFIGURATION 配置名 OF 實體名 ISFOR 構(gòu)造體名END FOR; END 配置名;2.3 VHDL語言的數(shù)據(jù)類型及運算操作符 2.3.1 VHDL語言的客體(或?qū)ο?及其分類l 可以賦予一個值的對象成為客體(object)。l 客體包括:

25、 信號、變量、常數(shù)l 客體的含義與說明:(表2-3)客體說明 含 義 說 明 場 合 信號 全局量architecture, package, entity 變量 局部量process, function, procedure 常數(shù)全局量、 局部量 包括上面兩種場合表2-3l 客體說明格式:客體類別 客體名 數(shù)據(jù)類型:=初始值1)常數(shù)(constant)l 格式: constant 常數(shù)名:數(shù)據(jù)類型:=初始值;2)變量l 格式: Variable變量名:數(shù)據(jù)類型 約束條件 :=表達(dá)式;l 格式:l signal變量名:數(shù)據(jù)類型約束條件:=初始值;l 進(jìn)程中向信號賦值的時刻和信號得到該值的時刻之

26、間有延遲;l 當(dāng)向信號賦值時未給定延遲,但有一隱含延遲,稱延遲;l 延遲是一個無窮小的時間量;3)信號與變量的區(qū)別l 變量賦值立即發(fā)生,無延遲;信號賦值至少有延遲,在進(jìn)程中僅當(dāng)碰到wait語句或進(jìn)程結(jié)束賦值才生效。l 進(jìn)程只對信號敏感,而對變量不敏感。l 信號除當(dāng)前值外還有許多相關(guān)信息,而變量只有當(dāng)前值。l 信號是全局量,變量為局部量。l 信號在電路中的功能是保存變化的數(shù)值和連接子元件;變量在電路中無類似的對應(yīng)關(guān)系,用于計算。2.3.2 VHDL語言的數(shù)據(jù)類型1.標(biāo)準(zhǔn)數(shù)據(jù)類型(表2-4) 數(shù)據(jù)類型 含 義 整 數(shù)(integer) 自然數(shù)(natural) 正整數(shù)(positive) -214

27、7483647-2147483647 0 - 2147483647 1- 2147483647 實 數(shù)浮點數(shù),-1。0E+38-+1。0E+38 位邏輯“0”或“1” 位矢量位矢量 布爾量邏輯“假”或“真” 字 符ASCII字符 時 間時間單位fs,ps,ns,us,ms,sec,min,hr 錯誤等級NOTE,WARNING,ERROR,F(xiàn)AILURE 字符串字符矢量表2-4l VHDL中的預(yù)定義類型,用戶不必明顯地說明就可直接使用,在STANDARD 程序包中。l 整數(shù)(integer)l 整數(shù)類型的行為和算術(shù)中整數(shù)相似 *范圍: -2147483647-2147483647l 自然數(shù)(n

28、atural) *范圍: 0-2147483647l 正整數(shù)(positive) *范圍: 1-2147483647l 布爾類型: 實際是一個兩值(false和true)的枚舉型;無數(shù)值含義,不能進(jìn)行算術(shù)運算,能進(jìn)行關(guān)系運算。l 位(bit): 表示:或.l 位矢量(bit_vector)用雙引號括起來的一組位數(shù)據(jù),例:00110,X00BB。l 字符(character) 用單引號括起; 大、小寫含義不同; 包括:到中的字母、到中的數(shù)字、空白及特殊字符。l 字符串(string)用雙引號括起;l 時間: 物理型數(shù)據(jù)(物理類型表示如距離、電流和時間一類的物理量),包含整數(shù)與單位兩部分,例如:5

29、5 sec,2 min.l 錯誤等級:表征系統(tǒng)狀態(tài),共四種:(Note,Warning,Error,Failure),編譯與仿真時用。2 用戶定義的數(shù)據(jù)類型l 格式:type 數(shù)據(jù)類型名,數(shù)據(jù)類型名 數(shù)據(jù)類型定義;不能進(jìn)行邏輯綜合*枚舉(enumerated)類型*整數(shù)(integer)類型*實數(shù)(real)(float)類型*數(shù)組(array)類型*存取(access)類型*文件(file)類型*時間(time)類型*記錄(recorde)類型l 枚舉(enumerated)類型 枚舉類型是抽象數(shù)據(jù)類型,它描述用戶定義的操作并使模塊更可讀,此類型通過列出(或枚舉)該類型中所有元素來定義。*格

30、式: TYPE 數(shù)據(jù)類型名 IS (元素,元素,);*“數(shù)據(jù)類型名”可用字母、下劃線和數(shù)組成的序列,且必須以字母開頭,也不能用VHDL保留字。元素是單字符或字符串。若為單字符則外加單引號。l 整數(shù)(integer)類型l 實數(shù)(real)(float)類型l 實型類型行為和算術(shù)中的實數(shù)類似l 數(shù)組(array)類型 l 時間(time)類型l 記錄(recorde)類型 2.3.3用戶定義的子類型l 子類型能對基本類型的范圍加限制。l 格式:SUBTYPE 子類型名 IS 數(shù)據(jù)類型名范圍;l 是對原數(shù)據(jù)類型指定范圍而形成,或與原類型范圍一致。2.3.4數(shù)據(jù)類型的轉(zhuǎn)換l 不同類型的數(shù)據(jù)必須在類型

31、轉(zhuǎn)換后才能進(jìn)行運算或操作。l 類型轉(zhuǎn)換函數(shù)表:(表2-5) 函 數(shù) 名 功 能l std_logic_1164包集合TO_STDLOGICVECTOR(A)TO_BITVECTOR(A)TO_STDLOGIC(A)TO_BIT(A) 由 BIT_VECTOR轉(zhuǎn)換成 STD_LOGIC_VECTOR 由 STD_LOGIC_VECTOR轉(zhuǎn)換成 BIT_VECTOR 由 BIT轉(zhuǎn)換成 STD_LOGIC 由 STD_LOGIC 轉(zhuǎn)換成 BIT l std_logic_arith包集合CONV_STD_LOGIC_VECTOR(A,位長 )CONV_INTEGER(A)由INTEGER ,UNSIG

32、NED,SIGNED轉(zhuǎn)換成 STD_LOGOC_VECTOR由UNSIGNED,SIGNED轉(zhuǎn)換成 INTEGERl std_logic_unsigned包集合CONV_INTEGER(A)由STD_LOGOC_VECTOR轉(zhuǎn)換成 INTEGER表2-5 2.4 VHDL語言的主要描述語句l 順序語句和并發(fā)語句順序描述語句l WAIT語句l 斷言語句l 信號賦值語句l 變量賦值語句l IF語句l CASE語句l LOOP語句 l NEXT 語句l 過程調(diào)用語句l NULL語句(只占位置的空操作,對信號賦空值,表示關(guān)閉)2.5 VHDL語言構(gòu)造體的描述方式1.體的行為描述方式l 可并行信號賦值是

33、VHDL的特點。 2延時語句l 慣性延時l 傳輸延時3GENERIC 語句l 用于不同層次之間的信息傳送構(gòu)造體的寄存器傳輸描述方式1.描述方式的特點l 寄存器描述方法: 與硬件一一對應(yīng)的描述或寄存器之間的功能描述 (p56-57)l VHDL語言的限制2.描述方式應(yīng)注意的問題l X狀態(tài)傳遞l 寄存器RTL描述的限制:*在一個進(jìn)程中不能有多于一個寄存器的描述*IF語句中不能有ELSEl 關(guān)聯(lián)性強(qiáng)的信號應(yīng)放在一個進(jìn)程中構(gòu)造體的結(jié)構(gòu)描述方式l 多層次設(shè)計,高層次設(shè)計調(diào)用低層次設(shè)計模塊 COMPONENT 語句l 元件說明COMPONENT 元件名 GENERIC(類屬說明) PORT(端口說明)EN

34、D COMPONENT;l 可以在結(jié)構(gòu)體、包集合和BLOCK的說明中使用l 元件例化語句*將現(xiàn)成元件的端口信號映射成高層次設(shè)計電路中的信號;*格式: 例化名:元件名 generic map (類屬名=表達(dá)式,類屬名=表達(dá)式) port map (端口信號名=信號,端口信號名= 信號)*類屬映射為可選項,類屬名與元件說明語句中的相同,每個表達(dá)式要計算出一個值。*端口信號名與元件說明語句中的相同,信號為高層實際信號。端口映射方法: 位置映射:把實際信號按元件端口說明的順序列在端口映射表; 名稱映射:將元件端口說明中的端口名賦給實際信號。 第三章 MAX+PLUS使用簡介 完成組合邏輯電路的設(shè)計與仿

35、真過程,可以使用EDA數(shù)字系統(tǒng)開發(fā)軟件MAX+PLUS,主要用到以下操作,而且有順序規(guī)定,在編譯前需對圖形編輯文件保存,并且項目文件必須與圖形文件名稱一致、保存在同一文件夾,只是后綴不同。編譯正確后才能創(chuàng)建波形文件,波形文件保存后,才能進(jìn)行仿真,最后進(jìn)行時序分析。如中途進(jìn)行修改,從修改開始的操作步驟要重做一邊。1、 建立一個新項目;2、 建立一個新的圖形輸入文件;3、 進(jìn)行圖形輸入文件的編輯;4、 進(jìn)行項目文件的編譯;5、 創(chuàng)建波形文件并進(jìn)行功能仿真;6、 進(jìn)行時序分析。3.1 建立一個新項目 啟動MAX+plusII:在WINDOWS界面下,單擊開始程序 AlteraMAX+plusII9.

36、5,進(jìn)入MAX+plusII9.5管理器窗口,見圖3.1 用 MAX+plusII編譯一個設(shè)計文件之前,必須先指定一個項目文件,選中FileProjectName,顯示對話框圖3.2 在Project Name框中,鍵入項目名,如test1,若改變test1所屬子目錄,用戶可在Directories窗口中修改。 選擇OK,則MAX+plusII9.5窗口標(biāo)題會變成新的項目名稱:MAX+plusII Manager-d:Max2worktest1。 如已打開一個圖形文件,可用菜單FileProjectSet Project To Current File將項目設(shè)為與當(dāng)前圖形文件相對應(yīng)。注意:換一

37、個電路圖,必須重新定義項目名,項目名與文件名必須一致。圖3.1 圖3.23.2 建立一新的圖形輸入文件 在文件菜單中,選中FileNew,出現(xiàn)圖對話框New如圖3.3,New的對話框供讀者選擇輸入方法:l 圖形文件l 符號文件l 文本文件 l 波形文件下面介紹的是使用圖形輸入法。 圖3.3 圖3.4 選擇Graphic Editor file圖形輸入文件,選擇OK,則出現(xiàn)一個無名稱的圖形編輯窗口,如圖3.4中標(biāo)明了每個按鈕的功能,這些按鈕在今后的設(shè)中會經(jīng)常用到。 選擇工具 正交線工具 弧線工具 放大按鈕與窗口適配 打開橡皮筋 連接功能文本工具對角線工具圓形工具縮小按鈕連接點接斷關(guān)閉橡皮筋連接功

38、能 在無名稱的編輯窗口中,選Filesave或save as,出現(xiàn)save as 窗口, 在File Name中,輸入test1.gdf文件名,“.gdf”是缺省擴(kuò)展名不能改。 選擇OK,即被保存到當(dāng)前項目子目錄下。3.3 編輯圖形輸入文件MAX+plusII為實現(xiàn)不同的邏輯功能提供了大量的圖元和宏功能符號提供設(shè)計人員在圖表編輯器文件中直接使用。其中,Prim(Altera圖元庫)包括基本的邏輯塊電路,mf(宏功能庫)包括所有74系列邏輯。輸入圖元或宏功能塊的步驟如下: 圖3.5 選擇工具有效時,在圖形編輯器窗口的空白處單擊鼠標(biāo)以確定輸入位置。圖1-5輸入符號 選擇Enter Symbol或雙

39、擊鼠標(biāo)就會出現(xiàn)一個Enter Symbol對話框,在Symbol Libraries對話框中選擇“maxplusmax2libprim ” 路徑,所有的Altera圖元就會以列表的方式顯示出來,選中所需的輸入圖元,然后選擇OK,所選的圖元就會出現(xiàn)在圖形編輯器中,如圖3.5只要重復(fù)上述兩步,就可連續(xù)選取圖元。74系列符號的輸入方法和圖元的輸入方法相似,只要在Symbol Libraries框中選擇“maxplusmax2libmf ” 路徑即可。圖元的符號表示采用美國標(biāo)準(zhǔn),與我國標(biāo)準(zhǔn)有所不同。 輸入圖元時也可以在Enter Symbol對話框中的Symbol Name框上直接寫入圖元的名稱,常用

40、圖元名稱見附錄二。 放置輸入、輸出引腳,放置方法與放置圖元相似,即在圖形編輯器窗口的空白處雙擊鼠標(biāo)左鍵,就可顯示Enter Symbol對話框。只要在Symbol Name框中鍵入INPUT,然后選擇OK,符號INPUT就會顯示在圖形編輯器中。若在Enter Symbol對話框中鍵入OUTPUT,則OUTPUT也就會顯示出來。在引腳的PIN_NAME處雙擊鼠標(biāo)左鍵,可以對引腳進(jìn)行命名。如圖1-6所示。 需輸入高電平、低電平時,可用電源(Vcc)和地(GND),輸入方法同。 如果需要連接兩個端口,可將鼠標(biāo)移到其中一個端口上,這時鼠標(biāo)指示符自動變?yōu)椤?”形狀,然后一直按住鼠標(biāo)左鍵并將鼠標(biāo)拖到第二個

41、端口,放開左鍵,則一條連線被畫好了。如圖3.6所示。如果需要刪除一根連線,可單擊此線使其成高亮線,然后手按Del鍵即可。當(dāng)兩條線相交時,可以用“連接點接斷”工具選擇通斷 圖3.6 如果要重復(fù)放置同一個符號,可用復(fù)制符號的方法,這樣可以提高圖形輸入的速度,復(fù)制符號的具體方法是將鼠標(biāo)放在所要復(fù)制的符號上,按下Ctrl鍵和鼠標(biāo)左鍵不放,同時拖住鼠標(biāo),并把它放在指定位置,這樣就可以復(fù)制符號了。另外還可以用copy和paste命令進(jìn)行。 右鍵菜單和工具中有旋轉(zhuǎn)、翻轉(zhuǎn)工具,可對符號、引腳或引線進(jìn)行水平或垂直翻轉(zhuǎn),或旋轉(zhuǎn)90、180、270。 除了引腳以外,對引線也可以進(jìn)行命名。方法是選中需命名的引線,然后

42、輸入名字。對于n位寬的總線A命名,可以采用An1.0形式,其中單個信號可用A0、A1、A2,An形式。同一名稱的引線即使在圖形中不相連,它們在邏輯上也是相連的。因此對較長或較難連通的連接線只要將它們命名為同一名稱即可相連。注:如果引線與引腳同名,則表示這條引線與引腳是相連的。但不能存在相同名稱的引腳。 圖形編輯器選項:在圖形編輯窗口的Options菜單中列出了編輯圖形時的一些選項,包括文本的字型和大小控制、線型、顯示任務(wù)、網(wǎng)絡(luò)控制等,讀者可以根據(jù)需要進(jìn)行選擇。注意:1 連線需要與元件相連時,必須打開“橡皮筋連接”工具,連線后可以用移動元件的方法來驗證,連線是否真的連上。2 交叉線的交接處有黑點

43、時為相通,無黑點時不通,可用“連接點接斷”工具選擇“通”或“斷”。3 保存圖形文件時文件名必須與項目文件名一致,后綴用默認(rèn)的“.gdf”。3.4 編譯項目文件MAX+plusII編譯器可以檢查項目中的錯誤并進(jìn)行邏輯綜合,將項目最終設(shè)計結(jié)果加載到Altera器件中去,并為模擬和編程產(chǎn)生輸出文件。我們將利用編譯器檢查輸入圖形文件的錯誤并對編譯后的結(jié)果進(jìn)行功能仿真和時序仿真。3.7 打開編譯器窗口:在MAX+plusII菜單內(nèi)選擇Compiler菜單項,則出現(xiàn)編譯器窗口,如圖3.7所示。 選擇Start即可開始對所要編譯的項目文件進(jìn)行處理。在編譯項目期間,所有信息、錯誤和警告將會在自動打開的信息處理

44、窗口中顯示出來。如果有錯誤發(fā)生,選中該錯誤信息,然后按下Locate按鈕,就會找到該錯誤在設(shè)計文件中的位置。如圖3.8所示。3.8 如果輸入圖形文件有錯誤,可修改錯誤后,重復(fù)、。編譯通過后,編譯器會將項目的設(shè)計結(jié)果加載到一個Altera器件中。同時產(chǎn)生報告文件、編程文件和用于仿真的輸出文件。3.5 創(chuàng)建波形文件并進(jìn)行功能仿真設(shè)計輸入和編譯僅僅是整個設(shè)計過程的一部分,成功的編譯只能保證為項目創(chuàng)建一個編程文件,而不能保證該項目將按期望的那樣運行。因此需要通過模擬來證明項目的功能是否正確。在模擬過程中,需要給MAX+plusII模擬器提供輸入變量,模擬器將利用這此輸入信號來產(chǎn)生輸出信號(與可編程器件

45、在同一條件下產(chǎn)生的信號相同)。根據(jù)所需的信息種類,設(shè)計人員可用MAX+plusII進(jìn)行功能或時序模擬。功能模擬僅是測試項目的邏輯功能,而時序模擬不僅測試邏輯功能,還可測試目標(biāo)器件最差情況下的時間關(guān)系。創(chuàng)建模擬文件和功能模擬的方法如下: 從File菜單中選擇New,然后選擇Waveform Editor File,從下拉列表中選擇.scf擴(kuò)展名,并按OK,即可創(chuàng)建一個新的無標(biāo)題文件,如圖3.8所示。圖3.8 從File菜單中選擇End Time,鍵入1ms,按OK鍵,則設(shè)置了模擬的時間長度為1ms。 在Options菜單中選擇Grid Size,鍵入40ns,按OK鍵,則網(wǎng)絡(luò)間距變成了40ns,

46、建議取值40ns或以上,取值太小會引起正常邏輯和延時相混淆,太大時需要的仿真時間長,第中的仿真模擬時間長度,需結(jié)合所需仿真的邏輯組合個數(shù)或時序長度和網(wǎng)格間距時間,太短不能仿真全部邏輯或時序,太長所需計算時間長。 在圖3.8中選擇Node菜單中的Enter Nodes from SNF菜單項或在窗口內(nèi)的空白處單擊鼠標(biāo)右鍵,則Enter Nodes From SNF對話框?qū)⒊霈F(xiàn)在屏幕上。如圖所示。僅選中Type框中input和output項,Node Group對話框為“*”,選擇list,可列出所有的input和output。單擊可使用節(jié)點或組窗口中的所需項,選擇右鍵頭,把選中的節(jié)點或組送到右窗

47、口。選擇OK,出現(xiàn)波形編輯器。放大工具縮小工具窗口適配改寫波形為0改寫波形為1改寫波形為不定態(tài)改寫波形為高阻態(tài)翻轉(zhuǎn)波形設(shè)置周期狀態(tài)工具設(shè)置計數(shù)狀態(tài)工具設(shè)置組狀態(tài)工具設(shè)置狀態(tài)機(jī)狀態(tài)工具圖3.9工具 此時output為不定態(tài),可根據(jù)需要來編輯input的狀態(tài)來觀察輸出波形,可以利用左邊給出的快捷按鈕進(jìn)行波形編輯,快捷按鈕主要功能見圖。 是選擇工具,可以用來選擇一段波形。按下選擇工具,在波形編輯區(qū)拖動鼠標(biāo)即可選中一段波形,或單擊Name區(qū)選中整個波形。 是字符輸入工具。 是波形編輯工具,按下編輯工具,在波形編輯區(qū)拖動鼠標(biāo)即可修改一段波形。波形的最小變化,不會超過網(wǎng)絡(luò)間距,可以改變網(wǎng)絡(luò)間距設(shè)定波形最小

48、變化。 這里我們輸入input的所有狀態(tài)(ABCD:0000、0001、0010,),如圖3.10所示。 圖3.10 選擇File Save As,在File Name框中會自動出現(xiàn)test1.scf,然后選擇OK,存盤,仿真前波形文件必須手工保存,系統(tǒng)不會提示保存對話框。圖3.11 仿真:在MAX+plusII菜單中,選擇Simulator,出現(xiàn)圖3.11,單擊start后,若無錯誤,則顯示零錯誤零警告框,單擊OK后,出現(xiàn)波形框,這時可根據(jù)輸入波形來觀察對應(yīng)的輸出波形是否正確。 通過光標(biāo)鍵移動參考線,可觀察此時參考線位置顯示的數(shù)據(jù),數(shù)據(jù)值顯示在第一行第二列的Time框中。 利用右側(cè)的放大工具

49、將波形放大,會發(fā)現(xiàn)輸出波形并沒有完全對應(yīng)于輸入波形,如圖3.12所示,這是由于延時產(chǎn)生的。圖3.12 根據(jù)仿真結(jié)果,核對輸出與輸入之間的邏輯關(guān)系及時序與設(shè)計要求是否一致。第四章 設(shè)計4.1 設(shè)計要求:功能描述:用于模仿地鐵售票的自動售票,完成地鐵售票的核心控制功能。功能要求:售票機(jī)有兩個進(jìn)幣孔,一個是輸入硬幣,一個是輸入紙幣,硬幣的識別范圍是5角和1 元的硬幣,紙幣的識別范圍是1 元、5 元,1 元,20 元,50元,100元。乘客可以連續(xù)多次投入錢幣。乘客可以選擇的種類為2元和3元和4元,乘客一次只能選擇一個出站口。購買車票時,乘客先選擇出站名,然后選擇所需的票數(shù),再進(jìn)行投幣,投入的錢幣達(dá)到

50、所需金額時,售票機(jī)自動出票,并找出余額,本次交易結(jié)束,等待下一次的交易。在投幣期間,乘客可以按取消鍵取消本次操作,錢幣自動退出。4.2 課題分析1 買車票時,乘客按“開始選擇”按鈕,接著選擇出站口接著 選擇購票數(shù)量(根據(jù)提示,一次購票數(shù)限制在3張以內(nèi));然后按“開始投幣”按鈕,投入錢幣;當(dāng)投入的錢幣達(dá)到所需金額時,售票機(jī)自動出票,并找出余額。考慮到控制整個售票機(jī)的物理體積,余額將全部采用5角硬幣的形式找出。2 選擇出站口或投幣過程中,乘客都可以按“取消”按鈕取消該次交易。選擇出站口的過程中,若按“取消”,則售票機(jī)直接回到初始狀態(tài);投幣過程中,若按“取消”,則售票機(jī)將乘客已經(jīng)投入的錢幣全部退出,

51、再回到初始狀態(tài)。3 客一次只能選擇一個出站口,根據(jù)乘坐的站數(shù)確定票價。假設(shè)乘客購票所在站到終點站共有15站。若乘坐1-8站,則票價為2元張;若乘坐9-16站,則票價為4元張。16個站用長度位4的二進(jìn)制向量編碼表示,即0001表示乘坐1站,0010表示乘坐2站,依次類推,1111表示乘坐15站(到終點站)。4 票機(jī)有2個進(jìn)幣端口。硬幣口可識別5角和1元2種硬幣,擬用長度為2的一比特?zé)嵛唬╫ne-hot)編碼方式表示,即01表示5角,10表示1元。紙幣口類似,用長度為4的一比特?zé)嵛痪幋a方式表示。乘客可以連續(xù)多次投入錢幣,并且可以以任意順序投入硬幣和紙幣。5 票機(jī)設(shè)有錢幣“暫存桿”,其有3個狀態(tài):退幣狀態(tài)、等待狀態(tài)、進(jìn)幣狀態(tài),分別用00、01、10表示。退幣狀態(tài)下,“暫存桿”將乘客投入的錢幣推出;等待狀態(tài)下,投入的錢幣被“暫存桿”擋住暫存;進(jìn)幣狀態(tài)下,“暫存桿”將乘客投入的錢幣推入售票機(jī)內(nèi)部。4.2.1系統(tǒng)流程圖:初始狀態(tài)按“開始選擇”選擇出站口按“開始投幣”投入錢幣錢幣足夠找零口找零出票口出票按“取消”按“

溫馨提示

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

評論

0/150

提交評論