在仿真您的设计是否包含Quartus®II软件中MegaWizard™插件管理器创建的两个或更多IP变体时,您可能会在Synopsys VCS或VCS MX中看到此错误。如果您的设计具有相同IP内核的多个变体,或者具有不同的IP内核,但核心具有重复的仿真文件,则可能会发生此错误。对于每个IP内核,将在<variation> _sim目录中添加完整的仿真文件集,包括可能与其他IP内核共享的一些文件。例如,一些SystemVerilog软件包可能与多个IP核共用。
当所有IP变体(包括重复文件名)的所有仿真文件名的连接列表添加到VCS命令行时,会发生此错误。该文件集不包含安装在<Quartus II安装目录> / eda / sim_lib目录结构中的仿真库文件的副本。
要解决此问题,请执行以下步骤之一:
- 您可以通过仅指定每组重复文件中的一个文件,手动从VCS命令行中删除重复的文件名。您可以通过查找具有相同名称但位于不同目录中的文件来识别重复文件(例如<variation 1> _sim / foo.sv和<variation 2> _sim / foo.sv )。您还应该比较重复文件名的内容,以确保文件是重复的。
- 或者,使用
vlogan
MX用户指南中记录的vlogan
命令将每个IP仿真文件集单独编译到其自己的库中,该指南包含在VCS MX安装中,但不包含在VCS(VCSi)安装中。您还可以从Synopsys网站获取VCS MX用户指南。要单独编译库,请按照下列步骤操作:
- 确定所有IP变体并为每个变体创建一个目录。每个目录都包含其IP变体的中间VCS库文件。例如,如果您有两个IP变体
ip_var1
和ip_var2
,请创建两个目录:./ip_var1_lib
和./ip_var2_lib
。 - 如果它尚不存在,请创建一个名为synopsys_sim.setup的文件。此文件包含从逻辑库名称到其物理目录位置的映射。将逻辑库名称的映射添加到每个IP变体的物理目录名称中。例如,对于两个IP变体
ip_var1
和ip_var2
,将以下两行添加到synopsys_sim.setup文件中:
ip_var1: ./ip_var1_lib
ip_var2: ./ip_var2_lib - 如果在步骤2中添加了Quartus II仿真库目录( <Quartus II安装目录> / eda / sim_lib )中的库,则为Altera仿真模型库创建库子目录,并将它们的映射添加到synopsys_sim中的逻辑库名称。设置文件。这些库在Quartus II手册第3卷的Simulation部分中有描述。
- 通过创建
./work
目录并将其映射到逻辑work
库并将以下行添加到synopsys_sim.setup文件来创建work
库:
work: ./work
- 创建包含以下命令的shell脚本:
- 对于每个IP变体,通过添加以下命令编译所有SystemVerilog文件:
vlogan -sverilog -work ip_var1 <any -v, -y, + options> <all SystemVerilog source files in the appropriate order>
- 对于每个IP变体,通过添加以下命令编译所有标准Verilog HDL文件:
vlogan +v2k -work ip_var1 <any -v, -y, +define options> <all standard Verilog HDL source files>
- 通过使用
vlogan
命令手动编译Quartus II仿真库,将Quartus II仿真库编译成单独的库(类似于为每个IP变体编译仿真文件)。或者,通过执行以下命令,使用EDA Simulation Library Compiler编译Quartus II仿真库:
quartus_sh --simlib_comp -tool vcsmx -language verilog -family <family>
有关使用EDA仿真库编译器编译仿真库的更多信息,请参考Quartus II手册第3卷Quartus II帮助和仿真Altera Designs 中的Quartus II软件中的编译仿真库 。
- 对于每个IP变体,通过添加以下命令编译所有SystemVerilog文件:
- 使用
vlogan
命令将testbench文件和任何其他文件编译到工作库中。例如,
vlogan -work work <testbench files>
- 使用以下VCS命令详细说明顶级模块和生成仿真器可执行文件:
vcs <options that do not specify source files> <top module name>
VCS会自动搜索synopsys_sim.setup文件中指定的所有库,以查找未解析的模块。如果您希望更多地控制库搜索顺序,请使用“VCS MX用户指南”中记录的
-lib
选项指定库。
没有回复内容