FPGA《基于VHDL微波爐課程設(shè)計(jì)》_第1頁
FPGA《基于VHDL微波爐課程設(shè)計(jì)》_第2頁
FPGA《基于VHDL微波爐課程設(shè)計(jì)》_第3頁
FPGA《基于VHDL微波爐課程設(shè)計(jì)》_第4頁
FPGA《基于VHDL微波爐課程設(shè)計(jì)》_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1微波爐控制器的 FPGA 實(shí)現(xiàn) 2目 錄第一章 緒 論.1第一節(jié) 課題背景介紹.1第二章 電子設(shè)計(jì)自動(dòng)化概述.2第一節(jié) VHDL 簡(jiǎn)介.2第三章 總體設(shè)計(jì).5第一節(jié) 課題的主要內(nèi)容及基本要求.5第二節(jié) 設(shè)計(jì)思路.5第三節(jié) 設(shè)計(jì)方案.6第四章 模塊分析.8第一節(jié) 狀態(tài)控制電路模塊.9第二節(jié) 數(shù)據(jù)裝載電路模塊.10第三節(jié) 計(jì)時(shí)器模塊.11第五章 程序設(shè)計(jì)及仿真.12第一節(jié) 程序簡(jiǎn)要說明.12第二節(jié) 仿真時(shí)序圖.13第六章 硬件調(diào)試.13總 結(jié) .16致 謝 .17參考文獻(xiàn).18附錄一 原理圖.19附錄二 源程序.203摘摘 要要該設(shè)計(jì)用語言在軟件平臺(tái)上通過編譯、模擬仿真,完成了微波爐控制功能,實(shí)

2、現(xiàn)了微波爐的測(cè)試、時(shí)間設(shè)置、烹調(diào)計(jì)時(shí)、完成提示等設(shè)計(jì),并對(duì)時(shí)鐘分頻作了一定的探討。此設(shè)計(jì)采用了現(xiàn)場(chǎng)可編程邏輯器件的設(shè)計(jì),由控制模塊、裝載模塊、計(jì)時(shí)模塊和顯示模塊四大模塊組成,而且它可以將所有器件集成在一塊芯片上,體積大大減小,且外圍電路很簡(jiǎn)單,易于實(shí)現(xiàn)。關(guān)鍵詞:;微波爐控制器;仿真第一章 緒 論第一節(jié) 課題背景介紹一、產(chǎn)品背景介紹Percy L.Spencer 在 1946 年構(gòu)想出微波爐的概念,在 1950 年取得專利。微波爐的運(yùn)作機(jī)制為微波在水中能產(chǎn)生摩擦熱的原理。早期微波爐尺碼龐大,重量超過 300 公斤和高度超過 1.5 米,所以主要在大型餐廳和食物市場(chǎng)使用。第一部家用微波爐是在 19

3、65 年由 Raytheon 集團(tuán)生產(chǎn)。二、國(guó)內(nèi)產(chǎn)品發(fā)展現(xiàn)狀現(xiàn)在,中國(guó)已成為全球最大的微波爐生產(chǎn)基地,據(jù)估計(jì),中國(guó)微波爐年產(chǎn)量已達(dá) 2000 萬臺(tái)左右,從 2001 年中國(guó)市場(chǎng)的需求量來看,約在 700 萬臺(tái)左右。中國(guó)微波爐市場(chǎng)經(jīng)過前幾年的洗牌,已由前幾年的 300 多家減少至目前的 100多家,其中在市場(chǎng)上可統(tǒng)計(jì)的僅 30 多家。洋品牌在早期的微波爐市場(chǎng)份額,幾乎占據(jù)了絕大部分的市場(chǎng)。但初期由于微波爐市場(chǎng)屬于導(dǎo)入期,價(jià)格高,消費(fèi)者接受的少,自 1996 年以后,惠而浦、松下等大部分都退出了中國(guó)市場(chǎng),主要以出口為主。1998 年后,外資品牌中以韓國(guó)品牌 LG、三星表現(xiàn)較為突出,逐漸跨入第 2、

4、第 3 名,微波爐第一品牌為格蘭仕。2000 年,美的介入,迅速崛起成為行業(yè)第三,三星也逐漸退出市場(chǎng)。經(jīng)過 60 年的發(fā)展,微波爐已經(jīng)成為人們?nèi)沼蒙钪械谋夭豢缮俚膹N房電器,大大降低了家庭婦女的工作量和工作強(qiáng)度。據(jù)統(tǒng)計(jì),微波爐目前在日本、美國(guó)、西歐等發(fā)達(dá)國(guó)家地區(qū)的普及率高達(dá) 98%,在中國(guó)城鎮(zhèn)的普及率也已近 90%。這個(gè)數(shù)字甚至超過了彩電和洗衣機(jī)的普及程度。三、產(chǎn)品發(fā)展趨勢(shì)隨著人們生活水平的提高和信息化的發(fā)展,家用電器層出不窮,各種功能也越來越完善,其中微波爐是現(xiàn)代家庭的必備產(chǎn)品,它的質(zhì)量和性能的高低,將4會(huì)極大的影響人們的生活水平和質(zhì)量。為此,設(shè)計(jì)一個(gè)高質(zhì)量的微波爐控制系統(tǒng)是非常有必要的。微

