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

异步复位的串联T触发器

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

这算是我认为最标准的设计了,先设计单独的t触发器,然后通过例化的方式串起来。 注意哦 output reg q 改成output wireq 。这是因为连线 都要用wire 型

`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output wire q  
);
//*************code***********//
    wire q1;
    TFF TFF_inst1(
        .data    (data), 
        .clk     (clk), 
        .rst     (rst),
        .q       (q1)      
    );
    
    TFF TFF_inst2(
        .data    (q1), 
        .clk     (clk), 
        .rst     (rst),
        .q       (q)      
    );    
    
    
//*************code***********//
endmodule

//T触发器设计
module TFF(
    input wire data, clk, rst,
    output reg q    
);
    always @(posedge clk or negedge rst)begin
        if(!rst)
            q <= 1'b0;
        else if(data == 1'b0)
            q <= q;
        else if(data == 1'b1)
            q <= ~q;     
    end
endmodule
全部评论
输出为reg 你这改了就不符合题意了,加一个中间变量就好了 wire q_t; always @(q_t)begin q = q_t; end
4 回复 分享
发布于 2022-07-20 21:43
赞同
点赞 回复 分享
发布于 2023-09-01 10:57 黑龙江
时序逻辑缺个else不够规范吧?算是我的一个疑问。
点赞 回复 分享
发布于 2023-12-30 21:03 广东

相关推荐

10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
51 2 评论
分享
牛客网
牛客企业服务