1.废话:这题学到两方面,一是复习巩固了下 T触发器 知识(胡扯,其实就是自己全忘了,压根 都不记得啥是T触发器);二是 纠正了自己verilog编写的误区,慎用非阻塞赋值,尤其是在always 时序块中;

2.正题

① 题目描述:

如上,不用细说了,实现上述串联 T触发器即为本题目标;

② T触发器

定义:在数字电路中,凡在时钟脉冲控制下,根据输入信号T取值的不同,具有保持和翻转功能的触发器,即当T=0时能保持状态不变,当T=1时一定翻转的电路。

示意图:

Q' = Q^T; 注:Q 与 T 是同一个时刻,Q' 是下一个时刻的Q值;

③ 慎用非阻塞赋值

`timescale 1ns/1ns
module Tff_2 (input wire data,clk,rst,output reg q);//*************code***********//    reg q1;always@(posedge clk or negedge rst) beginif (!rst)q1 <= 1'b0 ;       // q1 = 1'b0 ;else if (data == 1'b0)q1 <= q1 ;        //  q1 = q1 ;             最简洁写法:  q1 <= q1^dataelse if (data == 1'b1)q1 <= ~q1;        //  q1 = ~q1 ;else q1 <= 1'b0;       //  q1 = 1'b0 ;endalways@(posedge clk or negedge rst) beginif (!rst)q <= 1'b0 ;       //  q = 1'b0 ; else if (q1 == 1'b0)q <= q ;          //  q = q1 ;else if (q1 == 1'b1)q <= ~q;          //  q = ~q1 ;elseq <= 1'b0;        //  q = 1'b0 ;end    //*************code***********//
endmodule

情况描述:一开始没想那么多,因为 if-else if语句中没有多条并行执行,就偷懒用了 非阻塞赋值,即 // 后面的情况,仿真结果出错,改成非阻塞赋值,即通过仿真,结果正确。

附上几个评论,挺有警示作用。

1.1 异步复位的串联T触发器 ---- always中慎用 非阻塞相关推荐

  1. 异步复位的串联T触发器

    异步复位的串联T触发器 T触发器的特征方程 Qn+1 = T Qn ' +T ' Qn = T⊕Qn T触发器的特征表 信号示意图 `timescale 1ns/1ns module Tff_2 ( ...

  2. FPGA刷题P1:4选1多路选择器、异步复位的串联T触发器、奇偶校验、移位拼接乘法

    牛客网上面有FPGA的刷题平台,打算暑假把上面的题刷了,代码思路给大家分享 目录 4选1多路选择器 异步复位的串联T触发器 奇偶校验 移位拼接乘法 位拆分与运算 4选1多路选择器 这道题用组合逻辑,s ...

  3. Nodejs 中的非阻塞I/O、异步和事件驱动

    前言 Node.js使用 事件驱动机制.具有非阻塞的I/O模型这样的特点,Node.js中的大多数Api都用到了异步函数,那麽又该如何获取异步函数返回的数据呐!废话不多说,来看看本次分享 都有哪些亮点 ...

  4. python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取

    我已经从我的项目中提取了代码样本.它并不完美,但它提供了一个如何使用Tornadp的AsyncHTTPClient的方法@tornado.gen.engine def async_request(se ...

  5. HDLBits答案(10)_D触发器、同步与异步复位、脉冲边沿检测

    D触发器.同步与异步复位.脉冲边沿检测 HDLBits链接 D触发器 定义: D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,触发器具有两个稳定状态,即"0"和&qu ...

  6. 异步复位,同步释放的理解

    什么情况下复位信号需要做异步复位同步释放处理 异步复位同步释放原理 利用前面两级触发器实现特点 问题1 如果没有前面两级触发器的处理异步信号直接驱动系统的触发器会出现什么情况 问题2 复位信号存在亚稳 ...

  7. 数字电路设计——复位信号(异步复位、同步释放)

    数字电路设计--复位信号(异步复位.同步释放) 概述 同步复位 优点 缺点: 例1 例2 代码风格 异步复位 异步复位优点 异步复位缺点 移除复位信号的问题 异步复位问题解决--复位同步器.复位毛刺过 ...

  8. Verilog中同步复位和异步复位比较

    [Verilog] 同步复位和异步复位比较  同步复位 sync 异步复位 async 特点 复位信号只有在时钟上升沿到来时才能有效. 无论时钟沿是否到来,只要复位信号有效,就进行复位. Verilo ...

  9. Verilog的always块内的常见问题:边沿电平、同步异步、阻塞非阻塞

    0引言 verilog的always块内的边沿电平.同步异步.阻塞非阻塞问题,往往令初学者头大,下面我记录一下上述三种条件不同情况下的verilog代码描述.综合结果和资源占用情况,以供参考. 平台1 ...

  10. 线程同步 阻塞 异步 非阻塞(转)

    同步:函数没有执行完不返回,线程被挂起 阻塞:没有收完数据函数不返回,线程也被挂起 异步:函数立即返回,通过事件或是信号通知调用者 非阻塞:函数立即返回,通过select通知调用者 这样看来异步和非阻 ...

最新文章

  1. 继中美之后,欧盟会成为下一个 AI 超级体吗?
  2. 手动配置linux(centos)的IP地址
  3. MySQL编程(0) - Mysql中文乱码问题解决方案
  4. 2015/5/9站立会议(补发)
  5. SQL内连接和左连接的区别 - 使用SQLite演示
  6. 小白 vue-cli 项目打包
  7. 32位微处理器的虚拟技术,是“坑爹”么!
  8. R语言与非参数检验之两独立样本中位数检验
  9. 网站开发与客户之间的流程
  10. PHP动态设计的设计流程,《PHP设计模式介绍》第十四章 动态记录模式
  11. idea将本地项目推送至远程仓库(图形化版本01)
  12. windows下consul安装启动
  13. 搜狗2020年测试工程师笔试题
  14. 有哪些行业或生意是电商无法取代的?
  15. I00007 打印菱形字符图案
  16. 安装TensorFlow-gpu
  17. python中不包不包括_Python文件部分(不包括数据)
  18. 小程序源码:多功能图片处理器-多玩法安装简单
  19. j2me 移植 android,J2me移植Android初步探索
  20. c语言输出数组时输出的乱七八糟

热门文章

  1. java里的哈希值。
  2. Ubuntu19.04 创建桌面快捷方式
  3. 最常见绩效考核方法有哪些?5种有效方法介绍
  4. 【元胞自动机】基于matlab元胞自动机地铁火灾疏散模型【含Matlab源码 246期】
  5. libvlc.java_VS2010下 LibVLC开发环境搭建
  6. z变换解差分方程例题_Z变换解差分方程的思考
  7. 2022-2028年中国产学研合作行业深度调查与战略咨询报告
  8. 论文发表如何选择期刊
  9. iphone个系列尺寸_iphone12哪个尺寸好 iphone12系列尺寸参数对比
  10. 为什么都说阿里 P7 的晋升是道坎?