VL2 异步复位的串联T触发器

VL2 异步复位的串联T触发器

设有一个输入T和输出Q,当时钟上升沿时,如果T和Q不相同时,其输出值会是1。(异或 )

这时:Q为1:

mux(T == 1,Q = ~Q,Q = Q)

以上是一个T触发器

verilog代码:

c 复制代码
timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q  
);
//*************code***********//
reg a ;

always @(posedge clk or negedge rst )begin
if (!rst)begin
    a <= 1'b0;
    q <= 1'b0;
end else begin
    a <= data ^ a;
    q <= a ^ q ;
end
end
//*************code***********//
endmodule

testbench:

复制代码
````timescale  1ns / 1ps

module tff_2_tb();

// Tff_2 Parameters
parameter PERIOD  = 10;


// Tff_2 Inputs
reg        data_T  ;
reg        clk   ;
reg        rst   ;

// Tff_2 Outputs
wire  q           ;    


initial
begin
    clk = 0;
    forever #(PERIOD/2)  clk=~clk;
end

initial
begin
     rst  =  0;
     data_T = 1'd0;
    #(PERIOD*2) rst  =  1; 
    #50 data_T = 1'd0;
    #50 data_T = 1'd1;
    #50 data_T = 1'd0;
    #50 data_T = 1'd1;
    #50 data_T = 1'd0;
    $finish;
end

Tff_2  Tff_2_TB (
   .data(data_T),
    .clk(clk),
    .rst(rst),
    .q(q)
);

endmodule


波形:

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4a8b34ea2f8649569acc6c47148e31a5.png)
相关推荐
Riwuarua15 小时前
从近似0基础开始FPGA开发 -- part.11 AXI总线协议与工程应用
fpga开发
自小吃多16 小时前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
学习FPGA的电气小兴兴1 天前
基于FPGA的CORDIC旋转模式实现sin和cos运算
fpga开发·信号处理·数字信号处理·verilog·fpga·verilog hdl·cordic
blue_ice .1 天前
DDS原理及简易实现
开发语言·经验分享·笔记·嵌入式硬件·fpga开发
明德扬1 天前
AD9653采集模块怎样连接FPGA底板?从ADC采样到数据处理
学习·fpga开发·fpga
上海芯聚电子2 天前
ADC与FPGA之间,如何减少板级设计复杂度?
fpga开发·adc
自小吃多2 天前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
通信王662 天前
适用于 FPGA 和 SoC 的UltraFast 设计方法指南(1)-UG949
fpga开发
明德扬2 天前
AD9653采集模块、PCIe采集卡和完整采集系统怎么选?
fpga开发·fpga
智塑未来2 天前
FPGA开发板选型:研发交付能力怎么看
人工智能·fpga开发