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

正文內(nèi)容

基于fpga的鬧鐘系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2024-12-13 08:41 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 : 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計(jì) 6 ( 1)與其他的硬件描述語(yǔ)言相比, VHDL 具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。 ( 2) VHDL 豐 富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。 ( 3) VHDL 語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。 ( 4)對(duì)于用 VHDL 完成的一個(gè)確定的設(shè)計(jì),可以利用 EDA 工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把 VHDL 描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。 ( 5) VHDL 對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最 終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。 Quartus II 開發(fā)環(huán)境 Quartus II 是 Altera 公司的綜合性 PLD 開發(fā)軟件,支持原理圖、 VHDL、 VerilogHDL以及 AHDL( Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及 仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整 PLD 設(shè)計(jì)流程。 Quartus II 可以在 XP、 Linux 以及 Unix 上使用,除了可以使用 TC1 腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖 形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方 EDA 工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方 EDA 工具。 此外, Quartus II 通過(guò)和 DSP Builder 工具與 Matlab/Simulink 相結(jié)合,可以方便地實(shí)現(xiàn)各種 DSP 應(yīng)用系統(tǒng);支持 Altera 的片上可編程系統(tǒng)( SOPC)開 發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。 Maxplus II 作為 Altera 的上一代 PLD 設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前 Altera 已經(jīng)停止了對(duì) Maxplus II 的更新支持, Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。 Altera 在 Quartus II 中包含了許多諸如SignalTap II、 Chip Editor 和 RTL Viewer 的設(shè)計(jì)輔助工具,集成了 SOPC 和 HardCopy設(shè)計(jì)流程,并且繼承了 Maxplus II 友好的圖形界面及簡(jiǎn)便的使用方法。 Altera Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境 , 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。 Altera 的 Quartus II 可編程邏輯軟件屬于第四代 PLD 開發(fā)平臺(tái)。該平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持基于 Inter的協(xié)作設(shè)計(jì)。 Quartus平臺(tái)與 Cadence、基于 FPGA的鬧鐘系統(tǒng)的設(shè)計(jì) 7 ExemplarLogic、 MentorGraphics、 Synopsys 和 Synplicity 等 EDA 供應(yīng)商的開發(fā)工具相兼容 。改進(jìn)了軟件的 LogicLock 模塊設(shè)計(jì)功能,增添 了 FastFit 編譯選項(xiàng),推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。支持 MAX7000/MAX3000 等乘積項(xiàng)器件 。 本章小結(jié) 本章首先對(duì)現(xiàn)場(chǎng)可編程門陣列( FPGA)做了簡(jiǎn)要介紹,然后深入了講述了 FPGA 內(nèi)部結(jié)構(gòu)及其特點(diǎn),重點(diǎn)介紹了本設(shè)計(jì)要用到的 Cyclone II 系列 FPGA,然后詳細(xì)說(shuō)明了FPGA 的設(shè)計(jì)流程。最后對(duì) FPAG 的開發(fā)語(yǔ)言及開發(fā)軟件平臺(tái) Quartus II 簡(jiǎn)單的介紹了一下,從而說(shuō)明了 FPGA 整個(gè)設(shè)計(jì)流程的設(shè)計(jì)條件。 3. 鬧鐘 系統(tǒng)的設(shè)計(jì) 本文設(shè)計(jì)一個(gè)帶鬧鐘功能的 24 小時(shí)計(jì)時(shí)器 ,要求能夠利用按鍵實(shí)現(xiàn)對(duì)鬧鐘時(shí)間的設(shè)定并 在所設(shè)計(jì)鬧鐘時(shí)間到時(shí)進(jìn)行鬧鐘提示, 能夠利用按鍵實(shí)現(xiàn)“較時(shí)“較分”功能,隨時(shí)對(duì)數(shù)碼管的顯示進(jìn)行調(diào)整和較對(duì)。 鬧鐘系統(tǒng)的外部設(shè)計(jì) 針對(duì)系統(tǒng)需求進(jìn)行硬件設(shè)計(jì) :硬件部分主要包括綜合計(jì)時(shí)電路、顯示控制電路和調(diào)整控制電路。它包括以下幾個(gè)組成部分:① 顯示屏,由 4 個(gè)七段數(shù)碼管組成,用于顯示當(dāng)前時(shí)間 (時(shí):分 )或設(shè)置的鬧鐘時(shí)間;② 數(shù)字鍵‘ 0’ ~‘ 9’,用于輸入新的時(shí)間或新的鬧鐘時(shí)間;③ TIME(時(shí)間 )鍵,用于 確定新的時(shí)間設(shè)置;④ ALARM(鬧鐘 )鍵,用于確定新的鬧鐘時(shí)間設(shè)置,或顯示已設(shè)置的鬧鐘時(shí)間;⑤ 揚(yáng)聲器,在當(dāng)前時(shí)鐘時(shí)間與鬧鐘時(shí)間相同時(shí),發(fā)出蜂鳴聲。 鍵盤輸入設(shè)計(jì) 下面簡(jiǎn)要介紹一下系統(tǒng)的輸入界面:系統(tǒng)的輸入界面是有 0~9 十個(gè)數(shù)字按鍵和TIME 鍵和 ALARM 鍵組成。由于系統(tǒng)輸入校時(shí)時(shí)間和鬧鐘時(shí)間時(shí)候必須輸入 0~9 這些數(shù)字,因此按鍵 0~9 專門用于輸入數(shù)字。 TIME 鍵和 ALARM 鍵用于輔助設(shè)定當(dāng)前時(shí)間和鬧鐘時(shí)間。 各操作流程如下: a)校時(shí)操作:在正常計(jì)時(shí)狀態(tài)下直接按下 0~9 鍵,即 可進(jìn)入校時(shí)狀態(tài),使用鍵 0~9輸入新的時(shí)間,然后按 TIME 鍵,即可使新的時(shí)間設(shè)置生效,系統(tǒng)自動(dòng)回到計(jì)時(shí)狀態(tài)。在輸入過(guò)程中,輸入數(shù)字在顯示屏上從右到左依次顯示。例如,用戶要設(shè)置 12: 34,則按順序輸入“ 1”,“ 2”,“ 3”,“ 4”,與之對(duì)應(yīng),顯示屏上依次顯示的信息為:“ 1”,“ 12”,“ 123”,“ 1234”。在校時(shí)狀態(tài)下,若有輸入錯(cuò)誤或要取消校時(shí),停止輸入,稍待 5s,不按任何鍵,即可回到計(jì)時(shí)狀態(tài)。 b)設(shè)置鬧鈴時(shí)間:在計(jì)時(shí)狀態(tài)下按下設(shè)置鬧鈴鍵( ALARM 鍵),即可顯示當(dāng)前所設(shè)定的鬧鐘時(shí)間。在計(jì)時(shí)狀態(tài) 下,用數(shù)字鍵 0~9 鍵輸入新的時(shí)間,然后按“ ALARM”確認(rèn),即可使新設(shè)置的鬧鐘生效。其他操作與校時(shí)操作流程一樣。 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計(jì) 8 系統(tǒng)輸出部分 系統(tǒng)輸出部分主要是顯示電路模塊,由 4 個(gè)七段數(shù)碼管組成,用于顯示當(dāng)前時(shí)間 (時(shí):分 )或設(shè)置的鬧鐘時(shí)間。 FPGA 內(nèi)部部分模塊設(shè)計(jì)與仿真 鬧鐘系統(tǒng)的控制器的設(shè)計(jì) 1.設(shè)計(jì)思路 控制器命名為 ALARM_CONTROLLER,其外部端口如圖 3 所示。 圖 3 控制器外部端口 各端口的作 用如下: CLK 為外部時(shí)鐘信號(hào), RESET 為復(fù)位信號(hào)。 當(dāng) KEY 為高電平( KEY=‘ 1’)時(shí),表示用戶按下數(shù)字鍵(“ 0”~“ 9”)。 當(dāng) ALARM_BUTTON 為高電平時(shí),表示用戶按下“ ALARM”鍵。 當(dāng) TIME_BUTTON 為高電平時(shí) ,表示用戶按下 “TIME”鍵。 當(dāng) LOAD_NEW_A 為高電平時(shí),控制鬧鐘時(shí)間寄存器加載新的鬧鐘時(shí)間值。 當(dāng) LOAD_NEW_C 為高電平時(shí),控制時(shí)鐘計(jì)數(shù)器設(shè)置新的時(shí)間值。 當(dāng) SHOW_NEW_TIME 為高電平時(shí),控制七 段數(shù)碼顯示電路顯示新的時(shí)間值,即用戶通過(guò)數(shù)字鍵輸入的時(shí)間;否則,當(dāng) SHOW_NEW_TIME 為低電平時(shí),根據(jù) SHOW_A信號(hào)的值控制顯示當(dāng)前的時(shí)間或鬧鐘時(shí)間。此時(shí),當(dāng) SHOW_A 為高電平時(shí),控制顯示鬧鐘時(shí)間,否則,顯示當(dāng)前時(shí)間。 控制器的功能可以通過(guò)有限狀態(tài)自動(dòng)機(jī)( FSM)的方式來(lái)實(shí)現(xiàn)。根據(jù)設(shè)計(jì)要求及端口設(shè)置,需要 5 個(gè)狀態(tài)來(lái)實(shí)現(xiàn): S0:表示電路初態(tài)即正常時(shí)鐘計(jì)數(shù)狀態(tài)。 S1:接收鍵盤輸入狀態(tài)。在狀態(tài) S0 時(shí)用戶按下數(shù)字鍵后進(jìn)入此狀態(tài)。在此狀態(tài)下,顯示屏上顯示的是用戶鍵入的數(shù)字。 S2:設(shè)置新的鬧鐘時(shí) 間。在狀態(tài) S1 時(shí)用用戶按下 ALARM 鍵后進(jìn)入此狀態(tài)。 S3:設(shè)置新的計(jì)時(shí)器時(shí)間。在狀態(tài) S1 時(shí)用戶按下 TIME 鍵后進(jìn)入此狀態(tài)。 S4:顯示鬧鐘時(shí)間。在狀態(tài) S0 時(shí)用戶直接按下 ALARM 鍵后進(jìn)入此狀態(tài)。在此狀態(tài)下,顯示屏上顯示的是所設(shè)置的鬧鐘時(shí)間。請(qǐng)注意,在這個(gè)狀態(tài)下,用戶按下 ALARM鍵盤后,顯示屏上保持顯示鬧鐘時(shí)間,經(jīng)過(guò)一段時(shí)間以后,再返回狀態(tài) S0 顯示計(jì)時(shí)器基于 FPGA的鬧鐘系統(tǒng)的設(shè)計(jì) 9 時(shí)間。 控制器狀態(tài)轉(zhuǎn)換及控制輸出表如下表 2 所示: 表 2 控制器狀態(tài)轉(zhuǎn)換及控制輸出表 當(dāng)前狀態(tài) 控制輸入(條件) 下一狀態(tài) 控制輸出(動(dòng)作) 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’ 否則(超時(shí)) 否 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’ 否則(超時(shí)) 否 S4 SHOW_A=‘ 1’ 是 S0 表 2 中沒(méi)有顯示說(shuō)明的控制信號(hào)賦值,表示信號(hào)的值為零。例如在狀態(tài) S0,當(dāng)信號(hào) KEY=‘ 1’時(shí), SHOW_NEW_TIME 的信號(hào)的賦值為‘ 1’,而其他信號(hào) LOAD_NEW_A,LOAD_NEW_C 和 SHOW_A 的值此時(shí)都賦為‘ 0’。另外,表中關(guān)于“超時(shí)”判斷處理細(xì)節(jié)見(jiàn) VHDL 源程序中的有關(guān)部分。 2.實(shí)現(xiàn)的程序 見(jiàn)附錄 3. 仿真波形如圖 4 所示 : 由波形圖,我們可以看到,當(dāng) KEY 為高電平時(shí),即用戶按下數(shù)字鍵“ 0” ~“ 9”時(shí), SHOW_NEW_TIME 同時(shí)也為高電平 ,即此時(shí)數(shù)碼管顯示用戶通過(guò)數(shù)字鍵輸入的時(shí)間 ,且用戶輸入新時(shí)間完畢后 ,按下 ALARM 鍵 ,同時(shí) LOAD_NEW_A 為高電平 ,控制鬧鐘時(shí)間寄存器加載新的鬧鐘時(shí)間 . 基于 FPGA的鬧鐘系統(tǒng)的設(shè)計(jì) 10 圖 4 控制器仿真波形 鬧鐘系統(tǒng)的譯碼器的 設(shè)計(jì) 1. 本模塊的功能是將每次按下鬧鐘系統(tǒng)的數(shù)字鍵盤且產(chǎn)生的一個(gè)數(shù)字所對(duì)應(yīng)的 10位二進(jìn)制數(shù)據(jù)信號(hào)轉(zhuǎn)換為 1 位十進(jìn)制整數(shù)信號(hào),以作為小時(shí)、分鐘計(jì)數(shù)的 4 個(gè)數(shù)字之一,其外部端口如圖 5 所示。其中 KEYPAD為輸入端口,接收 10位二進(jìn)制數(shù)據(jù)信號(hào); VALUE為輸出端口,輸出相應(yīng)的 1 位十進(jìn)制整數(shù)信號(hào)。輸入數(shù)據(jù)與與輸出數(shù)據(jù)的譯碼關(guān)系見(jiàn)表3。 表 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. 實(shí)現(xiàn)該模塊的 VHDL 程序如下: ARCHITECTURE ART OF DECODER IS BEGIN WITH KEYPAD SELECT VALU
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1