【正文】
THEN 。 THEN IF ENA=39。EVENT AND CLK=39。 THEN CQI=DATAIN。 BEGIN PROCESS(CLK, LOAD, ENA) IS BEGIN IF LOAD=39。 END ENTITY DCNT10。 CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 ENA: IN STD_LOGIC。 ENTITY DCNT10 IS PORT(CLK:IN STD_LOGIC。 USE 。 南昌工程學(xué)院(本)畢業(yè)設(shè)計(論文) 17 END ARCHITECTURE ART。 END CASE。 LOAD_DONE WHEN 001 = DATA2=DATA1。 CASE TEMP IS WHEN 100 = DATA2=ALL_8。 LD_DONE amp。 BEGIN LOAD=LD_8888 OR LD_DONE OR LD_CLK。 CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0): = 1010101111001101。 END ENTITY ZZQ。 DATA2:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)。 LD_CLK: IN STD_LOGIC。 ENTITY ZZQ IS PORT(DATA1: IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 USE 。 END ARCHITECTURE ART。 END CASE。139。 ELSE NXT_STATE=TIMER。 LD_DONE=39。139。 END IF。 COOK=39。039。139。139。 THEN NXT_STATE=SET_CLOCK。 ELSIF SET_T=39。 LD_8888=39。139。039。139。039。139。039。139。039。039。039。039。 DEFAULT NEXT STATE IS IDLE。 END PROCESS。 THEN CURR_STATE=NXT_STATE。EVENT AND CLK=39。 THEN 南昌工程學(xué)院(本)畢業(yè)設(shè)計(論文) 15 CURR_STATE=IDLE。 BEGIN PROCESS(CLK, RESET) IS BEGIN IF RESET=39。 ARCHITECTURE ART OF KZQ IS TYPE STATE_TYPE IS(IDLE, LAMP_TEST, SET_CLOCK, TIMER, DONE_MSG)。 COOK, LD_8888, LD_CLK, LD_DONE:OUT STD_LOGIC)。 USE 。 第三章 系統(tǒng)設(shè)計 14 表 YMQ47 的譯碼對照表 主 要 VHDL源程序 狀態(tài)控制器 KZQ 的 VHDL 源程序 LIBRARY IEEE。 JSQ 的內(nèi)部組成原理如圖 所示。 圖 ZZQ 的輸入、輸出端口圖 烹調(diào)計時器 JSQ 的設(shè)計 烹調(diào)計時器 JSQ 為減數(shù)計數(shù)器,其最大計時時間為 59:59。 T E S T / L D _ C L KX / L D _ C L KX / L D _ D O N EI D L ED O N E _ M S G T I M E RL A M P _ T E S T第三章 系統(tǒng)設(shè)計 12 圖 KZQ 的狀態(tài)轉(zhuǎn)換圖 圖 KZQ 的輸入、輸出端口圖 數(shù)據(jù)裝載器 ZZQ 的設(shè)計 ZZQ 的輸入、輸出端口如圖 所示,根據(jù)其應(yīng)完成的邏輯功能,它本質(zhì)上就是一個三選一數(shù)據(jù)選擇器。 T E S T amp。 S E T _ C L O C K烹調(diào)時間設(shè)置狀態(tài)完成信息顯示狀態(tài) 注:標(biāo)線上文字為 輸入 / 輸出D O N E / L D _ D O N E減數(shù)定時狀態(tài)復(fù)位狀態(tài)數(shù)碼管測試狀態(tài)L D _ D O N E / C O O KO T H E R W I S E / A L L O U T P U T S = 0S T A R T amp。 狀態(tài)控制器 KZQ 的設(shè)計 狀態(tài)控制器 KZQ 的功能是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出有關(guān)控制信息,因此我們可用一個狀態(tài)機來實現(xiàn)它。 (4) 顯示譯碼器 YMQ47 的功能就是負(fù)責(zé)將各種顯示信息的 BCD 轉(zhuǎn)換成七段數(shù)碼管顯示的驅(qū)動信息編碼。 (2) 數(shù)據(jù)裝載器 ZZQ 的功能是根據(jù) KZQ 發(fā)出的控制信號選擇定時時間、測試數(shù)據(jù)或烹調(diào)完成信息的裝入。其內(nèi)部組成原理圖如圖 所示。 TEST 為測試信號,高電平有效,用于測試 4 個七段數(shù)碼二極管工作是否正常。 圖 微波爐控制器外部接口符號圖 圖 中的各信號的功能及要求如下: CLK 是秒時鐘脈沖輸入,它接收每秒一個時鐘脈沖的節(jié)拍信號。 第三章 系統(tǒng)設(shè)計 10 第三章 系統(tǒng)設(shè)計 系統(tǒng)設(shè)計要求 現(xiàn)需設(shè)計一個微波爐控制器,其外部接口如圖 所示。 硬件描述語言( HDL) Max+plusⅡ 軟件支持各種 HDL 設(shè)計輸入選項,包括 VHDL、 Verilog HDL 和 Altera自己的硬件描述語言 AHDL。 完全集成化 Max+plusⅡ 的設(shè)計輸入、處理與較驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調(diào)試、縮短開發(fā)周期。 Max+plusⅡ 開發(fā)系統(tǒng)的特點 開放的界面 Max+plusⅡ 支持與 Cadence, Exemplarlogic, Mentor Graphics, Synplicty, Viewlogic和其它公司所提供的 EDA 工具接口。 Max+plusⅡ 界面友好,使用便捷,被譽為業(yè)界最易用易學(xué)的 EDA 軟件。電路設(shè)計人員使用 FPGA/ CPLD 進行電路設(shè)計時,不需要具備專門的 IC(集成電路)深層次的知識 , FPGA/ CPLD 軟件易學(xué)易用,可以使設(shè)計人員更能集中精力進行電路設(shè)計,快速將產(chǎn)品推向市場。 FPGA/ CPLD 軟件包中有各種輸入 工具 和仿真工具及版圖設(shè)計工具和編程器等全線產(chǎn)品,電路設(shè)計人員在很短的時間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。 ③ 用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動的情況下用不同的軟件實現(xiàn)不同的功能。 ② FPGA/ CPLD 芯片在出廠之前都做過百分之百的測試,不需要設(shè)計人員承擔(dān)投片風(fēng)險和費用,設(shè)計人員只需在自己的實驗室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能設(shè)計。 FPGA 的優(yōu)點 FPGA 芯片都是特殊的 ASIC 芯片,除了具有 ASIC 的特點之外,還具有以下 3個優(yōu)點。因此, FPGA 的使用非常靈活。 當(dāng)需要修改 FPGA 功能時,只需換一片 EPROM 即可。因此, FPGA能夠反復(fù)使用。 加電時, FPGA 芯片將 EPROM 中的數(shù)據(jù)讀入片內(nèi)編程 RAM 中,配置完成后,第二章 概述 8 FPGA 進入工作狀態(tài)。因此,工作時需要對片內(nèi)的 RAM 進行編程。 目前 FPGA 的品種很多,有 XILINX 的 xc 系列、 TI 公司的 TPC 系列、 ALTERA公司的 FIEX 系列等。 FPGA 的基本特點主要有: ( 1)采用 FPGA 設(shè)計 ASIC 電路,用戶不需要投片生產(chǎn)就能得到合用的芯片; ( 2) FPGA 可做其他全定制或半定制 ASIC 電路的試樣片: ( 3) FPGA 內(nèi)部有豐富的觸發(fā)器和 I/ O 引腳; ( 4) FPGA 是 ASIC 電路中設(shè)計周 期最短 、開發(fā)費用最低、風(fēng)險最小的器件之一; ( 5) FPGA 采用高速 CHMOS 工藝,功耗低,可以與 CMOS、 TTL 電平兼容。它是作為專用集成電路( ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編 程器件門電路數(shù)有限的缺點。幾 乎所有應(yīng)用門陣列、 PLD 和中小規(guī)模通用數(shù)字集成電路的場合均可應(yīng)用 FPGA 和 CPLD 器件。這兩種器件兼容了 PLD 和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路,編程也很靈活。這些早期的 PLD 器南昌工程學(xué)院(本)畢業(yè)設(shè)計(論文) 7 件的一個共同特點是可以實現(xiàn)速度特性較好的邏輯功能,但其過于簡單的結(jié)構(gòu)也使它們只能實現(xiàn)規(guī)模較小的電路。在 PAL 的基礎(chǔ)上 又發(fā)展了一種通用陣列邏輯( GAL, Generic ArrayLogic),如 GAL16V GAL22V10 等。還有一類結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列( PLA),它也由一個 “與 ”平面和一個 “或 ”平面構(gòu)成,但是這兩個