HDLBits答案(25)_编写Testbench
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相关推荐
- HDLBits答案(23)_找BUG
Finding bugs in code HDLBits链接 前言 今天更新HDLBits习题部分找BUG部分,比较简单,大家看一下即可. 题库 8bit_2_1_Mux 原Code: module ...
- HDLBits答案(4)_如何避免生成锁存器?
HDLBits_Verilog Language_Procedures HDLBits链接 组合逻辑的always块 [David说]: 考虑到硬件的可综合性,有两种always块是有意义的: 组合: ...
- HDLBits答案(24)_由波形图描述电路
Build a circuit from a simulation waveform HDLBits链接 前言 今天更新HDLBits习题由波形图描述电路的部分,看图写代码. 题库 Combinati ...
- HDLBits答案(22)_基于有限状态机的计数器
基于有限状态机的计数器 HDLBits链接 前言 今天更新搭建更大的电路部分的习题,内容主要跟计数器和有限状态机有关. 题库 Counter with period 1000 构造一个0-999的计数 ...
- HDLBits答案(9)_卡诺图与最简SOP式
卡诺图与最简SOP式 HDLBits链接 真值表 定义 真值表是表征逻辑事件输入和输出之间全部可能状态的表格.以1表示真,0表示假. 从真值表到标准式 SOP标准式:找出真值表中所有输出为1的表项,按 ...
- HDLBits答案(6)_硬件模块设计的思考方式
硬件模块设计的思考方式 HDLBits链接 基本的逻辑门操作 题目描述1:将输入端口in和输出端口out连接. Solution1: module top_module (input in,outpu ...
- 如何编写testbench的总结(非常实用的总结)
1.激励的设置 相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理. 方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄 ...
- 刷完这套题,我才发现Verilog原来如此简单----HDLBits答案系列---- Latches and Flip-Flops
写在前面 全部答案汇总:刷完这套题,我才发现Verilog原来如此简单----HDLBits答案汇总 今天更新Circuits章节中Sequential Logic的1个小节:Latches and ...
- 一级计算机考试题库25套答案,全国计算机等级考试一级试题及答案(25套)..doc
全国计算机等级考试一级试题及答案(25套). 全国计算机等级考试一级试题及答案(25套) 一.选择题(每题1分,共20分) D (1)世界上第一台计算机诞生于哪一年? A)1945年 B)1956年 ...
最新文章
- Ext.ux.form.SearchField使用方法
- Android --- 199 198开头手机号正则表达式无效
- 项目集成Spring Security
- 博客搬家到github啦
- activiti流程变量
- iOS获取音频设备信息
- C#ToString() 格式化数值
- Unity接入华为SDK
- FPGA - 7系列 FPGA内部结构之SelectIO -05- 逻辑资源之OLOGIC
- Python是个什么鬼?为什么那么多工作“会Python优先”?
- 手把手教你开发BLE数据透传应用程序
- raspberry pi设置静态IP地址
- 汽车java歌曲_开车必备100首歌曲 50首适合开车听的歌曲 2019车载歌曲 DJ流行
- 计算机服务中无spool,print spool自动关闭,print spooler
- centOS 8 重启网络服务 / 重启网卡
- 隐写术浅谈(二):LSB隐写与IDAT隐写
- 日本教育家多湖辉的《学生用功术》---2
- Qt应用窗口截图代码演示
- 数据方舟插件_数据方舟 for Excel工具箱使用说明
- PK656个对手!深兰科技在全球顶级AI赛事kaggle竞赛中再次夺冠
热门文章
- how does tomcat access js - SAPUI5 Core Libraries
- SAP Fiori UI上的三个catelog对应后台的JSON返回
- Cloud for Customer UI toolbar里按钮的渲染逻辑
- Supplier 点participate时候用USB KEY的身份验证
- Why with_indobjects is not available in product search
- SAP传统电商解决方案的技术挑战以及SAP的应对措施
- SAP Fiori gateway OData开发重要的tcode SEGW背后的数据库表
- 为SAP UI5正名 - 它也支持双向绑定
- latex 新定义环境 引用_炉石传说:完全虐杀式上分!新版本第二天动物园迅速定义环境!...
- python的回收机制_Python垃圾回收机制【人生苦短,我用python】-阿里云开发者社区...