verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)

这篇具有很好参考价值的文章主要介绍了verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、复位的类型和划分

通常,芯片的复位信号分为两大类,全局复位局部复位

全局复位:能够确保每个寄存器都处于可控的状态;

局部复位:基于软件功能的需求而存在的独立复位,对于某一个模块的单独控制,建议使用局部复位;

(等待完善)

二、同步复位

  1. 定义

只有在时钟有效沿采样到复位信号的有效电平时,才会执行复位操作;

  1. 代码

always @(posedge clk) begin
    if(!rst_n)
        out <= 1'b0;
    else
        out <= in;
end
  1. 综合后电路

可能一:

verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)

可能二:

verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)
  1. 优缺点

优点:

  • 一般可以确保电路是同步电路,有利于静态时序分析;

  • 有利于仿真器的仿真;

  • 可以滤除复位信号频率大于时钟频率的毛刺;

缺点:

  • 如综合电路图所示,因为逻辑器件库中的DFF只有异步复位端口,所以综合器会在DFF的数据输入端增加组合逻辑,浪费资源;

  • 复位的有效时长必须大于一个时钟周期;

  • 如果时钟关闭,则无法完成复位;

三、异步复位

  1. 定义

无论时钟有效沿是否到,只要复位信号有效,就会立刻进行复位操作;

  1. 代码

always @(posedge clk or negedge rst_n) begin
    if(!rst_n)
        out <= 1'b0;
    else
        out <= in;
end
  1. 综合后电路

verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)
  1. 优缺点

优点:

  • 复位信号不依赖于时钟,可以实现无时钟复位,这是低功耗技术之一;

  • 与同步复位相比,可以节省资源,保证数据路径上相对干净;

  • 与同步复位相比,复位逻辑与数据路逻辑无关,所以数据路径更好收敛;

缺点:

  • 电路容易受到复位信号上毛刺的影响;

  • 复位信号具有随机性,容易导致recovery time/removal time 为例,进而导致亚稳态;

  • 不利于进行静态时序分析;

四、异步复位的时序分析(recovery time/removal time

  1. 定义

异步复位,时序违例是发生在复位信号释放的时候(从复位状态到非复位状态);下面以rst_n为例

  1. 恢复时间和移除时间(recovery time/removal time

verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)
  • removal time:移除时间

复位信号释放时,有效电平在时钟有效沿到来之后的保持时间,类似于hold time;

  • recovery time:恢复时间

复位信号释放时,恢复到无效电平在时钟有效沿到来之前的保持时间,类似于setup time;

五、异步复位,同步释放

  1. 定义

就是在复位信号到来的时候不受时钟信号的同步,在复位信号释放的时候受到时钟信号的同步

  1. 代码

always @(posedge clk or negedge rst_n) begin
    if(!rst_n) begin
        rst_n_d0 <= 1'b0;
        rst_n_d1 <= 1'b0;
    end
    else begin
        rst_n_d0 <= 1'b1;
        rst_n_d1 <= rst_n_d0;
    end
end
assign rst_n_sync = rst_n_d1;
always @(posedge clk or negedge rst_n_sync) begin
    if(!rst_n_sync)
        out <= 1'b0;
    else
        out <= in;
end
  1. 综合后电路

verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)
  1. 优缺点

优点:

  • 快速复位,只要复位信号有效,电路会立刻复位;

  • 有效捕捉复位,短脉冲复位不会丢失;

  • 复位的释放是同步的,有良好的撤离时序和足够的恢复时间;文章来源地址https://www.toymoban.com/news/detail-420125.html

