2020-08-24

1. Quartus 18.1对工程进行全编译时出现的错误:Error (20268): Functional simulation is off but it is the only supported netlist type for this device.

   解决办法:Assignments > Settings > EDA Tool Settings(Simulation)> More EDA Netlist Writer Settings > Generate functional simulation netlist >ON

2. reg与wire被Quartus软件优化掉,导致无法使用SignalTap观察。

有两种方法解决这个问题:

(1)将reg与wire信号改成输出端口信号, 该方式有效但较为繁琐;

(2)在待观察的wire信号旁边加上/*synthesis keep*/;对于reg信号则加/*synthesis noprune*/, 如下所示:
         wire [23:0] counter/*synthesis keep*/;
         reg [23:0] counter/*synthesis noprune*/;     

   (3) 若希望整个module的reg都不被最佳化,可将/*synthesis preserve*/ 放在module后面。

     如上例(假设Cnt信号会被优化掉),这样添加综合属性之后,整个module的reg信号都不会被优化掉。  

    需要注意的是:描述综合属性的语句一定要添加在“;”前面。   

    跟reg相关的综合属性,除了/*synthesis noprune*/可用,还有一个/*synthesis preserve*/可用。二者的差别在于:

  • /*synthesis noprune*/ 避免Quartus II优化掉output 型的reg信号。
  • /*synthesis preserve*/ 避免Quartus II把reg信号当成VCC或者GND等常数。

   同时单独的reg信号也可以: (*preserve*) reg [3:0] cnt;

 

(4)对于wire型信号来说,要想观察此类信号,Altera综合器提供了/*synthesis keep*/ 综合属性。如

wire [7:0] Cnt  /*synthesis keep*/; 

对于Quartus II 9.0以后的版本也可以使用(“keep”) wire [7:0] Cnt ;的写法。

此外,/*synthesis keep*/也支持对reg型信号,使用它也可以防止reg型信号被优化掉。

但是也有可能出现这样的情况,有的信号即使经过此处理,仍然会被综合工具优化掉,致使无法找到它。这个时候就需要对其使用“测试属性”,可以加入probe_port属性,把这两个属性结合在一起,即就是:
( *synthesis, probe_port,keep *)即可,这种方法同时适应于wire和reg型信号类型。

作者:暗夜望月
链接:https://www.jianshu.com/p/e3644d81e0c1
来源:简书

3. 修改QuartusII 中IO Standard 的默认值:

(1)在工程的qsf文件中加入或更改一行
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"。
(2) assignments, --> devices --> devices and options 中修改 voltage。

 

 

 

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值