发布网友 发布时间:2024-10-24 09:36
共1个回答
热心网友 时间:2024-11-11 22:06
最近在使用vivado2018.3版本进行综合网表时,遇到宏定义找不到的错误。虽然使用verdi检查以及vcs综合时未出现问题,但在vivado的message窗口中出现了关键性警告。此警告在sources窗口中以红色波浪线标记。
深入分析后,发现此错误源于宏定义文件的查找问题。为了解决这一问题,尝试将宏定义文件设置为global_include,并将其文件类型设置为verilog_header,此操作解决了关键性警告。然而,在运行synthesis时,仍然出现宏定义找不到的错误。
经过摸索,发现了解决synthesis报错的特定方法。在vivado2018.3版本中,手动将后缀为.vh的文件设置为verilog类型可以解决此问题。通常,vivado在导入此类文件时默认将其视为verilog header类型,这在编译时会导致宏定义的查找问题。将文件类型更改为verilog后,synthesis不再报错。
然而,尽管解决了synthesis的问题,但关键性警告和error file仍然存在。这可能是vivado2018.3版本的一个已知bug。在处理包含verilog和system_verilog文件的源码库时,确保在综合编译时遵循正确的编译顺序至关重要,以避免编译失败。
正确的步骤包括按照filelist的顺序导入文件,并设置编译顺序。此外,确保将所有源文件(包括.vh、.v、.sv文件)设置为SystemVerilog类型。按照这些步骤操作后,可能会遇到特定的错误提示,但它们通常不会影响最终的综合过程。