阅读:1779回复:3
verilog语言编写规范问题
verilog语言:
wire [0:15] rx_dword ; //output wire rx_csw ; //output wire rx_dw ; //output dddddd u1( rx_dword ,nrz ,rx_csw ,rx_dw ) ; reg [0:15] m_buf; always@(posedge rx_csw or posedge rx_dw) begin "line 159" m_buf = rx_dword; end 出现错误: ERROR:Xst:899 - yyy.v line 159: The logic for <m_buf> does not match a known FF or Latch template. 错误是什么意思?如何解决?请高手指点! |
|
|
沙发#
发布于:2004-12-09 09:48
解决了。
XST does not support the use of a complex condition check inside an always block in Verilog. XST挺死板的! |
|
|
板凳#
发布于:2004-12-09 12:27
把这段代码解释一下? 包括怎么改好的,大家分享一下设计思路,OK?
|
|
|
地板#
发布于:2004-12-09 13:27
问题的关键在always@(posedge rx_csw or posedge rx_dw)
XST认为posedge rx_csw 和 posedge rx_dw是多种状态条件,无法实现,除非always 内部有if条件分支,而上面内部只有一种状态,所以提示出错。 wire control; assign control = rx_csw | rx_dw; always@(posedge control) 即可。 |
|
|