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

正文內容

基于fpga的ps2鼠標接口設計及vga顯示word格式(編輯修改稿)

2024-12-23 21:56 本頁面
 

【文章內容簡介】 data_high_3 狀態(tài),將數據線拉高,等待鼠標返回應答信號。若 PS/2 時鐘信號下降沿來臨時,數據線仍未變?yōu)楦唠娖?,則進入m2_error_no_ack 狀態(tài),此時握手失敗,系統(tǒng)將保持 m2_error_no_ack 狀態(tài)直到下一次復位,否則進入 m2_await_response 狀態(tài)接收應答字,接收完成進入 m2_verify 數據校驗,然后進入 m2_use 狀態(tài),鎖存輸出數據,并進入 m2_wait 狀態(tài),等待接收數據。當檢測到時鐘下降 沿后進入 m2_gather 狀態(tài),接收鼠標數據包,接收完成進入 m2_verify狀態(tài),此時便形成了數據接收循環(huán) [5][6][7]。 在上述的理論基礎上,首先編寫 VHDL 硬件實現流程圖,然后用 VHLD 語言在 QuartusⅡ軟件下 編寫程序,并進行綜合和時序仿真,最后得到 PS/2 接口模塊,如圖 、 所示。 PS/2 接口的 VHDL 硬件實現流程圖見附錄 1,PS/2 接口電路的 VHDL 語言見附錄 2。 FPGA VGA 顯示 PS/2 圖 PS/2接口模塊 圖 PS/2接口模塊仿真時序圖 VGA 顯示模塊 VGA 顯示模式要求:行 、場同步都為負極性,即都是負脈重。所以在設計顯示模塊的時候要注意時序驅動和 VGA 信號的電平驅動,其行、場掃描時序如表 、 所示 [3] 表 行掃描時序 行同步頭 行圖像 行周期 對應位置 Tf Ta Tb Tc Td Te Tg 時間 8 96 40 8 640 8 800 表 場掃描時序 行同步頭 行圖像 行周期 對應位置 Tf Ta Tb Tc Td Te Tg 時間 2 2 25 8 480 8 525 當 HS 和 VS都等于 0的時候, CRT 顯示的內容為亮,這個過程為正向掃描。當一行掃描完成的時候, CRT 掃描產生消隱,電子束回到 CRT左邊下一行的起始位置,依次進行掃描 ,其 VGA 顯示模塊如圖 ,源代碼見附錄 4。 圖 VGA顯示模塊 系統(tǒng)頂層文件 由以上兩個模塊: PS/2 接口模塊和 VGA 顯示模塊,根據方案圖封裝成系統(tǒng)所需的頂層模塊就得到系統(tǒng)所需的頂層文件。如圖 。 圖 系統(tǒng)頂層模塊 功能實現 在得到系統(tǒng)頂層模塊后,先進行全程編譯,并進行時序仿真,然后對芯片進行配置,最后將編譯產生的 SOF格式文件下載到 FPGA 芯片中進行硬件測試。 6 結束語 畢業(yè)設計是培養(yǎng)我們綜合運用所學知識,發(fā)現、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們實際工作能力的具體訓練和考察過程。隨著 EDA 技術發(fā)展的日新日異, EDA 已經成為現代電子技術中必不可少的技術, 在生活中可以說得是無處不在。因此作為電子專業(yè)的學生來說掌握 EDA 的開發(fā)技術是十分重要的。 我本次設計的題目是 基于 FPGA的 PS/2 鼠標接口設計及 VGA顯示 ,對于我們這些實踐中的新手來說,這是一次考驗。這次畢業(yè)設計讓我學到很多很多的東西,學會了怎么在遇到問題時去解決問題。不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識,掌握了一種系統(tǒng)的研究方法,可以進行一些簡單的編程。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從而提高自己的實際動手能力和獨立思考的能力。同時在設計的過程中發(fā)現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握 得不夠牢固。 這次畢業(yè)設計設計通過我的努力終于順利完成了,在設計中遇到了很多問題,最后在導師的辛勤指導下,終于迎刃而解,在此我表示感謝! 附錄 1: PS/2 接口的 VHDL 硬件實現流程圖 附錄 2: 設計流程圖 初始化 判斷鼠標是否正確應答 接收數據 輸出并傳給 VGA 復位 是 否 附錄 3: PS/2 接口電路的 VHDL 語言源程序 [5] library IEEE。 編寫設計說明書 建立 PS/2 行為模型 建立 VGA驅動行為 行為仿真 行為仿真 RTL 級建模 RTL 級建模 前端功能仿真 PS/2 功能仿真 邏輯綜合 測試向量表 功能仿真 結構綜合 門級時序仿真 下載并硬件測試 設計完成 use 。 use 。 use 。 entity mouse is Port ( clk : in std_logic。 reset : in std_logic。 ps2_clk : inout std_logic。 ps2_data : inout std_logic。 left_button : out std_logic。 right_button : out std_logic。 mousex: buffer std_logic_vector(9 downto 0)。 mousey: buffer std_logic_vector(9 downto 0)。 data_ready : out std_logic。 rx_read_o error_no_ack : out std_logic )。 end mouse。 architecture Behavioral of mouse is constant TOTAL_BITS : integer :=33。 數據包位數 constant WATCHDOG : integer :=320。 400usec 所需 sys_clk 脈沖數 constant DEBOUNCE_TIMER : integer := 2。 type m1statetype is ( m1_clk_h, m1_falling_edge, m1_falling_wait, m1_clk_l, m1_rising_edge, m1_rising_wait)。 type m2statetype is (m2_reset, m2_wait, m2_gather, m2_verify, m2_use, m2_hold_clk_l, m2_data_low_1, m2_data_high_1, m2_data_low_2, m2_data_high_2, m2_data_low_3, m2_data_high_3, m2_error_no_ack, m2_await_response)。 signal m1_state,m1_next_state : m1statetype。 signal m2_state,m2_next_state : m2statetype。 signal m3_state,m3_next_state : std_logic。 signal watchdog_timer_done : std_logic。命令傳輸超時標志 signal q : std_logic_vector(TOTAL_BITS1 downto 0)。位序列 signal bitcount : std_logic_vector(5 downto 0)。位計數器 signal watchdog_timer_count : std_logic_vector(8 downto 0)。 等待時間 signal debounce_timer_count : std_logic_vector(1 downto 0)。 signal ps2_clk_hi_z : std_logic。 signal ps2_data_hi_z : std_logic。 signal fallsig,risesig : std_logic_vector(2 downto 0)。 signal clean_clk : std_logic。 從 m1 跟隨 ps2_clk 反向輸出 signal rise,n_rise : std_logic。 m1 狀態(tài)機輸出數據 signal fall,n_fall : std_logic。 m1 狀態(tài)機輸出數據 signal output_strobe : std_logic。 鎖存數據到輸出寄存器 signal packet_good : std_logic。 檢查數據是否有效 signal x_increment : std_logic_vector(8 downto 0)。 signal y_increment : std_logic_vector(7 downto 0)。 signal mouseyy : std_logic_vector(9 downto 0)。 begin ps2_clk = 39。039。 when ps2_clk_hi_z=39。039。 else 39。Z39。 ps2_data = 39。039。 when ps2_data_hi_z=39。039。 else 39。Z39。 檢測 ps2clk 上升 沿和下降沿 detect_ps2clkfall : process(clk,reset,ps2_clk) begin if reset=39。039。 then fallsig = 000。 elsif clk39。event and clk=39。139。 then fallsig(0) = ps2_clk。 fallsig(1) = fallsig(0)。 fallsig(2) = fallsig(1)。 end if。 end process。 fall = 39。139。 when fallsig=110 else 39。039。 detect_ps2clkrise : process(clk,reset,ps2_clk) begin if reset=39。039。 then risesig = 000。 elsif clk39。event and clk=39。139。 then risesig(0) = ps2_clk。 risesig(1) = risesig(0)。 risesig(2) = risesig(1)。 end if。 end process。 rise = 39。139。 when risesig=001 else 39。039。 m2 狀態(tài) m2statech: process (reset, clk) begin if (reset=39。039。) then m2_state = m2_reset。 elsif (clk39。event and clk=39。139。) then m2_state = m2_next_state。 end if。 end process。 m2 狀態(tài)傳輸邏輯 m2statetr: process (m2_state, q, fall,rise,watchdog_timer_done,bitcount,ps2_data,packet_good) begin 輸出信號的缺省值 ps2_clk_hi_z = 39。139。 ps2_data_hi_z = 39。139。 error_no_ack = 39。039。 output_strobe = 39。039。 case m2_state is when m2_reset = 復位后向鼠標發(fā)送命令字 m2_next_state = m2_hold_clk_l。 when m2_wait = if (fall=39。139。) then m2_next_state = m2_gather。 else m2_next_state = m2_wait。 end if。 when m2_gather = if ((watchdog_timer_done=39。139。) and (bitcount=TOTAL_BITS))then m2_next_state = m2_ve
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1