阅读:3035回复:4
将两个边沿作为触发事件遇到的问题
我将两个边沿作为触发事件就遇到了下面的问题
always @ (posedge baudWire or posedge clk) begin Sel = Sel + 1; end 编译器报错 ERROR:Xst:899 - ConfigChip.v line 42: The logic for <Sel> does not match a known FF or Latch template. 我的Sel 是个寄存器类型变量。什么原因呢?有人知道怎样解决吗? |
|
沙发#
发布于:2005-08-11 12:47
你的两个时钟没有特定的关系。如果两个时钟边缘一起来到,或者很接近,那么SEL信号的跳变会怎样就无法知道,所以这样写时错误的。况且一个寄存器(也就是触发器)不能有两个或两个以上的时钟。
|
|
|
板凳#
发布于:2007-01-02 15:02
在写下这句代码前,你是否想过,它对应什么样的硬件模型?
如果你自己都想不出来硬件该是什么样子,综合器更做不出来 |
|
地板#
发布于:2007-03-29 12:36
变量不是应该用 := 赋值的吗?
|
|
|
地下室#
发布于:2007-07-11 21:41
对于可综合硬件:
两个时钟 时,其中一个时钟必须为 reset always @( posedge a or posedge reset ) begin if ( reset ) ........ else ...... end |
|