我想通过异步边沿触发复位来合成时钟计数器:计数器在每clk
个上升沿递增,并在0
的上升沿复位为rst
信号。
计数器重置为0
必须是边沿触发的,因为rst
信号可能无限期保持高位。
以下是我所拥有的:
module clk_counter(input clk, input rst, output reg [7:0] count);
always @ (posedge rst) begin
count <= 0;
end
always @ (posedge clk) begin
if(count < 255) begin
count <= count + 1;
end
end
endmodule
我无法综合实施,因为count
是&#34; 连接到多个驱动程序&#34;根据我的合成器吐出的错误信息。我怀疑这是由于设计中的竞争条件:如果count
和rst
同时上升,则clk
的值不确定。
我相信如果有一种方法可以在典型计数器递增之前优先处理边沿触发的复位操作,则可以解决竞争条件。
有没有办法在两个边缘触发的操作之间划分优先级?