题解 | #异步复位的串联T触发器#

异步复位的串联T触发器

https://www.nowcoder.com/practice/9c8cb743919d405b9dac28eadecddfb5

`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q  
);
//*************code***********//
reg data_1;
always @(posedge clk or negedge rst)    begin 
if(! rst)begin
        data_1 <= 1'b0;      
    end
    else if(data)
    begin
        data_1 <= ~data_1 ;
    end
    else
    data_1<=data_1;
end

always @(posedge clk or negedge rst)    begin 
if(! rst)begin
        q <= 1'b0;      
    end
	 
    else if(data_1)
    begin
        q <= ~q ;
    end
    else
		q<=q;
end

//*************code***********//
endmodule

参考了讨论组里大佬的思路,讲讲结构

(起始一开始打算用例化写的,但是发现这个代码貌似只能一个文件?)

所以代码的思路和例化相同,两个模块重复未两个always复位,复位采用异步复位

两个模块之间本身需要连线,因为是一个文件,所以采用一个寄存器存放值

然后两个触发器就连一起了

没了QvQ

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务