5、波爐開始進(jìn)入越來越多的家庭,他給人們的生活帶來了極大的方便。微波爐由 2450MHz 的超高頻來加熱食物。他省時(shí)、省電、方便和衛(wèi)生,作為現(xiàn)代的烹飪工具,微波爐的控制器體現(xiàn)著他的重要性能指標(biāo)。目前大部分微波爐控制器采用單片機(jī)進(jìn)行設(shè)計(jì),帶南路比較復(fù)雜性能不夠靈活。本文采用先進(jìn)的EDA 技術(shù),利用 QuartusII 工作平臺(tái)和 VHDL 設(shè)計(jì)語言,設(shè)計(jì)了一種新型的微波爐控制器芯片,該芯片具有系統(tǒng)復(fù)位、時(shí)間設(shè)定和烹飪計(jì)時(shí)的功能,用一片F(xiàn)PGA 芯片實(shí)現(xiàn),所以能設(shè)計(jì)出一款方便安全操作的微波爐是非常有必要的。第二章 電子設(shè)計(jì)自動(dòng)化概述第一節(jié) VHDL 簡(jiǎn)介隨著VLSI、EDA( Electronic D

6、esign Automation )工具的迅速發(fā)展,用戶系統(tǒng)的設(shè)計(jì)從單純的ASIC(Application Specific Integrated Circuit)設(shè)計(jì)向著系統(tǒng)單片化SOC(System On a Chip)設(shè)計(jì)的方向發(fā)展。同時(shí)網(wǎng)絡(luò)技術(shù)的發(fā)展,共享IP 知識(shí)產(chǎn)權(quán)的開放式系統(tǒng)設(shè)計(jì)成為新模式,芯片工藝物理設(shè)計(jì)與系統(tǒng)設(shè)計(jì)相分離,使用戶系統(tǒng)設(shè)計(jì)人員可直接從事芯片設(shè)計(jì)。多種技術(shù)的融合,系統(tǒng)的功能復(fù)合化程度越來越高;對(duì)系統(tǒng)設(shè)計(jì)方法學(xué)和工具的要求更高;系統(tǒng)設(shè)計(jì)日趨軟件硬化、硬件軟化,并使兩者得到了有機(jī)的融合,形成了更為強(qiáng)大的 ESDA( Electronic System Design Au

7、tomation ) 。VHDL(Very High Speed Integrated Circuit Hardware Description Language)是 IEEE(Institute of Electrical and Electronics Engineers)標(biāo)準(zhǔn)的硬件描述語言,是現(xiàn)代電子系統(tǒng)設(shè)計(jì)的首選硬件設(shè)計(jì)計(jì)算機(jī)語言。本篇介紹 VHDL 的語法基礎(chǔ)、用 VHDL 進(jìn)行系統(tǒng)設(shè)計(jì)的基本方法、以及VHDL 的設(shè)計(jì)實(shí)例等。從宏觀的角度看,VHDL 的語法構(gòu)成了程序的各組成部分;微觀上看 VHDL的語法是各種語句的運(yùn)用細(xì)節(jié)。本章在 VHDL 的特性之后,從這兩個(gè)角度簡(jiǎn)要介紹 VHD

8、L 的語法基礎(chǔ)。硬件描述語言 HDL(Hardware Description Language)誕生于 1962 年。HDL 是用形式化的方法描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語言。主要用于描述離散電子系統(tǒng)的結(jié)構(gòu)和行為。與 SDL(Software Description Language)相似,經(jīng)歷了從機(jī)器碼(晶體管和焊接) 、匯編(網(wǎng)表) 、到高級(jí)語言(HDL)的過程。20 世紀(jì) 80 年代美國(guó)國(guó)防部開發(fā) Very High Speed Integrated CircuitVHSIC,用于描述集成電路的結(jié)構(gòu)和功能。此后,硬件描述語言向標(biāo)準(zhǔn)化方向發(fā)5展,1987 年成為 IEEE Stand

9、ard 1076,稱為 VHDL 語言。它也是美國(guó)國(guó)防部標(biāo)準(zhǔn)(MIL-STD-454L) 。1993 年該標(biāo)準(zhǔn)增修為 IEEE1164 標(biāo)準(zhǔn)。1996 年,再次加入電路合成的標(biāo)準(zhǔn)程序和規(guī)格,成為 IEEE1076.3 標(biāo)準(zhǔn)。1995 年 VerilogHDL 也成為 IEEE 標(biāo)準(zhǔn)。VHDL 與 VerilogHDL 一起成為業(yè)界主選的硬件描述語言。一、VHDL 的特點(diǎn)應(yīng)用 VHDL 進(jìn)行系統(tǒng)設(shè)計(jì),有以下幾方面的特點(diǎn)。(一)功能強(qiáng)大VHDL 具有功能強(qiáng)大的語言結(jié)構(gòu)。它可以用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì)。并且具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫(kù)和可重復(fù)使用的元件生成。VHDL 是一種設(shè)計(jì)、仿

10、真和綜合的標(biāo)準(zhǔn)硬件描述語言。(二)可移植性VHDL 語言是一個(gè)標(biāo)準(zhǔn)語言,其設(shè)計(jì)描述可以為不同的 EDA 工具支持。它可以從一個(gè)仿真工具移植到另一個(gè)仿真工具,從一個(gè)綜合工具移植到另一個(gè)綜合工具,從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)。此外,通過更換庫(kù)再重新綜合很容易移植為 ASIC 設(shè)計(jì)。(三)獨(dú)立性VHDL 的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無關(guān)。設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。程序設(shè)計(jì)的硬件目標(biāo)器件有廣闊的選擇范圍,可以是各系列的 CPLD、FPGA 及各種門陣列器件。(四)可操作性由于 VHDL 具有類屬描述語句和子程序調(diào)用等功能,對(duì)于已完成

