Notes

终端 quartus 工程升级更新指令

代码如下

1
2
3
quartus_sh --ip_upgrade -mode required <design>  
quartus_sh --ip_upgrade -mode optional <design>
quartus_ipgenerate --clean <design>

qsf 中设置 virtual_PIN

参考链接 1,quartus 下编译有时候会遇到 IO 不足的问题,此时可以通过设置 virtual IO 来解决。代码如下

1
2
#set_instance_assignment -name VIRTUAL_PIN ON -to *
set_instance_assignment -name VIRTUAL_PIN ON -to pin_* -entity entity_name

但需要注意,IOPLL 貌似是不能设置为 virtual IO 的,会有报错提示。此时只能将其它 IO 进行设置,可以加 pin_*这样来进行 port name 匹配避免大量输入。

Bugs

combinational node not enough

如图

An error occurred during automatic periphery placement

如图

Can’t resolve multiple constant drivers for net

如下图所示。出现这个错误的原因一般在于,在不同的 always 逻辑块中对同一个 wire 或者 reg 变量进行了赋值。

img

我这边导致错误的原因比较特殊,是在顶层存在两个 module,其中一个 module 的 port 是 inout 类型。所以当我使用了同一个 wire signal 连接它与另一个 module 的 output port,出现了该报错。因为此时综合认为两个 module 都在往同一个 wire signal 写入,造成了冲突。

References

  1. 如何在Quartus II中设置Virtual pin及常见问题-CSDN博客