`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q
);
//*************code***********//
//此题要注意t触发器的概念 T = 1 翻转 T = 0 保持(这里的data可以理解为t)
//要注意的是 T =1 翻转的是前一个时钟周期的q 而不是 翻转的data。
reg q1 ;
always@(posedge clk or negedge rst)begin
if(!rst) begin
q1 <= 1'b0;
end
else if(data == 1'b1)
q1 <= ~q1 ;
else
q1 <= q1 ;
end
always@(posedge clk or negedge rst)begin
if(!rst) begin
q <= 1'b0;
end
else if(q1 == 1'b1)
q <= ~q ;
else
q <= q ;
end
//*************code***********//
endmodule

京公网安备 11010502036488号