目錄
一. verilog實現
二. 燒錄驗證
三. 結果驗證
使用開發板:DE2-115開發板
一. verilog實現
????????要實現分和秒,需要知道定時器的頻率,通過查手冊可知,我使用的開發板時鐘為50hz,也就是時鐘一個周期是2微秒。
? ? ? ?
? ? ? ? 50000000需要用一個26位的寄存器保存
????????我們要依次實現秒和分
????????所以我們可以寫出以下代碼實現
module time_show1(input clk,input Rst,input Pause,output reg [7:0] seg1,output reg [6:0] seg2,output reg [6:0] seg3,output reg [6:0] seg4
);
reg [25:0] count1;
reg [5:0] count2;
reg [5:0] count3;
reg [5:0] count4;
reg [5:0] count5;
always@(posedge clk or posedge Rst)beginif(Rst) begin // 復位所有計數器count1 <= 26'd0;count2 <= 6'd0;count3 <= 6'd0;count4 <= 6'd0;count5 <= 6'd0;endelse beginif(!Pause)begincount1<=count1+1;endif(count1>50_000_000-2)begincount1<=0; count2<=count2+1; endif(count2==10)begincount2<=0;count3<=count3+1;endif(count3==6&&count2==0)begincount3<=0;count4<=count4+1;endif(count4==10)begincount4<=0;count5<=count5+1;endif(count5==6&&count4==0)begincount5<=0;endend
endalways@(*)begincase(count2)0:seg1 <= 8'b0100_0000;1:seg1 <= 8'b0111_1001;2:seg1 <= 8'b0010_0100;3:seg1 <= 8'b0011_0000;4:seg1 <= 8'b0001_1001;5:seg1 <= 8'b0001_0010;6:seg1 <= 8'b0000_0010;7:seg1 <= 8'b0111_1000;8:seg1 <= 8'b0000_0000;9:seg1 <= 8'b0001_1000;default:seg1<=8'b0111_1111;//輸入有誤時默認值endcasecase(count3)0:seg2 <= 8'b100_0000;1:seg2 <= 8'b111_1001;2:seg2 <= 8'b010_0100;3:seg2 <= 8'b011_0000;4:seg2 <= 8'b001_1001;5:seg2 <= 8'b001_0010;6:seg2 <= 8'b000_0010;7:seg2 <= 8'b111_1000;8:seg2 <= 8'b000_0000;9:seg2 <= 8'b001_1000;default:seg2<=8'b111_1111;//輸入有誤時默認值endcasecase(count4)0:seg3 <= 8'b100_0000;1:seg3 <= 8'b111_1001;2:seg3 <= 8'b010_0100;3:seg3 <= 8'b011_0000;4:seg3 <= 8'b001_1001;5:seg3 <= 8'b001_0010;6:seg3 <= 8'b000_0010;7:seg3 <= 8'b111_1000;8:seg3 <= 8'b000_0000;9:seg3 <= 8'b001_1000;default:seg3<=8'b111_1111;//輸入有誤時默認值endcasecase(count5)0:seg4 <= 8'b100_0000;1:seg4 <= 8'b111_1001;2:seg4 <= 8'b010_0100;3:seg4 <= 8'b011_0000;4:seg4 <= 8'b001_1001;5:seg4 <= 8'b001_0010;6:seg4 <= 8'b000_0010;7:seg4 <= 8'b111_1000;8:seg4 <= 8'b000_0000;9:seg4 <= 8'b001_1000;default:seg4<=8'b111_1111;//輸入有誤時默認值endcase
end
endmodule
二. 燒錄驗證
? ? ? ? 燒錄前需要先設置引腳和檢測波形
? ? ? ? 查看開發板手冊可知DE115的引腳
? ? ? ? 做好后便可連接板子開始燒錄
? ? ? ??
三. 結果驗證
VID_20250401_191711