事件控制中的时钟不明确

问题描述 投票:0回答:1

我想从输入时钟生成一个慢速时钟,即

clk_in
,但它显示以下错误:

事件控制中的时钟不明确

module clk_div_h(rst, clk_in, clk_div);

input rst, clk_in;
output reg clk_div = 0;
reg [3:0]clk_count = 0;

always @(posedge clk_in or posedge rst)
begin
    clk_count <= clk_count + 1;
    clk_div <= clk_count[3];
end

endmodule

如何解决该错误?我正在使用 nexys 4 DDR FPGA。

verilog fpga clock xilinx divider
1个回答
0
投票

错误消息意味着您的代码不遵循综合工具支持的综合结构之一。

您尝试使用 Verilog 代码描述 D 触发器行为,但您的综合软件无法将代码模式识别为其支持的任何触发器。 触发器需要 one 时钟输入信号位于 Verilog 灵敏度列表中:

always @(posedge clk_in or posedge rst)

您的列表的问题是包括 2 个信号(

clk_in
rst
),但综合工具不清楚哪个信号应该是时钟输入。 信号的名称无关紧要。 信号的顺序也无关紧要。

避免此错误的一种方法是删除

rst
信号:

always @(posedge clk_in)

综合工具将推断以

clk_in
作为时钟输入的触发器。 在这种情况下,我认为不需要
rst
模块
input

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.