六进制计数器
module cnt6_2(clr,clk,ena,q,cout);
input clr,clk,ena;
output[3:0] q;
output cout;
reg[3:0] q;
reg cout;
always @(posedge clk or posedge clr)
begin
if(clr)
begin q=4'b0000;cout=0;end
else if(ena)
if(q==4'b0101)
begin q=4'b0000;cout=0;end
else
begin q=q+1;cout=q[2]&&q[0];end
end
endmodule
十进制计数器
module cnt10_2(clr,clk,ena,q,cout);
input clr,clk,ena;
output[3:0] q;
output cout;
reg[3:0] q;
reg cout;
always @(posedge clk or posedge clr)
begin
if(clr)
begin q=4'b0000;cout=0;end
else if(ena)
if(q==4'b1001)
begin q=4'b0000;cout=0;end
else
begin q=q+1;cout=q[3]&&q[0];end
end
endmodule
30万分频器
module clkgen_v(clk,newclk);
input clk;
output newclk;
reg newclk;
reg[15:0] q;
always @(posedge clk)
begin
if(q<16'h752f) q=q+1; //16'h752f=2999
else q=0;
if(q==16'h752f) newclk=1;
else newclk=0;
end
endmodule
不好意思啊,是3万分频器,不是30万!~~!
用verilog hdl编写十六进制转换十进制的程序
module BCD(clk,data,Ten,One);input clk;input[7:0] data;output[3:0] Ten,One;reg[3:0] Ten,One;integer i;always@ (posedge clk)begin Ten = 4'd0;One = 4'd0;for (i=6;i>=0;i=i-1)begin if (Ten >= 5) Ten = Ten + 3;if (One >= 5) One = One + 3;Ten =...
用verilog编写LED循环显示控制电路(数字电子技术) 分不是问题..._百度...
四.总体方案: 本电路是以555定时器组成多谐振荡器作为频率发生器,多谐振荡器产生1000HZ的振荡波,经过分频器分频,分解成1HZ的脉冲波,随后经过秒计数器,秒计时器是60进制计数器,当计数器计数到60时产生进位脉冲,到分计数器。分计数器也是60进制计数器,当分计数器计数到60时,再次产生更高一级的进位脉冲,脉冲送到...