当前位置:网站首页>【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
边栏推荐
猜你喜欢

Go 语言快速入门指南: 介绍及安装
![LeetCode 899 Ordered queue [lexicographical order] HERODING's LeetCode road](/img/95/1b63cfb25b9e0802666114f089fcb8.png)
LeetCode 899 Ordered queue [lexicographical order] HERODING's LeetCode road

FE主导打造一个运营活动平台

Matlab学习10-图像处理之傅里叶变换

C language advanced article: memory function

广州番禺:暑期防溺水,安全不放假

CDH6.3.2开启kerberos认证

苹果发布 AI 生成模型 GAUDI,文字生成 3D 场景

The effects of the background and the Activiti

Matlab学习11-图像处理之图像变换
随机推荐
一文带你弄懂 CDN 技术的原理
距LiveVideoStackCon 2022 上海站开幕还有3天!
【一起学Rust 基础篇】Rust基础——变量和数据类型
After completing the interview and clearance collection of Alibaba, I successfully won the 15th Offer this year
【MySQL功法】第5话 · SQL单表查询
LeetCode-1161. 最大层内元素和
第四周学习 HybridSN,MobileNet V1,V2,V3,SENet
最牛逼的集群监控系统,它始终位列第一!
net start mysql 启动报错:发生系统错误5。拒绝访问。
第3章 搭建短视频App基础架构
学习软件测试需要掌握哪些知识点呢?
dataset数据集有哪些_数据集类型
Blazor Server(6) from scratch--policy-based permission verification
mysql advanced (twenty-four) method summary of defense against SQL injection
-树的高度-
flink流批一体有啥条件,数据源是从mysql批量分片读取,为啥设置成批量模式就不行
LeetCode——1161. 最大层内元素和
awk入门教程
JUC(三):锁核心类AQS ing
Apache APISIX 2.15 版本发布,为插件增加更多灵活性