11、的設(shè)計(jì),在不改變?cè)闯绦虻臈l件下,只需改變端口類屬參量或函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu)。(五)靈活性VHDL 最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,有著豐富的仿真語句和庫(kù)函數(shù)。使其在任何大系統(tǒng)的設(shè)計(jì)中,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。所以,即使在遠(yuǎn)離門級(jí)的高層次(即使設(shè)計(jì)尚未完成時(shí)) ,設(shè)計(jì)者就能夠?qū)φ麄€(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性進(jìn)行查驗(yàn),并做出決策。二、VHDL 的設(shè)計(jì)步驟采用 VHDL 的系統(tǒng)設(shè)計(jì),一般有以下 6 個(gè)步驟。(1)要求的功能模塊劃分;(2)VHDL 的設(shè)計(jì)描述(設(shè)計(jì)輸入) ;6(3)代碼仿真模擬(前仿真) ;(4)計(jì)綜合、優(yōu)化和布局布線;(5)布局布線后的仿真模擬(后仿真) ;(

12、6)設(shè)計(jì)的實(shí)現(xiàn)(下載到目標(biāo)器件) 。三、VHDL 的設(shè)計(jì)簡(jiǎn)述VHDL 描述數(shù)字電路系統(tǒng)設(shè)計(jì)的行為、功能、輸入和輸出。它在語法上與現(xiàn)代編程語言相似,但包含了許多與硬件有特殊關(guān)系的結(jié)構(gòu)。VHDL 將一個(gè)設(shè)計(jì)稱為一個(gè)實(shí)體 Entity(元件、電路或者系統(tǒng)) ,并且將它分成外部的可見部分(實(shí)體名、連接)和內(nèi)部的隱藏部分(實(shí)體算法、實(shí)現(xiàn)) 。當(dāng)定義了一個(gè)設(shè)計(jì)的實(shí)體之后,其他實(shí)體可以利用該實(shí)體,也可以開發(fā)一個(gè)實(shí)體庫(kù)。所以,內(nèi)部和外部的概念對(duì)系統(tǒng)設(shè)計(jì)的 VHDL 是十分重要的。外部的實(shí)體名或連接由實(shí)體聲明 Entity 來描述。而內(nèi)部的實(shí)體算法或?qū)崿F(xiàn)則由結(jié)構(gòu)體 Architecture 來描述。結(jié)構(gòu)體可以包

13、含相連的多個(gè)進(jìn)程 process 或者組建 component 等其他并行結(jié)構(gòu)。需要說明的是,它們?cè)谟布卸际遣⑿羞\(yùn)行的。VHDL 程序設(shè)計(jì)的基本結(jié)構(gòu)如下:庫(kù)、程序包實(shí)體 Entity結(jié)構(gòu)體 Architecture、 進(jìn)程 process、 組件 component 等配置 Configuration 表 1 VHDL 程序設(shè)計(jì)的基本結(jié)構(gòu)一個(gè)實(shí)體可以對(duì)應(yīng)一個(gè)或者多個(gè)結(jié)構(gòu)體。結(jié)構(gòu)體可以包含一個(gè)或者多個(gè)進(jìn)程或者組件。四、VHDL 的描述風(fēng)格設(shè)計(jì)實(shí)體的邏輯功能由 VHDL 的結(jié)構(gòu)體具體描述。用戶可以使用不同程度的語句類型和抽象方式來描述不同程度的設(shè)計(jì)。例如系統(tǒng)級(jí)的、板級(jí)的、芯片級(jí)的或者模塊級(jí)的設(shè)計(jì)

14、。對(duì)于相同的邏輯行為可以有不同的語句表達(dá)方式。在VHDL 結(jié)構(gòu)體中這種不同的描述方式或者說建模方法,通常可歸納為行為(Behavioral)級(jí)描述、數(shù)據(jù)流(Dataflow)級(jí)描述和結(jié)構(gòu)(Structural)級(jí)描述。(一)行為級(jí)描述通過一組串行的 VHDL 進(jìn)程,反映設(shè)計(jì)的功能和算法,而沒有直接指明或涉7及實(shí)現(xiàn)這些行為的硬件結(jié)構(gòu),包括硬件特性、連線方式和邏輯行為方式。行為級(jí)描述主要指順序語句描述,即通常是指含有進(jìn)程的非結(jié)構(gòu)化的邏輯描述。(二)數(shù)據(jù)流級(jí)描述將數(shù)據(jù)看成從設(shè)計(jì)的輸入端流到輸出端,反映從輸入數(shù)據(jù)到輸出數(shù)據(jù)所發(fā)生的立即變換。數(shù)據(jù)流描述主要是指非結(jié)構(gòu)化的并行語句描述;是建立在用并行信號(hào)賦

15、值語句描述基礎(chǔ)上的。數(shù)據(jù)流描述方式可比較直觀地表達(dá)底層邏輯行為。(三)結(jié)構(gòu)級(jí)描述將設(shè)計(jì)看成多個(gè)功能塊的相互連接,并且主要通過功能塊的組件例化來表示。結(jié)構(gòu)級(jí)描述方式采用了結(jié)構(gòu)化、模塊化的設(shè)計(jì)思想,適合于大型復(fù)雜性設(shè)計(jì)。VHDL 通過這三種描述方法或稱描述風(fēng)格,從不同的側(cè)面描述結(jié)構(gòu)體的行為方式。其中,行為描述的抽象程度最高,最能體現(xiàn) VHDL 描述高層次結(jié)構(gòu)和系統(tǒng)的能力。正是 VHDL 語言的行為描述能力使自頂向下的設(shè)計(jì)方式成為可能。在實(shí)際應(yīng)用中,為了能兼顧整個(gè)設(shè)計(jì)的功能、資源和性能幾方面的因素,通常將以上三種描述方式混合使用。第三章 總體設(shè)計(jì)第一節(jié) 課題的主要內(nèi)容及基本要求要求采用 EDA 技術(shù)

