XST-“警告:HDL编译器:38行XX宏”重新定义-Xilinx-AMD社区-FPGA CPLD-ChipDebug

XST-“警告:HDL编译器:38行XX宏”重新定义

描述

一般描述:

当先前定义的宏再次被提交给XST Verilog编译器时,会发生以下警告:

“警告:HDL编译器:38 <文件>行XX宏”<名称>“重新定义”。

当包含一组宏的文件多次使用“包含语句”读取时,通常会发生这种情况。

解决方案

编译器提供这些消息以确保您知道宏重新声明,如果您不希望发生这种情况。

编译器很难确定新的声明是否是新的或冗余的,因为宏定义可以来自不同的地方,或者由其他声明或变量组成。为了安全起见,当执行重新声明时,XST将始终发出警告。

为了避免这些冗余消息,使用条件编译控件使编译器意识到这些宏已经被定义。

例如,假设要声明一个常量宽度:

“定义宽度32”

如果在使用“包含语句”的多个Verilog模块调用的文件中引用此文件,则将在每个实例之外报告上述警告。可以使用条件编译来指示编译器确定宏是否已被预先定义:

“IFNDEF宽度”

“定义宽度32”

足弓

您可以在“IFNDEF”和“EnEnF语句”中放置尽可能多的宏,并创建“IFNDEF语句”来引用所包含的宏中的任何一个。

请登录后发表评论

    没有回复内容