带有同步清0、同步置1的D触发器模块描述及其Testbench测试

1、Verilog描述具有有异步清0、异步置1的D触发器

//同步复位、置位D触发器模块描述
module D_synctrigger(clk,rst,set,D,Q);
	input clk,rst,set,D;
	output Q;
	
	reg Q;//寄存器定义
	always @(posedge clk)
	begin
		if(rst) //同步清0,高有效 
		begin
			Q <= 1'b0;
		end
		else if(set) //同步置1,高有效
		begin
			Q <= 1'b1;
		end
		else
		begin
			Q <= D;
		end	
	end

endmodule
使用Quartus II 11.0综合布线之后的RTL视图如下:


2、Testbench描述

//同步复位、置位D触发器Testbench描述
`timescale 1ns/1ns

module D_synctrigger_tb;
	reg clk,rst,set,D;
	wire Q;
	
	D_synctrigger u1(.clk(clk),.rst(rst),.set(set),.D(D),.Q(Q));
	initial
	begin
		clk = 0;
		rst = 0;
		set = 0;
		
		forever
		begin
			#60 D <= 1;
			#22 D <= 0;
			#2  D <= 1;
			#2  D <= 0;
			#16 D <= 0;	
		end
	end
	always #940 rst <= ~rst;
	always #360 set <= ~set;
	always #20  clk <= ~clk;
		
endmodule
modelsim仿真Testbench波形






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值