16、設(shè)計(jì)一個(gè)微波爐控制器,可完成以下功能:(1)可控制烹調(diào)的開關(guān);(2)可設(shè)置烹調(diào)時(shí)間, (假設(shè)系統(tǒng)最長(zhǎng)的烹調(diào)時(shí)間為 59 分 59 秒) ;(3)可顯示烹調(diào)的剩余時(shí)間。第二節(jié) 設(shè)計(jì)思路現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)一般采用自頂向下的方法,其過程大致可分為三個(gè)大的步驟:系統(tǒng)調(diào)研;模塊的劃分;模塊的實(shí)現(xiàn)。承接一個(gè)數(shù)字系統(tǒng)設(shè)計(jì)的課題后,一般不要急于動(dòng)手設(shè)計(jì),而應(yīng)對(duì)課題作充分的分析和調(diào)研,然后確定初步的方案。分析:課題的任務(wù)、要求、原理和使用條件等。調(diào)研:課題現(xiàn)狀并和相同或相近課題進(jìn)行比較。現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)一般是將其劃分為控制器和受控電路兩大部分,控制器由 ASM 圖或 MDS 圖決定,而受控電路則使用各種通用模塊實(shí)

17、現(xiàn)。下面分析微波爐定時(shí)器的工作過程及基本要求: 上電后,系統(tǒng)處于復(fù)位狀態(tài)。工作時(shí)首先進(jìn)行烹調(diào)時(shí)間設(shè)置,并使用數(shù)碼管顯示時(shí)間信息,設(shè)要求最長(zhǎng)的烹調(diào)時(shí)間為 59 分 59 秒,時(shí)間設(shè)置完畢后系統(tǒng)8自動(dòng)回到初始狀態(tài);按開始烹調(diào)按鍵進(jìn)入烹調(diào)狀態(tài),時(shí)間顯示數(shù)碼管按每秒減1 的倒計(jì)時(shí)方式顯示剩余烹調(diào)時(shí)間;烹調(diào)結(jié)束后,系統(tǒng)回到復(fù)位狀態(tài)。系統(tǒng)要求分析及初步方案的確定:根據(jù)系統(tǒng)的基本要求,著重應(yīng)考慮如下問題: (1)計(jì)時(shí)電路的設(shè)計(jì):芯片內(nèi)部產(chǎn)生和外部提供。本例中由外部時(shí)鐘電路以 BCD 碼的形式提供。(2)時(shí)間設(shè)置出錯(cuò)及工作過程的取消等情況的處理:設(shè)置一個(gè)復(fù)位按鍵。 (3)數(shù)碼管狀態(tài)的檢測(cè):設(shè)置數(shù)碼管檢測(cè)按鍵,

18、按動(dòng)該按鍵后,數(shù)碼管能夠顯示“8888”的信息。(4)時(shí)間顯示電路:采用 4 位 7 段顯示數(shù)碼管顯示,并由芯片直接驅(qū)動(dòng)。 (5)微波管的驅(qū)動(dòng):設(shè)置一個(gè)輸出驅(qū)動(dòng)控制烹調(diào)狀態(tài)的繼電器即可。第三節(jié) 設(shè)計(jì)方案微波爐控制器系統(tǒng)可由以下三個(gè)電路模塊組成:狀態(tài)控制電路,其功能是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出相關(guān)控制信號(hào);數(shù)據(jù)裝載電路,其功能是根據(jù)控制信號(hào)選擇定時(shí)時(shí)間,測(cè)試數(shù)據(jù)或計(jì)時(shí)完成信息的載入;計(jì)時(shí)器電路,其功能是對(duì)時(shí)鐘進(jìn)行減法計(jì)數(shù),提供烹調(diào)完成時(shí)的狀態(tài)信號(hào)。微波爐控制器的系統(tǒng)框圖如圖 1 所示。其中,CLK 為時(shí)鐘輸入信號(hào),時(shí)鐘上升沿敏感;RESET 為復(fù)位信號(hào),高電平有效時(shí)系統(tǒng)復(fù)位清零;TE

19、ST 為數(shù)碼顯示管測(cè)試信號(hào),高電平有效系統(tǒng)顯示 8888;SET_T 高電平有效時(shí)允許設(shè)置烹飪時(shí)間;KEY 為定時(shí)時(shí)間輸入信號(hào),用于設(shè)置烹飪時(shí)間的長(zhǎng)短,其高到低分別表示時(shí)間分、秒的十位、個(gè)位;START 為烹調(diào)開始信號(hào),高電平有效時(shí)開始烹調(diào);輸出信號(hào) COOK 指示微波爐狀態(tài),高電平時(shí)表示烹調(diào)進(jìn)行時(shí);SEC0 、SEC1、MIN0、MIN1 分別表示秒個(gè)位、秒十位、分個(gè)位、分十位。9 圖 1 微波爐控制器系統(tǒng)框圖微波爐控制器的工作流程圖如圖 2 所示。接通電源初始狀態(tài)時(shí)間設(shè)置顯示 8888烹調(diào)完成SET_TTEST?START?時(shí)間到?NYNYNYNY圖 2 工作流程圖首先,對(duì)系統(tǒng)進(jìn)行復(fù)位清零

20、,使其各電路模塊均處于初始狀態(tài);當(dāng)烹飪時(shí)時(shí)間輸入時(shí)鐘輸入復(fù)位輸入時(shí)間設(shè)置輸入開始按鍵數(shù)碼管測(cè)試輸入分秒信號(hào)輸 出驅(qū)動(dòng)烹調(diào)輸出顯示設(shè)置時(shí)間和烹飪時(shí)間信號(hào)10間設(shè)置信號(hào) SET_T 有效時(shí),讀入時(shí)間信號(hào) KEY3.0的取值,此時(shí)系統(tǒng)顯示設(shè)置的時(shí)間信息,再按下 SET_T 確定設(shè)置時(shí)間完成。按下開始鍵 START,系統(tǒng)進(jìn)入烹調(diào)狀態(tài),COOK 信號(hào)變?yōu)楦唠娖?,時(shí)鐘計(jì)數(shù)器開始減法計(jì)數(shù),MIN1、MIN0、SEC1、SEC0 顯示剩余烹調(diào)時(shí)間。烹調(diào)結(jié)束,系統(tǒng)恢復(fù)初始狀態(tài)。當(dāng)系統(tǒng)處于復(fù)位清零狀態(tài)時(shí),按下顯像管測(cè)試按鈕 TEST,將對(duì)顯像管是否正常工作進(jìn)行測(cè)試,正常工作時(shí),顯像管輸出全 8。第四章 模塊分析第

