產(chǎn)品圖片

產(chǎn)品分類

技術(shù)文章
主頁 > 技術(shù)文章 > 基于VHDL的表決器的設(shè)計實驗
2024-05-27 06:54

基于VHDL的表決器的設(shè)計實驗

基于VHDL的表決器的設(shè)計
一、      實驗?zāi)康?br /> 1、 熟悉VHDL的編程。
2、 熟悉七人表決器的工作原理。
3、 進一步了解實驗系統(tǒng)的硬件結(jié)構(gòu)。
二、      實驗原理
所謂表決器就是對于一個行為,由多個人投票,如果同意的票數(shù)過半,就認為此行為可行;否則如果否決的票數(shù)過半,則認為此行為無效。
七人表決器顧名思義就是由七個人來投票,當(dāng)同意的票數(shù)大于或者等于4時,則認為同意;反之,當(dāng)否決的票數(shù)大于或者等于4時,則認為不同意。實驗中用7個撥動開關(guān)來表示七個人,當(dāng)對應(yīng)的撥動開關(guān)輸入為‘1’時,表示此人同意;否則若撥動開關(guān)輸入為‘0’,則表示此人反對。表決的結(jié)果用一個LED表示,若表決的結(jié)果為同意,則LED被點亮;否則,如果表決的結(jié)果為反對,則LED不會被點亮。同時,數(shù)碼管上顯示通過的票數(shù)。
三、      實驗內(nèi)容
本實驗就是利用實驗系統(tǒng)中的撥動開關(guān)模塊和LED模塊以及數(shù)碼管模塊來實現(xiàn)一個簡單的七人表決器的功能。撥動開關(guān)模塊中的K1~K7表示七個人,當(dāng)撥動開關(guān)輸入為‘1’時,表示對應(yīng)的人投同意票,否則當(dāng)撥動開關(guān)輸入為‘0’時,表示對應(yīng)的人投反對票;LED模塊中D1表示七人表決的結(jié)果,當(dāng)D1點亮?xí)r,表示此行為通過表決;否則當(dāng)D1熄滅時,表示此行為未通過表決。數(shù)碼管顯示通過的票數(shù)。
四、      實驗步驟
1、 打開QUARTUSII軟件,新建一個工程。
2、 建完工程之后,再新建一個VHDL File,打開VHDL編輯器對話框。
3、 按照實驗原理和自己的想法,在VHDL編輯窗口編寫VHDL程序,用戶可參照光盤中提供的示例程序。
4、 編寫完VHDL程序后,保存起來。方法同實驗一。
5、 對自己編寫的VHDL程序進行編譯并仿真,對程序的錯誤進行修改。
6、 編譯仿真無誤后,根據(jù)用戶自己的要求進行管腳分配。分配完成后,再  進  行全編譯一次,以使管腳分配生效。
7、 根據(jù)實驗內(nèi)容用實驗導(dǎo)線將上面管腳分配的FPGA管腳與對應(yīng)的模塊連接起來。
如果是調(diào)用的本書提供的VHDL代碼,則實驗連線如下:
K1-K7:投票者的投票信號,接一個撥動開關(guān)K1-K7。
LEDAG[6..0]:數(shù)碼管顯示信號,接數(shù)碼管的G、F、E、D、C、B、A。
m_Result: 搶答成功者顯示信號,接一個LED燈D1。
8、 用下載電纜通過JTAG口將對應(yīng)的sof文件加載到FPGA中。觀察實驗結(jié)果是否與自己的編程思想一致

五、      實驗結(jié)果與現(xiàn)象
以設(shè)計的參考示例為例,當(dāng)設(shè)計文件加載到目標(biāo)器件后,確認信號連接線已正確連接,撥動實驗系統(tǒng)中撥動開關(guān)模塊的K1-K7七位撥動開關(guān),如果撥動開關(guān)的值為“1”(即撥動開關(guān)的開關(guān)置于上端,表示此人通過表決)的個數(shù)大于或等于四時LED模塊的D1被點亮,否則LED1不被點亮。數(shù)碼管顯示通過的票數(shù)。
六、      實驗報告
1、  繪出仿真波形,并作說明。
2、    將實驗原理、設(shè)計過程、編譯仿真波形和分析結(jié)果、硬件測試結(jié)果記錄下來。
3、    試在此實驗的基礎(chǔ)上增加一個表決的時間,只的在這一時間內(nèi)的表決結(jié)果有效。