TestBench写法
TestBench
- 简单TB的编写
- 1.1 initial语句
- 1.2 时钟,复位的写法
- 1.2.1普通时钟信号
- 1.2.2 占空比非50%的时钟信号
- 1.2.3 固定数目的时钟信号
- 1.2.4 相移始终信号
- 1.2.5 异步复位信号
- 1.2.6 同步复位信号
简单TB的编写
1.1 initial语句
被动检测响应使用always语句,主动产生激励时使用initial语句,且initial语句只执行一次。
1.2 时钟,复位的写法
其中 # 的含义是推迟后面的语句;
1.2.1普通时钟信号
// 周期为10的信号
parameter FAST_PERIOD =10;
reg Clock;
initial
beginClock =0;forever#( FAST_PERIOD/2) Clock =~ Clock; //每5个周期取反
end
1.2.2 占空比非50%的时钟信号
parameter h_time = 5,l_time = 10;
reg clk;alwaysbegin# h_time clk = 0;# l_time clk = 1;
end
1.2.3 固定数目的时钟信号
parameter pulsecount = 4,period = 10;
reg clk;
initial
begin
clk = 0;
repeat(pulsecount)#(period/2) clk = ~clk;
end
1.2.4 相移始终信号
parameter high =5 ,low=10, shift = 2;
reg absolute_clk;
wire derived_clk; //有点没明白为什么用线网类型
always
begin#high absolute_clk=0;#low absolute_clk=1;
end
assign #shift derived_clk = absolute_clk;
1.2.5 异步复位信号
parameter period = 10;
reg rst;
initial
begin
rst = 1# period rst=0;#(5*period)rst =1;
end
从第10ns开始复位,持续50s;
1.2.6 同步复位信号
initial
beginrst=1;@(negedge clk)rst = 0;# 30;@(negedge clk)rst = 1;
end
复位的产生和撤销都避开了时钟的有效上升沿,可以认为是同步复位,
TIPS:
- 在待仿真文件中,输入类型的信号,在TB文件中要设为reg型;
- 在待仿真文件中,输出类型的信号,在TB文件中要设为wire型;
TestBench写法相关推荐
- FPGA实现序列检测(训练testbench写法)
电路设计与状态机 FPGA的基础概念 Cyclone IV器件采用了M9K的嵌入式块RAM,即每个嵌入式存储器块的容量为9216bit.4个PLL,一个PLL可以最多支持5路输出. cyclone I ...
- Verilog的常用testbench模板分享
楼主在初学verilog的时候就一直对testbench该怎么写感到困惑,之后的学习过程中也陆陆续续地看过一些testbench文件,其中有一些其实相当于就在testbench里重写了一下要验证地 ...
- Xilinx FPGA平台GTX简易使用教程(五)GTX收发测试及示例工程介绍
GTX IP配置完了,你不得搞个回环测试一番? 汇总篇: Xilinx FPGA平台GTX简易使用教程(汇总篇) 目录 前言 一.示例工程Example Design 1.1 gtx_support模 ...
- verilog基础-状态机之FPGA独立按键消抖设计与验证(熟练testbench的写法)
独立按键消抖设计与验证 本实验主要是为了锻炼状态机的思维模式以及熟练掌握TB的写法 本节主要收获了:define的用法,另外就是,顶层的input在TB中是reg的真正含义,其实就是把激励当做寄存器来 ...
- HDLBits 系列(40)如何写 TestBench 文件?
目录 序言 变量定义 时钟设计 设计输入 模块例化 实战演练 序言 由于入门的测试文件很简单,所以一直以来也都是直接给出测试文件,直到今天才想着去总结一个测试文件的写法.这篇博客将根据HDLBits的 ...
- 按键抖动仿真Testbench(repeat、task、random)的用法
文章目录 一.关键字的用法 1.random的用法 2.task的用法 3.repeat的用法 二.按键随机抖动仿真(testbench训练) 之前一讲,我们是用了简单的TB的写法,产生的是固定的抖动 ...
- Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench
新建工程 打开Vivado软件,直接在欢迎界面点击Create New Project,或在开始菜单中选择File - New Project即可新建工程. 点击Next 输入工程名称和路径. 选择R ...
- testbench——文件读入输出
注:仿真工具为ISE自带simulation 1.读入.txt中的文件 待读入文件为photo.txt,位于所建工程文件夹中. 代码: integer cnt,i; reg [7:0] mem[31: ...
- 数字集成电路设计-12-状态机的四种写法
引言 在实际的数字电路设计中,状态机是最常用的逻辑,而且往往是全部逻辑的核心部分,所以状态机的质量,会在比较大的程度上影响整个电路的质量. 本小节我们通过一个简单的例子(三进制脉动计数器)来说明一下状 ...
最新文章
- golang 简单tls协议 使用实例
- golang协程介绍和理解
- c支限界算法语言n皇后问题分,算法(八)-回溯法-N皇后问题
- 520这天,我突然意识到,她根本配不上我这么聪明的男人!
- 在Python,Java和Kotlin中标记参数和重载
- 正则表达式的\b与\B总结
- php中socket的使用
- python文本内容怎么转换成字典_怎么把照片上的文字转换成文本?照片转换文字神器来了...
- SAP License:SAP HANA CLOUD MM 实施的坑
- mybatis开启二级缓存和懒加载,类型别名,类都简称
- SmartRoute之远程接口调用和负载
- 增大表名最大长度_全球最大室内滑雪场结构技术解密!
- 前端页面怎么办啊一条长的信息换行展示_前端入门!不容错过!HTML基本标签知识大盘点...
- python实现微信自动回复_python实现微信自动回复功能
- c语言程序经过编译以后生成的文件名的后缀为,c语言源文件经过编译后生成文件的后缀是什么...
- win10一根网线连接linux,win10系统使用一根网线连接两台电脑的操作方法
- 高中计算机基础知识课件,5.1.2 信息资源管理的方式方法
- 商务协同办公市场有「后浪」
- 解决Ubuntu16.04耳机没声音问题
- java如何调用驱动程序_使用Java驱动程序查找和上载