赞
踩
Verilog实现D触发器的方式有很多,这块主要介绍行为级描述方式:
2.1 基本边沿触发的D触发器
//基本正边沿触发的D触发器
module trigger_b(
input wire D,
input wire clk,
output reg q
);
always @(posedge clk)
begin
q<=D; //在时钟信号clk的上升沿,D的值被锁存在q中
end
endmodule
2.2 带清零端的D触发器
//带清零端的D触发器
module trigger_c(
input wire clk,
input wire D,
input wire clr,
output reg q
);
always @(posedge clk or posedge clr)
begin
if(s==1)
q<=0;
else
q<=D;
end
endmodule
2.3 带置位和清零段的D触发器
//带置位和清零端的D触发器
module trigger_c&s(
input wire clk,
input wire D,
input wire clr,
input wire s,
output reg q
);
always @(posedge clk or posedge clr or posedge s)
begin
if(clr==1)
q<=0;
else if(s==1)
q<=1;
else
q<=D;
end
endmodule
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。