FPGA——study1_testbench激励

本文介绍了如何使用Modelsim创建一个新的工程,包括设置时间预处理指令、定义模块、寄存器和输入输出,以及如何进行编译、仿真和信号观察。通过$display和$monitor系统任务展示了如何在仿真过程中打印和监控变量,为FPGA设计的验证提供了基础步骤。
摘要由CSDN通过智能技术生成

FPGA——study1

新建Modelsim 工程 new–project
最好提前建好文件夹路径(空文件夹),添加
在这里插入图片描述
两个文件,

基本格式

1、时间预处理指令
时间单位1ns
时间精度1ps
时间单位>时间精度,如:

`timescale 1ns / 1ps

延时100ns

#100 rst_n = 1'b1;	

2、定义文件名称

module led_test
(
	input           clk,           // system clock 50Mhz on board
	input           rst_n,         // reset ,low active
	output reg[3:0] led            // LED,use for control the LED signal on board
);

3、定义寄存器等其他格式数据

reg [31:0]      timer;

4、输入数据用寄存器形式即(reg)进行连接,输出类型用(wire)连接
5、空右键白处单击-compile—>compile all
在这里插入图片描述
编译成功
在这里插入图片描述
点击library
在这里插入图片描述
右键simulate
在这里插入图片描述
下图空白处 右键—add to–wave–signal desigen
在这里插入图片描述
窗口如果乱的话点击 layout—reset

输入运行时间
在这里插入图片描述
在下图仿真图中点击zoom in
在这里插入图片描述显示任务
$display
d i s p l a y 系 统 任 务 用 于 打 印 信 息 , 类 似 于 C 语 言 的 打 印 。 未 指 定 显 示 格 式 时 , 默 认 显 示 的 格 式 是 十 进 制 , 另 外 还 有 display 系统任务用于打印信息,类似于 C 语言的打印。未指定显示格式时,默认显示的格 式是十进制,另外还有 displayCdispalyb, $displayo, $displayh 显示格式分别是二进制、八进制、十六进制。
$display 会在每次显示后自动换行。格式如下:
例: $display(“%b+%b=%b”,a,b,c) ;

举例说明,打开新建的 Modelsim 工程,打开 testbench 文件,添加两行代码: (这两条代码可自动换行)

$display(“hello alinx”) ;
$display(“rst_n = %d”, rst_n) ;

如遇到官方的例程不能编辑右键去掉read only

library,project中重新编译,然后library中右键—>simulate然后add to -->wave–>signal design 然后run 1ms
在这里插入图片描述
即可在输出框看到
在这里插入图片描述

write和display不同,write不换行
输入结果入下
在这里插入图片描述
可在显示字符串后加反斜杠换行
在这里插入图片描述

$write (“hello alinx\n”) ; 
$write (“rst_n = %d\n”, rst_n)

** m o n i t o r 用 于 持 续 监 测 指 定 变 量 , 只 要 变 量 发 生 了 变 化 , 即 会 触 发 monitor 用于持续监测指定变量,只要变量发生了变化,即会触发 monitormonitor,显示对应的
语句。**格式如下:
例: $monitor(“%b+%b=%b”,a,b,c) ;
在代码中添加以下代码:

Initial 
$monitor(“clk = %b”, clk) ;

在这里插入图片描述
重新编译,仿真后有
在这里插入图片描述
今天到这吧!恰饭----------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

位沁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值