verilog题解 | 异步复位的串联T触发器
异步复位的串联T触发器
https://www.nowcoder.com/practice/9c8cb743919d405b9dac28eadecddfb5
`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q
);
//*************code***********//
// 1.复位方式:异步低电平(本题)、同步低电平(在敏感信号列表中删除negedge rst)、异步高电平、同步高电平
// 2. T触发器:输入为0则保持当前值,输入为1则翻转当前值
reg q1; //使用q1作为第一个T触发器的输出,一个中间值
always @(posedge clk or negedge rst)
begin
if(!rst) begin
q1 <= 1'b0;
end
else begin
if(data)
q1 <= ~q1;
else
q1 <= q1;
end
end
always @(posedge clk or negedge rst)
begin
if(!rst) begin
q <= 1'b0;
end
else begin
if(q1)
q <= ~q;
else
q <= q;
end
end
//*************code***********//
endmodule
查看17道真题和解析