一、設(shè)計(jì)目的
1、熟悉MAX+PLUSⅡ、QUARTUSⅡ軟件的使用;
2、熟悉EDA/SOPC、FPGA基本結(jié)構(gòu);
3、熟悉EDA開發(fā)的基本流程。
二、設(shè)計(jì)原理
所謂表決器就是對(duì)于一件事,由多個(gè)人投票,如果同意的票數(shù)過半,就認(rèn)為此事可行;否則如果否決的票數(shù)過半,則認(rèn)為此事不行。
七人表決器顧名思義就是由七個(gè)人來投票,當(dāng)同意的票數(shù)大于或者等于4時(shí),則認(rèn)為同意;反之,當(dāng)否決的票數(shù)大于或者等于4時(shí),則認(rèn)為不同意。實(shí)驗(yàn)中用7個(gè)按鍵來表示七個(gè)人,當(dāng)對(duì)應(yīng)的按鍵按下時(shí),輸入為“1”,表示此人同意;否則若按鍵輸入為‘0’,則表示此人反對(duì)。表決的結(jié)果用一個(gè)LED表示,若表決的結(jié)果為同意,則輸出‘0’,LED被點(diǎn)亮;否則,如果表決的結(jié)果為反對(duì),則輸出‘1’,LED不會(huì)被點(diǎn)亮。
用七個(gè)開關(guān)作為表決器的7個(gè)輸入變量,輸入變量為邏輯“1”時(shí)表示表決者“贊同”;輸入變量為邏輯“0”時(shí),表示表決者“不贊同”。輸出邏輯“1”時(shí),表示表決“通過”;輸出邏輯“0”時(shí),表示表決“不通過”。當(dāng)表決器的七個(gè)輸入變量中有4個(gè)以上(含4個(gè))為“1”時(shí),則表決器輸出為“1”;否則為“0”。
三、設(shè)計(jì)內(nèi)容
本實(shí)驗(yàn)利用EDA/SOPC實(shí)驗(yàn)箱中的按鍵開關(guān)模塊和LED模塊來實(shí)現(xiàn)一個(gè)簡單的七人表決器功能。按鍵F1~F7表示七個(gè)人,當(dāng)按鍵按下輸入為‘1’時(shí),表示對(duì)應(yīng)的人投同意票,否則當(dāng)按鍵輸入為‘0’時(shí),表示對(duì)應(yīng)的人投反對(duì)票;LED模塊中l(wèi)ed0表示七人表決的結(jié)果,當(dāng)led0點(diǎn)亮?xí)r,表示一致同意,否則當(dāng)led0熄滅時(shí),表示一致反對(duì)。按鍵F1~F7以及l(fā)ed0與FPGA的引腳連接如下表所示。
芯片引腳 |
開發(fā)平臺(tái)模塊 |
AC10 |
LED0 |
Y11 |
F1 |
AA10 |
F2 |
AB10 |
F3 |
AE6 |
F4 |
V22 |
F5 |
AF23 |
F6 |
AE23 |
F7 |
四、設(shè)計(jì)結(jié)果
1、七人表決器源程序:
module VOTER7(a,b,c,d,e,f,g,pass);
input a,b,c,d,e,f,g;
output pass;
reg pass;
reg[3:0] count;
initial count=0;
always@(a,b,c,d,e,f,g)
begin
count=a+b+c+d+e+f+g;
pass=count<4?0:1;//當(dāng)人數(shù)在三人以下是輸出1
end
endmodule
2、仿真波形圖:
上圖為四人贊同時(shí)的表決結(jié)果,pass=1,表示通過。
上圖為三人贊同時(shí)的表決結(jié)果,pass=0,表示不通過。
3、管腳約束:
4、下載到試驗(yàn)箱上的結(jié)果:
五、注意文章來源:http://www.zghlxwxcb.cn/news/detail-474421.html
在Verilog開發(fā)時(shí)出現(xiàn)了module命名與.v文件命名不一樣會(huì)導(dǎo)致編譯報(bào)錯(cuò)。文章來源地址http://www.zghlxwxcb.cn/news/detail-474421.html
到了這里,關(guān)于FPGA設(shè)計(jì)開發(fā)(基礎(chǔ)課題):七人表決器設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!