yangyafeng
驱动牛犊
驱动牛犊
  • 注册日期2002-11-21
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1779回复:3

verilog语言编写规范问题

楼主#
更多 发布于:2004-12-09 09:19
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.

错误是什么意思?如何解决?请高手指点!
yangyf
yangyafeng
驱动牛犊
驱动牛犊
  • 注册日期2002-11-21
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-09 09:48
解决了。
XST does not support the use of a complex condition check inside an always block in Verilog.
XST挺死板的!
yangyf
lllggg
驱动小牛
驱动小牛
  • 注册日期2002-05-04
  • 最后登录2007-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-09 12:27
把这段代码解释一下? 包括怎么改好的,大家分享一下设计思路,OK?
(DEEP + BROAD + SIMPLE) & delicate
yangyafeng
驱动牛犊
驱动牛犊
  • 注册日期2002-11-21
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于: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)
即可。
yangyf
游客

返回顶部