【发布时间】:2014-06-09 12:38:18
【问题描述】:
我正在尝试将输入时钟除以二;输出时钟应该是输入时钟频率的一半。
module clk_div(in_clk, out_clk, rst);
input in_clk;
input rst;
output out_clk;
reg out_clk;
always @(posedge in_clk) begin
if (!rst) begin
out_clk <= 1'b0;
end
else
out_clk <= ~out_clk;
end
endmodule
测试平台是:
module dd;
// Inputs
reg clk_in;
reg reset;
// Outputs
wire clk_out;
// Instantiate the Unit Under Test (UUT)
clk_div uut (
.clk_in(clk_in),
.reset(reset),
.clk_out(clk_out)
);
always #10 clk_in =~clk_in ;
initial begin
// Initialize Inputs
clk_in = 0;
reset = 0;
#100;
reset = 1;
end
endmodule
输出波形仅显示正在生成的输入时钟。无论我尝试什么,输出时钟波形都不会出现。此代码对时钟除以 2 是否正确?
【问题讨论】: