当前位置:网站首页>【Verilog】HDLBits题解——Verification: Writing Testbenches
【Verilog】HDLBits题解——Verification: Writing Testbenches
2022-08-03 12:03:00 【wjh776a68】
Clock
module top_module ( );
reg clk;
initial begin
clk = 0;
forever #5 clk = ~clk;
end
dut dut_inst(.clk(clk)) ;
endmodule
Testbench1
module top_module ( output reg A, output reg B );//
// generate input patterns here
initial begin
A = 0;
B = 0;
#10
A = 1;
#5
B = 1;
#5
A = 0;
#20
B = 0;
end
endmodule
AND gate
module top_module();
reg [1:0] in;
wire out;
initial begin
in = 'b0;
#10;
in = 'b01;
#10;
in = 'b10;
#10;
in = 'b11;
#10;
//$finish;
end
andgate andgate_inst (
.in(in),
.out(out)
);
endmodule
Testbench2
module top_module();
reg clk;
reg in;
reg [2:0] s;
reg [5:0] STAT;
wire out;
initial begin
STAT = 0;
clk = 0;
in = 0;
s = 'h2;
forever #5 clk = ~clk;
end
always @ (negedge clk) begin
case (STAT)
0: begin
s <= 'h6;
end
1: begin
s <= 'h2;
in <= 1;
end
2: begin
s <= 'h7;
in <= 0;
end
3: begin
s <= 'h0;
in <= 1;
end
6: begin
s <= 'h0;
in <= 0;
end
default: begin
end
endcase
if (STAT < 6) begin
STAT <= STAT + 1;
end
end
q7 q7_inst(
.clk(clk),
.in(in),
.s(s),
.out(out)
);
endmodule
T flip-flop
module top_module ();
reg clk, reset, t;
reg [5:0] STAT;
wire q;
initial begin
clk = 0;
reset = 0;
t = 0;
STAT = 0;
forever #1 clk = ~clk;
end
always @ (posedge clk) begin
case (STAT)
0: begin
reset <= 1;
STAT <= 1;
end
1: begin
reset <= 0;
t <= 1;
STAT <= 2;
end
2: begin
t <= 0;
end
endcase
end
tff tff_inst(
.clk(clk),
.reset(reset), // active-high synchronous reset
.t(t), // toggle
.q(q)
);
endmodule
边栏推荐
- 【一起学Rust】Rust包管理工具Cargo初步了解
- CDH6.3.2开启kerberos认证
- flink流批一体有啥条件,数据源是从mysql批量分片读取,为啥设置成批量模式就不行
- bash if条件判断
- 长城简漫·暑期安全篇⑤ 这个强,不能逞
- Matlab学习12-图像处理之图像增强
- 基于SSM和Web实现的农作物生长监控系统
- 苹果发布 AI 生成模型 GAUDI,文字生成 3D 场景
- How to do App Automation Testing?Practical sharing of the whole process of App automation testing
- 【一起学Rust】Rust的Hello Rust详细解析
猜你喜欢
mysql进阶(二十四)防御SQL注入的方法总结
3年软件测试经验,不懂自动化基础...不知道我这种测试人员是不是要被淘汰了?
第5章 实现首页Tab数据展示
SmobilerService 推送实现
FR9811S6 SOT-23-6 23V, 2A Synchronous Step-Down DC/DC Converter
微信小程序获取用户手机号码
苹果发布 AI 生成模型 GAUDI,文字生成 3D 场景
Knowledge Graph Question Answering System Based on League of Legends
子结点的数量
fastposter v2.9.0 programmer must-have poster generator
随机推荐
详解虚拟机!京东大佬出品HotSpot VM源码剖析笔记(附完整源码)
面试突击71:GET 和 POST 有什么区别?
"Digital Economy Panorama White Paper" Financial Digital User Chapter released!
Five super handy phone open-source automation tools, which is suitable for you?
bash while loop and until loop
后台图库上传功能
谷歌研究员被群嘲:研究员爆料AI有意识,被勒令休假
R语言拟合ARIMA模型并使用拟合模型进行预测推理、使用autoplot函数可视化ARIMA模型预测结果、可视化包含置信区间的预测结果
shell编程-测试
劝退背后。
从零开始Blazor Server(6)--基于策略的权限验证
缓存--伪共享问题
c语言进阶篇:内存函数
距LiveVideoStackCon 2022 上海站开幕还有3天!
长城简漫·暑期安全篇⑤ 这个强,不能逞
【一起学Rust】Rust包管理工具Cargo初步了解
pytorch+tensorboard使用方法
Vs 快捷键---探索不一样的编程
【云原生 · Kubernetes】部署Kubernetes集群
LeetCode-1796. 字符串中第二大的数字