verilog 9

这篇博客详细介绍了使用Verilog HDL进行数字逻辑模块设计的过程,包括一个名为`m_gen`的模块及其测试平台`m_gen_tb`。`m_gen`模块在时钟边沿和复位信号的控制下更新内部寄存器`d`,并根据`d`的值生成输出`y`。测试平台`m_gen_tb`提供了时钟和复位信号,并在特定时间点激活复位,用于验证`m_gen`模块的功能。
摘要由CSDN通过智能技术生成
`timescale 1ns/10ps
module m_gen(clk,res,y);
input clk;
input res;

output y;
reg[3:0] d;
assign y=d[0];
always@(posedge clk or negedge res)
if(~res) begin d<=4'b1111;
end
else begin d[2:0]<=d[3:1];
						d[3]<=d[3]+d[0];
			end
	endmodule	
module m_gen_tb;
reg clk,res;
wire y;
m_gen m_gen(.clk(clk),.res(res),.y(y));
initial begin
        clk<=0;res<=0;
       #17 res<=1;
       #600 $stop;
       end
 always #5 clk<=~clk;
endmodule

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值