vivado入门坑

作者 王占坤 日期 2019-04-07
vivado入门坑

vivado

本文主要介绍Windows10平台下vivado的相关使用和一些报错总结。

我是用的版本是2018.3。

注意:vivado的project的所有路径以及文件必须全英,否则会出现未知错误。

text-editor

vivado自带的editor非常不好用,谁用谁知道。因此我推荐使用vscode作为外部编辑器。

设置外部编辑器链接

点击设置

按照对应步骤点击 填入对应信息,我的是

C:/Program Files/Microsoft VS Code/Code.exe -g [file name] -l [line number]

更改编译器路径即可换成你喜欢的editor。后面的参数应该不需要改动,但是没有实践,不保证正确性。

vscode拓展

推荐verilog编写的好用拓展插件。

在vscode商店搜索verilog,安装前两个即可。

按照拓展的教程安装即可。注意verilog format需要下载相应的EXE文件。拓展的安装教程都有具体描述,不赘述。建议看完拓展的教程,以避免一些坑点。

vscode拓展的坑

verilog hdl/system verilog拓展主要提供了语法高亮和自动补全,在自动补全模块有时会出现问题,无法显示自动补全信息。这时可以先将所有的文件保存然后就会出现补全的。

verilog format本身也有一些bug,但是基本不影响使用。

vivado报错总结

warning一般不会影响程序的正确性,但是建议还是要进行检查,否则即使能够正确烧进板子也有可能运行不正确。critical warning建议必须解决,否则后续 implmentation 或者 generate bitstream 仍然会出现错误。在确保 warning 不会对程序产生明显不可预知效果的情况下再进行实现。

当发现错误之后可以右键错误信息,点击 search for answer record 可以在论坛找到一些帮助。

显示某些元件被移除

在2017.2中会出现类似的报错,这时需要先检查对应的元件有没有在程序中写错名字,需要查看全文的。如果确实没有程序错误那么很可能是vivado本身的问题。在论坛中一些人说是软件错误,升级到2018.03之后尽管还会有warning,但是可以正常综合、实现。实测用2018.3之后相同的工程并没有出现类似错误。

multi drivers

这时应该是变量被重复赋值了。仔细检查相应的赋值语句。如果一个模块被重复使用而且模块中有赋值操作也有可能会导致相应的错误。

unconnected port

检查模块是否只对某个端口进行了操作

例如:

这里尽管综合正确,但是检查warning会发现btn[1],btn[2],btn[3]没有被连接。而且在后续实现和烧录过程也能够正常进行。这是因为默认对btn[0]进行了连接,实际实现不是预料中的四个按钮进行控制。这也是为什么要检查warning的原因。

功耗

未解决。

reference:

在进行fpga设计时,要注意降低功耗。否则仍然可能无法正常运行。

在实现之后,可以再project summary找到如上信息。

我们可以看到,IO功耗占用最大,因此我们应想办法降低IO功耗。