Linux 下Verilog编辑及仿真

Linux 下Verilog编辑及仿真

一、软件

编辑器:VS code
编译器:iverilog
波形查看:gtkwave

系统环境:Ubuntu 22.04 LTS

二、软件安装

iverilog 安装:

sudo apt install iverilog

gtkwave 安装:

sudo apt install gtkwave

VS code插件安装:
在这里插入图片描述

可以使用-V参数测试是否安装成功

iverilog -V
gtkwave -V

三、软件的使用

使用过程中主要涉及三个指令:

iverilog:编译生成可执行脚本
vvp:将可执行脚本运行并记录产生的波形数据
gtkwave:查看生成的波形数据文件(将数据绘制为波形)

其中vvp在上述的两个软件安装完成后就有,具体是那个没注意

编译及测试的基本步骤:

  1. 编写Verilog文件,例如test.v
  2. 编写对应的测试文件,例如test_tb.v
  3. 编译两个文件
    iverilog test.v test_tb.v -o test.vvp
    
  4. 生成波形数据文件
    vvp -n test.vvp -lxt2
    
  5. 显示波形
    gtkwave test.vcd
    
  6. 添加信号【点击测试模块,选中下面的信号,点击最下面的Append】
    在这里插入图片描述

四、注——测试文件的编写

单位时间与精度:

`timescale 1ns / 100ps  //测试时间基本单位为1ns,精度为1ps

其他信息:
与一般在Modelsim中的测试文件的不同是需要添加一些仿真信息。其中包括仿真时生成的波形数据文件的名称,仿真时需要保存哪些信号的数据,仿真时间。(新手,只知道这三个作用,但是已经可以正常仿真了)
以上的数据通过以下的方式保存

initial 
	begin
		$dumpfile("test.vcd");
		$dumpvars(0,test);
		#300 $stop;
	end

其中包含以下三个部分:

  1. $dumpfile(“test.vcd”);
    指示波形数据的保存文件
  2. $dumpvars(0,test);
    第一个参数是保存该模块下几层模块数据【0表示只保存当前层,不保存子模块信号】,第二个参数是模块名
  3. #300 $stop;
    这个一定要加,否则仿真不会停止。#300延时300个单位的时间。即仿真时间为300个单位时间。

五、结语

新手上路第一天。简单记录以下,简单的仿真测试成功。其他的还不会用。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值