当前位置:数码通 > 摄影

SpinalHDL运行VCS+Vivado相关仿真

来源于 数码通 2023-10-01 09:58
✎编辑出版社

本文来自微信群网友,分享如何在SpinalHDL中顺利运行VCS以及运行Vivado相关模拟。从此仿真与设计融合不再是问题~

》环境依赖
  • Xilinx Vivado 2021.2

  • Synopsys vcs-mx_O-2018.09-SP2

  • Synopsys Verdi _O-2018.09-SP2

  • GCC/GXX 4.8.5

  • IDEA 2021

使用VCS预编译Xilinx官方IP
  1. 首先将默认的gcc/g++切换到4.8.5版本

  2. 打开 vivado,进入 Tools → Compile 仿真库,选择 simulator VCS,以及其他需要的选项。

  3. 选择预编译库存储路径和VCS可执行路径。

  4. 由于一开始就选择了默认版本gcc/g++,所以这里直接使用默认的执行路径。

  5. 以下是笔者的配置图:

  1. 点击编译等待完成...(3分钟)

  2. 结束后会出现一些编译失败的情况。这是因为没有配置System C环境,但是由于作者不会使用这些组件,所以我就忽略它们。

  3. 此时,在之前选择的预编译库存放路径下会出现synopsys_sim.setup配置文件,用于vcs启动前自动加载预编译库。

  4. 同时可以将${vivado_install_path}/${verison}/data/verilog/src/glbl.v复制到预编译库的文件夹下备用

配置思路

  1. 使用IDEA配置SpinalHDL运行环境。

    GitHub - SpinalHDL/SpinalTemplateSbt:A basic SpinalHDL 项目

  2. 以Template工程为例,配置SpinalHDL调用VCS仿真。

  1. 使用verdi在命令行中打开波形。如果正常打开,说明VCS仿真环境运行正常。

4。以xilinx PLL的使用为例,为了减少需要使用vivado编译IP然后导入(每次不同的设置都需要重新配置),作者直接使用XPM模板进行实例化。 (可以在 xilinx xpm 手册或工具 → 语言模板中找到)。需要使用BlackBox来打包XPM模板

5。封装后,尝试实例化 PLL 以进行二分频。

6。在项目的根目录中,创建一个名为 synopsys_sim.stup 的文件,该文件指向预编译库。填写预编译库生成的安装文件的目录。下面是作者的synopsys_sim.setup文件。

7。 SpinalHDL调用VCS模拟xilinx ip预环境,需要将文件复制到当前模拟目录(1.7.1不需要手动复制,1.7.0需要手动复制。注意,SpinalHDL每次模拟都会清除模拟目录)。需要注意的是:模拟xilinx ip需要添加xilinx的全局复位控制(上次没有添加,模拟DSP被忽悠了好久……)

  1. 配置完成,我们来模拟一下吧~

审稿编辑:唐子红

-->
登录后参与评论