这是一个testbench的简单示例。

`timescale 1ns/1psmodule tb_top();//-------------------------------------------------------
reg sys_clk_100mhz;
reg sys_clk_200mhz;
reg sys_clk_400mhz;reg rst;
reg wen;
reg ren;reg [ 9:0] addra ;
reg [31:0] dina  ;
reg [ 9:0] addrb ;
wire[31:0] doutb ;
//-------------------------------------------------------//-------------------------------------------------------
always #5    sys_clk_100mhz = ~sys_clk_100mhz;
always #2.5  sys_clk_200mhz = ~sys_clk_200mhz;
always #1.25 sys_clk_400mhz = ~sys_clk_400mhz;
//-------------------------------------------------------//-------------------------------------------------------bram_i32o32_d1024 bram_i32o32_d1024 (.clka                           ( sys_clk_400mhz               ),// input wire clka.wea                            ( wen                          ),// input wire [0 : 0] wea.addra                          ( addra                        ),// input wire [9 : 0] addra.dina                           ( dina                         ),// input wire [31 : 0] dina.clkb                           ( sys_clk_400mhz               ),// input wire clkb.addrb                          ( addrb                        ),// input wire [9 : 0] addrb.doutb                          ( doutb                        ) // output wire [31 : 0] doutb);//-------------------------------------------------------//-------------------------------------------------------
initial beginsys_clk_100mhz = 1'b0 ;
sys_clk_200mhz = 1'b0 ;
sys_clk_400mhz = 1'b0 ;
rst            = 1'b1 ;
wen            = 1'b0 ;
ren            = 1'b0 ;
addra          = 0;
addrb          = 0;
dina           = 0;#10
rst            = 1'b0 ;#100
wen            = 1'b1 ;
addra          = 0;
dina           = 0;#2.5
wen            = 1'b1 ;
addra          = 1;
dina           = 1;#2.5
wen            = 1'b1 ;
addra          = 2;
dina           = 2;#2.5
wen            = 1'b1 ;
addra          = 3;
dina           = 3;#2.5
wen            = 1'b0 ;
ren            = 1'b1 ;
addra          = 0;#2.5
wen            = 1'b0 ;
ren            = 1'b1 ;
addra          = 1;#2.5
wen            = 1'b0 ;
ren            = 1'b1 ;
addra          = 2;#2.5
wen            = 1'b0 ;
ren            = 1'b1 ;
addra          = 3;#2.5
wen            = 1'b0 ;
ren            = 1'b0 ;end
//-------------------------------------------------------endmodule

产生时钟

使用initial语句----------reg clock;
initial beginclock=0;forever #10 clock=~clock;
end使用always语句---------------reg clock;
initialclock=0;
always#10 clock=~clock;

参考

1、作者 博文
Verilog的testbench入门

testbench简介相关推荐

  1. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  2. 看门狗(APB watchdog)简介,各个寄存器简介,把看门狗挂到APB总线上,看门狗的验证测试(1)

    看门狗简介: 在系统运行时,可能会在外界的干扰下,出现程序跑飞的情况,看门狗的出现就是为了解决这种故障.看门狗是一个独立于系统的计数器即它的时钟和系统时钟不是同一个时钟,在看门狗时钟的驱动下,计数器会 ...

  3. FPGA工程师,如何系统性的编写testbench

    随着FPGA的逻辑量越来越大,我们编写的工程也越来越大,所以编写测试文件也是减少我们调试时间的最佳方案,但是目前国内鲜有这方便的图书,但是在IC领域却有一本"圣经": 这本绿皮书常 ...

  4. Modelsim之 DO文件简介

    转载自:http://www.cnblogs.com/LJWJL/archive/2013/01/14/simulation.html 网上的关于DO文件的编写好像资料不多,比较杂,所以本人总结一下常 ...

  5. 拿下AXI—入门简介

    引言 对于使用Xilinx平台的FPGA开发工程师来说,AXI总线开发可以说是一项不得不掌握的技能.因为在Xilinx家的硬件平台下,AXI总线基本上无处不在,在Vivado的IP库中,但凡和数据传输 ...

  6. 线性反馈移位寄存器LFSR(斐波那契LFSR(多到一型)和伽罗瓦LFSR(一到多型)|verilog代码|Testbench|仿真结果)

    线性反馈移位寄存器LFSR 一.前言 二.LFSR简介 三.斐波那契LFSR和伽罗瓦LFSR 3.1 斐波那契LFSR 3.1.1 斐波那契LFSR 3.1.2 verilog代码 3.1.3 Tes ...

  7. Verilog学习笔记(4):仿真验证与Testbench编写

    文章目录 1.Verilog电路仿真和验证概述 2.Verilog测试程序设计基础 2.1Testbench及其结构 2.2测试平台举例 2.3Verilog仿真结果确认 2.4Verilog仿真效率 ...

  8. Synopsys工具简介

    http://hi.baidu.com/hieda/blog/item/627e9fdd2526e0ec76c638e3.html Synopsys工具简介 〓 LEDA LEDA?是可编程的语法和设 ...

  9. 数字IC笔面常考,跨时钟域神器。——异步FIFO(简介及手撕代码)

    异步FIFO 写在前面的话 异步FIFO相关知识点 FIFO简介 FIFO结构 应用场景(来源小梅哥 <FPGA 系统设计与验证实战指南> 章节4.4) 相关参数 异步FIFO 内部组成 ...

  10. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

最新文章

  1. k8s 使用Nginx Ingress实现灰度发布和蓝绿发布
  2. thinkphp mysql权限管理_TP thinkphp 权限管理 权限认证 功能
  3. 创新课程管理系统数据库设计心得
  4. 软件版权的双重许可是什么
  5. 入门 | 如何为你的回归问题选择最合适的机器学习方法?
  6. Sublime Text3 高亮显示Jade语法 (Windows 环境)
  7. 结对开发:电梯调度(2)
  8. C语言源代码编译全过程
  9. matlab实现同态滤波
  10. Office 2007 默认打开双页显示变单页显示
  11. 求勾股数c语言OJ,C语言求勾股数(详解版)
  12. hapi mysql项目实战路由初始化_hapi框架搭建记录(三):Joi数据校验和Sequelize(数据迁移、填充数据)...
  13. python圣斗士(十七):令人欲罢不能的正则
  14. PHP中高级面试题2018(1)
  15. 如何让Markdown 表格整体居中?
  16. Android studio 光标变粗的解决方法
  17. Python虽然很火,为啥找工作这么难
  18. Learning Diary for Python
  19. at89s51单片机是几位微型计算机,AT89S51单片机的硬件组成
  20. 【点云3D目标检测】IA-SSD报错:Expected isFloatingType(grads[i].scalar_type()) to be true, but got false.

热门文章

  1. 在谷歌chrome、Firefox等浏览器打开、编辑、保存微软Office、金山WPS文档
  2. linux设置定时关机命令,linux定时关机命令是什么?
  3. Win10系统定时开关机
  4. 系统集成项目管理工程师历年案例考试汇总
  5. Android开发实战之——ProgressDialog的使用(一)
  6. 大学生计算机考试系统软件,我爱C”《大学计算机基础》考试系统学生端软件使用说明.doc...
  7. Fiddler2(汉化版)下载
  8. 开启智慧新生活 新余市智慧城市建设全省率先
  9. SQL Server 2014 软件安装教程
  10. lopatkin俄大神Windows精简版系统安装注意事项及恢复OneDrive