编译和仿真 - 2023.2 简体中文

Vivado Design Suite 用户指南: 逻辑仿真 (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文

Vivado 仿真器可执行文件 xvhdl 用于将 VHDL 设计单元转换为解析器转储文件 (.vdb)。默认情况下,Vivado 仿真器使用混合 93 与 2008 标准 (STD) 和 IEEE 封装来允许自由混用 93 和 2008 功能特性。如果您想强制仅使用 VHDL-93 标准 (STD) 和 IEEE 封装,请向 xvhdl 传递 -93_mode。要仅限使用 VHDL 2008 模式来编译文件,需要向 xvhdl 传递 -2008 开关。

例如,要以 VHDL-2008 编译称为 top.vhdl 的设计,可使用如下命令行:

xvhdl -2008 -work mywork top.vhdl

Vivado 仿真器可执行文件 xelab 用于细化设计,并为仿真生成可执行镜像。

xelab 可执行以下任一操作:

  • xvhdl 生成的解析器转储文件执行细化
  • 直接使用 vhdl 源文件。

无需开关即可对 xvhdl 所生成的解析器转储文件执行细化。您可将 -vhdl2008 传递给 xelab 以便直接使用 vhdl 源文件。

示例 1:

xelab top -s mysim; xsim mysim -R

示例 2:

xelab -vhdl2008 top.vhdl top -s mysim; xsim mysim -R

您无需在命令行中为 xvhdlxelab 指定 VHDL 文件,可改为使用 .prj 文件。如有两个文件用于设计,分别名为 top.vhdl(2008 模式)和 bot.vhdl(93 模式),则可按如下所示方式创建名为 example.prj 的工程文件:

vhdl xil_defaultlib bot.vhdl
vhdl2008 xil_defaultlib top.vhdl

在工程文件内,每一行均以文件的语言类型开头,后接库名称(如,xil_defaultlib)以及一个或多个文件名(含一个空格分隔符)。对于 VHDL 93,请使用 vhdl 作为语言类型。对于 VHDL 2008,则改为使用 vhdl2008

.prj 文件可按如下示例所示方式来使用:

xelab -prj example.prj xil_defaultlib.top -s mysim; xsim mysim -R

或者,要混用 VHDL 93 和 VHDL 2008 设计单元,请单独编译文件,并将相应的语言模式指定为 xvhdl。然后,在设计顶层执行细化。例如,如果在 bot.vhdl 文件内有一个名为 bot 的 VHDL 93 模块,在文件 top.vhdl 内有一个名为 top 的 VHDL-2008 模块,可按如下示例所示方式对这两个文件进行编译:

xvhdl bot.vhdl
xvhdl -2008 top.vhdl
xelab -debug typical top -s mysim

xelab 生成可执行文件后,您即可照常运行仿真。

示例 1:

xsim mysim -gui

示例 2:

xsim mysim -R