các bác cho em hỏi đoạn code này em làm để chia clk 10Hz về 1Hz thì sai ở đây mà khi simulation cái clk nó chỉ có 1 vạch đỏ thôi vậy
module clk10(
input clk10,
output reg clk);
reg [2:0] tmp=0;
always @(posedge clk10)
begin
if(tmp<5) tmp<=tmp+1;
else
tmp<=0;
end
always @(posedge clk10)
begin
if(tmp==0)
clk<=!clk;
else
clk<=clk;
end
endmodule
còn đây là tb
module tb_clk10();
reg clk10;
wire [1:0] clk;
clk10 dut(
.clk10(clk10),
.clk(clk));
initial
begin
clk10=0;
end
always #5 clk10<=!clk10;
endmodule
module clk10(
input clk10,
output reg clk);
reg [2:0] tmp=0;
always @(posedge clk10)
begin
if(tmp<5) tmp<=tmp+1;
else
tmp<=0;
end
always @(posedge clk10)
begin
if(tmp==0)
clk<=!clk;
else
clk<=clk;
end
endmodule
còn đây là tb
module tb_clk10();
reg clk10;
wire [1:0] clk;
clk10 dut(
.clk10(clk10),
.clk(clk));
initial
begin
clk10=0;
end
always #5 clk10<=!clk10;
endmodule
Comment