21、一節(jié) 狀態(tài)控制電路模塊狀態(tài)控制器的功能根據(jù)輸入信號(hào)和自身當(dāng)時(shí)所處的狀態(tài)完成狀態(tài)的轉(zhuǎn)換和輸出相應(yīng)的控制信號(hào),其模塊框圖如圖 3 所示。其中,輸出信號(hào) LD_DONE 指示數(shù)據(jù)裝載電路載入的烹調(diào)結(jié)束的狀態(tài)信息的顯示的驅(qū)動(dòng)信息數(shù)據(jù);LD_CLK 顯示數(shù)據(jù)裝載電路的設(shè)置的時(shí)間數(shù)據(jù);LD_TEST 指示數(shù)據(jù)裝載電路載入的用于測(cè)試的數(shù)據(jù),以顯示驅(qū)動(dòng)信息數(shù)據(jù);COOK 指示烹飪的狀態(tài),并提示計(jì)時(shí)器進(jìn)行減法計(jì)算;KEY 為定時(shí)時(shí)間輸入信號(hào),用于設(shè)置烹飪時(shí)間的長(zhǎng)短,其高到低分別表示時(shí)間分、秒的十位、個(gè)位。當(dāng) LD_DONE 有效時(shí),輸出烹調(diào)結(jié)束數(shù)據(jù)。當(dāng)LD_CLK 有效時(shí),輸出烹調(diào)的設(shè)置時(shí)間數(shù)據(jù)。當(dāng) LD_TE

22、ST 有效時(shí),輸出數(shù)碼管測(cè)試數(shù)據(jù)包括 6 個(gè)輸入信號(hào)和 4 個(gè)輸出信號(hào)。11圖 3 狀態(tài)控制電路模塊框圖根據(jù)微波爐工作流程的描述,分析狀態(tài)轉(zhuǎn)換條件及輸出信號(hào),可以得到如圖 4 所示的微波爐控制器的狀態(tài)轉(zhuǎn)換圖。TEST/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)換圖減法計(jì)數(shù)定時(shí)狀態(tài)T完成信息顯示

23、狀態(tài)T烹調(diào)時(shí)間設(shè)置狀態(tài)T顯示譯碼測(cè)試狀態(tài)T 圖中,當(dāng) RESET 信號(hào)有效時(shí),系統(tǒng)復(fù)位清零;輸入/輸出對(duì)應(yīng)烹調(diào)時(shí)間設(shè)置、顯示譯碼測(cè)試、完成信號(hào)顯示和減法計(jì)數(shù)定時(shí)四種狀態(tài)進(jìn)行相應(yīng)的轉(zhuǎn)換。12第二節(jié) 數(shù)據(jù)裝載電路模塊數(shù)據(jù)裝載電路的本質(zhì)是一個(gè)三選一多路選擇器,其模塊框圖如圖 5 所示。圖 5 數(shù)據(jù)裝載電路模塊框圖當(dāng) LD_DONE 有效時(shí),輸出烹調(diào)結(jié)束的信息數(shù)據(jù)數(shù)據(jù)。當(dāng) L_CLK 有效時(shí),輸出烹調(diào)的設(shè)置時(shí)間數(shù)據(jù)。當(dāng) L_TEST 有效時(shí),輸出數(shù)碼管測(cè)試數(shù)據(jù)。LOAD 信號(hào)為 LD_DONE 時(shí) DATEOUT 輸出 KEY 有效指示。第三節(jié) 計(jì)時(shí)器模塊 電路計(jì)時(shí)模塊可以由十進(jìn)制減法計(jì)數(shù)器和六進(jìn)制減

24、法計(jì)數(shù)器級(jí)聯(lián)組成,其中,兩個(gè)十進(jìn)制的減法計(jì)數(shù)器用于分、秒的個(gè)位減法計(jì)數(shù),兩個(gè)六進(jìn)制的減法計(jì)數(shù)器用于分、秒的十位減法計(jì)數(shù)。由六進(jìn)制計(jì)數(shù)器和十進(jìn)制計(jì)數(shù)器級(jí)聯(lián)構(gòu)成的計(jì)時(shí)模塊原理圖如圖 6 所示。13圖 6 計(jì)時(shí)器模塊原理圖計(jì)時(shí)器模塊的框圖如圖 7 所示。圖 7 計(jì)時(shí)器模塊框圖LOAD 有效時(shí)完成裝入功能,COOK(EN)有效時(shí)執(zhí)行減計(jì)數(shù);CLR 由 RESET發(fā)出信號(hào),清除裝載已存的數(shù)據(jù);DONE 返回給控制器,MIN 和 SEC 顯示所剩時(shí)間和測(cè)試狀態(tài)信息、烹調(diào)結(jié)束狀態(tài)信息等。14第五章 程序設(shè)計(jì)及仿真第一節(jié) 程序簡(jiǎn)要說明程序分為多個(gè)模塊進(jìn)行編寫,這樣既符合編程模塊化的要求也方便編寫和閱讀。按照以

25、上功能和模塊分析,可以將程序劃分幾個(gè)模塊:狀態(tài)控制電路模塊 controller、數(shù)據(jù)裝載電路模塊 loader、計(jì)時(shí)器模塊 counter,其中計(jì)時(shí)器模塊又可以劃分 2 個(gè)模塊:十進(jìn)制功能編寫 cnt10,6 進(jìn)制功能編寫 cnt6,一起完成計(jì)時(shí)功能。本次程序編寫調(diào)試軟件平臺(tái)是 Quartus II 4.1。詳細(xì)的源程序可查看附錄二。第二節(jié) 仿真時(shí)序圖下面我們分別考察微波爐總的功能、計(jì)時(shí)器模塊和數(shù)據(jù)裝載電路模塊的正15確性(其他模塊的仿真略) 。一、微波爐總的功能仿真微波爐總的功能仿真波形圖如下:圖 8 微波爐總的功能仿真波形圖圖中,CLK 是輸入脈沖,RESET 復(fù)位,SET_T 設(shè)置時(shí)間

