freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的鬧鐘系統(tǒng)的設(shè)計(參考版)

2024-11-11 08:41本頁面
  

【正文】 ALARM_BUTTON:IN STD_LOGIC。 END COMPONENT。 RESET:IN STD_LOGIC。 LOAD_NEW_A: IN STD_LOGIC。 END COMPONENT。 RESET: IN STD_LOGIC。 LOAD_NEW_C:IN STD_LOGIC。 END COMPONENT。 RESET:IN STD_LOGIC。 COMPONENT KEY_BUFFER PORT(KEY:IN T_DIGITAL。 VALUE:OUT T_DIGITAL)。 END ALARM_CLOCK。 DISPLAY:OUT T_DISPLAY。 CLK:IN STD_LOGIC。 ALARM_BUTTON:IN STD_LOGIC。 ENTITY ALARM_CLOCK IS PORT(KEYPAD:IN STD_LOGIC_VECTOR(9 DOWNTO 0)。 USE IEEE 。 END ART。 END LOOP。 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 23 END PTOCESS。 ELSE ASSERT FALSE REORT”UNCERTAIN DISPLAY_DRIVER CONTROL!” SEVERITY WARNING。 ELSIF SHOW_A=’1’ THEN DISPLAY_TIME=ALARM_TIME。 END LOOP SOUND_LP。 ELSE SOUND_ALARM=’1’。 BEGIN CTRL:PROCESS(ALARM_TIME,CURRENT_TIME,NEW_TIME,SHOW_A,SHOW_NEW_TIME) BEGIN SOUND_LP:FOR I IN ALARM_TIME’RANGE LOOP IF NOT(ALARM_TIME(I)=CURRENT_TIME(I) THEN SOUND_ALARM=’0’。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。039。039。039。039。039。039。在調(diào)試仿真過程中,要注意輸入信號的設(shè)定的正確性,充分分析模塊功能,認真查處源程序編譯 過程中出現(xiàn)的錯誤,分析其出錯原因,以避免以后的應(yīng)用過程中出現(xiàn)同樣的錯誤。 本次設(shè)計中采用的是 Altera 公司推出的 Cyclone II 系列 FPGA 中的 EP2C70,本系統(tǒng)有多種配置方式。由于 FPGA 具有在線編程,裁減擴充容易的特點,使得系統(tǒng)的改進和完善十分容易。 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 19 結(jié)束語 本文先從鬧鐘系統(tǒng)的發(fā)展及應(yīng)用進行介紹,進而介紹了 FPGA 的發(fā)展,基本特點,優(yōu)缺點及 FPGA 的結(jié)構(gòu),并簡要介紹了設(shè)計中軟件開發(fā)所用的 VHDL 語言及仿真調(diào)試軟件 Quartus II。本章先從鬧鐘系統(tǒng)所要完 成的功能進行分析 ,先對鬧鐘的外部進行輸入及輸出設(shè)計,進而將FPGA 內(nèi)部自頂向下分為幾個子模塊,分別進行功能分析及 VHDL 源程序設(shè)計,仿真及波形說明,最后詳細說明的模塊的整體組裝,從而完成了整個 FPGA 的內(nèi)部設(shè)計。 3. 仿真波形如圖 所示 : 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 18 圖 鬧鐘仿真波形 由頂層仿真波形圖,我們看到,當用戶按下 ALARM 鍵時,即 ALARM_BUTTON為高電平時,用戶顯示鬧鐘時間,稍許,系統(tǒng)自動回到正常計時狀態(tài),完成顯示所設(shè)置鬧鐘時間的功能。 SOUND_ALARM用于控制揚聲器發(fā)聲,當 SOUND_ALARM=‘ 1’時,揚聲器發(fā)出蜂鳴,表示到了設(shè)定的鬧鐘時間。當TIME_BUTTON 為高電平時,表示用戶按下 TIME 鍵。當 KEYDOWN 為高電平時( KRYDOWN=‘ 1’),表用戶按下某一數(shù)字鍵。 KEYPAD 是一個 10 位信號,若其中某一位為高電平,則表示用戶按下了相應(yīng)下標的數(shù)字鍵。該計時器命名為 ALARM_CLOCK,其外部端口如圖 17 所示。 鬧鐘系統(tǒng)的整體組裝 1.整體組裝說明 前面已經(jīng)完成了計時器各個部分的設(shè)計,下面把這些組成部分組裝起來。 END PROCESS。 END IF。 CNT:=CNT+1。 CNT:=CNT+1。 CLK_OUT=’0’。圖 15 為分頻器示意圖。 鬧鐘系統(tǒng)的分頻器的設(shè)計 1. 本模塊的功能是交 CLK_IN 端口輸入時鐘信號分頻后送給 CLK_OUT 端口。顯示驅(qū)動器的外部接口基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 15 如圖 13 所示。根據(jù) CURRENT_TIME 端口的輸入信號,對 DISPLAY 端口進行驅(qū)動。 鬧鐘系統(tǒng)的顯示驅(qū)動器的設(shè)計 1. 本模塊的功能是:當 SHOW_NEW_TIME 端口輸入信號有效(高電平)時,根據(jù)NEW_TIME 端口輸入信號(時間數(shù)據(jù)),產(chǎn)生相應(yīng)的 4 個七段數(shù)碼顯示器的驅(qū)動數(shù)據(jù),并在 DISPLAY 端口輸出該信號。 圖 11 時間計數(shù)器仿真波形 VHDL 語言見附錄 。當這兩個控制信號無效時,在時鐘上升沿同步下,對 CURRENT_TIME 端口輸出信號累加 1,并根據(jù)小時、分鐘的規(guī)律處理進位。 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 14 4. 時 間 計數(shù)器模塊的功能是當 RESET 端口輸入信號為高電平時,對 CURRENT_TIME端口輸出信號清零復(fù)位;當 LOAD_NEW_C 端口輸入信號為高電平時,將 NEW_CURRENT_TIME端口的輸入信號輸出給 CURRENT_TIME 端口。 鬧鐘系統(tǒng)的鬧鐘時間由鬧鐘寄存器保存和傳遞,而當前時間由時間計數(shù)器保存、傳遞并按分鐘累加推進。 END PROCESS。 END IF。 ELSIF LOAD_NEW_A/=’0’THEN ASSERT FALSE REPORT”UNCERTAIN LOAD_NEW_ALARM CINTROL!” SEVERITY WSRNING。 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 13 圖 9 寄存器外部端口 VHDL 程序如下: PROCESS(CLK,RESET) BEGIN IF RESET=’1’THEN ALARM_TIME=(0,0,0,0)。而 RESET 端口輸入信號對 ALARM_TIME 端口的輸出進行異步的清零復(fù)位。 3. 仿真波形如圖 8 所示 : 圖 8 移位寄存器仿真波形 由波形圖我們可以看到,在 CLK 上升沿, KEY 的輸入信號移入 NEW_TIME 最 低位,而原有數(shù)據(jù)依次左移,而當 RETST 為高電平時, NEW_TIME 端恢復(fù) 0000 狀態(tài)。 NEW_TIME=N_T。 END IF。 END LOOP。 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 12 BEGIN SHIFT: PROCESS(RESET,CLK) BEGIN IF(RESET=’1’)THEN N_T=(0,0,0,0)。電路示意圖如圖 7 所示。 3. 仿真波形如圖 6 所示 : 圖 6 譯碼器仿真波形 根據(jù)仿真波形圖我們可以看出,當由輸入端輸入十位二進制數(shù)據(jù)信號時,輸出端輸出與之 相對應(yīng)的十進制整數(shù)信號,即完成譯碼功能。 表 3 輸出數(shù)據(jù)的譯碼關(guān)系 輸入 0000000001 0000000010 0000000100 0000001000 0000010000 輸出 0 1 2 3 4 輸 入 0000100000 0001000000 0010000000 0100000000 1000000000 輸出 5 6 7 8 9 圖 5 譯碼器外部端口 2. 實現(xiàn)該模塊的 VHDL 程序如下: ARCHITECTURE ART OF DECODER IS BEGIN WITH KEYPAD SELECT VALUE=0 WHEN”0000000001”, 1 WHEN”0000000010”, 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計 11 2 WHEN”0000000100”, 3 WHEN”0000001000”, 4 WHEN”0000010000”, 5 WHEN”0000100000”, 6 WHEN”0001000000”, 7 WHEN”0010000000”, 8 WHEN”0100000000”, 9 WHEN”1000000000”, 0 WHEN OTHERS。其中 KEYPAD為輸入端口,接收 10位二進制數(shù)據(jù)信號; VALUE為輸出端口,輸出相應(yīng)的 1 位十進制整數(shù)信號。另外,表中關(guān)于“超時”判斷處理細節(jié)見 VHDL 源程序中的有關(guān)部分。 控制器狀態(tài)轉(zhuǎn)換及控制輸出表如下表 2 所示: 表 2 控制器狀態(tài)轉(zhuǎn)換及控制輸出表 當前狀態(tài) 控制輸入(條件) 下一狀態(tài) 控制輸出(動作) S0 KEY=‘ 1’ S1 SHOW_NEW_TIME=‘ 1’ ALARM_BUTTON=‘ 1’ S4 SHOW_A=‘ 1’ 否則 S0 S1 KEY=‘ 1’ S1 SHOW_NEW_TIME=‘ 1’ ALARM_BUTTON=‘ 1’ S2 LOAD_NEW_A=‘ 1’ TIME_BUTTON=‘ 1’ S3 LOAD_NEW_C=‘ 1’ 否則(超時) 否 S1 SHOW_NEW_TIME=‘ 1’ 是 S0 S2 ALARM_BUTTON=‘ 1’ S2 LOAD_NEW_A=‘ 1’ 否則 S0 S3 TIME_BUTTON=‘ 1’ S3 LOAD_NEW_C=‘ 1’ 否則 S0 S4 ALARM_BUTTON=‘ 1’ S4 SHOW_A=‘ 1’ 否則(超時) 否 S4 SHOW_A=‘ 1’ 是 S0 表 2 中沒有顯示說明的控制信號賦值,表示信號的值為零。在此狀態(tài)下,顯示屏上顯示的是所設(shè)置的鬧鐘時間。 S4:顯示鬧鐘時間。 S3:設(shè)置新的計時器時間。 S2:設(shè)置新的鬧鐘時 間。在狀態(tài) S0 時用戶按下數(shù)字鍵后進入此狀態(tài)。根據(jù)設(shè)計要求及端口設(shè)置,需要 5 個狀態(tài)來實現(xiàn): S0:表示電路初態(tài)即正常時鐘計數(shù)狀態(tài)。此時,當 SHOW_A 為高電平時,控制顯示鬧鐘時間,否則,顯示當前時間。 當 LOAD_NEW_C 為高電平時,控制時鐘計數(shù)器設(shè)置新的時間值。 當 TIME_BUTTON 為高電平時 ,表示用戶按下 “TIME”鍵。 當 KEY 為高電平( KEY=‘ 1’)時,表示用戶按下數(shù)字鍵(“ 0”~“ 9”)。 FPGA 內(nèi)部部分模塊設(shè)計與仿真 鬧鐘系統(tǒng)的
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1