版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
目錄TOC\o"1-2"\h\z\u第一章緒論 1第一節(jié)課題背景介紹 1第二章電子設計自動化概述 2第一節(jié)VHDL簡介 2第二節(jié)FPGA介紹 5第三節(jié)QuartusII介紹 7第三章總體設計 9第一節(jié)課題的主要內(nèi)容及根本要求 9第二節(jié)設計思路 9第三節(jié)設計方案 10第四章模塊分析 12第一節(jié)狀態(tài)控制電路模塊 12第二節(jié)數(shù)據(jù)裝載電路模塊 13第三節(jié)計時器模塊 14第五章程序設計及仿真 16第一節(jié)程序簡要說明 16第二節(jié)仿真時序圖 16第六章硬件調(diào)試 19總結(jié) 21致謝 22參考文獻 23附錄一原理圖 24附錄二源程序 25第一章緒論第一節(jié)課題背景介紹一、產(chǎn)品背景介紹PercyL.Spencer在1946年設想出微波爐的概念,在1950年取得專利。微波爐的運作機制為微波在水中能產(chǎn)生摩擦熱的原理。早期微波爐尺碼龐大,重量超過300公斤和高度超過1.5米,所以主要在大型餐廳和食物市場使用。第一部家用微波爐是在1965年由Raytheon集團生產(chǎn)。二、國內(nèi)產(chǎn)品開展現(xiàn)狀現(xiàn)在,中國已成為全球最大的微波爐生產(chǎn)基地,據(jù)估計,中國微波爐年產(chǎn)量已達2000萬臺左右,從2001年中國市場的需求量來看,約在700萬臺左右。中國微波爐市場經(jīng)過前幾年的洗牌,已由前幾年的300多家減少至目前的100多家,其中在市場上可統(tǒng)計的僅30多家。洋品牌在早期的微波爐市場份額,幾乎占據(jù)了絕大局部的市場。但初期由于微波爐市場屬于導入期,價格高,消費者接受的少,自1996年以后,惠而浦、松下等大局部都退出了中國市場,主要以出口為主。1998年后,外資品牌中以韓國品牌LG、三星表現(xiàn)較為突出,逐漸跨入第2、第3名,微波爐第一品牌為格蘭仕。2000年,美的介入,迅速崛起成為行業(yè)第三,三星也逐漸退出市場。經(jīng)過60年的開展,微波爐已經(jīng)成為人們?nèi)沼蒙钪械谋夭豢缮俚膹N房電器,大大降低了家庭婦女的工作量和工作強度。據(jù)統(tǒng)計,微波爐目前在日本、美國、西歐等興旺國家地區(qū)的普及率高達98%,在中國城鎮(zhèn)的普及率也已近90%。這個數(shù)字甚至超過了彩電和洗衣機的普及程度。三、產(chǎn)品開展趨勢隨著人們生活水平的提高和信息化的開展,家用電器層出不窮,各種功能也越來越完善,其中微波爐是現(xiàn)代家庭的必備產(chǎn)品,它的質(zhì)量和性能的上下,將會極大的影響人們的生活水平和質(zhì)量。為此,設計一個高質(zhì)量的微波爐控制系統(tǒng)是非常有必要的。微波爐開始進入越來越多的家庭,他給人們的生活帶來了極大的方便。微波爐由2450MHz的超高頻來加熱食物。他省時、省電、方便和衛(wèi)生,作為現(xiàn)代的烹飪工具,微波爐的控制器表達著他的重要性能指標。目前大局部微波爐控制器采用單片機進行設計,帶南路比擬復雜性能不夠靈活。本文采用先進的EDA技術,利用QuartusII工作平臺和VHDL設計語言,設計了一種新型的微波爐控制器芯片,該芯片具有系統(tǒng)復位、時間設定和烹飪計時的功能,用一片F(xiàn)PGA芯片實現(xiàn),所以能設計出一款方便平安操作的微波爐是非常有必要的。第二章電子設計自動化概述第一節(jié)VHDL簡介隨著VLSI、EDA〔ElectronicDesignAutomation〕工具的迅速開展,用戶系統(tǒng)的設計從單純的ASIC〔ApplicationSpecificIntegratedCircuit〕設計向著系統(tǒng)單片化SOC〔SystemOnaChip〕設計的方向開展。同時網(wǎng)絡技術的開展,共享IP知識產(chǎn)權的開放式系統(tǒng)設計成為新模式,芯片工藝物理設計與系統(tǒng)設計相別離,使用戶系統(tǒng)設計人員可直接從事芯片設計。多種技術的融合,系統(tǒng)的功能復合化程度越來越高;對系統(tǒng)設計方法學和工具的要求更高;系統(tǒng)設計日趨軟件硬化、硬件軟化,并使兩者得到了有機的融合,形成了更為強大的ESDA〔ElectronicSystemDesignAutomation〕。VHDL〔VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage〕是IEEE〔InstituteofElectricalandElectronicsEngineers〕標準的硬件描述語言,是現(xiàn)代電子系統(tǒng)設計的首選硬件設計計算機語言。本篇介紹VHDL的語法根底、用VHDL進行系統(tǒng)設計的根本方法、以及VHDL的設計實例等。從宏觀的角度看,VHDL的語法構成了程序的各組成局部;微觀上看VHDL的語法是各種語句的運用細節(jié)。本章在VHDL的特性之后,從這兩個角度簡要介紹VHDL的語法根底。硬件描述語言HDL〔HardwareDescriptionLanguage〕誕生于1962年。HDL是用形式化的方法描述數(shù)字電路和設計數(shù)字邏輯系統(tǒng)的語言。主要用于描述離散電子系統(tǒng)的結(jié)構和行為。與SDL〔SoftwareDescriptionLanguage〕相似,經(jīng)歷了從機器碼〔晶體管和焊接〕、匯編〔網(wǎng)表〕、到高級語言〔HDL〕的過程。20世紀80年代美國國防部開發(fā)VeryHighSpeedIntegratedCircuit—VHSIC,用于描述集成電路的結(jié)構和功能。此后,硬件描述語言向標準化方向開展,1987年成為IEEEStandard1076,稱為VHDL語言。它也是美國國防部標準〔MIL-STD-454L〕。1993年該標準增修為IEEE1164標準。1996年,再次參加電路合成的標準程序和規(guī)格,成為IEEE1076.3標準。1995年VerilogHDL也成為IEEE標準。VHDL與VerilogHDL一起成為業(yè)界主選的硬件描述語言。一、VHDL的特點應用VHDL進行系統(tǒng)設計,有以下幾方面的特點。〔一〕功能強大VHDL具有功能強大的語言結(jié)構。它可以用明確的代碼描述復雜的控制邏輯設計。并且具有多層次的設計描述功能,支持設計庫和可重復使用的元件生成。VHDL是一種設計、仿真和綜合的標準硬件描述語言?!捕晨梢浦残訴HDL語言是一個標準語言,其設計描述可以為不同的EDA工具支持。它可以從一個仿真工具移植到另一個仿真工具,從一個綜合工具移植到另一個綜合工具,從一個工作平臺移植到另一個工作平臺。此外,通過更換庫再重新綜合很容易移植為ASIC設計。〔三〕獨立性VHDL的硬件描述與具體的工藝技術和硬件結(jié)構無關。設計者可以不懂硬件的結(jié)構,也不必管最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。程序設計的硬件目標器件有廣闊的選擇范圍,可以是各系列的CPLD、FPGA及各種門陣列器件?!菜摹晨刹僮餍杂捎赩HDL具有類屬描述語句和子程序調(diào)用等功能,對于已完成的設計,在不改變源程序的條件下,只需改變端口類屬參量或函數(shù),就能輕易地改變設計的規(guī)模和結(jié)構?!参濉踌`活性VHDL最初是作為一種仿真標準格式出現(xiàn)的,有著豐富的仿真語句和庫函數(shù)。使其在任何大系統(tǒng)的設計中,隨時可對設計進行仿真模擬。所以,即使在遠離門級的高層次〔即使設計尚未完成時〕,設計者就能夠?qū)φ麄€工程設計的結(jié)構和功能的可行性進行查驗,并做出決策。二、VHDL的設計步驟采用VHDL的系統(tǒng)設計,一般有以下6個步驟。〔1〕要求的功能模塊劃分;〔2〕VHDL的設計描述〔設計輸入〕;〔3〕代碼仿真模擬〔前仿真〕;〔4〕計綜合、優(yōu)化和布局布線;〔5〕布局布線后的仿真模擬〔后仿真〕;〔6〕設計的實現(xiàn)〔下載到目標器件〕。三、VHDL的設計簡述VHDL描述數(shù)字電路系統(tǒng)設計的行為、功能、輸入和輸出。它在語法上與現(xiàn)代編程語言相似,但包含了許多與硬件有特殊關系的結(jié)構。VHDL將一個設計稱為一個實體Entity〔元件、電路或者系統(tǒng)〕,并且將它分成外部的可見局部〔實體名、連接〕和內(nèi)部的隱藏局部〔實體算法、實現(xiàn)〕。當定義了一個設計的實體之后,其他實體可以利用該實體,也可以開發(fā)一個實體庫。所以,內(nèi)部和外部的概念對系統(tǒng)設計的VHDL是十分重要的。外部的實體名或連接由實體聲明Entity來描述。而內(nèi)部的實體算法或?qū)崿F(xiàn)那么由結(jié)構體Architecture來描述。結(jié)構體可以包含相連的多個進程process或者組建component等其他并行結(jié)構。需要說明的是,它們在硬件中都是并行運行的。VHDL程序設計的根本結(jié)構如下:庫、程序包實體Entity結(jié)構體Architecture、
進程process、
組件component等配置Configuration表1VHDL程序設計的根本結(jié)構一個實體可以對應一個或者多個結(jié)構體。結(jié)構體可以包含一個或者多個進程或者組件。四、VHDL的描述風格設計實體的邏輯功能由VHDL的結(jié)構體具體描述。用戶可以使用不同程度的語句類型和抽象方式來描述不同程度的設計。例如系統(tǒng)級的、板級的、芯片級的或者模塊級的設計。對于相同的邏輯行為可以有不同的語句表達方式。在VHDL結(jié)構體中這種不同的描述方式或者說建模方法,通常可歸納為行為〔Behavioral〕級描述、數(shù)據(jù)流〔Dataflow〕級描述和結(jié)構〔Structural〕級描述?!惨弧承袨榧壝枋鐾ㄟ^一組串行的VHDL進程,反映設計的功能和算法,而沒有直接指明或涉及實現(xiàn)這些行為的硬件結(jié)構,包括硬件特性、連線方式和邏輯行為方式。行為級描述主要指順序語句描述,即通常是指含有進程的非結(jié)構化的邏輯描述?!捕硵?shù)據(jù)流級描述將數(shù)據(jù)看成從設計的輸入端流到輸出端,反映從輸入數(shù)據(jù)到輸出數(shù)據(jù)所發(fā)生的立即變換。數(shù)據(jù)流描述主要是指非結(jié)構化的并行語句描述;是建立在用并行信號賦值語句描述根底上的。數(shù)據(jù)流描述方式可比擬直觀地表達底層邏輯行為?!踩辰Y(jié)構級描述將設計看成多個功能塊的相互連接,并且主要通過功能塊的組件例化來表示。結(jié)構級描述方式采用了結(jié)構化、模塊化的設計思想,適合于大型復雜性設計。VHDL通過這三種描述方法或稱描述風格,從不同的側(cè)面描述結(jié)構體的行為方式。其中,行為描述的抽象程度最高,最能表達VHDL描述高層次結(jié)構和系統(tǒng)的能力。正是VHDL語言的行為描述能力使自頂向下的設計方式成為可能。在實際應用中,為了能兼顧整個設計的功能、資源和性能幾方面的因素,通常將以上三種描述方式混合使用。第二節(jié)FPGA介紹一、開展歷史早期的可編程邏輯器件只有可編程只讀存儲器〔PROM〕、紫外線可擦除只讀存儲器〔EPROM〕和電可擦除只讀存儲器〔E2PROM〕三種。由于結(jié)構的限制,它們只能完成簡單的數(shù)字邏輯功能。其后出現(xiàn)了一類結(jié)構上稍復雜的可編程芯片,即可編程邏輯器件〔PLD〕,它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個“與〞門和一個“或〞門陣列組成,而任意一個組合邏輯都可以用“與—或〞表達式來描述,所以PLD能以乘積和的形式完成大量的組合邏輯功能。這一階段的產(chǎn)品主要有PAL〔可編程陣列邏輯〕和GAL〔通用陣列邏輯〕。PAL由一個可編程的“與〞平面和一個固定的“或〞平面構成,或門的輸出可以通過觸發(fā)器有選擇地被置為存放狀態(tài)。PAL器件是現(xiàn)場可編程的,它的實現(xiàn)工藝有反熔絲技術、EPROM技術和E2PROM技術。還有一類結(jié)構更為靈活的邏輯器件是可編程邏輯陣列〔PLA〕,它也由一個“與〞平面和一個“或〞平面構成,但是這兩個平面的連接關系是可編程的。PLA器件既有現(xiàn)場可編程的,也有掩膜可編程的。在PAL的根底上又開展了一種通用陣列邏輯〔GAL,GenericArrayLogic〕,如GAL16V8、GAL22V10等。它采用了E'PROM工藝,實現(xiàn)了電可擦除、電可改寫,其輸出結(jié)構是可編程的邏輯宏單元,因而它的設計具有很強的靈活性,至今仍有許多人使用。這些早期的PLD器件的一個共同特點是可以實現(xiàn)速度特性較好的邏輯功能,但其過于簡單的結(jié)構也使它們只能實現(xiàn)規(guī)模較小的電路。為了彌補這一缺陷,20世紀80年代中期,Altera和Xilinx分別推出了類似于PAL結(jié)構的擴展型CPLD〔ComplexProgrammableLogicDvice〕和與標準門陣列類似的FPGA〔FieldProgrammableGateArray〕,它們都具有體系結(jié)構和邏輯單元靈活、集成度高以及適用范圍寬等特點。這兩種器件兼容了PLD和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路,編程也很靈活。與門陣列等其他ASIC〔ApplicationSpecificIC〕相比,它們又具有設計開發(fā)周期短、設計制造本錢低、開發(fā)工具先進、標準產(chǎn)品不需測試、質(zhì)量穩(wěn)定以及可實時在線檢驗等優(yōu)點,因此被廣泛應用于產(chǎn)品的原型設計和產(chǎn)品生產(chǎn)〔一般在10000件以下〕之中。幾乎所有應用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場合均可應用FPGA和CPLD器件。FPGA是英文FieldProgrammableGateArry的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的根底上進一步開展的產(chǎn)物。它是作為專用集成電路〔ASIC〕領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的缺乏,又克服了原有可編程器件門電路數(shù)有限的缺點。二、FPGA的根本特點FPGA采用了邏輯單元陣列〔LOA,LogicCellArry〕這樣一個新概念,內(nèi)部包括可配置邏輯模塊〔CLB,ConfigurableLogicBlock〕、輸入輸出模塊〔IOB,InputOutputBlock〕和內(nèi)部連線〔Interconnect〕三個局部。FPGA的根本特點主要有:〔1〕采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn)就能得到合用的芯片;〔2〕FPGA可做其他全定制或半定制ASIC電路的試樣片:〔3〕FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳;〔4〕FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一;〔5〕FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度和可靠性的最正確選擇之一。目前FPGA的品種很多,有XILINX的xc系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片內(nèi)RAM中的程序來設置其工作狀態(tài)的。因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中的數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關系消失。因此,F(xiàn)PGA能夠反復使用。FPGA的編程不需專用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA、不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。FPGA有下面4種配置模式:〔1〕并行主模式為一片F(xiàn)PGA加一片EPROM的方式;〔2〕主從模式可以支持一片PROM編程多片F(xiàn)PGA:〔3〕串行模式可以采用串行PROM編程FPGA;〔4〕外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。三、FPGA的優(yōu)點FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特點之外,還具有以下3個優(yōu)點?!惨弧畴S著超大規(guī)模集成電路〔VLSI,VeryLargeScaleIC〕工藝的不斷提高,單一芯片內(nèi)部可以容納上百萬個晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來越大,其單片邏輯門數(shù)已到達上百萬門,它所能實現(xiàn)的功能也越來越強,同時也可以實現(xiàn)系統(tǒng)集成?!捕矲PGA/CPLD芯片在出廠之前都做過百分之百的測試,不需要設計人員承當投片風險和費用,設計人員只需在自己的實驗室里就可以通過相關的軟硬件環(huán)境來完成芯片的最終功能設計。所以,F(xiàn)PGA/CPLD的資金投入小,節(jié)省了許多潛在的花費。〔三〕用戶可以反復地編程、擦除、使用或者在外圍電路不動的情況下用不同的軟件實現(xiàn)不同的功能。所以,用FPGAiCPLD試制樣片,能以最快的速度占領市場。FPGA/CPLD軟件包中有各種輸入工具和仿真工具及幅員設計工具和編程器等全線產(chǎn)品,電路設計人員在很短的時間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。當電路有少量改動時,更能顯示出FPGA/CPLD的優(yōu)勢。電路設計人員使用FPGA/CPLD進行電路設計時,不需要具備專門的IC〔集成電路〕深層次的知識,F(xiàn)PGA/CPLD軟件易學易用,可以使設計人員更能集中精力進行電路設計,快速將產(chǎn)品推向市場。第三節(jié)QuartusII介紹Altera公司的QuartusII開發(fā)系統(tǒng)以其獨特的設計理念,為用戶提供了一種全新的可編程邏輯器件開發(fā)系統(tǒng)。它集合了Altera的全部CPLD/FPGA器件的硬件開發(fā)功能,同時也可以實現(xiàn)系統(tǒng)級設計、綜合、仿真、約束等功能,還具有在線測試功能。QuartusII7.0軟件具有以下特征:〔一〕提供的集成物理綜合技術QuartusII軟件包括唯一的FPGA供給商提供的集成物理綜合優(yōu)化技術。QuartusII理綜合選項應用在編譯的布局布線階段,而與采用何種綜合工具無關。〔二〕更快的時序逼近QuartusII軟件用戶能夠利用強大的時序逼近流程特性來優(yōu)化設計,使其超過按鍵式編譯結(jié)果的性能。QuartusII軟件的時序逼近流程由于其包含了內(nèi)置物理綜合工具以及豐富的圖形分析和編輯工具,提供了強大的交互能力,具有極大的吸引力?!踩匙钜资褂玫脑O計優(yōu)化技術QuartusII軟件采用按鍵式設計流程,滿足了大局部設計的時序要求。當設計人員進一步需要更好的編譯結(jié)果時,QuartusII軟件提供了一些高級工具,可以輕松地實現(xiàn)優(yōu)化設計。用戶可以使用設計空間搜索器〔DSE〕采用自動技術,使存放器到存放器設計性能平均提高21%。時序優(yōu)化參謀工具在QuartusII軟件內(nèi)給設計人員提供了一個虛擬的現(xiàn)場應用工程師。這個工具基于當前設計工程設置和約束,提供詳細的優(yōu)化設計時序性能的建議。〔四〕實現(xiàn)后期設計更改的同時保持性能可編程邏輯設計軟件的一個傳統(tǒng)困難是:當引入后期設計更改的時候,如何保持設計的性能。然而,QuartusII軟件能夠輕松地實現(xiàn)后期設計更改。最新的增量式設計編程器和編譯技術給設計人員提供了布局布線后設計更改的最正確支持。這些技術包括:〔1〕QuartusII芯片編輯器;〔2〕在LogicLock(tm)區(qū)域中實現(xiàn)布局布線鎖定的能力;〔3〕使用漸進式編譯,僅實現(xiàn)對局部改動的設計進行修改?!参濉程峁┎⑿虚_發(fā)FPGA和結(jié)構化ASICQuartusII軟件能夠提供FPGA設計和結(jié)構化ASIC設計之間的無縫移植。QuartusII軟件能夠編譯HardCopyStratix器件,從而提供了高性能低本錢器件的解決方法。HardCopyStratix結(jié)構化ASIC提供了比StratixFPGA平均高50%的性能,進一步加強了StratixIII器件系列65nm性能的領先性。Altera公司的QuartusII設計軟件提供完整的多平臺設計環(huán)境,能夠直接滿足特定設計需要,為可編程芯片系統(tǒng)〔SOPC〕提供全面的設計環(huán)境。QuartusII軟件含有FPGA核CPLD設計所有階段的解決方案,其設計流程包含設計輸入、綜合、布局布線、時序分析、仿真、編程和配置等步驟,其中的布局布線還包括功耗分析、調(diào)試、工程更改管理幾個局部。這些操作都可以利用QuartusII軟件實現(xiàn)。此外,QuartusII軟件為設計流程的每個階段提供了QuartusII圖形用戶界面、EDA工具界面以及命令行界面??梢栽谡麄€流程中只使用這些界面中的一個,也可以在設計流程的不同階段使用不同的界面。第三章總體設計第一節(jié)課題的主要內(nèi)容及根本要求要求采用EDA技術設計一個微波爐控制器,可完成以下功能:〔1〕可控制烹調(diào)的開關;〔2〕可設置烹調(diào)時間,〔假設系統(tǒng)最長的烹調(diào)時間為59分59秒〕;〔3〕可顯示烹調(diào)的剩余時間。第二節(jié)設計思路現(xiàn)代數(shù)字系統(tǒng)設計一般采用自頂向下的方法,其過程大致可分為三個大的步驟:系統(tǒng)調(diào)研;模塊的劃分;模塊的實現(xiàn)。承接一個數(shù)字系統(tǒng)設計的課題后,一般不要急于動手設計,而應對課題作充分的分析和調(diào)研,然后確定初步的方案。分析:課題的任務、要求、原理和使用條件等。調(diào)研:課題現(xiàn)狀并和相同或相近課題進行比擬?,F(xiàn)代數(shù)字系統(tǒng)設計一般是將其劃分為控制器和受控電路兩大局部,控制器由ASM圖或MDS圖決定,而受控電路那么使用各種通用模塊實現(xiàn)。下面分析微波爐定時器的工作過程及根本要求:上電后,系統(tǒng)處于復位狀態(tài)。工作時首先進行烹調(diào)時間設置,并使用數(shù)碼管顯示時間信息,設要求最長的烹調(diào)時間為59分59秒,時間設置完畢后系統(tǒng)自動回到初始狀態(tài);按開始烹調(diào)按鍵進入烹調(diào)狀態(tài),時間顯示數(shù)碼管按每秒減1的倒計時方式顯示剩余烹調(diào)時間;烹調(diào)結(jié)束后,系統(tǒng)回到復位狀態(tài)。系統(tǒng)要求分析及初步方案確實定:根據(jù)系統(tǒng)的根本要求,著重應考慮如下問題:〔1〕計時電路的設計:芯片內(nèi)部產(chǎn)生和外部提供。本例中由外部時鐘電路以BCD碼的形式提供。〔2〕時間設置出錯及工作過程的取消等情況的處理:設置一個復位按鍵。〔3〕數(shù)碼管狀態(tài)的檢測:設置數(shù)碼管檢測按鍵,按動該按鍵后,數(shù)碼管能夠顯示“8888〞的信息?!?〕時間顯示電路:采用4位7段顯示數(shù)碼管顯示,并由芯片直接驅(qū)動。〔5〕微波管的驅(qū)動:設置一個輸出驅(qū)動控制烹調(diào)狀態(tài)的繼電器即可。第三節(jié)設計方案微波爐控制器系統(tǒng)可由以下三個電路模塊組成:狀態(tài)控制電路,其功能是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出相關控制信號;數(shù)據(jù)裝載電路,其功能是根據(jù)控制信號選擇定時時間,測試數(shù)據(jù)或計時完成信息的載入;計時器電路,其功能是對時鐘進行減法計數(shù),提供烹調(diào)完成時的狀態(tài)信號。微波爐控制器的系統(tǒng)框圖如圖1所示。其中,CLK為時鐘輸入信號,時鐘上升沿敏感;RESET為復位信號,高電平有效時系統(tǒng)復位清零;TEST為數(shù)碼顯示管測試信號,高電平有效系統(tǒng)顯示8888;SET_T高電平有效時允許設置烹飪時間;KEY為定時時間輸入信號,用于設置烹飪時間的長短,其高到低分別表示時間分、秒的十位、個位;START為烹調(diào)開始信號,高電平有效時開始烹調(diào);輸出信號COOK指示微波爐狀態(tài),高電平時表示烹調(diào)進行時;SEC0、SEC1、MIN0、MIN1分別表示秒個位、秒十位、分個位、分十位。顯示設置時間和烹飪時間信號分秒信號輸出驅(qū)動烹調(diào)輸出時鐘輸入數(shù)碼管測試輸入開始按鍵時間設置輸入復位輸入時間輸入顯示設置時間和烹飪時間信號分秒信號輸出驅(qū)動烹調(diào)輸出時鐘輸入數(shù)碼管測試輸入開始按鍵時間設置輸入復位輸入時間輸入圖1微波爐控制器系統(tǒng)框圖微波爐控制器的工作流程圖如圖2所示。接通電源接通電源初始狀態(tài)時間設置顯示8888烹調(diào)完成SET_TTEST?START?時間到?NYNYNYNY圖2工作流程圖首先,對系統(tǒng)進行復位清零,使其各電路模塊均處于初始狀態(tài);當烹飪時間設置信號SET_T有效時,讀入時間信號KEY[3..0]的取值,此時系統(tǒng)顯示設置的時間信息,再按下SET_T確定設置時間完成。按下開始鍵START,系統(tǒng)進入烹調(diào)狀態(tài),COOK信號變?yōu)楦唠娖剑瑫r鐘計數(shù)器開始減法計數(shù),MIN1、MIN0、SEC1、SEC0顯示剩余烹調(diào)時間。烹調(diào)結(jié)束,系統(tǒng)恢復初始狀態(tài)。當系統(tǒng)處于復位清零狀態(tài)時,按下顯像管測試按鈕TEST,將對顯像管是否正常工作進行測試,正常工作時,顯像管輸出全8。第四章模塊分析第一節(jié)狀態(tài)控制電路模塊狀態(tài)控制器的功能根據(jù)輸入信號和自身當時所處的狀態(tài)完成狀態(tài)的轉(zhuǎn)換和輸出相應的控制信號,其模塊框圖如圖3所示。其中,輸出信號LD_DONE指示數(shù)據(jù)裝載電路載入的烹調(diào)結(jié)束的狀態(tài)信息的顯示的驅(qū)動信息數(shù)據(jù);LD_CLK顯示數(shù)據(jù)裝載電路的設置的時間數(shù)據(jù);LD_TEST指示數(shù)據(jù)裝載電路載入的用于測試的數(shù)據(jù),以顯示驅(qū)動信息數(shù)據(jù);COOK指示烹飪的狀態(tài),并提示計時器進行減法計算;KEY為定時時間輸入信號,用于設置烹飪時間的長短,其高到低分別表示時間分、秒的十位、個位。當LD_DONE有效時,輸出烹調(diào)結(jié)束數(shù)據(jù)。當LD_CLK有效時,輸出烹調(diào)的設置時間數(shù)據(jù)。當LD_TEST有效時,輸出數(shù)碼管測試數(shù)據(jù)--包括6個輸入信號和4個輸出信號。圖3狀態(tài)控制電路模塊框圖根據(jù)微波爐工作流程的描述,分析狀態(tài)轉(zhuǎn)換條件及輸出信號,可以得到如圖4所示的微波爐控制器的狀態(tài)轉(zhuǎn)換圖。TEST/LD_TESTRESETTEST/LD_TESTRESET初始狀態(tài)IDLESET_CLOCKLAMP_TESTDONE_MSGTIMERSTART&DONE&TEST&SET_T/COOKLD_DONE/COOKX/LD_DONEX/LD_CLKSET_T&TEST/LD_CLKX/LD_TESTDONE/LD_DONE圖4狀態(tài)控制器狀態(tài)轉(zhuǎn)換圖減法計數(shù)定時狀態(tài)T完成信息顯示狀態(tài)T烹調(diào)時間設置狀態(tài)T顯示譯碼測試狀態(tài)T圖中,當RESET信號有效時,系統(tǒng)復位清零;輸入/輸出對應烹調(diào)時間設置、顯示譯碼測試、完成信號顯示和減法計數(shù)定時四種狀態(tài)進行相應的轉(zhuǎn)換。第二節(jié)數(shù)據(jù)裝載電路模塊數(shù)據(jù)裝載電路的本質(zhì)是一個三選一多路選擇器,其模塊框圖如圖5所示。圖5數(shù)據(jù)裝載電路模塊框圖當LD_DONE有效時,輸出烹調(diào)結(jié)束的信息數(shù)據(jù)數(shù)據(jù)。當L_CLK有效時,輸出烹調(diào)的設置時間數(shù)據(jù)。當L_TEST有效時,輸出數(shù)碼管測試數(shù)據(jù)。LOAD信號為LD_DONE時DATEOUT輸出KEY有效指示。第三節(jié)計時器模塊電路計時模塊可以由十進制減法計數(shù)器和六進制減法計數(shù)器級聯(lián)組成,其中,兩個十進制的減法計數(shù)器用于分、秒的個位減法計數(shù),兩個六進制的減法計數(shù)器用于分、秒的十位減法計數(shù)。由六進制計數(shù)器和十進制計數(shù)器級聯(lián)構成的計時模塊原理圖如圖6所示。圖6計時器模塊原理圖計時器模塊的框圖如圖7所示。圖7計時器模塊框圖LOAD有效時完成裝入功能,COOK〔EN〕有效時執(zhí)行減計數(shù);CLR由RESET發(fā)出信號,去除裝載已存的數(shù)據(jù);DONE返回給控制器,MIN和SEC顯示所剩時間和測試狀態(tài)信息、烹調(diào)結(jié)束狀態(tài)信息等。第五章程序設計及仿真第一節(jié)程序簡要說明程序分為多個模塊進行編寫,這樣既符合編程模塊化的要求也方便編寫和閱讀。按照以上功能和模塊分析,可以將程序劃分幾個模塊:狀態(tài)控制電路模塊controller、數(shù)據(jù)裝載電路模塊loader、計時器模塊counter,其中計時器模塊又可以劃分2個模塊:十進制功能編寫cnt10,6進制功能編寫cnt6,一起完成計時功能。本次程序編寫調(diào)試軟件平臺是QuartusII4.1。詳細的源程序可查看附錄二。第二節(jié)仿真時序圖下面我們分別考察微波爐總的功能、計時器模塊和數(shù)據(jù)裝載電路模塊的正確性〔其他模塊的仿真略〕。一、微波爐總的功能仿真微波爐總的功能仿真波形圖如下:圖8微波爐總的功能仿真波形圖圖中,CLK是輸入脈沖,RESET復位,SET_T設置時間,KEY按鍵輸入,START開始計時,COOK正在烹飪,MIN和SEC是時間顯示,LED2[1]是顯示設置時間信號,LED[0]是顯示烹飪時間信號。從仿真波形中可看出,按下RESET,所有信號復位為零,按下TEST,顯像管顯示8888,按下SET_T后KEY輸入有效,MIN和SEC顯示輸入值,KEY輸入完成并按下SET_T,表示設置時間完成,再按下START,開始烹飪并進行減法計數(shù),MIN和SEC顯示剩余時間,此時輸出COOK變?yōu)楦唠娖健6?、計時器模塊仿真波形計時器模塊仿真波形如下:圖9計時器模塊仿真波形圖圖中,LOAD為高電平時讀取信號DATA的值,當COOK信號為高電平時,對DATA的值進行減法計數(shù),并在每個時鐘周期都輸出減法計數(shù)器的當前值。仿真結(jié)果與預先設定的電路功能相吻合。三、狀態(tài)控制電路仿真波形狀態(tài)控制電路仿真波形如下:圖10狀態(tài)控制電路仿真波形圖上圖中,當測試信號TEST為高電平有效時,測試輸出信號為高電平;否那么,當時間設置信號SET_T為高電平時,對應的指示信號LD_CLK輸出高電平;當按下KEY設置烹調(diào)時間后,輸出DATA為相應的數(shù)值;當烹飪開始信號START信號為高電平時,對應輸出COOK為高電平;當復位信號RESET為高電平時,系統(tǒng)復位清零,恢復初始狀態(tài)。仿真結(jié)果符合模塊設計的要求。第六章硬件調(diào)試經(jīng)過軟件平臺上的編譯仿真,終于可以在硬件上進行調(diào)試。本次試驗所用的硬件平臺是ACEX1K系列的EP1K30TC144-3。在開發(fā)板上用到的第3個硬件模塊:4個八段數(shù)碼管、3個LED、8個按鍵。以下是模塊3的接線盒引腳分配:圖11接線盒引腳分配本次試驗為了觀察操作方便,數(shù)碼管用了第8、7、5、4個顯像管;LED分別用了D8、D7、D1;按鍵那么8個全部使用。表2對應的鍵位功能鍵8RESETD8LED2[1]鍵7SET_TD7LED2[0]鍵6TESTD1COOK鍵5START顯像管8MIN1鍵4KEY[3]顯像管7MIN0鍵3KEY[2]顯像管5SEC1鍵2KEY[1]顯像管4SEC0鍵1KEY[0]CLOCK0CLK表3具體的引腳分配分配好引腳,下載程序到硬件之后就可以調(diào)試了。首先按下TEST,顯示8888那么測試模式運行正常;按下SET_T設置時間,LED[1]亮,再輸入所學要的時間,再次按下SET_T關閉設置時間,LED[1]滅;按下START,開始計時,LED[0]、COOK亮,當時間回到0000時,燈全滅,完成試驗??偨Y(jié)本次課程設計是微波爐控制器的FPGA實現(xiàn),微波爐控制器系統(tǒng)可由三個電路模塊組成:狀態(tài)控制電路模塊controller、數(shù)據(jù)裝載電路模塊loader、計時器模塊counter。在QUARTUSII上進行程序的編程、仿真,在編譯仿真通過后,最終在試驗箱調(diào)試成功,實現(xiàn)設計任務書所要求的指標。本次課程設計從收集資料到完成論文共歷時2個星期。在課程設計期間,在溫習舊知識的同時,還學習了許多新的東西,把他們運用到這次設計中,加深了對之前學到的知識的理解。通過此次設計,我收獲了很多關于EDA技術與VHDL的知識。特別是QUARTUSII軟件的應用,從安裝到使用,在到對在仿真時遇到問題的解決,明白了理論是完美的,而實際仿真是會有延時、毛刺等問題,所以在仿真是如何設置時鐘也是值得好好考慮的。同時此次設計使我的動手能力提高了許多,能夠讓我在設計電路時,自己來解決碰到的問題,學會了怎樣去分析電路,怎樣把所學到的知識和實際相起來。但是由于在很多方面都沒有經(jīng)驗,在設計中遇到了很多困難,今后將努力克服自己在完成課程設計過程中暴露出來的缺乏之處。致謝本次課程設計是在廣西工學院信息與計算科學系的韋艷霞老師的悉心栽培和精心指導下完成的,在課程設計論文完成之際,向韋艷霞老師表示感謝!在設計的工程中,韋老師給予了我細心的指導和幫助。由于之前都有認真參與了前兩次的課程設計,前兩次課程設計的指導老師劉青正老師也同樣給予了細心的指導,讓我熟悉課程設計的過程,為這次課程設計能順利進行提供了根底,所以在此我也謝謝劉老師。在此我還要感謝我的伙伴,我的伙伴是一個很細心的人,剛好彌補了我在細心這方面的缺乏,使我們能很快的順利完成這次課程設計。由于本人水平有限,加之時間倉促,設計中疏漏和錯誤之處在所難免,希望老師給予諒解,同時也希望老師加以批評和指正,使我在以后的學習和工作中取得更大的成績。參考文獻1.潘松,黃繼業(yè).EDA技術實用教程(第二版)[M].北京:北京航空航天大學出版社,19902.劉欲曉,方強,黃宛寧等.EDA技術與VHDL電路開發(fā)應用實踐[M].北京:電子工業(yè)出版社,20233.譚會生,瞿遂春等.EDA技術綜合應用實例與分析[M].西安:西安電子科技大學出版社.2004.附錄一原理圖附錄二源程序--狀態(tài)控制電路的VHDL實現(xiàn)如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYcontrollorISPORT(RESET:INSTD_LOGIC;--復位信號KEY:INSTD_LOGIC_VECTOR(3DOWNTO0); --輸入時間SET_T:INSTD_LOGIC; --時間設置信號START:INSTD_LOGIC; --開始烹調(diào)信號TEST:INSTD_LOGIC; --顯示電路測試信號CLK:INSTD_LOGIC; --時鐘脈沖DONE:INSTD_LOGIC; --完成信號COOK:OUTSTD_LOGIC; --指示烹調(diào)狀態(tài),提示計時器開始計數(shù)LD_TEST:OUTSTD_LOGIC; --指示數(shù)據(jù)裝載電路載入的用于測試的數(shù)據(jù)LD_CLK:OUTSTD_LOGIC;--指示數(shù)據(jù)裝載電路載入設置時間數(shù)據(jù)DATA:OUTSTD_LOGIC_VECTOR(15DOWNTO0);--16位數(shù)據(jù)LED_SET_T:OUTSTD_LOGIC;--LED顯示狀態(tài)LD_DONE:OUTSTD_LOGIC --LED顯示完成);ENDcontrollor;ARCHITECTURErtlOFcontrollorISTYPESTATESIS(IDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG);SIGNALNXT,CUR:STATES;--2個信號:下一狀態(tài)、當前狀態(tài)SIGNALDATATMP:STD_LOGIC_VECTOR(15DOWNTO0);SIGNALSET_T0:STD_LOGIC;--設置時間信號BEGINPROCESS(CLK,RESET)--時鐘和復位的進程BEGINIFRESET='1'THEN--復位時將IDLE〔顯示0000〕賦予當前狀態(tài)CUR<=IDLE;ELSIFCLK'EVENTANDCLK='1'THENCUR<=NXT;--如果不是,遇到上邊沿那么自動跳轉(zhuǎn)下一狀態(tài)ENDIF;ENDPROCESS;PROCESS(RESET,KEY)--復位和輸入的進程BEGIN--可以讓輸入4位數(shù)字顯示時間IFRESET='1'THEN--復位時不管任何狀態(tài)數(shù)碼管都將顯示0000DATATMP<=(others=>'0');ELSEIFKEY(3)'EVENTANDKEY(3)='1'THEN--設置分的十位IFDATATMP(15DOWNTO12)="0101"THEN--5自動跳轉(zhuǎn)到0DATATMP(15DOWNTO12)<="0000";ELSEDATATMP(15DOWNTO12)<=DATATMP(15DOWNTO12)+1;ENDIF;--否那么自動加1ENDIF;IFKEY(2)'EVENTANDKEY(2)='1'THEN--設置分的個位IFDATATMP(11DOWNTO8)="1001"THEN--9自動跳轉(zhuǎn)到0DATATMP(11DOWNTO8)<="0000";ELSEDATATMP(11DOWNTO8)<=DATATMP(11DOWNTO8)+1;ENDIF;--否那么自動加1ENDIF;IFKEY(1)'EVENTANDKEY(1)='1'THEN--設置秒的十位IFDATATMP(7DOWNTO4)="0101"THEN--5自動跳轉(zhuǎn)到0DATATMP(7DOWNTO4)<="0000";ELSEDATATMP(7DOWNTO4)<=DATATMP(7DOWNTO4)+1;ENDIF;--否那么自動加1ENDIF;IFKEY(0)'EVENTANDKEY(0)='1'THEN--設置秒的個位IFDATATMP(3DOWNTO0)="1001"THEN--9自動跳轉(zhuǎn)到0DATATMP(3DOWNTO0)<="0000";ELSEDATATMP(3DOWNTO0)<=DATATMP(3DOWNTO0)+1;ENDIF;ENDIF;--否那么自動加1ENDIF;DATA<=DATATMP;ENDPROCESS;PROCESS(SET_T,RESET)--設置時間和復位進程BEGINIFRESET='1'THEN--復位時設置時間變?yōu)榈碗娖絊ET_T0<='0';ELSIFSET_T'EVENTANDSET_T='1'THEN--按下SET_T鍵時SET_T0<=NOTSET_T0; --SET_T非它前之狀態(tài)ENDIF;IFSET_T0='1'THENLED_SET_T<='1';--賦予SET_T持續(xù)電平ELSELED_SET_T<='0';--賦予SET_T持續(xù)電平ENDIF;ENDPROCESS;PROCESS(CLK,CUR,SET_T,START,TEST,DONE)ISBEGINNXT<=IDLE;--將IDLE載入NXTLD_TEST<='0';--復位LD_DONE<='0';LD_CLK<='0';COOK<='0';CASECURISWHENLAMP_TEST=>--譯碼器顯示測試狀態(tài)LD_TEST<='1';COOK<='0';WHENSET_CLOCK=>--烹調(diào)時間測試狀態(tài)LD_CLK<='1';COOK<='0';WHENDONE_MSG=>--完成信息顯示狀態(tài)LD_DONE<='0';COOK<='0';WHENIDLE=>--初始狀態(tài)定義IFTEST='1'THENNXT<=LAMP_TEST;--設置TESTLD_TEST<='1';ELSIFSET_T0='1'THEN--設置SET_T NXT<=SET_CLOCK;LD_CLK<='1';ELSIFSTART='1'ANDDONE='0'THEN--設置計時模式NXT<=TIMER;COOK<='1';ENDIF;WHENTIMER=>IFDONE='1'THEN--設置計時完成NXT<=DONE_MSG;LD_DONE<='0';ELSENXT<=TIMER;COOK<='1';ENDIF;--WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDrtl;數(shù)據(jù)裝載電路的VHDL實現(xiàn)如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYloaderISPORT(DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);--輸入16位數(shù)據(jù)LD_TEST:INSTD_LOGIC;LD_CLK:INSTD_LOGIC;LD_DONE:INSTD_LOGIC;DATAOUT:OUTSTD_LOGIC_VECTOR(15DOWNTO0);--輸出16位數(shù)據(jù)LOAD:OUTSTD_LOGIC--選擇狀態(tài));ENDloader;ARCHITECTURErtlOFloaderISBEGINPROCESS(DATAIN,LD_TEST,LD_CLK,LD_DONE)CONSTANTALLS:STD_LOGIC_VECTOR(15DOWNTO0)--測試信息--顯示8888CONSTANTDONE:STD_LOGIC_VECTOR(15DOWNTO0)--烹調(diào)完成信息VARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINLOAD<=LD_TESTORLD_DONEORLD_CLK;--三選一狀態(tài)TEMP:=LD_TEST&LD_DONE&LD_CLK;--中間變量定義CASETEMPISWHEN"100"=>--測試DATAOUT<=ALLS;WHEN"010"=>--烹調(diào)完成DATAOUT<=DONE;WHEN"001"=>DATAOUT<=DATAIN;WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDrtl;十進制計數(shù)器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcnt10ISPORT(CLK:INSTD_LOGIC;LOAD,CLR:INSTD_LOGIC;--CLR:去除數(shù)據(jù)EN:INSTD_LOGIC;--信號使能DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);--輸入的4位數(shù)據(jù)Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--輸出的4位數(shù)據(jù)CARRY_OUT:OUTSTD_LOGIC--數(shù)據(jù)裝載);ENDcnt10;ARCHITECTURErtlOFcnt10ISSIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);--鏈接輸入輸出BEGIN--數(shù)據(jù)的信號PROCESS(CLK,LOAD,CLR,EN)BEGINIFCLR='1'THEN--當CLR高電平,數(shù)據(jù)變?yōu)?000TMP<="0000";ELSIFLOAD='1'THEN--否那么裝載輸入的數(shù)據(jù)TMP<=DATAIN;ELSIFCLK'EVENTANDCLK='0'THEN--上升沿時,執(zhí)行10進制減法IFEN='1'THENIFTMP="0000"THEN--0跳轉(zhuǎn)到9TMP<="1001";ELSE--自動減1TMP<=TMP-'1';ENDIF;ENDIF;ENDIF;IFTMP="0000"THENCARRY_OUT<='1';--COOK<=CARRY_OUTELSECARRY_OUT<='0';ENDIF;ENDPROCESS;Q<=TMP;ENDrtl;六進制減法計數(shù)器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcnt6ISPORT(CLK:INSTD_LOGIC;LOAD,CLR:INSTD_LOGIC;EN:INSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);ENDcnt6;ARCHITECTURErtlOFcnt6ISSIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK,LOAD,CLR,EN)BEGINIFCLR='1'THENTMP<="0000";ELSIFLOAD='1'THENTMP<=DATAIN;ELSIFCLK'EVENTANDCLK='0'THEN--上升沿時進行6進制減法IFEN='1'THENIFTMP="0000"THEN--0自動跳轉(zhuǎn)到5TMP<="0101";ELSETMP<=TMP-'1';--否那么自動減1ENDIF;ENDIF;ENDIF;IFTMP="0000"THENCARRY_OUT<='1';--賦值給COOKELSECARRY_OUT<='0';ENDIF;ENDPROCESS;Q<=TMP;ENDrtl;計時電路的VHDL實現(xiàn)如下:--計數(shù)器電路模塊設計LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcounterISPORT(COOK:INSTD_LOGIC;LOAD,CLR:INSTD_LOGIC;CLK:INSTD_LOGIC;DATA:INSTD_LOGIC_VECTOR(15DOWNTO0);SEC0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--秒個位SEC1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--秒十位MIN0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--分個位MIN1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--分十位DONE:OUTSTD_LOGIC--完成);ENDcounter;ARCHITECTURErtlOFcounterIS--定義十進制和六進制計數(shù)器電路模塊COMPONENTcnt10ISPORT(CLK:INSTD_LOGIC;LOAD,CLR:INSTD_LOGIC;EN:INSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);--輸入Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--輸出CARRY_OUT:OUTSTD_LOGIC--狀態(tài));ENDCOMPONENTcnt10;COMPONENTcnt6ISPORT(CLK:INSTD_LOGIC;LOAD,CLR:INSTD_LOGIC;EN:INSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);ENDCOMPONENTcnt6;SIGNALCLK0:STD_LOGIC;SIGNALS0:STD_LOGIC;SIGNALS1:STD_LOGIC;SIGNALS2:STD_LOGIC;SIGNALS3:STD_LOGIC;BEGIN--元件例化CLK0<=NOTCLK;U1:cnt10PORTMAP(CLK0,LOAD,CLR,COOK,DATA(3DOWNTO0),SEC0,S0);U2:cnt6PORTMAP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024勞務派遣合同范本勞務派遣合同范本2
- 2024《技術轉(zhuǎn)讓合同范本》
- 2024【設計服務合同范本】軟件服務合同范本
- 2024正規(guī)材料采購合同書范本
- 2024個人汽車租賃合同范本
- 2024市場商鋪租賃合同
- 2024室內(nèi)裝修裝飾工程掛靠合同書范本
- 深圳大學《有限元方法》2023-2024學年第一學期期末試卷
- 保修合同范本(2篇)
- 安全試工合同(2篇)
- 自體骨髓干細胞治療急性心肌梗死的臨床研究的開題報告
- 家長會課件:小學二年級學生家長會課件
- 運動技能學習與控制課件第十一章運動技能的練習
- 《第2課:20世紀的藝術大師-馬蒂斯》教學設計(湖北省縣級優(yōu)課)-五年級美術教案
- 技術核定單(示范文本)
- 3.8做改革創(chuàng)新生力軍
- 掛籃檢查驗收記錄表
- 解一元一次方程去分母 全市一等獎
- InfoQ:2023中國企業(yè)數(shù)字化人才發(fā)展白皮書
- 閥門檢驗試驗方案
- 第14章-幾何非線性有限元分析1
評論
0/150
提交評論