微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教:generate block,DC综合会报syntax Error,这是什么原因

请教:generate block,DC综合会报syntax Error,这是什么原因

时间:10-02 整理:3721RD 点击:

verilog写法:
generate  begin      if(PARAMETER1)begin
            a =  ……;
            b =  ……;
      end
      else begin
            a =  ……;
            b =  ……;
      end
endendgenerate
DC 报错 syntax error on a obsolute verilog 2001 construct standalone generate block (VER-946)
请高手指点

最后应该是endgenerate......



   不是这个原因,我只是在论坛上没写全,compile是没有问题的!

   确实没写全,比如赋值还没有assign。不如你先写全了吧。



   定义成register不用写assign,在always里面也是这么写的,   你说的事情不是DC报错的原因,我只是搞不清楚那个错误信息代表什么意思

你用什么命令读取RTL?

Anyway ,PLS refer to [12.4.2 Conditional generate ]@VERilog IEEE STD(1364-2005)



   请教,您说的是指什么意思?DC不支持某些写法么?



   dc的通用脚本,每次只要根据设计改约束就行



    我使用过generate语法。在DC中,read_verilog无法读取包含generate的RTL,只有read_sverilog才能正常读取。



   read_sverilog应该是对应system verilog吧,公司的顶层脚本应该不允许改的,不过我的code不是每一个generate block,DC都会报错,只会某些会报错,很奇怪!   不过还是谢谢你~

generate块的begin-end必须有块名,不知道你写了没。
还有dc读verilog2001代码最好用analyze+elaborate,不要用read_verilog。

还是不要用这样的语法吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top