• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

八輸入的表決器ego1開發(fā)板verilog代碼vivado軟件

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-23112921344E55.doc

共1個文件

名稱:八輸入的表決器ego1開發(fā)板verilog代碼vivado軟件(代碼在文末下載)

軟件:VIVADO

語言:Verilog

代碼功能:

設(shè)計一個八輸入的表決器

要求:0-3個同意A燈亮(閃爍); 4-5個同意B亮(閃爍);6-8個同意C亮(閃爍)

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在ego1開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

ego1開發(fā)板.png

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 管腳分配

5. Testbench

6. 仿真圖

部分代碼展示:

//8輸入表決器
module?biaojueqi(
input?clk,//時鐘
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;//計算有幾個同意
reg?[31:0]?div_cnt=32'd0;
reg?clk_1HZ=0;
always@(posedge?clk)
if(div_cnt>=32'd50_000_000)begin//計數(shù),上板調(diào)試時計數(shù)50_000_000,仿真時為減小仿真耗時計數(shù)改為50
div_cnt<=0;//清零
clk_1HZ<=~clk_1HZ;//翻轉(zhuǎn)得到1Hz的閃爍信號
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)機
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)

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=315

  • 1-23112921344E55.doc
    下載

相關(guān)推薦