20220407——3-8线译码器:quartersⅡ和 modelsim 联合仿真 原理
Testbench仿真文件编写
Testbench是一种验证手段,从软件层面对设计的硬件电路进行仿真。在仿真文件里产生的激励信号,作用于被仿真设计文件DUT(Design Under Test) ,产生相应输出,然后根据输出信号检验设计的电路是否存在问题或存在哪些问题。
Verilog包含: 1)模块声明 2)信号声明 3)顶层设计实例化 4)提供激励 5)进行测试
testbench的一般结构:
module Test_Bench();//通常无输入输出信号或变量声明定义 //1逻辑设计中输入对应的reg型 //2逻辑设计中输出对应的wire型 //3使用 initial 或 always 语句产生激励 //4 initial产生测试信号 ,发送到待测模块(相当于一个信号源);always语句反馈回来(相当于一个示波器)(不一定有)例化待测试模块DUT //5 个人完成部分监控和比较输出响应 //6 (不一定有)endmodule
操作:1.设置好仿真文件
2.通过quartus 自动生成testbench模板,选择 processing→start→start testbench template writer,默认在 simulation\modelsim文件夹下生成一个 Testbench.vt 格式文件
3.设置时间刻度, 'timescale 时间单位/时间精确
例:'timescale 1ns/1ps 表示仿真的时间单位为1ns,精度为1ps
4.编写测试模块
initial:主动产生激励;只执行一次
always:被动;重复
需要在initial里多次运行一个语句块,嵌入循环(while,repeat,for,forever等),如:
initialbegin forever/*无条件连续执行*/begin……endend
5.激励产生
1)
parameter ClockPerilod=10
initialbeginclk_i=0;forever#(ClockPerilod/2)clk_i=~clk_i;//最常用的产生方式end
10是时间精度的10倍,clockperiod是时间精度的倍数;#是延迟多少时间5ps,取反
2)
parameter ClockPerilod=10
initialbeginclk_i=0;#(ClockPerilod/2)clk_i=~clk_i;end
1个
3)固定数量的时钟脉冲
parameter ClockPerilod=10
initialbeginclk_i=0;repeat(6)#(ClockPerilod/2)clk_i=~clk_i;end
重复6次,周期为3
'timescale 1 ns/10ps
module decoder38_vg_tst();
reg clk; //test vector input registers*******输入激励设置为reg型
reg[2:0]keyin;wire[7:0]led //tset vecoder output wires*******输出相性设置为wire类型decoder38 i1(.clk(clk)), .keyin(keyin), .led(led);//******例化待测模块
initial
begin //*******initial产生激励keyin=0;clk=0;repeat(20)begin#1clk=~clk;keyin=keyin+1end
end
endmodule
20220407——3-8线译码器:quartersⅡ和 modelsim 联合仿真 原理相关推荐
- 20220407——3-8线译码器:quartersⅡ和 modelsim 联合仿真 实验操作
创建工程 2.选择芯片 3. simulation→modelsim→verilog hdl 4. file→new→Verilog hdl file 5.写代码.编译 6.processing→st ...
- FPGA学习之路—Vivado与Modelsim联合仿真
Vivado与Modelsim联合仿真 笔者在学习FPGA过程中遇到了如何使用Vivado和Modelsim进行联合仿真的问题,特此记录. 首先确定版本 笔者Vivado用的是2018.3版本,先是随 ...
- vivado和modelsim联合仿真实现占空比1:15的分频
上一讲我们看了偶数分频 vivado和modelsim联合仿真实现偶分频,只需要在clk计数到一半时进行翻转即可,这是占空比为50%的情况,如果占空比任意数值就需要重新设计 16需要从0计数到15=4 ...
- vivado和modelsim联合仿真实现偶分频
首先创建一个工程,因为不在硬件上实现所以芯片型号随便选一个就行 创建design文件div6.v,代码来源于以下视频,稍作修改. 在复位时给输出信号clk6赋值为0,不然输出不确定 判断条件cnt为1 ...
- debussy和modelsim联合仿真配置
debussy是一款十分强大的波形查看软件,乃FPGA调试必备杀器之一,下面介绍一下debussy和modelsim联合仿真的配置方法. 1.安装debussy和modelsim软件. 2.复制C:\ ...
- Quartus II与ModelSim联合仿真
Quartus II与ModelSim联合仿真 目录 Quartus II与ModelSim联合仿真 一.创建新工程 二.创建新文件 三.配置ModelSim的路径 四.关联Test Bench文件 ...
- 超详细 quartus 新建工程 及 quartus 和 modelsim 联合仿真 以及 modelsim 的简易教程
文章目录 一.新建工程 1. 新建工程 2. 添加源文件以及ip核并编译 添加代码文件 添加IP核 编译 3. 自动生成testbench文件并添加路径到工程中 生成testbench文件 添加tes ...
- simulink与modelsim联合仿真buck闭环设计
simulink与modelsim联合仿真buck闭环设计 主电路用simulink搭建,控制电路完全有verilog语言实现(包括DPWM,PI补偿器) 适用于验证基于fpga的电力电子变换器控制, ...
- quartus和modelsim联合仿真详细教程
利用quartus和modelsim联合仿真的功能,实现功能产生波形.详细步骤如下: 1.编辑verilog HDL语言 本次拟实现组合逻辑功能,其代码如下: 此为一组合逻辑电路,其原理图可在quar ...
最新文章
- html页面在ie上出现404怎么解决,如何解决自定义404页面在IE等浏览器中无法显示问题...
- TabelDiff实用工具
- IDC:中国IT安全硬件、软件和服务全景图2014–2018 预测与分析
- how is my real odata request hijacked by Mock server
- 实现二维码-完整三种编码流程加代码解析(javascript)
- python图像增强_【Tool】Augmentor和imgaug——python图像数据增强库
- java获取客服列表,java-从列表中获取处理案例的服务
- Docker Kubernetes 环境搭建
- 读保护_GD32VF103之片上flash读、写、擦除
- Android 学习心得(2)——Android内置数据库SQLite
- asp.net2.0学习历程 菜鸟到中级程序员的飞跃[z转]
- AOJ0558 Cheese【BFS】
- vue3.0 word导出
- 选择Eclipse 的列编辑模式
- 马鞍数55c语言_c语言超全练习题(全面更新)
- 灭菌仓密封性测试方案
- 51单片机系统板/开发板原理图以及烧写方法
- ThinkPHP3.1.3 { Fast Simple OOP PHP Framework } — [ WE CAN DO IT JUST THINK ] 报错解决办法。...
- python之并发编程-进程之间的通信
- excel文档损坏打不开的原因是什么?