打印
[verilog]

Verilog HDL语言中可综合问题

[复制链接]
1157|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tgi8i|  楼主 | 2014-3-27 21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yghanwuji| | 2014-3-27 22:01 | 只看该作者
不可综合verilog语句
1、initial                  
    只能在test bench中使用,不能综合。(我用ISE9.1综合时,有的简单的initial也可以综合,不知道为什么)
2、events                  
    event在同步test bench时更有用,不能综合。
3、real                       
    不支持real数据类型的综合。
4、time                           
    不支持time数据类型的综合。
5、force 和release      
    不支持force和release的综合。
6、assign 和deassign      
   不支持对reg 数据类型的assign或deassign进行综合,支持对wire数据类型的assign或deassign进行综合。
7、fork join               
    不可综合,可以使用非块语句达到同样的效果。
8、primitives               
    支持门级原语的综合,不支持非门级原语的综合。
9、table                    
    不支持UDP 和table的综合。
10、敏感列表里同时带有posedge和negedge
    如:always @(posedge clk or negedge clk) begin...end
    这个always块不可综合。
11、同一个reg变量被多个always块驱动
12、延时
    以#开头的延时不可综合成硬件电路延时,综合工具会忽略所有延时代码,但不会报错。
    如:a=#10 b;
    这里的#10是用于仿真时的延时,在综合的时候综合工具会忽略它。也就是说,在综合的时候上式等同于a=b;
13、与X、Z的比较
    可能会有人喜欢在条件表达式中把数据和X(或Z)进行比较,殊不知这是不可综合的,综合工具同样会忽略。所以要确保信号只有两个状态:0或1。

使用特权

评论回复
板凳
tgi8i|  楼主 | 2014-3-28 12:32 | 只看该作者
yghanwuji 发表于 2014-3-27 22:01
不可综合verilog语句
1、initial                  
    只能在test bench中使用,不能综合。(我用ISE9.1 ...

额 原来不可综合的有这么多语句,谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

115

帖子

0

粉丝