当前位置: 首页 > news >正文

SpinalHDL之仿真(一)

本文作为SpinalHDL学习笔记第二十九篇,介绍SpinalHDL仿真相关内容。

与往常一样,可以使用标准仿真工具来仿真 SpinalHDL 生成的 VHDL/Verilog。然而,从 SpinalHDL 1.0.0开始,该语言集成了一个 API 来编写测试平台并直接在 Scala 中测试您的硬件。该 API 提供了读取和写入 DUT 信号、分裂和合并仿真的进程、休眠和等待直到达到给定条件的功能。因此,使用 SpinalHDL 的仿真 API,可以轻松地将测试平台与最常见的 Scala 单元测试框架集成起来。

为了能够仿真用户定义的组件, SpinalHDL 使用外部 HDL 仿真器作为后台。目前支持四种仿真器:

• Verilator

• GHDL

• Icarus Verilog

• VCS (实验性,自 SpinalHDL 1.7.0 起)

• XSim (实验性,自 SpinalHDL 1.7.0 起)

使用外部 HDL 仿真器,可以直接测试生成的 HDL 源文件,而不会增加 SpinalHDL 代码库的复杂性。

目录:

1.后台依赖的安装说明

2.Icarus Verilog 的设置和安装

3.VCS 仿真配置

4.VCS 标志

5.Verilator 的设置和安装

要启用 SpinalSim,必须在 build.sbt 文件中添加以下行:

fork := true

此外,还必须在测试平台源文件中添加以下导入:

import spinal.core._
import spinal.core.sim._

另外,如果要使用 gmake 而不是 make(例如 OpenBSD),可以将 SPINAL_MAKE_CMD 环境变量设置为“gmake”

1.后台依赖的安装说明

GHDL 的设置和安装

注解: 如果在 SpinalHDL 安装和设置 期间安装了推荐的 oss-cad-suite,可以跳过下面的说明 - 但您需要激活 oss-cad-suite 环境。

尽管 GHDL 在 Linux 发行版软件包系统中普遍可用,但 SpinalHDL 依赖于 GHDL v0.37 发布后添加的GHDL 代码库的错误修复。因此,建议从源代码安装 GHDL。还必须安装 C++ 库 boost-interprocess,它包含在类似 debian 发行版的

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java学习Day19:基础篇9
  • 数学基础 -- 隐函数解题思路之微分运算满足线性性
  • Linux初学基本命令
  • Java面试——Tomcat
  • 兴业严选|朝阳优质好房合集 低至6.3折起~
  • ubuntu cmake使用自己版本的qt
  • 如何使用git拉取gitee上面的项目/代码?(超简单)
  • linux常使用的命令
  • AI助力工艺|利用机器学习实现泡沫浮选工艺优化
  • 《C++基础入门与实战进阶》专栏介绍
  • react中如何定义Class类组件以及hook函数组件
  • Linux系统将Mint 便签源码打包成deb包并进行安装
  • HCL实验1:两台PC通过交换机ping通
  • 支持AI的好用的编辑器aieditor
  • 网络爬虫必备工具:代理IP科普指南
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 30秒的PHP代码片段(1)数组 - Array
  • angular组件开发
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Docker入门(二) - Dockerfile
  • export和import的用法总结
  • Iterator 和 for...of 循环
  • js面向对象
  • React16时代,该用什么姿势写 React ?
  • Terraform入门 - 3. 变更基础设施
  • vue自定义指令实现v-tap插件
  • 翻译--Thinking in React
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 使用Gradle第一次构建Java程序
  • 世界上最简单的无等待算法(getAndIncrement)
  • 追踪解析 FutureTask 源码
  • 最简单的无缝轮播
  • AI算硅基生命吗,为什么?
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #Linux(权限管理)
  • $.proxy和$.extend
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三十五)大数据实战——Superset可视化平台搭建
  • (数据结构)顺序表的定义
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)关于pipe()的详细解析
  • (自适应手机端)行业协会机构网站模板
  • (自用)交互协议设计——protobuf序列化
  • .gitignore文件设置了忽略但不生效
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .htaccess 强制https 单独排除某个目录
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)