【发布时间】:2021-11-02 02:42:52
【问题描述】:
我正在尝试设置一个时钟和一个分频器来为我的代码的另一部分输出一个 2 赫兹的时钟信号。我有两个模块,一个用于时钟,一个用于分频器,我将其设置为时钟的输出是分频器的输入,但是当我取分频器的输出时,它是一样的速度就像有时钟一样。有什么我遗漏的吗?
这是时钟模块的代码:
module clock(clk);
output reg clk;
always
#5
clk = ~clk;
initial
clk = 0;
endmodule
这里是分隔模块的代码:
module clock_div(clk_in, reset, clk_out);
input clk_in;
input reset;
output reg clk_out;
parameter divider = 50000000;
parameter n = 24;
reg [n-1:0] count;
initial begin
clk_out <= 1'b0;
end
always @(posedge clk_in or posedge reset) begin
if(reset) begin
count <= 0;
clk_out <= 1'b0;
end
else begin
if(count == divider) begin
count <= 0;
clk_out <= ~clk_out;
end
else begin
count <= count + 1'b1;
end
end
end
endmodule
提前感谢您的帮助!
【问题讨论】:
-
你需要在时钟模块中实例化clock_div。将时钟模块的 clk 输出连接到 clk_div 实例的 clk_in 输入。在时钟模块中创建一条线 clk_out 并将其转换转储到波形中。
标签: verilog