26、,KEY 按鍵輸入,START 開始計(jì)時(shí),COOK 正在烹飪,MIN 和 SEC 是時(shí)間顯示,LED21是顯示設(shè)置時(shí)間信號(hào),LED0是顯示烹飪時(shí)間信號(hào)。從仿真波形中可看出,按下 RESET,所有信號(hào)復(fù)位為零,按下 TEST,顯像管顯示 8888,按下 SET_T 后 KEY 輸入有效,MIN 和 SEC 顯示輸入值,KEY 輸入完成并按下 SET_T,表示設(shè)置時(shí)間完成,再按下 START,開始烹飪并進(jìn)行減法計(jì)數(shù),MIN 和 SEC 顯示剩余時(shí)間,此時(shí)輸出 COOK 變?yōu)楦唠娖健6?、?jì)時(shí)器模塊仿真波形計(jì)時(shí)器模塊仿真波形如下:16圖 9 計(jì)時(shí)器模塊仿真波形圖圖中,LOAD 為高電平時(shí)讀取信號(hào) DA

27、TA 的值,當(dāng) COOK 信號(hào)為高電平時(shí),對(duì)DATA 的值進(jìn)行減法計(jì)數(shù),并在每個(gè)時(shí)鐘周期都輸出減法計(jì)數(shù)器的當(dāng)前值。仿真結(jié)果與預(yù)先設(shè)定的電路功能相吻合。第六章 硬件調(diào)試經(jīng)過軟件平臺(tái)上的編譯仿真,終于可以在硬件上進(jìn)行調(diào)試。本次試驗(yàn)所用的硬件平臺(tái)是 ACEX1K 系列的 EP1K30TC144-3。在開發(fā)板上用到的第 3 個(gè)硬件模塊:4 個(gè)八段數(shù)碼管、3 個(gè) LED、8 個(gè)按鍵。以下是模塊 3 的接線盒引腳分配: 6 5 4 3 2 1 0 R 45678 D 1 2 3 4 5 6 7 8 4 0 6 2 8 4 0 6 17圖 11 接線盒引腳分配本次試驗(yàn)為了觀察操作方便,數(shù)碼管用了第 8、7、

28、5、4 個(gè)顯像管;LED 分別用了 D8、D7、D1;按鍵則 8 個(gè)全部使用。表 2 對(duì)應(yīng)的鍵位功能鍵 8RESETD8LED21鍵 7SET_TD7LED20鍵 6TESTD1COOK鍵 5START顯像管 8MIN1鍵 4KEY3顯像管 7MIN0鍵 3KEY2顯像管 5SEC1鍵 2KEY1顯像管 4SEC0鍵 1KEY0CLOCK0CLK表 3 具體的引腳分配18分配好引腳,下載程序到硬件之后就可以調(diào)試了。首先按下 TEST,顯示8888 則測(cè)試模式運(yùn)行正常;按下 SET_T 設(shè)置時(shí)間,LED1亮,再輸入所學(xué)要的時(shí)間,再次按下 SET_T 關(guān)閉設(shè)置時(shí)間,LED1滅;按下 START,開

29、始計(jì)時(shí),LED0、COOK 亮,當(dāng)時(shí)間回到 0000 時(shí),燈全滅,完成試驗(yàn)。19總 結(jié)本次課程設(shè)計(jì)是微波爐控制器的 FPGA 實(shí)現(xiàn),微波爐控制器系統(tǒng)可由三個(gè)電路模塊組成:狀態(tài)控制電路模塊 controller、數(shù)據(jù)裝載電路模塊 loader、計(jì)時(shí)器模塊 counter。在 QUARTUSII 上進(jìn)行程序的編程、仿真,在編譯仿真通過后,最終在試驗(yàn)箱調(diào)試成功,實(shí)現(xiàn)設(shè)計(jì)任務(wù)書所要求的指標(biāo)。本次課程設(shè)計(jì)從收集資料到完成論文共歷時(shí) 2 個(gè)星期。在課程設(shè)計(jì)期間,在溫習(xí)舊知識(shí)的同時(shí),還學(xué)習(xí)了許多新的東西,把他們運(yùn)用到這次設(shè)計(jì)中,加深了對(duì)之前學(xué)到的知識(shí)的理解。通過此次設(shè)計(jì),我收獲了很多關(guān)于 EDA 技術(shù)與VH

30、DL 的知識(shí)。特別是 QUARTUS II 軟件的應(yīng)用,從安裝到使用,在到對(duì)在仿真時(shí)遇到問題的解決,明白了理論是完美的,而實(shí)際仿真是會(huì)有延時(shí)、毛刺等問題,所以在仿真是如何設(shè)置時(shí)鐘也是值得好好考慮的。同時(shí)此次設(shè)計(jì)使我的動(dòng)手能力提高了許多,能夠讓我在設(shè)計(jì)電路時(shí),自己來解決碰到的問題,學(xué)會(huì)了怎樣去分析電路,怎樣把所學(xué)到的知識(shí)和實(shí)際相起來。但是由于在很多方面都沒有經(jīng)驗(yàn),在設(shè)計(jì)中遇到了很多困難,今后將努力克服自己在完成課程設(shè)計(jì)過程中暴露出來的不足之處。20附錄一 原理圖21附錄二 源程序- -狀態(tài)控制電路的 VHDL 實(shí)現(xiàn)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.A

31、LL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY controllor IS PORT( RESET:IN STD_LOGIC; -復(fù)位信號(hào) KEY: IN STD_LOGIC_VECTOR(3 DOWNTO 0);-輸入時(shí)間 SET_T:IN STD_LOGIC;-時(shí)間設(shè)置信號(hào) START:IN STD_LOGIC;-開始烹調(diào)信號(hào) TEST:IN STD_LOGIC;-顯示電路測(cè)試信號(hào) CLK:IN STD_LOGIC; -時(shí)鐘脈沖 DONE:IN STD_LOGIC;-完成信號(hào) COOK:OUT S

32、TD_LOGIC;-指示烹調(diào)狀態(tài),提示計(jì)時(shí)器開始計(jì)數(shù) LD_TEST:OUT STD_LOGIC; -指示數(shù)據(jù)裝載電路載入的用于測(cè)試的數(shù)據(jù) LD_CLK:OUT STD_LOGIC; -指示數(shù)據(jù)裝載電路載入設(shè)置時(shí)間數(shù)據(jù) DATA:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);-16 位數(shù)據(jù) LED_SET_T:OUT STD_LOGIC; -LED 顯示狀態(tài) LD_DONE:OUT STD_LOGIC -LED 顯示完成 );END controllor;ARCHITECTURE rtl OF controllor ISTYPE STATES IS(IDLE,LAMP_T

33、EST,SET_CLOCK,TIMER,DONE_MSG);SIGNAL NXT,CUR:STATES; -2 個(gè)信號(hào):下一狀態(tài)、當(dāng)前狀態(tài)SIGNAL DATATMP:STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL SET_T0: STD_LOGIC; -設(shè)置時(shí)間信號(hào)BEGIN PROCESS(CLK,RESET) -時(shí)鐘和復(fù)位的進(jìn)程 BEGIN IF RESET=1 THEN -復(fù)位時(shí)將 IDLE(顯示 0000)賦予當(dāng)前狀態(tài)22 CUR=IDLE; ELSIF CLKEVENT AND CLK=1 THEN CUR=NXT; -如果不是,遇到上邊沿則自動(dòng)跳轉(zhuǎn)下一

34、狀態(tài) END IF;END PROCESS; PROCESS(RESET,KEY) -復(fù)位和輸入的進(jìn)程 BEGIN -可以讓輸入 4 位數(shù)字 顯示時(shí)間 IF RESET = 1 THEN -復(fù)位時(shí)不論任何狀態(tài)數(shù)碼管都將顯示 0000 DATATMP 0); ELSE IF KEY(3)EVENT AND KEY(3) = 1 THEN -設(shè)置分的十位 IF DATATMP(15 DOWNTO 12) = 0101 THEN -5 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(15 DOWNTO 12) = 0000; ELSE DATATMP(15 DOWNTO 12) = DATATMP(15 DOWNT

35、O 12) + 1; END IF; -否則自動(dòng)加 1 END IF; IF KEY(2)EVENT AND KEY(2) = 1 THEN -設(shè)置分的個(gè)位 IF DATATMP(11 DOWNTO 8) = 1001 THEN -9 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(11 DOWNTO 8) = 0000; ELSE DATATMP(11 DOWNTO 8) = DATATMP(11 DOWNTO 8) + 1; END IF; -否則自動(dòng)加 1 END IF; IF KEY(1)EVENT AND KEY(1) = 1 THEN -設(shè)置秒的十位 IF DATATMP(7 DOWNTO 4)

36、= 0101 THEN -5 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(7 DOWNTO 4) = 0000; ELSE DATATMP(7 DOWNTO 4) = DATATMP(7 DOWNTO 4) + 1; END IF; -否則自動(dòng)加 1 END IF; IF KEY(0)EVENT AND KEY(0) = 1 THEN -設(shè)置秒的個(gè)位 IF DATATMP(3 DOWNTO 0) = 1001 THEN -9 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(3 DOWNTO 0) = 0000; ELSE23 DATATMP(3 DOWNTO 0) = DATATMP(3 DOWNTO 0) + 1; E

37、ND IF; END IF; -否則自動(dòng)加 1 END IF; DATA = DATATMP; END PROCESS; PROCESS(SET_T,RESET) -設(shè)置時(shí)間和復(fù)位進(jìn)程 BEGIN IF RESET = 1 THEN -復(fù)位時(shí)設(shè)置時(shí)間變?yōu)榈碗娖?SET_T0 = 0; ELSIF SET_TEVENT AND SET_T = 1 THEN -按下 SET_T 鍵時(shí) SET_T0 = NOT SET_T0; -SET_T 非它前之狀態(tài) END IF; IF SET_T0 = 1 THEN LED_SET_T = 1; -賦予 SET_T 持續(xù)電平 ELSE LED_SET_T =

38、 0; -賦予 SET_T 持續(xù)電平 END IF; END PROCESS;PROCESS(CLK,CUR,SET_T,START,TEST,DONE) ISBEGIN NXT=IDLE; -將 IDLE 載入 NXT LD_TEST=0; -復(fù)位 LD_DONE=0; LD_CLK=0; COOK -譯碼器顯示測(cè)試狀態(tài) LD_TEST=1; COOK -烹調(diào)時(shí)間測(cè)試狀態(tài) LD_CLK=1; COOK -完成信息顯示狀態(tài) LD_DONE=0; COOK -初始狀態(tài)定義 IF TEST=1 THEN NXT=LAMP_TEST; -設(shè)置 TEST LD_TEST=1; ELSIF SET_T0

39、=1 THEN -設(shè)置 SET_T NXT=SET_CLOCK; LD_CLK=1; ELSIF START=1 AND DONE=0 THEN -設(shè)置計(jì)時(shí)模式 NXT=TIMER; COOK IF DONE=1 THEN -設(shè)置計(jì)時(shí)完成 NXT=DONE_MSG; LD_DONE=0; ELSE NXT=TIMER; COOKNULL; END CASE; END PROCESS;END rtl;-數(shù)據(jù)裝載電路的 VHDL 實(shí)現(xiàn)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY loa

