名稱(chēng):八輸入的表決器ego1開(kāi)發(fā)板verilog代碼vivado軟件(代碼在文末下載)
軟件:VIVADO
語(yǔ)言:Verilog
代碼功能:
設(shè)計(jì)一個(gè)八輸入的表決器
要求:0-3個(gè)同意A燈亮(閃爍); 4-5個(gè)同意B亮(閃爍);6-8個(gè)同意C亮(閃爍)
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在ego1開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 管腳分配
5. Testbench
6. 仿真圖
部分代碼展示:
//8輸入表決器 module?biaojueqi( input?clk,//時(shí)鐘 input?rst_n,//復(fù)位 input?result_p,//表決結(jié)果按鍵 input?key_1,//輸入1 input?key_2,//輸入2 input?key_3,//輸入3 input?key_4,//輸入4 input?key_5,//輸入5 input?key_6,//輸入6 input?key_7,//輸入7 input?key_8,//輸入8 //LED燈 output?reg?LED_A, output?reg?LED_B, output?reg?LED_C ); wire?[3:0]?agree_num; assign?agree_num=key_1+key_2+key_3+key_4+key_5+key_6+key_7+key_8;//計(jì)算有幾個(gè)同意 reg?[31:0]?div_cnt=32'd0; reg?clk_1HZ=0; always@(posedge?clk) if(div_cnt>=32'd50_000_000)begin//計(jì)數(shù),上板調(diào)試時(shí)計(jì)數(shù)50_000_000,仿真時(shí)為減小仿真耗時(shí)計(jì)數(shù)改為50 div_cnt<=0;//清零 clk_1HZ<=~clk_1HZ;//翻轉(zhuǎn)得到1Hz的閃爍信號(hào) end else div_cnt<=div_cnt+1;//累加 parameter?s_idle=2'd0; parameter?s_result=2'd1; parameter?s_led=2'd2; reg?[1:0]?state=2'd0; //狀態(tài)機(jī) always@(posedge?clk?or?negedge?rst_n) if(rst_n==0)//復(fù)位 state<=s_idle; else case(state) s_idle://初始狀態(tài) if(result_p)//表決結(jié)果按鍵 state<=s_result; else state<=s_idle; s_result://表決結(jié)果狀態(tài)
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=315
閱讀全文