標(biāo)題: 新人求助!基于verilog HDL的秒表設(shè)計(jì) [打印本頁(yè)]

作者: 小白新手    時(shí)間: 2018-1-19 10:54
標(biāo)題: 新人求助!基于verilog HDL的秒表設(shè)計(jì)
樓主大三剛學(xué)完pld,期末課程設(shè)計(jì)讓設(shè)計(jì)一個(gè)基于verilog HDL的秒表,苦思三天才寫出來(lái)一點(diǎn)點(diǎn)東西,不知道對(duì)錯(cuò),望各位大神指點(diǎn)迷津。指導(dǎo)指導(dǎo)。






hour1  //時(shí)的個(gè)位
min1   //分的個(gè)位
min2   //分的十位
sec1     //秒的個(gè)位
sec2   //秒的十位
clk  //100hz時(shí)鐘輸入信號(hào)
key1   //清零按鍵信號(hào)

module miaobiao  (hour1,min1,min2,sec1,sec2,clk,key1);
input clk;
input key1;
output[3:0]hour1;
output[3:0]min1;
output[3:0]min2;
output[3:0]sec1;
output[3:0]sec2;
reg hour1,min1,min2,sec1,sec2;
wire key1;

always@(posedge clk or negedge key1)
begin
if(!key1))   //是否需要清零
begin
sec1[3:0]=1'b0;
sec2[3:0]=1'b0;
min1[3:0]=1'b0;
min2[3:0]=1'b0;
hour1[3:0]=1'b0;
else if(!key1)   
begin
sec1[3:0]=sec[3:0]+1'b1;   //秒的個(gè)位加1
if(sec1[3:0]==4'ha)   //秒的個(gè)位等于10
begin
sec1[3:0]=4'b0;     //秒的個(gè)位清零
sec2[3:0]=sec[3:0]+1'b1;  //秒的十位加1
if(sec2[3:0]==4'h6)  //秒的十位為6
begin
sec2[3:0]=4'h0;       //秒的十位清零
min1[3:0]=min1[3:0]+1'b1; //分鐘的個(gè)位加1
if(sec2[3:0]==4'ha)  
begin
min1[3:0]=4'h0;        //分鐘的個(gè)位清零
min2[3:0]=min[3:0]+1'b1; //分的十位加1
if(min2[3:0]==4'h6)     //分的十位為6
begin
min2[3:0]=4'h0;      //分的十位清零
hour1[3:0]=hour1[3:0]+1'b1;  //時(shí)的個(gè)位加1
if(hour[3:0]==4'h1)       //時(shí)的個(gè)位為1
hout1[3:0]=4'h0;          //時(shí)的個(gè)位清零(計(jì)時(shí)器最長(zhǎng)計(jì)時(shí)為1小時(shí))
end
end
end
end
end
end
end
endmodule

秒表.rar

559 Bytes, 下載次數(shù): 24






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1