[Mac + Icarus Verilog + gtkwave] Mac运行Verilog及查看波形图

news2025/1/20 0:08:15

目录

  • 1. MAC安装环境
    • 1. 1 Icarus Verilog 编译
    • 1. 2 gtkwave 查看波形
  • 2. 安装遇到的问题
    • 2. 1 macOS cannot verify that this app is free from malware
    • 2. 2 gtkwave-bin is not compatible with macOS 14 or later
  • 3. 运行示例
    • 3. 1 源代码
    • 3. 2 编译Verilog
    • 3. 3 生成.vcd文件
    • 3. 3 查看波形
    • 3. 4 脚本运行
  • 参考




1. MAC安装环境

1. 1 Icarus Verilog 编译

使用HomeBrew安装iVerilog (icarus-verilog):

brew install icarus-verilog

1. 2 gtkwave 查看波形

brew install --HEAD randomplum/gtkwave/gtkwave

2. 安装遇到的问题

2. 1 macOS cannot verify that this app is free from malware



  • Install the app anyway: If you downloaded an app from a trusted source but still can’t open it because of the “macOS cannot verify that this app is free from malware” error, you can try installing the app anyway. To do this, hold down Control and click on the app, then select “Open” from the context menu.
  • Redownload the app: If the digital signature of the app is invalid or corrupted, you can try redownloading the app from the developer’s website.
  • Use a different app: If you can’t get the app to work, consider using a different app that provides similar functionality.

2. 2 gtkwave-bin is not compatible with macOS 14 or later

This version of “gtkwave-bin” is not compatible with macOS 14 or later and needs to be updated. Contact the app developer for more information.

brew uninstall gtkwave
brew untap randomplum/gtkwave
brew install --HEAD randomplum/gtkwave/gtkwave
  • 参考:Not Compatible with macOS 14 #2517

3. 运行示例

3. 1 源代码

  • simple_circuit.v
module	simple_circuit(input a, input b, output y);  
    assign y = a & b;
endmodule
  • test_bench.v
module	test_bench;
    reg		a, b;
    wire	y;

    // 实例化被测试单元。这行代码用于实例化一个名为 simple_circuit 的模块,并将其连接到测试平台中的信号。uut是该实例的名称,表示 "Unit Under Test"(被测试单元)。
    simple_circuit	uut (.a(a), .b(b), .y(y));

    // 应用输入
    initial	begin
        $dumpfile("./out/output_vcd.vcd");
        $dumpvars;

        a = 0; b = 0;
        #10 a = 0; b = 1;
        #10 a = 1; b = 0;
        #10 a = 1; b = 1;
        #10 $finish;
    end
endmodule

3. 2 编译Verilog

iverilog -o ./out/output_exe test_bench.v simple_circuit.v

这条命令使用 iverilog 编译器将 test_bench.v 和 simple_circuit.v 文件编译成一个可执行的仿真文件,并将其输出到 ./out/output_exe。

3. 3 生成.vcd文件

vvp ./out/output_exe
  • 这条命令使用vvp仿真器运行之前生成的 ./out/output_exe 仿真文件。运行过程中,如果 Verilog 代码中包含生成波形文件的指令(如 $dumpfile$dumpvars),将会生成一个 .vcd 文件(波形文件)。
  • vvp的全称是 Verilog Procedural Processor。它是Icarus Verilog仿真器的一部分,用于执行由iverilog编译器生成的仿真文件。

3. 3 查看波形

gtkwave out/output_vcd.vcd

3. 4 脚本运行

  • run.sh
echo "Running the script >>>"

echo "1.Compiling the verilog code: "
iverilog -o ./out/output_exe test_bench.v simple_circuit.v

echo "2.Running the executable: "
vvp ./out/output_exe

echo "3.Generating the wave form: "
gtkwave out/output_vcd.vcd
  • 然后,添加执行权限,再执行该脚本:
chmod +x run.sh
./run.sh



参考

  • hello-verilog
  • How to fix “macOS cannot verify that this app is free from malware” error
  • Mac上进行Verilog仿真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2279122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,不输GPT-3.5

大家好,我是编程乐趣。 行业诸多大佬一直在说:“‌2025年将是AI应用元年‌”,虽然说大佬的说法不一定对,但AI趋势肯定没错的。 对于我们程序员来说,储备AI应用开发技能,不管对找工作、接项目、创业肯定是…

物联网网关Web服务器--Boa服务器移植与测试

1、Boa服务器介绍 BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。 Boa 嵌入式 web 服务器的官方网站是http://www.boa.org/。 特点 轻量级&#x…

Maven的多模块架构设计诺依的多模块

Maven的多模块架构设计 多模块架构设计,本文采用 诺依的多模块架构设计分析

.Net 6.0 .Net7.0 .Net8.0 .Net9.0 使用 Serilog 按日志等级写入日志及 appsetting.json 配置方式实现

前言 最近使用最新版的Serilog记录日志时,发现以前有些关于Serilog的Nuget弃用了,最关键的是有些配置写法也改变,于是就整理了一下最新版的Serilog配置方式(appsetting.json)的使用 说明:我是用的.Net6,最新长期支持…

数字化时代,传统代理模式的变革之路