40、der IS25 PORT( DATAIN:IN STD_LOGIC_VECTOR(15 DOWNTO 0); -輸入 16 位數(shù)據(jù) LD_TEST:IN STD_LOGIC; LD_CLK:IN STD_LOGIC; LD_DONE:IN STD_LOGIC; DATAOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); -輸出 16 位數(shù)據(jù) LOAD:OUT STD_LOGIC -選擇狀態(tài) );END loader;ARCHITECTURE rtl OF loader ISBEGIN PROCESS(DATAIN,LD_TEST,LD_CLK,LD_DONE) CO

41、NSTANT ALLS:STD_LOGIC_VECTOR(15 DOWNTO 0)-測(cè)試信息 :=1000100010001000; -顯示 8888 CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0)-烹調(diào)完成信息 :=1010101111001101; VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN LOAD-測(cè)試 DATAOUT-烹調(diào)完成 DATAOUT DATAOUTNULL; END CASE; END PROCESS;END rtl;-十進(jìn)制計(jì)數(shù)器26LIBRARY IEEE;USE IEEE.

42、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; -CLR:清除數(shù)據(jù) EN:IN STD_LOGIC; -信號(hào)使能 DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -輸入的 4 位數(shù)據(jù) Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -輸出的 4 位數(shù)據(jù) CARRY_OUT:OUT STD_LOGIC -數(shù)據(jù)裝載 );END cnt10;ARCHITECTURE

43、rtl OF cnt10 IS SIGNAL TMP:STD_LOGIC_VECTOR(3 DOWNTO 0); -鏈接輸入輸出BEGIN -數(shù)據(jù)的信號(hào) PROCESS(CLK,LOAD,CLR,EN) BEGIN IF CLR = 1 THEN -當(dāng) CLR 高電平,數(shù)據(jù)變?yōu)?0000 TMP= 0000; ELSIF LOAD=1THEN -否則裝載輸入的數(shù)據(jù) TMP=DATAIN; ELSIF CLKEVENT AND CLK=0THEN -上升沿時(shí),執(zhí)行 10 進(jìn)制減法 IF EN=1THEN IF TMP=0000THEN -0 跳轉(zhuǎn)到 9 TMP=1001; ELSE -自動(dòng)減 1

44、 TMP=TMP-1; END IF; END IF; END IF;27 IF TMP=0000THEN CARRY_OUT=1; -COOK=CARRY_OUT ELSE CARRY_OUT=0; END IF; END PROCESS; Q=TMP;END rtl;-六進(jìn)制減法計(jì)數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; EN:IN STD_LOGIC; DAT

45、AIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_LOGIC );END cnt6;ARCHITECTURE rtl OF cnt6 ISSIGNAL TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK,LOAD,CLR,EN) BEGIN IF CLR = 1 THEN TMP= 0000; ELSIF LOAD=1 THEN TMP=DATAIN; 28 ELSIF CLKEVENT AND CLK=0THEN

46、 -上升沿時(shí)進(jìn)行 6 進(jìn)制減法 IF EN=1THEN IF TMP=0000THEN -0 自動(dòng)跳轉(zhuǎn)到 5 TMP=0101; ELSE TMP=TMP-1; -否則自動(dòng)減 1 END IF; END IF; END IF; IF TMP=0000THEN CARRY_OUT=1; -賦值給 COOK ELSE CARRY_OUT=0; END IF; END PROCESS; Q=TMP;END rtl;-計(jì)時(shí)電路的 VHDL 實(shí)現(xiàn)如下:-計(jì)數(shù)器電路模塊設(shè)計(jì)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter IS PORT( CO

47、OK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; CLK:IN STD_LOGIC; DATA:IN STD_LOGIC_VECTOR(15 DOWNTO 0); SEC0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -秒個(gè)位 SEC1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -秒十位 MIN0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -分個(gè)位 MIN1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -分十位29 DONE:OUT STD_LOGIC -完成 );

48、END counter;ARCHITECTURE rtl OF counter IS-定義十進(jìn)制和六進(jìn)制計(jì)數(shù)器電路模塊COMPONENT cnt10 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; EN:IN STD_LOGIC; DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -輸入 Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -輸出 CARRY_OUT:OUT STD_LOGIC -狀態(tài) );END COMPONENT cnt10;COMPONENT cnt6 IS PORT(

49、CLK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; EN:IN STD_LOGIC; DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_LOGIC );END COMPONENT cnt6;SIGNAL CLK0:STD_LOGIC;SIGNAL S0:STD_LOGIC;SIGNAL S1:STD_LOGIC;SIGNAL S2:STD_LOGIC;SIGNAL S3:STD_LOGIC;BEGIN -元件例化30 CLK0

50、= NOT CLK; U1:cnt10 PORT MAP(CLK0,LOAD,CLR,COOK,DATA(3 DOWNTO 0),SEC0,S0); U2:cnt6 PORT MAP(S0,LOAD,CLR,COOK,DATA(7 DOWNTO 4),SEC1,S1); U3:cnt10 PORT MAP(S1,LOAD,CLR,COOK,DATA(11 DOWNTO 8),MIN0,S2); U4:cnt6 PORT MAP(S2,LOAD,CLR,COOK,DATA(15 DOWNTO 12),MIN1,S3); DONE=S0 AND S1 AND S2 AND S3;END rtl;-頂層模塊的 VHDL 實(shí)現(xiàn)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY top IS PORT( KEY: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -輸入 4 位 16 進(jìn)制 RESET:IN STD_LOGIC; -復(fù)位鍵 SET_T:IN STD_LOGIC; -設(shè)置時(shí)間 START:IN STD_LOGIC; -開始計(jì)時(shí) TEST:IN STD_LOGIC; -測(cè)試模式 CLK :IN STD_LOGIC; -輸入脈沖 COOK:OUT STD_LOGIC; -烹調(diào)狀態(tài) L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論