SpinalHDL运行VCS+Vivado相关仿真

电子说

1.3w人已加入

描述

✎ 编 者 按   

    本篇文章来源于微信群中的网友,分享下在SpinalHDL里如何丝滑的运行VCS跑Vivado相关仿真。自此仿真设计一体化不是问题~

》环境依赖
  • SpinalHDL 1.7.1 (如果使用 1.7.0 版本,需要每次在 VCS 运行前导入 synopsys_sim.setup 文件到仿真目录)

  • 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 Simulation Libraries,选择仿真器 VCS,其他按需选择。

  3. 选择 预编译库保存路径 以及 VCS 可执行路径。

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

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

仿真

  1. Click Compile 等待完成…(3 min的样子)

  2. 结束后会有部分编译失败,这是因为 System C 的环境没有配置,但由于该部分组件笔者不会使用到,便忽略了。

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

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

仿真

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

    GitHub - SpinalHDL/SpinalTemplateSbt: A basic SpinalHDL project

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

仿真

  1. 在命令行中用 verdi 打开波形,正常打开则 VCS 仿真环境已正常运行。

仿真

4.以使用 xilinx PLL 为例,为了减少使用 vivado 编译 ip 后导入(每次不同的设置都需要重新配置),笔者直接使用 XPM 模板进行例化。(可以在 xilinx xpm 手册或者是 Tools → Language Templates 中找到)。需要使用 BlackBox 对 XPM 模板进行封装

5.封装后尝试一下例化该 PLL 做一个 二分频。

仿真

6. 在该工程根目录下,创建名为 synopsys_sim.stup 一个指向预编译库的文件。里面填写预编译库对应生成的 setup 文件的目录。下面是笔者的 synopsys_sim.setup 文件。

仿真

7. SpinalHDL 调用 VCS 仿真 xilinx ip 前环境,需要将文件复制到当前仿真目录(1.7.1不需要手动拷贝,1.7.0需要手动,注意的是SpinalHDL每次仿真都会清空仿目录)。需要注意是:仿真 xilinx ip 需要加入 xilinx 的全局复位控制(上次没加,仿真 DSP 被坑了好久…)

仿真

  1. 此时配置完成了,试一下仿真吧~

仿真

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分