名稱:學(xué)號(hào)滾動(dòng)顯示verilog代碼vivado軟件ego1開發(fā)板(代碼在文末下載)
軟件:VIVADO
語(yǔ)言:Verilog
代碼功能:
學(xué)號(hào)滾動(dòng)顯示 Course Outline實(shí)驗(yàn)要求:
>用EGO1實(shí)驗(yàn)板卡上的8個(gè)7段數(shù)碼管滾動(dòng)顯示你的學(xué)號(hào);
>例如:李佳一(LJY)學(xué)號(hào)2019040509;
>滾動(dòng)顯示16個(gè)字符為: HEULJY2019040509HEULJY201904.
>實(shí)驗(yàn)提示
>學(xué)號(hào)中的數(shù)碼被存儲(chǔ)在一個(gè)64位的寄存器msg_ array[0:63]中;
>在時(shí)鐘上升沿,把msg_aray[0:63]中的內(nèi)容向左循環(huán)移動(dòng)4位,即 msg_ array[0:3]的內(nèi)容移到msg_ array[60:63]中(注意: msg array數(shù)組中的0位為高位),之后在每個(gè)時(shí)鐘上升沿時(shí)進(jìn)行循環(huán)移位;
>用頻率3Hz的時(shí)鐘在7段數(shù)碼管上移動(dòng)字符;
>SW7為暫停信號(hào),SW7為1時(shí)暫停移動(dòng);S0為復(fù)位信號(hào),按下后重新開始移動(dòng)
>姓名拼音字母的7段編碼見下頁(yè);若姓名為陳晨,則擴(kuò)展為陳晨晨。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在ego1開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
工程文件:
程序文件:
程序編譯:
RTL圖:
管腳分配:
部分代碼展示:
`timescale?1ns?/?1ps module?TOP( ????input?sys_clk,//時(shí)鐘 ????input?sys_rst,//復(fù)位S0 ????input?SW_en,//使能SW7 ????//兩個(gè)數(shù)碼管段選位選 ????output?[7:0]?segment_strobe_1, ????output?[3:0]?bit_strobe_1,?? ????output?[7:0]?segment_strobe_2, ????output?[3:0]?bit_strobe_2 ????); wire?clk_3Hz; wire?[31:0]?data_in;//輸入8位數(shù)據(jù) //分頻模塊,分頻到3Hz clk_div?i_clk_div( .?clk_in(sys_clk),//時(shí)鐘 .?reset(sys_rst),//復(fù)位 .?clk_3Hz(clk_3Hz)//分頻到3Hz ); //數(shù)字移位顯示模塊 Numeric_Display?i_Numeric_Display( .?clk(sys_clk),//標(biāo)準(zhǔn)時(shí)鐘,100MHz .?reset(sys_rst),//復(fù)位信號(hào) .?SW_en(SW_en),//使能 .?shift_key_p(clk_3Hz),//移位信號(hào) .?segment_strobe_1(segment_strobe_1), .?bit_strobe_1(bit_strobe_1),?? .?segment_strobe_2(segment_strobe_2), .?bit_strobe_2(bit_strobe_2)//高電平點(diǎn)亮,高電平選通 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=318