牛客网Verilog快速入门题目收获——异步复位的串联T触发器(VL2)

2023-11-05

一、题目要求:
给出信号示意图以及波形示意图,用verilog实现两个串联的异步复位的T触发器的逻辑。

二、完成题目前的知识储备
1、书写规范
根据verilog代码书写规范,低电平复位信号用 rst_n ,高电平复位用rst。(这里题目低电平复位,但是仍用的rst,要注意),另外根据波形即可判断是低电平复位还是高电平复位。
2、关于异步复位和同步复位

  • 同步复位:复位信号与时钟上升沿有关,复位信号只有在时钟上升沿到来的时候才有效,否则无法完成复位操作。
 always@(posedge clk)
 begin
     if(!rst_n)begin
...
    end
    else 
end
  • 异步复位:无论时钟上升沿是否到来,只要复位信号有效,那么就可对系统进行复位操作。
always@(posedge clk or negedge rst_n)
begin
    if(!rst_n)begin
...
   end
   else 
end

3、T 触发器
T触发器的主要功能是输出翻转控制。
数字电路中,在时钟有效边沿到来时,输入有效信号T取值的不同,那么电路就会具有不同的保持和翻转功能。
下图为T触发器的特性表,可看到T为输入有效信号,Qn为当前输出,Qn+1为下一时刻输出。当输入有效信号T=0时,能保持状态不变,当输入有效信号T=1时,可实现翻转功能。
在这里插入图片描述
T触发器的真值表

T Qn Qn+1
0 0 0
0 1 1
1 0 1
1 1 0

根据真值表我们能够得到两个信息:

  • Qn+1 = T ⊕ Qn 同为0,异为1
  • 当T=0的时候,Qn+1 = Qn,当T=1的时候,Qn+1 = ~Qn。(也就是保持和翻转)

4、题目分析
题目种给出了如下的信号示意图以及波形示意图
在信号示意图种加入中间存储变量q1
在这里插入图片描述
通过如下波形可看出,data相当于我们分析的T触发器中的输入有效信号T,rst信号为低电平复位信号。
在这里插入图片描述
因此本题的异步低电平复位的串联T触发器。

Verilog代码编写如下:

