vivado中工程模式和非工程模式的主要区别是什么?

what is the main difference between project mode and non project mode in vivado?

当合成完成后,我得到许多文件,如 .fw、.mcs、.prm 以及 .bit 文件,我们可以将 .bit 文件以外的其他文件转储到 FPGA 中吗?项目模式和非项目模式哪个更有优势?编码在 verilog 中完成。

最好的解释可能是在 Xilinx 文档 UG892 中,可以从他们的网站下载。第 2 章第 18 页给出了详细信息:

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_2/ug892-vivado-design-flows-overview.pdf

基本上在项目模式下,您添加的文件被复制到一个新的目录结构中,设置选项并设置您需要的 synthesis/place&route 运行,然后 Vivado 管理实际命令 运行。它更像是 IDE 中的一个按钮流程,但也可以编写脚本(同样,所有设置都在前端,然后你基本上说 'go' 它会计算出它需要做什么) .

在非项目流程中,您可以完全控制编译过程(不复制文件,它们只是从您提供的位置使用)和综合过程,并管理所有设置和命令运行 你自己。编写脚本需要了解 TCL,但文档中有示例流程。

我们使用非项目流程,因为它不使用二进制项目文件,并且完全由 TCL 和 Makefile 编写脚本(这不是 Vivado 工作方式的组成部分,但让我们的生活变得更加轻松)。虽然设置起来有点棘手,但它给了你更多的控制权,允许你在任何时候检查设计,并且更容易放入版本控制系统,所以你可以跟踪约束和构建选项的变化。