【正文】
答辯小組評價意見(建議等第): 答辯小組組長教師簽名: 年 月 日 三、系答辯委員會審定表 1. 審定意見 2.審定成績(等第) _____ ___ 系主任簽字: 年 月 日 。 答謝辭 參考文獻 [ 1]綜合電子設(shè)計與實踐,王振紅,清華大學出版社, 2020 年 9 月第 2版 。 完成此次設(shè)計后, 我 不 僅能對 MAX+plus II 開發(fā)仿真軟件熟練操作,能達到學以致用,同時還掌握了矩陣鍵盤和 16 16點陣的工作原理。在編寫程序的時候,我才發(fā)現(xiàn)能看懂程序和能自己寫程序是兩個完全不同的概念,自己一開始寫程序時,即便是一個很簡單的功能模塊,在編譯時也可能產(chǎn)生很多錯誤,在不斷的改錯過程中,自己對 VHDL 語言的語法結(jié)構(gòu)有了深刻的理解,對編譯過程中常見的錯誤也有了全面的認識。 VHDL 是超高速集成電路 的硬件描述語言,它能夠描述硬件的結(jié)構(gòu)、行為與功能。仿真文件 simulation report 通常會自動彈出,否則選擇 processing?simulation report 。選中 Run simulation until all vector stimuli 全程仿真。選擇 simulation options 欄,確認選定simulation coverage reporting。 圖 36 選擇仿真控制 仿真器參數(shù)設(shè)置。 ( 2)將工 程 yz_ok 的端口信號名選入波形編輯器中,所選的端口有clk,enable 及總線 h0 和 h8。 時序仿真 ( 1)新建一個矢量波形文件,同時打開波形編輯器。 圖 35 全程編譯成功完成 完成后在工程管理窗口左是角顯示了工程 yz_ok 的層次結(jié)構(gòu)和其中結(jié)構(gòu)模塊耗用的邏輯宏單元數(shù)。 圖 34 設(shè)置閑置引腳狀態(tài) 全程編譯 設(shè)置好前面的內(nèi)容之后,就可以進行編譯了。 在 Configuration 選項頁,選擇配置器件為 EPCS1,其配置模式選擇為 active serial。 在General 項中選中 autorestart configuration after error,使對 FPGA 的配置失敗后能自動重新配置,并加入 JTAG 用戶編碼。pin options 按鈕,彈出 deviceamp。用 assignmemts?settings 命令,彈出 settings 對話框,選擇目標芯片為 EP2C5T144C8。 利用 new preject wizard 工具創(chuàng)建一個工程,工程名為 yz_ok,頂層文件實體名為 yz_ok,并將上面創(chuàng)建的 文件加入到工程中。 此外, Quartus II 通過和 DSP Builder 工具與 Matlab/Simulink 相結(jié)合,可以方便地實現(xiàn)各種 DSP 應(yīng)用系統(tǒng);支持 Altera 的片上可編程系統(tǒng)( SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。 Quartus II 支持 Altera 的 IP核,包含了 LPM/MegaFunction 宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。 end count。 end if。 end if。 if next1=”11”then next1=”00”。 begin if clk’event and clk=’1’then if int10000 then int:=int+1。 End process。 End if。h8=00000000。 End case。 When others=h0=00000000。 When1011=h0=00011111。 When1010=h0=00010000。 When1001=h0=00010000。 When1000=h0=00010000。 When0111=h0=00010000。 When0110=h0=00010000。 When 11= Case lie is When0101=h0=00011111。h8=00000000。h8=11110000。h8=00010000。h8=00010000。h8=00010000。h8=11110000。h8=00010000。h8=00010000。h8=00010000。h8=11110000。 End case。 When others=h0=00000000。 When1011=h0=00011111。 When1010=h0=00010001。 When1001=h0=00010001。 When1000=h0=00010001。 When0111=h0=00010001。 When0110=h0=00010001。 When 01= Case lie is When0101=h0=00011111。h8=00000000。h8=00010000。h8=00010000。h8=00010000。h8=00010000。h8=00010000。h8=11110000。h8=00010000。h8=00010000。h8=00010000。h8=00010000。h8=00010000。139。139。 a2:process(enable,clk) begin If clk39。 Sel=lie。 End if。 Else Lie=1111。139。139。 begin a1:process(clk,enable) begin If clk39。 architecture count of yz_ok is signal lie:std_logic_vector(3 downto 0)。 h0,h8:out std_logic_vector(7 downto 0))。 entity yz_ok is port(enable,clk:in std_logic。 use 。 end process。 end if。 else next1= next1+’1’。 else int:=0。 其程序如下: process(clk) variable int: integer range 0 to 10000。 字母循環(huán)掃描及期間的延時環(huán)節(jié) 為使字母不斷地循環(huán)顯示,并且使每個字母之間有停頓,就需要在 中間加一定的延時和循環(huán)環(huán)節(jié)。 End if。 End case。 When others=h0=00000000。h8=00000000。h8=11100000。h8=00100000。h8=00100000。h8=00100000。h8=00100000。h8=00100000。h8=11100000。 End case。 When others=h0=00000000。 When1100=h0=00011111。 When1011=h0=00010001。 When1010=h0=00010001。 When1001=h0=00010001。 When1000=h0=00011111。 When0111=h0=00010001。 When0110=h0=00010001。 When0101=h0=00010001。 When 10= Case lie is “ 田 ” 字設(shè) 計 When0100=h0=00011111。h8=00000000。h8=11110000。h8=00010000。h8=00010000。h8=00010000。h8=00010000。h8=00010000。h8=11110000。 End case。 When others=h0=00000000。 When 1101=h0=00010001。 When 1100=h0=00010001。