在数字化飞速发展的今天,线上线下融合(O2O)成了商业领域的大趋势。这股潮流,正猛烈冲击着传统代理模式,给它带来了新的改变。 咱们先看看线上线下融合现在啥情况。线上渠道那是越来越多,企业纷纷在电商平台…

wireshark上没有显示出来rtp协议如何处理

分析》启用的协议 搜索rtp,勾选上rtp_udp即可。

edge浏览器恢复旧版滚动条

1、地址栏输入edge://flags 2、搜索Fluent scrollbars.,选择disabled,重启即可

使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。

在上一篇博客中主要是使用SpringBootApache POI实现了BOM物料清单Excel表格导出,详见以下博客: Spring Boot Apache POI 实现 Exc()el 导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并&#…

二进制/源码编译安装mysql 8.0

二进制方式: 1.下载或上传安装包至设备: 2.创建组与用户: [rootopenEuler-1 ~]# groupadd mysql [rootopenEuler-1 ~]# useradd -r -g mysql -s /bin/false mysql 3.解压安装包: tar xf mysql-8.0.36-linux-glibc2.12-x86_64.ta…

VB.net实战(VSTO):解决WPS Ribbon图标灰色背景

问题:用VSTO制作插件,在MS Office中图标显示正常,但在WPS Office中图标显示为灰色背景 原因:使用的图标是纯透明背景的,这样的图标在WPS中会变为灰色背景。 以下这个解决办法是我自己摸索出来的,对您有用的…

搭建一个基于Spring Boot的书籍学习平台

搭建一个基于Spring Boot的书籍学习平台可以涵盖多个功能模块,例如用户管理、书籍管理、学习进度跟踪、笔记管理、评论和评分等。以下是一个简化的步骤指南,帮助你快速搭建一个基础的书籍学习平台。 — 1. 项目初始化 使用 Spring Initializr 生成一个…

金融项目实战 06|Python实现接口自动化——日志、实名认证和开户接口

目录 一、日志封装及应用(理解) 二、认证开户接口脚本编写 1、代码编写 1️⃣api目录 2️⃣script目录 2、BeautifulSoup库 1️⃣简介及例子 2️⃣提取html数据工具封装 3、认证开户参数化 一、日志封装及应用(理解) &…

Sqlmap入门

原理 在owasp发布的top10 漏洞里面,注入漏洞一直是危害排名第一,其中数据库注入漏洞是危害的。 当攻击者发送的sql语句被sql解释器执行,通过执行这些恶意语句欺骗数据库执行,导致数据库信息泄漏 分类 按注入类型 常见的sql注入…

Maven在Win10上的安装教程

诸神缄默不语-个人CSDN博文目录 这个文件可以跟我要,也可以从官网下载: 第一步:解压文件 第二步:设置环境变量 在系统变量处点击新建,输入变量名MAVEN_HOME,变量值为解压路径: 在系统变…

C# OpenCvSharp 部署3D人脸重建3DDFA-V3

目录 说明 效果 模型信息 landmark.onnx net_recon.onnx net_recon_mbnet.onnx retinaface_resnet50.onnx 项目 代码 下载 参考 C# OpenCvSharp 部署3D人脸重建3DDFA-V3 说明 地址:https://github.com/wang-zidu/3DDFA-V3 3DDFA_V3 uses the geometri…

SpringMVC (2)

目录 1. RequestMapping 注解介绍 2. RequestMapping 使用 3. RequestMapping与请求方式 3.1 RequestMapping 支持Get和Post类型的请求 3.2 RequestMapping 指定接收某种请求 3.3 GetMapping和PostMapping 4. 传参 4.1 通过查询字符串传参 4.2 在 Body 中传参 4.2.1 …

Python爬虫学习前传 —— Python从安装到学会一站式服务

早上好啊,大佬们。我们的python基础内容的这一篇终于写好了,啪唧啪唧啪唧…… 说实话,这一篇确实写了很久,一方面是在忙其他几个专栏的内容,再加上生活学业上的事儿,确实精力有限,另一方面&…

力扣 打家劫舍

动态规划,当前状态由前两个状态获得,滚动数组。 题目 从题可以看出要达到最高金额时,要从相邻的房屋拿。因此是当前房屋的金额隔一个做累加,当然还需要跟前一个相邻的房屋做比较,便于取到哪边金额更高,因此…

Banana Pi BPI-RV2 RISC-V路由开发板采用矽昌通信SF2H8898芯片

Banana Pi BPI-RV2 开源网关是⼀款基于矽昌SF2H8898 SoC的设备,1 2.5 G WAN⽹络接⼝、5 个千兆LAN ⽹络接⼝、板载 512MB DDR3 内存 、128 MiB NAND、16 MiB NOR、M.2接⼝,MINI PCIE和USB 2.0接⼝等。 Banana Pi BPI-RV2 开源网关是矽昌和⾹蕉派开源社…

ESP8266-01S、手机、STM32连接

1、ESP8266-01S的工作原理 1.1、AP和STA ESP8266-01S为WIFI的透传模块,主要模式如下图: 上节说到,我们需要用到AT固件进行局域网应用(ESP8266连接的STM32和手机进行连接)。 ESP8266为一个WiFi透传模块,和…