dw做aspx网站,如何做产品的网络推广,免费物业网站模板,查询网站的二级域名专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点#xff0c;刷题网站用的是牛客网 分析 这道题目里我们有两个需要明确的点#xff1a; 1. 什么是异步复位 2. 什么是串联的T触发器 关于第一个点#xff0c;可以看我的这篇文章#xff0c;已经整理好了刷题网站用的是牛客网 分析 这道题目里我们有两个需要明确的点 1. 什么是异步复位 2. 什么是串联的T触发器 关于第一个点可以看我的这篇文章已经整理好了 「数字集成电路笔记」异步复位和同步复位的区别-CSDN博客 那么什么是串联的T触发器 顾名思义串联的T触发器就是两个T触发器相串联第一个T触发器的输出会作为第二个T触发器的输入对于一个T触发器它的定义为如果在时钟上升沿时刻data为高电平则输出为当前值的反转即当前值为0则会反转为1反之则反转为0。从波形图我们可以看出最开始的当前值为0rst一直为高电平因此不会使T触发器复位。注意观察第65ns的波形图此时处于时钟上升沿且data为高电平此时第一个T触发器将输出q1从当前值为0翻转为1。在第75ns时由于又到了时钟上升沿此时q1作为第二个T触发器的输入为高电平因此第二个T触发器会翻转因此输出q为1。同时q1也需要翻转因为data依然是高电平因此q1此时变为0。 timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q
);
//*************code***********//reg q1 ; always (posedge clk or negedge rst)if (~rst) begin q1 1b0 ; q 1b0 ; end else begin if (data) begin q1 !q1 ; // q1翻转为1之后下面的if语句不会立刻执行因为是非阻塞赋值方式end // 即本次always语句结束后才会对q1进行赋值if (q1) begin // 因此在进行这个if语句判断时不应考虑上面if对q1的影响q !q ; end end //*************code***********//
endmodule