如何在不完全综合的情况下在 Vivado 中对 VHDL 进行语法检查

How to syntax check VHDL in Vivado without complete synthesis

在 Vivado 中对我的 VHDL 进行语法检查而无需 运行 通过完整综合进行语法检查的最简单方法是什么?

有时我一次编写许多相互关联的模块,想快速找到命名错误、缺少分号、端口遗漏等。我读过的建议是 运行 综合,但这比我仅进行语法检查所需的时间要长。我观察到语法错误通常会在第一分钟左右导致合成中止,因此我的解决方法是 运行 合成并在大约一分钟后手动中止。

在 Vivado Tcl 控制台 window 中,check_syntax 命令执行快速语法检查、捕获拼写错误、遗漏 semi-colons 等

Vivado 提供综合前的细化步骤。这是 y 综合的轻量级版本,只需阅读所有资源并根据语言创建设计模型,无需优化和转换。

在许多情况下,对每个文件进行纯语法检查是不够的。您还想知道某些标识符是否存在以及类型是否匹配。因此,需要详细说明。

(如果您从未听说过该步骤:VHDL 编译有 2 个步骤:分析和精化。将精化想象成 ANSI C 中的链接。)