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

VIVADO顯示模塊verilog代碼Nexys4開發(fā)板

06/05 10:58
667
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-23122009212JM.doc

共1個文件

名稱:VIVADO顯示模塊verilog代碼Nexys4開發(fā)板

軟件:VIVADO

語言:Verilog

代碼功能:

顯示模塊,撥動右邊的 8 個開關(guān),右邊的四個數(shù)碼管可以顯示。

8 位二進制對應(yīng)的十進制數(shù),這里的二進制要求是補碼(最高為是 1 的話會輸出負數(shù))。

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

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

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. Xdc約束文件

部分代碼展示:

//顯示模塊
//撥動右邊的?8?個開關(guān),右邊的四個數(shù)碼管可以顯示
//8?位二進制對應(yīng)的十進制數(shù),這里的二進制要求是補碼(最高為是?1?的話會輸出負數(shù))。
module?display
(
input?clk,
input?[7:0]?SW,//右邊的?8?個開關(guān)
output?reg?[7:0]?bit_select,//數(shù)碼管位選
output?reg?[7:0]?seg_select//數(shù)碼管段選
);
//二進制轉(zhuǎn)十進制
wire?[3:0]signed_flag;//負號指示
assign?signed_flag=(SW[7])??4'hA?:?4'hF;//負號
wire?[7:0]?data;
assign?data=(SW[7]==0)??SW?:?~(SW?-?1);//正數(shù)是本身,負數(shù)減1再取反
wire?[3:0]?data_hun;//百位
wire?[3:0]?data_ten;//十位
wire?[3:0]?data_one;//個位
assign?data_hun=data/100;//百位
assign?data_ten=data/10%10;//十位
assign?data_one=data%10;//個位
reg?[31:0]?count_num=32'd0;
////////////////////////////////////////////位選////////////////////////////////////////////////
always?@(posedge?clk?)??//掃描頻率
begin
if(count_num?==?32'd99_999)??
begin
count_num?<=?32'd0;?
end?
else?begin
count_num?<=count_num?+1'd1;?//掃描頻率計時數(shù)字
end
end
reg?[2:0]?shumaguan_num=3'd0;
always?@(posedge?clk?)??
begin
if(count_num?==?32'd99_999)
begin
if(shumaguan_num?==?3'd3)
begin
shumaguan_num?<=?3'd0;//計數(shù)0~3,共4個數(shù)碼管顯示
end
else?begin
shumaguan_num?<=?shumaguan_num?+?1'd1;????//掃描那個管子的指示位
end
end
end

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

  • 2-23122009212JM.doc
    下載

相關(guān)推薦