`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst, //低电平复位最好用rst_n
output reg q  
);
//*************code***********//
reg q1; //中间存储变量定义为reg型
//第一个T触发器
always @ (posedge clk or negedge rst)begin
        if(!rst)
            q1 <= 1'b0;
        else if(data) //相当于T触发器中的输入有效信号为1的时候翻转,否则保持
            q1 <= ~q1;
        else
            q1 <= q1;
    end
//第二个T触发器  
always @ (posedge clk or negedge rst)begin
        if(!rst)
            q <= 1'b0;
        else if(q1)  //相当于第一个T触发器的输出作为下一个T触发器输入
            q <= ~q; //同时输入有效信号为1的时候,翻转,否则保持
        else
            q <= q;   
    end
//*************code***********//
endmodule
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

牛客网Verilog快速入门题目收获——异步复位的串联T触发器(VL2) 的相关文章

  • FPGA设计篇之流水线思想

    FPGA设计篇之流水线思想 一 写在前面 二 正文开始 2 1举个栗子 2 2 1情况一 组合逻辑 2 1 2情况二 流水线设计 2 1 4 小总结 2 2举第二个栗子 写在最后 一 写在前面 流水线 大家好 我是富土康三号流水线的张全蛋
  • PRBS笔记

    1 概述 PRBS 伪随机二进制序列 也称为伪随机码 通常被用来测试高速信号的信号质量 伪随机 也说明了该码流并不是真正的随机 而是具有特性属性 码流由 多项式 决定 具有重复周期 PRBS具有多种阶数 如PRBS7 PRBS15 PRBS
  • Verilog中forever、repeat、while、for四类循环语句(含Verilog实例)

    当搭建FPGA逻辑时 使用循环语句可以使语句更加简洁易懂 Verilog中存在四类循环语句 如标题 几种循环语句的具体介绍和用法如下 1 forever 连续的执行语句 语法格式 forever
  • Verilog实例-AMBA(AHB)协议

    目录 一 简介 1 1 AHB 1 2 signal list 1 3 Bus interconnection 总线互联 1 4 Overview of AMBA AHB operation 1 4 1 Basic transfer 1 4
  • J-Link仿真器与JTAG和SWD下载与接线

    目录 1 JTAG 1 1JTAG今天被用来主要的三大功能 1 2JTAG引脚 1 3可选引脚 2 SWD 2 1 SWD引脚 2 2 可选择引脚 2 3 JTag和SWD模式引脚定义 3 J Link仿真器 4 IAR与MDK配置两种下载
  • 二、RISC-V SoC内核注解——译码 代码讲解

    tinyriscv这个SoC工程的内核cpu部分 采用经典的三级流水线结构进行设计 即大家所熟知的 取值 gt 译码 gt 执行三级流水线 另外 在最后一个章节中会上传额外添加详细注释的工程代码 完全开源 如有需要可自行下载 上一篇博文中注
  • FPGA project : water_led

    module water led parameter MAX CNT 25 d25 000 000 input wire sys clk input wire sys rst n output wire 03 00 led signal r
  • FPGA提示产生latch的报错

    在fpga的设计中有时会遇到 latch 的报错 1 latch是什么 Latch 就是锁存器 是一种在异步电路系统中 对输入信号电平敏感的单元 用来存储信息 锁存器在数据锁存使能时 数据被锁存 输入信号不起作用 这违背了组合逻辑中输出随输
  • FPGA_时钟显示(时钟可调)

    1 实验说明 在数码管显示数据的基础上 让六位数码管显示数字时钟 并且通过按键可以对时间进行修改 实验目标 六位数码管分别显示时间的时分秒 且通过按键可实现加减调整时间及清零功能 key1 切换键 选择待调整的时间单位 时 分 秒 key2
  • 【FPGA】面试问题及答案整理合集

    面试问题及答案整理合集 1 硬件描述语言和软件编程语言的区别 2 FPGA选型问题 3 建立时间和保持时间问题 3 亚稳态问题 4 竞争和冒险问题 5 乒乓操作问题 6 同步和异步逻辑电路 7 同步复位和异步复位 8 MOORE 与 MEE
  • 【DDR3 控制器设计】(3)DDR3 的写操作设计

    写在前面 本系列为 DDR3 控制器设计总结 此系列包含 DDR3 控制器相关设计 认识 MIG 初始化 读写操作 FIFO 接口等 通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO 接口设计等 附上汇总博客直达链接 DD
  • 【Xilinx Vivado时序分析/约束系列4】FPGA开发时序分析/约束-实验工程上手实操

    目录 建立工程 添加顶层 模块1 模块2 添加约束文件 编辑时钟约束 打开布线设计 代码代表的含义 时序报告 进行时序分析 Summary 包含了汇总的信息量 Source Clock Path 这部分是表示Tclk1的延时细节 Data
  • [从零开始学习FPGA编程-28]:进阶篇 - 基本组合电路-奇偶校验生成器(Verilog语言版本)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 第1章 奇偶校验生成器 1 1 什么是奇校验 1 2 Verilog语言描述
  • [HDLBits] Exams/ece241 2014 q7a

    Design a 1 12 counter with the following inputs and outputs Reset Synchronous active high reset that forces the counter
  • 【FPGA多周期时序约束详解】- 解读FPGA多周期时序约束的全过程

    FPGA多周期时序约束详解 解读FPGA多周期时序约束的全过程 FPGA作为数字电路设计的常见工具 其设计中必然会遇到时序约束的问题 而多周期时序约束更是FPGA设计中不可避免的难点之一 本文将详细介绍FPGA多周期时序约束的全过程 并结合
  • [从零开始学习FPGA编程-24]:进阶篇 - 基本组合电路-编码器与译码器(Verilog语言)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 125247358 目录 前言 Veri
  • 硬核 | 从零制作一个激光雷达需要多久?

    编辑 ADS智库 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 硬件交流 技术交流群 本文只做学术分享 如有侵权 联系删文 激光雷达 LiDAR 是激光探测及测距系统的简称 目前广泛应用在无
  • 【ZYNQ学习】PL第一课

    这节课讲什么 这节课的名字本来是想写为LED 但这一课里除了LED也有按键 又想换为GPIO控制 但关于PL的GPIO控制 不应该这么草率和简单 而且这一课有很多和ZYNQ或者PL关联性不强的东西要说 所以我写了删删了写改了好几遍 终于定为
  • 时序约束理解

    异步配置信息 跨时钟域 配置信息一般set max delay按照3delay来约束 2 异步回读 rst clear信号 设置set false path 放松时序约束要求 不应分析设计中的逻辑路径 因为不关心点到点时序要求
  • Vivado ILA的debug信息保存与读取

    保存 write hw ila data D Project FPGA ILA Debug Data 202401041115 ila upload hw ila data hw ila 1 读取 display hw ila data r

随机推荐