【发布时间】:2016-12-21 10:07:43
【问题描述】:
我目前正在制作一款可以设置开始时间的手表,但始终@() 有问题
always @ (posedge clk or posedge reset or posedge sw3 or posedge sw4) begin
if(reset == 1) begin //reset signal is not a pulse therefore this could do the thing needed for keep pressing the reset button
tmp_second = 0;
tmp_minute = 0;
tmp_hour = 0;
end
以上只是完整代码的一部分,其余部分是关于通过 sw3 和 sw4 设置时间但是当我尝试合成这个模块时 出现以下错误
ERROR:Xst:2089 - "first_mode.v" line 69: This sensitivity list construct will match none of the supported FF or Latch templates.
如果我改变了总是这样的块
always @ (posedge clk or posedge reset) begin
我没有收到错误消息,但我希望 posedge sw3 和 sw4 独立于 clk 工作
是否有任何方法可以使用始终阻止,包括那些 4
【问题讨论】:
-
您应该从硬件角度考虑任何类型的 HDL 设计。硬件触发器有一个时钟(边沿敏感)和一个复位引脚。但是,在您的代码中,您为 always 块提供了多个边缘敏感信号,这就是合成器显示错误的原因。最好先画一些粗略的硬件,然后根据它进行编码。为什么需要
posedge sw3和posedge sw4,而不仅仅是sw3和sw4?
标签: verilog