Verification:Writing Testbenches

HDLBits链接


前言

今天更新HDLBits最后一章的习题:编写Testbench。


题库

Clock

提供了如下描述的模块:

module dut ( input clk ) ;

要求传入频率为10ps的时钟,初始为0,如下图所示。

Solution

module top_module ();reg clk;initial beginclk = 1'b0;endalways #5 clk = ~clk;dut u0(clk);endmodule

Testbench 1

产生如下图所示的A,B激励。

Solution

module top_module ( output reg A, output reg B );//// generate input patterns hereinitial beginA = 1'b0;B = 1'b0;#10 A = 1'b1;#5 B = 1'b1;#5 A = 1'b0;#20 B = 1'b0;endendmodule

AND gate

写测试激励测试and模块,波形图如下图所示。

提供的AND模块声明如下:

module andgate (input [1:0] in,output out
);

Solution

module top_module();reg in_0,in_1;reg out;initial beginin_0 = 1'b0;in_1 = 1'b0;#10 in_0 = 1'b1;#10 in_0 = 1'b0;in_1 = 1'b1;#10 in_0 = 1'b1;endandgate u0(.in({in_1,in_0}),.out(out));endmodule

Testbench 2

产生如下图波形图所示的激励信号,激励模块q7;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gJoCkqof-1613628105042)(http://ww1.sinaimg.cn/large/006AXXmQgy1gnrn2vzxtrj311q06f0st.jpg)]

模块q7的描述如下:

module q7 (input clk,input in,input [2:0] s,output out
);

Solution

module top_module();reg clk,in,out;reg [2:0] s;initial beginclk = 1'b0;in = 1'b0;s = 3'd2;#10 s = 3'd6;#10s = 3'd2;in = 1'b1;#10s = 3'd7;in = 1'b0;#10s = 3'd0;in = 1'b1;#30 in = 1'b0;endalways #5 clk = ~clk;q7 u0(.clk(clk),.in(in),.s(s),.out(out));endmodule

T flip-flop

该题作者给出了一个T触发器的module,我们仅需将其复位,然后切回到状态1就可以了。

Solution

module top_module ();reg clk,reset,t;wire q;tff u0(.clk  (clk    ),.reset    (reset  ),.t      (t      ),.q      (q      ));initial beginclk = 1'b0;reset = 1'b0;#3;reset = 1'b1;#10;reset = 1'b0;   endalways #5 clk = ~clk;always@(posedge clk)beginif(reset)begint <= 1'b0;endelse begint <= 1'b1;endendendmodule

结语

HDLBits系列总算是更新结束了,非常感谢该网站的作者!自己立的flag总算完成了,在寒假收假前刷完了。如果代码有错误的地方欢迎大家指正。

HDLBits答案(25)_编写Testbench相关推荐

  1. HDLBits答案(23)_找BUG

    Finding bugs in code HDLBits链接 前言 今天更新HDLBits习题部分找BUG部分,比较简单,大家看一下即可. 题库 8bit_2_1_Mux 原Code: module ...

  2. HDLBits答案(4)_如何避免生成锁存器?

    HDLBits_Verilog Language_Procedures HDLBits链接 组合逻辑的always块 [David说]: 考虑到硬件的可综合性,有两种always块是有意义的: 组合: ...

  3. HDLBits答案(24)_由波形图描述电路

    Build a circuit from a simulation waveform HDLBits链接 前言 今天更新HDLBits习题由波形图描述电路的部分,看图写代码. 题库 Combinati ...

  4. HDLBits答案(22)_基于有限状态机的计数器

    基于有限状态机的计数器 HDLBits链接 前言 今天更新搭建更大的电路部分的习题,内容主要跟计数器和有限状态机有关. 题库 Counter with period 1000 构造一个0-999的计数 ...

  5. HDLBits答案(9)_卡诺图与最简SOP式

    卡诺图与最简SOP式 HDLBits链接 真值表 定义 真值表是表征逻辑事件输入和输出之间全部可能状态的表格.以1表示真,0表示假. 从真值表到标准式 SOP标准式:找出真值表中所有输出为1的表项,按 ...

  6. HDLBits答案(6)_硬件模块设计的思考方式

    硬件模块设计的思考方式 HDLBits链接 基本的逻辑门操作 题目描述1:将输入端口in和输出端口out连接. Solution1: module top_module (input in,outpu ...

  7. 如何编写testbench的总结(非常实用的总结)

    1.激励的设置 相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理. 方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄 ...

  8. 刷完这套题,我才发现Verilog原来如此简单----HDLBits答案系列---- Latches and Flip-Flops

    写在前面 全部答案汇总:刷完这套题,我才发现Verilog原来如此简单----HDLBits答案汇总 今天更新Circuits章节中Sequential Logic的1个小节:Latches and ...

  9. 一级计算机考试题库25套答案,全国计算机等级考试一级试题及答案(25套)..doc

    全国计算机等级考试一级试题及答案(25套). 全国计算机等级考试一级试题及答案(25套) 一.选择题(每题1分,共20分) D (1)世界上第一台计算机诞生于哪一年? A)1945年 B)1956年 ...

最新文章

  1. Ext.ux.form.SearchField使用方法
  2. Android --- 199 198开头手机号正则表达式无效
  3. 项目集成Spring Security
  4. 博客搬家到github啦
  5. activiti流程变量
  6. iOS获取音频设备信息
  7. C#ToString() 格式化数值
  8. Unity接入华为SDK
  9. FPGA - 7系列 FPGA内部结构之SelectIO -05- 逻辑资源之OLOGIC
  10. Python是个什么鬼?为什么那么多工作“会Python优先”?
  11. 手把手教你开发BLE数据透传应用程序
  12. raspberry pi设置静态IP地址
  13. 汽车java歌曲_开车必备100首歌曲 50首适合开车听的歌曲 2019车载歌曲 DJ流行
  14. 计算机服务中无spool,print spool自动关闭,print spooler
  15. centOS 8 重启网络服务 / 重启网卡
  16. 隐写术浅谈(二):LSB隐写与IDAT隐写
  17. 日本教育家多湖辉的《学生用功术》---2
  18. Qt应用窗口截图代码演示
  19. 数据方舟插件_数据方舟 for Excel工具箱使用说明
  20. PK656个对手!深兰科技在全球顶级AI赛事kaggle竞赛中再次夺冠

热门文章

  1. how does tomcat access js - SAPUI5 Core Libraries
  2. SAP Fiori UI上的三个catelog对应后台的JSON返回
  3. Cloud for Customer UI toolbar里按钮的渲染逻辑
  4. Supplier 点participate时候用USB KEY的身份验证
  5. Why with_indobjects is not available in product search
  6. SAP传统电商解决方案的技术挑战以及SAP的应对措施
  7. SAP Fiori gateway OData开发重要的tcode SEGW背后的数据库表
  8. 为SAP UI5正名 - 它也支持双向绑定
  9. latex 新定义环境 引用_炉石传说:完全虐杀式上分!新版本第二天动物园迅速定义环境!...
  10. python的回收机制_Python垃圾回收机制【人生苦短,我用python】-阿里云开发者社区...