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

正文內(nèi)容

基于fpga的矩陣鍵盤控制接口設(shè)計(jì)(編輯修改稿)

2025-01-08 22:45 本頁面
 

【文章內(nèi)容簡介】 塊(標(biāo)有星號的模塊表示在完整編譯時,可根據(jù)設(shè)置選擇使用): ? 分析和綜合 ? 分區(qū)合并 * ? 適配器 ? 匯編器 * ? 標(biāo)準(zhǔn)時序分析器和 TimeQuest 時序分析器 * ? 設(shè)計(jì)助手 * ? EDA 網(wǎng)表寫入器 * ? HardCopy174。 網(wǎng)表寫入器 * EDA 工具與 Quartus II 軟件配合使用時的基本設(shè)計(jì)流程: (1)創(chuàng)建新工程并指定目標(biāo)器件或器件系列。 時序分析 ? TimeQuest 時序分析器 ? 標(biāo)準(zhǔn)時序分析器 ? 報告窗口 ? 技術(shù)映射查看器 仿真: ? 仿真器 ? 波形編輯器 編程: ? 匯編器 ? 編程器 ? 轉(zhuǎn)換編程文件 工程更改管理: ? 芯片編輯 ? 資源屬性編輯器 ? 更改管路 設(shè)計(jì)輸入 ? 文本編輯器 ? 模塊和符號編輯器 ? Megawizard 插件管理器 系統(tǒng)級設(shè)計(jì): ? SOPC Builder ? DSP Builder 約束輸入 ? 分配編輯器 ? 引腳規(guī)劃器 ? 設(shè)置對話框 ? 時序逼近布局 ? 設(shè)計(jì)分區(qū)窗口 基于模塊的設(shè)計(jì): ? LogicLock 窗口 ? 時序逼近布局 ? VQM 寫入 綜合 ? 分析和綜合 ? VHDL、 Verilog HDL 和 AHDL ? 設(shè) 計(jì)助手 ? RTL 查看器 ? 技術(shù)射影查看器 ? 漸進(jìn)式綜合 EDA 接口: ? EDA 網(wǎng)表寫入 功耗分析: ? PowerPlay 功耗分析器 ? PowerPla 早期功耗估算器 布局布線: ? 適配器 ? 分配編輯器 ? 時序逼近布局 ? 漸進(jìn)式編譯 ? 報告窗口 ? 資源優(yōu)化向?qū)? ? 設(shè)計(jì)空間管理器 ? 芯片編輯器 時序逼近: ? 時序逼近布局 ? LogicLock 窗口 ? 時序優(yōu)化向?qū)? ? 設(shè) 計(jì)空間管理器 ? 漸進(jìn)式編譯 調(diào)試: ? SignalTap 2 ? SignalProbe ? 在系統(tǒng)存儲內(nèi)容編輯器 ? RTL 查看器 ? 芯片編輯器 9 (2)指定與 Quartus II 軟件一同使用的 EDA 設(shè)計(jì)輸入、綜合、仿真、時 序分析、板級驗(yàn)證、形式驗(yàn)證以及物理綜合工具,為這些工具指定其他選項(xiàng)。 (3)使用標(biāo)準(zhǔn)文本編輯器建立 Verilog HDL 或者 VHDL 設(shè)計(jì)文件,也可以使用MegaWizard 插件管理器建立宏功能模塊的自定義變量。 (4)使用 Quartus II 支持的 EDA 綜合工具之一綜合您的設(shè)計(jì),并生成 EDIF 網(wǎng)表文件 (.edf)或 Verilog Quartus 映射文件 (.vqm)。 (5)(可選)使用 Quartus II 支持的仿真工具之一對您的設(shè)計(jì)進(jìn)行功能仿真。 (6)在 Quartus II 軟件中對設(shè)計(jì)進(jìn)行編譯 。運(yùn)行 EDA 網(wǎng)表寫入器,生成輸出 文件,供其他 EDA 工具使用。 (7)(可選)使用 Quartus II 支持的 EDA 時序分析或者仿真工具之一對設(shè)計(jì)進(jìn) 行時序分析和仿真。 (8)(可選)使用 Quartus II 支持的 EDA 形式驗(yàn)證工具之一進(jìn)行形式驗(yàn)證,確保Quartus 布線后網(wǎng)表與綜合網(wǎng)表一致。 (9)(可選)使用 Quartus II 支持的 EDA 板級驗(yàn)證工具之一進(jìn)行板級驗(yàn)證。 (10)(可選)使用 Quartus II 支持的 EDA 物理綜合工具之一進(jìn)行物理綜合。 (11)使用編程器和 Altera 硬件對器 件進(jìn)行編程。 本章小結(jié) 本章開始介紹了 VHDL 語言的設(shè)計(jì)分格以及設(shè)計(jì)中注意的問題,然后又介紹了Quartus II 軟件的使用方法。在這里我再說一下國內(nèi)發(fā)展的戰(zhàn)略選擇,由于目前 IT 行業(yè)快速發(fā)展,以及 ASIC 合了 Avant!和 CODesign, Cadence 合了 GDA 等,形成了幾大巨頭的局面。而各可編程器件廠商,像 Xilinx 和 Altera,也積極與 EDA 緊密合作, 針對目前硬件描述語言的發(fā)展和國家芯片制造生產(chǎn)的發(fā)展戰(zhàn)略,國內(nèi)如何在原 EDA 基礎(chǔ)薄弱的情況下迅速發(fā)展,使 EDA 成為一個合理,健康而必比可少產(chǎn)業(yè);將基礎(chǔ)研究活動與獨(dú)立產(chǎn)生的作用合理地結(jié)合,建議開展如下的工作: 1. 為了實(shí)現(xiàn)我國的芯片設(shè)計(jì)自主化,必須夯實(shí)基礎(chǔ),再結(jié)合 VHDL 的基礎(chǔ)上,推廣 Verilog HDL 設(shè)計(jì)語言,使硬件設(shè)計(jì)的底層單元庫可以自主研制。 2. 根據(jù)目前芯片系統(tǒng)的發(fā)展趨勢,對系統(tǒng)級語言進(jìn)行比較研究,在 Superlog,SystemC 等語言中作出選則,并進(jìn)行相關(guān)工具的推廣,以及與相關(guān)企業(yè)進(jìn)行合作等。 3. 深入 HDL 語言的綜合和仿真等模型的研究,努力在與國外合作的基礎(chǔ)山,建立自主知識產(chǎn)權(quán)的 EDA 公司。 10 3. 矩陣鍵盤接口電路的原理與總體 設(shè)計(jì) 矩陣鍵盤接口電路的原理 在鍵盤中按鍵數(shù)量較多時,為了減少 I/O 口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口就可以構(gòu)成 4*4=16 個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成 20 鍵的鍵盤,而直接用端口線則只能多出一鍵( 8 鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,列線通過電阻接正 電源,并將行線所接的 FPGA 的 I/O 口作為輸出端,而列線所接的 I/O 口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 行列式鍵盤的電路原理如圖 31 所示。 (為了說明問題以 4*4 為例) 圖 31 行列式鍵盤的電路原理如圖 Keyin3 Keyin2 Keyin1 Keyin0 FPGA Keydrv0 Keydrv0 Keydrv0 Keydrv0 1 5 2 3 4 6 7 8 9 0 A B C D E F +5v 11 設(shè)置掃描信號為 keydrv3~keydrv0,列線按鍵輸入信號 keyin3~keyin0 與按鍵位置的關(guān)系 如表 31 所示。 表 31 掃描信號和列線按鍵輸入信號與按鍵之間的關(guān)系表 keydrv3~keydrv0 keyin3~keyin0 對應(yīng)的按鍵 1110 1110 1 1101 2 1011 3 0111 4 1101 1110 5 1101 6 1011 7 0111 8 1011 1110 9 1101 0 1011 A 0111 B 0111 1110 C 1101 D 1011 E 0111 F 12 總體設(shè)計(jì) 系統(tǒng)結(jié) 構(gòu)的 總體設(shè)計(jì) 圖 32 鍵盤接口電路結(jié)構(gòu)圖 由行列式鍵盤原理就可以知道,要正確的完成鍵盤輸入工作必須有按鍵掃描電路產(chǎn)生 keydrv3~keydrv0 信號。同時還必須有按鍵譯碼電路從 keydrv3~keydrv0 信號和 keyin3~keyin0 信號中譯碼出按鍵的值。此外,一般還需要一個按鍵發(fā)生信號用于和其他模塊接口,通知其他模塊鍵盤上有按鍵動作發(fā)生,并可以從鍵盤上讀取按鍵的鍵值。由于各個模塊需要的時鐘頻率是不一樣的,因此時鐘產(chǎn)生模塊就是用于產(chǎn)生各個模 塊需要的時鐘信號。因此得到接盤接口電路的結(jié)構(gòu)如上圖所示。 [6][7] 本章小結(jié) 本章首先介紹了一下矩陣鍵盤的設(shè)計(jì)思路,總體來說 行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 最后介紹了一下 4*8 鍵盤的總體設(shè)計(jì)思路。 鍵盤譯碼電路 按鍵標(biāo)志產(chǎn)生電路 4*8 鍵盤 時鐘產(chǎn)生電路 掃描電路 keyvalue keypressed clk Keyin[8..0] Keydrv[3..0] 13 4. 各模塊的設(shè)計(jì)及仿真 鍵盤掃描電路 鍵盤掃描電路是用于產(chǎn)生 keydrv3~keydrv0 信號,其變化的順序依次是 1110110110110111??周而復(fù)始地掃描。其停留在某個狀態(tài)的時 間大約為 10ms。更短的停留時間是沒有必要的,因?yàn)槿税存I的時間大約為 10ms,不可能有更快的按鍵動作發(fā)生;另外,更短的停留時間還容易采集到抖動信號,會干擾判斷。而太長的停留時間則會使某些較快的按鍵東走丟失。 鍵盤掃描電路的外部接口電路如圖 41 所示,其中 clk_scan 是周期為 10ms 的掃描時鐘, keydrv 為輸出到鍵盤的掃描信號,寬度為 4 位。 圖 41 鍵盤掃描電路的外部接口電路圖 其 VHDL 描述如下: LIBRARY ieee。 USE 。 Entity Declaration ENTITY key_scan IS {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE! PORT ( clk_scan : IN STD_LOGIC。 掃描時鐘,周期 10ms 14 keydrv : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 輸出掃描信號 以上程序采用一個狀態(tài)機(jī)來實(shí)現(xiàn)掃描電路。該狀態(tài)機(jī)是一個 onehot 狀態(tài)機(jī),并且輸出值就是狀態(tài)機(jī)的狀態(tài),沒有通過一個邏輯電路來做輸出譯碼。這樣的好處是得到的輸出信號比較“干凈”,沒有毛刺。 其仿真波形如圖 42 所示。 圖 42 鍵盤掃描電路仿真圖 從圖 42 中很容易發(fā)現(xiàn) present_state 的值的變化是隨著掃描信號 key_scan 的上升沿的到來而變化的,也就是 key_scan 每來一個脈沖,相應(yīng)的 present_state 的值就變化一次。很容易發(fā)現(xiàn) keydrv 的值的變化順序?yàn)?1110110110110111,也就是每個key_scan 來一個脈沖時,保證 keydrv 相鄰的值只有一個變化,這樣為了防止產(chǎn)生不必要的毛刺。 present_state 值和 keydrv 值是相同的,只不過一個用的二進(jìn)制,一個用的是十進(jìn)制,所以它的變化為 14— 13— 11— 7。 鍵盤譯碼電路和按鍵標(biāo)志位產(chǎn)生電路 鍵盤譯碼電路是從 keydrv3~ keydrv0和 keyin3~keyin0信號中譯碼出按鍵的鍵值的電路,它的真值表就是以前行掃描信號、列掃描與按鍵位置的關(guān)系圖。按鍵標(biāo)志位產(chǎn)生電路是產(chǎn)生按鍵標(biāo)志位信號 keypressed 的電路。由于這兩個電路關(guān)系緊密,因此放入同一個模塊中實(shí)現(xiàn)。其外部接口圖如圖 43 所示。其中 clk 為 局信號,它是由 FPGA 芯片的外部晶振給出的。 clk 在系統(tǒng)中的頻率是最高,其他時鐘都是它的分頻產(chǎn)生。 keydrv 為鍵盤掃描信號, keyin 為鍵盤輸入信號, keyvalue 15 為鍵值(代表按鍵所在的位置), keypressed 表示有 一個按鍵被按下,每發(fā)生一次按鍵動作, keypressed 就輸出一個寬度為全局時鐘周期的正脈沖。該信號用于與其他模塊握手,負(fù)責(zé)通知其他模塊鍵盤是否有按鍵發(fā)生。其他模塊在 keypressed 有效時,可以讀取鍵值。 圖 43 鍵盤譯碼電路的外部接口 其 VHDL 實(shí)現(xiàn)如下: LIBRARY ieee。 USE 。 USE 。 ENTITY keydecoder IS PORT( clk : IN STD_LOGIC。 全局時鐘 clk_scan : IN STD_LOGIC。 掃描時鐘 keyin : IN STD_LOGIC_VECTOR(8 DOWNTO 0)。 鍵盤輸入 keydrv : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 掃描信號 keyvalue : OUT STD_LOGIC_VECTOR(8 DOWNTO 0)。鍵值 keypressed : OUT STD_LOGIC 有按鍵按下 )。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1