【牛客网刷题】VL2 异步复位的串联T触发器
写在前面 本系列博客记录牛客网刷题记录 日拱一卒功不唐捐目录题目描述题目分析Verilog 代码testbench 代码仿真结果题目描述用verilog实现两个串联的异步复位的T触发器的逻辑结构如图信号示意图波形示意图输入描述输入信号dataclkrst类型wirewirewire在 testbench 中clk 为周期 5ns 的时钟rst 为低电平复位输出描述输出信号q类型reg题目分析T 触发器T 触发器是在数字电路中凡在 CP 时钟脉冲控制下根据输入信号 T 取值的不同具有保持和翻转功能的触发器即当 T0 时能保持状态不变当 T1 时一定翻转的电路。将 JK 触发器的输入端 J、K 连接在一起作为输入端 T就构成了 T 触发器。T 触发器的特性方程Qn1 T Qn T Qn T⊕Qn(其中 Qn 为现态Qn1 为次态)T触发器的特性表TQQ*000011101110本题就是要实现两个 T 触发器串联并且采用同源时钟且异步复位的形式。Verilog 代码/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ // Engineer : Linest-5 // File : Tff_2.v // Create : 2022-09-29 22:18:20 // Revise : 2022-09-29 22:18:22 // Module Name : Tff_2 // Description : 两个T触发器串联T触发器的输出逻辑为 Q D ^ Q // Editor : sublime text3, tab size (4) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ timescale 1ns/1ps module Tff_2( input wire clk, input wire rst, //低电平复位 input wire data, output reg q ); //*************code***********// reg data_reg; always (posedge clk or negedge rst) begin if (!rst) begin data_reg d0; q d0; end else begin data_reg data ^ data_reg; q data_reg ^ q; end end //*************code***********// endmoduletestbench 代码/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ // Engineer : Linest-5 // File : tb_Tff_2.v // Create : 2022-09-29 22:20:30 // Revise : 2022-09-30 09:52:35 // Module Name : // Description : // Editor : sublime text3, tab size (4) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ timescale 1ns/1ps module tb_Tff_2(); reg clk; reg rst; //低电平复位 reg data; wire q; initial begin clk d1; rst d0; data d0; #100 rst d1; #1000 $finish; end always #5 clk ~clk; always #45 data ~data; Tff_2 inst_Tff_2 ( .clk(clk), .rst(rst), .data(data), .q(q) ); //verdi initial begin $fsdbDumpfile(tb_Tff_2.fsdb); $fsdbDumpvars(0); end endmodule仿真结果电路结构仿真波形经过两级 T 触发器结果 q 输出与设计一致。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2423944.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!