Verilog学习之异步复位的串联T触发器设计
文章目录
- 前言
- 一、题目描述:
- 二、实现思路
- 1.先了解T触发器的相关知识
- 2.区分异步复位和同步复位
- 1)异步复位
- 2)同步复位
- 3)同步复位和异步复位的优缺点
- 3.从波形中得到的信息
- 三、代码展示
- 总结
前言
今天我们做的是第二道题——异步复位的串联T触发器,可能有些人听名字就觉得这道题比较难,但其实它并没有想象中的那么难,它仅仅只是两个T触发器串联而已,接下来我们便去看看如何写这道题。异步复位的串联T触发器
一、题目描述:
用 Verilog 实现两个串联的异步复位的T触发器的逻辑。
信号示意图:
波形示意图:
输入描述:
输入信号 data, clk, rst
类型 wire
在testbench中,clk为周期5ns的时钟,rst为低电平复位
输出描述:
输出信号 q
类型 reg
二、实现思路
1.先了解T触发器的相关知识
1)构成:将JK触发器的输入端J、K连接在一起,作为输入端T,就构成了T触发器。
2)特性方程:
Qn+1 = T Qn ’ +T ’ Qn= T⊕Qn (其中Qn为现态,Qn+1为次态)
3)特性表
4)功能
当输入T为0时,Qn+1=Qn(保持);当输入T为1时,Qn+1=~Qn(翻转)。
5)实现代码
if(data_in == 1’b1)data_out <= ~data_out;
elsedata_out <= data_out;
2.区分异步复位和同步复位
1)异步复位
异步复位就是复位是异步的,与时钟触发边沿无关。复位信号一旦来临就使得寄存器进行复位操作,_复位信号出现在always块的敏感列表里。
对于异步的低电平复位,是以下降沿作为触发边沿(高电平变为低电平的时刻),并且触发后判断复位是否为低电平,用代码表示为:
always @ (posedge clk or negedge rst)
beginif( ~rst )...;else...;
end
异步高电平复位用代码表示为:
always @ (posedge clk or posedge rst)
beginif( rst )...;else...;
end
2)同步复位
同步复位时,复位与时钟触发沿有关,所以在always的敏感变量中,只有时钟触发边沿,然后根据高电平或者低电平再判断复位电平。
同步低电平复位用代码表示为:
always @ (posedge clk)
beginif( ~rst )...;else...;
end
同步高电平复位用代码表示为:
always @ (posedge clk)
beginif( rst )...;else...;
end
3)同步复位和异步复位的优缺点
异步复位:反应快,复位电平可以小于一个时钟周期,有些触发器只有异步复位端口;
同步复位:稳定,不易受毛刺干扰,有些模块只有同步复位端口;
3.从波形中得到的信息
由 ret 和 q 的波形看出该触发器是异步低电平复位,在 rst 为高电平时数据有效
三、代码展示
`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q
);
reg q1;
always @ (posedge clk or negedge rst)
beginif(!rst) beginq1 <= 1'b0;endelse beginif( data == 1'b1)q1 <= ~q1;elseq1 <= q1;end
endalways @ (posedge clk or negedge rst)
beginif(!rst) beginq <= 1'b0;endelse beginif( q1 == 1'b1)q <= ~q;elseq <= q;end
endendmodule
总结
这是我对异步复位的串联T触发器的理解以及代码的编写,如果还有更多更好的解法,欢迎读到这篇文章的朋友们在评论区告诉我,共同进步嘛。
Verilog学习之异步复位的串联T触发器设计相关推荐
- 异步复位的串联T触发器
异步复位的串联T触发器 T触发器的特征方程 Qn+1 = T Qn ' +T ' Qn = T⊕Qn T触发器的特征表 信号示意图 `timescale 1ns/1ns module Tff_2 ( ...
- FPGA刷题P1:4选1多路选择器、异步复位的串联T触发器、奇偶校验、移位拼接乘法
牛客网上面有FPGA的刷题平台,打算暑假把上面的题刷了,代码思路给大家分享 目录 4选1多路选择器 异步复位的串联T触发器 奇偶校验 移位拼接乘法 位拆分与运算 4选1多路选择器 这道题用组合逻辑,s ...
- (61)FPGA面试题-使用Verilog语言编写异步复位同步释放代码
1.1 FPGA面试题-使用Verilog语言编写异步复位同步释放代码 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-使用Verilog语言编写异步复位 ...
- Verilog学习之求两个数的差值设计
文章目录 前言 一.题目描述 二.代码展示 总结 前言 今天我们做的是第七道题--求两个数的差值,其实听名字就可以知道这道题其实特别的简单,只是两个数之间的比较求差而已,所以这道题我们就不具体写思路了 ...
- Verilog中同步复位和异步复位比较
[Verilog] 同步复位和异步复位比较 同步复位 sync 异步复位 async 特点 复位信号只有在时钟上升沿到来时才能有效. 无论时钟沿是否到来,只要复位信号有效,就进行复位. Verilo ...
- HDLBits答案(10)_D触发器、同步与异步复位、脉冲边沿检测
D触发器.同步与异步复位.脉冲边沿检测 HDLBits链接 D触发器 定义: D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,触发器具有两个稳定状态,即"0"和&qu ...
- vivado实现异步复位的D触发器
vivado实现异步复位的D触发器 异步复位的D触发器功能 常见的带有异步复位控制端口的上升沿 D 触发器的功能表如下表所示.不难看出,只要复位控制端口的信号有效,D 触发器就会立即进行复位操作.可见 ...
- 异步复位,同步释放的理解
什么情况下复位信号需要做异步复位同步释放处理 异步复位同步释放原理 利用前面两级触发器实现特点 问题1 如果没有前面两级触发器的处理异步信号直接驱动系统的触发器会出现什么情况 问题2 复位信号存在亚稳 ...
- 数字电路设计——复位信号(异步复位、同步释放)
数字电路设计--复位信号(异步复位.同步释放) 概述 同步复位 优点 缺点: 例1 例2 代码风格 异步复位 异步复位优点 异步复位缺点 移除复位信号的问题 异步复位问题解决--复位同步器.复位毛刺过 ...
- verilog异步复位jk触发器_HDLBits: 在线学习Verilog(Problem 120-126)
这几天在刷HDLBits,参考的是HDLBits中文导学专栏:HDLBits中文导学,刷到120题的时候发现缺少了中间的120题到126题的解析,就打算自己边写边记录一下.也方便其他的同学进行参考. ...
最新文章
- Python 属性__getattribute__
- SCANF SCANF_S
- JavaScript基础09-day11【原型对象、toString()、垃圾回收、数组、数组字面量、数组方法】
- 架构探险笔记10-框架优化之文件上传
- (理论)数据库建模三步骤:概念模型-逻辑模型-物理模型
- spring扩展点之二:spring中关于bean初始化、销毁等使用汇总,ApplicationContextAware将ApplicationContext注入...
- 在Mac中用快捷键快速插入日期时间
- spring事务传播特性_关于spring的事务的传播propagation特性
- grails 保存图片
- c# Invalidate() Update() Refresh()的区别
- python手写汉字识别_python实现简单的文字识别
- iptables匹配statistic
- 游戏项目开发的简单流程
- android 网格格式,android绘图网格线
- Centos迁移旧硬盘的数据
- mysql 百分比两位小数_SQL中如何让百分比后面保留2位小数?
- 京东到家数据构造平台设计与实践
- 输入姓名并分别输出姓和名
- 川大计算机系导师,川大计算机学院硕士生导师简介
- 如何进行测试用例设计