到了这里,关于verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog数字系统设计——10进制计数器,具有异步复位功能

    编程实现10进制计数器,具有异步复位功能,十位和个位用8421BCD码表示,各端口定义如下图所示: 仔细考虑端口定义中每个端口的含义; 要求完成程序编辑、编译、时序仿真; 实验提交Verilog设计文件(.v文件)、仿真波形截图以及对于第3个步骤所提出问题的回答,文件打包

    2024年02月11日
    浏览(37)
  • 用Verilog设计一个8位二进制加法计数器,带异步复位端口,进行综合和仿真。

    点此处编译 这里还需将rst置1才有效 可以在clk=0;后加rst=1; 或者在clk=0;后加rst=0; 并且在#DELY clk=~clk;后加#(DELY*20) rst=~rst; 仿真即可

    2024年02月04日
    浏览(44)
  • 复位策略:同步复位与异步复位

    在IC设计种,复位策略分为同步复位和异步复位两种设计,根据不同的设计,会采用不同的复位方式。 复位的文章已有很多文章讲解了,这里只讨论实现策略。  一、异步复位 1、优点: 1)无需额外的逻辑资源,实现简单,可以保证复位引脚到各个寄存器的时钟偏移最小;

    2024年02月14日
    浏览(43)
  • Quartus实现寄存器:同步复位+异步复位

    图1 寄存器输入输出引脚 图2 输入为高电平-例1 同步复位和异步复位都存在于时序逻辑中,与组合逻辑相比对毛刺有屏蔽作用。 图3 组合逻辑和时序逻辑的区别 当复位为高电平时,组合逻辑的结果是其输入,时序逻辑的输出需参考上升沿,此时红色虚线处的key_in为高电平,故

    2024年02月03日
    浏览(46)
  • FIFO设计笔记(双口RAM、同步FIFO、异步FIFO)Verilog及仿真

    0.1、FIFO FIFO (First-In-First-Out) 是一种先进先出的数据缓存器,在数字ASIC设计中常常被使用。在实际开发中,多数都是直接使用公司经过top-out验证的FIFO IP或者是ISE/Vivado工具自带的FIFO IP,并不需要自己造轮子。但是,作为设计者,必须要掌握FIFO的设计方法,这样可以适配于各种

    2023年04月09日
    浏览(45)
  • 基于Verilog设计的复位电路设计

    复位指的是将寄存器中的值全部置成默认值,一般复位包括同步复位和异步复位,复位可以由硬件开关控制,也可以由软件逻辑控制。复位电路复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结合底层的设计来考虑问题。 相信大家在学习 FPGA 或者 ASIC 的时候

    2024年02月02日
    浏览(45)
  • 北邮22级信通院数电:Verilog-FPGA(9)第九周实验(2)实现下降沿触发的JK触发器(带异步复位和置位功能)

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客   目录 ​编辑 一.代码部分 1.1 JK.v 1.2 JK_tb.v 二.仿真结果

    2024年02月05日
    浏览(48)
  • 【verilog】含异步清零和同步使能的加/减法计数器

    实验目的 掌握二进制计数器的工作原理。 能使用verilog设计计数器。 3、进一步熟悉QUARTUSII软件的使用方法和verilog输入方式 实验原理与内容 实验原理 二进制计数器中应用最多、功能最全的计数器之一,是含异步清零和同步使能的具有并行载入功能的加/减法计数器。其具体工

    2024年02月02日
    浏览(54)
  • 【FPGA】Verilog:时序电路 | 触发器电路 | 上升沿触发 | 同步置位 | 异步置位

    前言: 本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例:触发器电路    ​ 功能特性: 采用 Xilinx Artix-7 XC7A35T芯片  配置方式:USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度  存储器:2Mbit SRAM   N25Q064A SPI Flash(样图旧款为N25Q032A) 通用IO:Sw

    2024年02月11日
    浏览(39)
  • JavaScript编程技巧:将异步方法转换为同步执行的实用方法

    当在JavaScript中处理异步操作时,我们通常会使用 async/await 来简化异步代码的编写和理解。然而,有时候我们可能需要将异步方法转换为同步执行的方法,以满足特定的需求。在本篇博客中,我们将详细讨论如何将异步方法转换为同步执行的方法。 异步方法的主要特点是非阻

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包