牛客Verilog入门 VL2 异步复位的串联T触发器

题目描述:用verilog实现两个串联的异步复位的T触发器的逻辑,结构如图:

首先,对两个T触发器的中间的连线设置中间变量:reg data_q;

接下来回顾T触发器的特性:T触发器有两个状态,1和0。状态变化关系为:当前状态为0,输入为0时,保持;当前状态为0,输入为1,发生翻转;当前状态为1时,输入为0,保持;当前状态为1,输入为1.翻转。

总结为:当前输入为0,状态保持;当前状态为1,状态翻转。

最后,明确异步时序,异步复位表示的是复位信号不会收到时钟信号的限制,而是无论时钟信号是否有效,异步复位信号只要有效,就会立刻发生,不受时钟的控制。

代码为:

`timescale 1ns/1ns

module Tff_2 (

input wire data, clk, rst,

output reg q  

);

//*************code***********//

reg data_q;

always @(posedge clk or negedge rst) begin

    if(!rst) data_q <= 1'b0;

    else  if(data)

        data_q <= ~data_q;

        else

        data_q <= data_q;

end

always @(posedge clk or negedge rst) begin

    if(!rst) q <= 0;

    else if(data_q)

        q <= ~q;

        else

        q <= q;

end

//*************code***********//

endmodule

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值