同步和异步、同步复位、异步复位、同步释放

news2024/10/5 16:28:04

文章目录

    • 同步和异步
    • 同步复位、异步复位、同步释放
      • 同步复位
      • 异步复位
      • 同步释放(异步信号和CLK信号存在时序检查、Recover time&Removel time)
        • 典型的异步复位同步释放的verilog电路设计

同步和异步

  • 数字电路根据逻辑功能的不同特点,可以分成两大类:一类叫做组合逻辑电路,简称组合电路或组合逻辑;另一类叫做时序逻辑电路,简称时序电路或时序逻辑。

    • 如果数字电路满足任意时刻的输出仅仅取决于该时刻的输入,那么该数字电路为组合逻辑电路。
    • 相反,如果数字电路任意时刻的输出不仅取决于当前时刻的输入,而且还取决于数字电路原来的状态,那么该数字电路为时序逻辑电路
  • 这里和状态机分类有点像,Moore型的输出只与当前状态有关,而Mealy型的输出还与输入相关

数电从电路的功能把电路分为两类,组合电路时序电路(同步时序电路、异步时序电路)

  • 组合逻辑容易产生竞争冒险
  • 同步时序电路:

Verilog中根据是否受同一个时钟控制把电路分为两类:同步时序电路和异步时序电路

  • 同步电路:

    • 电路中所有信号都受同一个时钟控制的
    • 电路中有多个时钟,但是其相位差是恒定的,也认为是同步电路
    • 所有触发器都在同一个时钟控制下完成、所有触发器的触发方式(沿触发/电平触发)和种类完全一致
  • 异步电路

    • 电路中有不受时钟控制的信号
    • 电路中有多个时钟,但是其相位差不是恒定的,是异步电路
  • 同步动作:所有的信号都在一个时钟下控制

  • 异步动作:敏感信号列表中有不受时钟控制的其他信号,要遍历clock信号和(reset)异步信号,并且(reset)异步信号级别比clock信号高


同步复位、异步复位、同步释放

同步复位

  • 复位信号只在时钟上升沿到来时才有效;
  • 能够有效滤除高于时钟频率的毛刺;
  • 同步复位的优点在于它只在时钟信号clk的上升沿触发进行系统是否复位的判断,这降低了亚稳态出现的概率
  • 复位信号的有效时间必须大于时钟周期才可以检测到复位
  • 与异步复位相比,电路多使用一个选择器,需要消耗更多的器件资源
module sync_reset(
  input      i_clk,
  input      i_rst_n,
  input      i_data,
  output reg o_data
);

always @(posedge i_clk)
  if(!i_rst_n)
    o_data <= 1'b0;
  else
    o_data <= i_data;
endmodule

在这里插入图片描述


异步复位

  • 无论时钟有效沿是否有效,只要复位信号到来,立即执行复位操作
  • 复位信号释放时,如果不满足时序要求,可能由复位引入亚稳态
  • 采用异步复位的端口无需额外增加器件资源的消耗,直接利用触发器的异步复位端,节省资源
module async_reset(
  input      i_clk,
  input      i_rst_n,
  input      i_data,
  output reg o_data
);

always @(posedge i_clk or negedge i_rst_n)
  if(!i_rst_n)
    o_data <= 1'b0;
  else
    o_data <= i_data;
endmodule

同步释放(异步信号和CLK信号存在时序检查、Recover time&Removel time)

  • 如果复位信号正好在时钟信号的有效沿撤销,这时候的输出就是亚稳态
  • 使用两级触发器同步释放(留一个周期的裕量),大大减小亚稳态出现的概率,万一出现亚稳态只要在(周期T-Tsetup)这个时间恢复稳定即可
  • 两级触发器同步后,第二级触发器的输出基本上是稳定值。后续逻辑根据稳定值,会有稳定的行为。这就是追求的系统稳定性。
  • 异步复位、同步释放其最显著特征是既保留了异步复位的功能,又避免了异步复位释放时所面临的recovery或者removal违例问题

module reset_gen (
   output rst_sync_n,
   input  clk, rst_async_n);

reg rst_s1, rst_s2;

always @(posedge clk, negedge rst_async_n)
   if (!rst_async_n) begin
      rst_s1 <= 1'b0;
      rst_s2 <= 1'b0;
      end
   else begin
      rst_s1 <= 1'b1;
      rst_s2 <= rst_s1;
      end
assign rst_sync_n = rst_s2;
endmodule

在这里插入图片描述

  • 如上图所示,低电平有效的异步复位信号 rst_async_n 变为低电平时,将导致触发器清零,使得连接至 rst_sync_n 的系统触发器清零
    在这里插入图片描述
    在这里插入图片描述

  • 然后,当rst_async_n解除复位(变为高电平)时,第一个触发器对输入的 VCC 信号进行同步输出rst_s1为VCC,再经过第二个触发器同步后移除复位信号rst_sync_n
    在这里插入图片描述

  • 我们在Gvim中更改了代码,VCS编译后,Verdi中还是旧的代码,这时候在Verdi中进行刷新(shift+L),新的代码以及波形图都会在Veridi中更新

  • 假设rst_async_nclk的上升沿时撤除,那么第一级触发器处于亚稳态,但是由于两级触发器的缓冲作用,第二级触发器的输入为clk到来前第一级触发器的输出,即为低电平。因此,此时第二级触发器的输出一定是稳定的低电平,方框左中触发器仍然处于复位状态。在下一个clk到来时,第一级触发器的输出已经是稳定的高电平了,故rst_sync_n已经是稳定的高电平,此时复位释放,也就是同步释放。

在这里插入图片描述


典型的异步复位同步释放的verilog电路设计

在这里插入图片描述

  • 保证输出s_rst_d1时稳定的
module async_reset_sync_done(
  input      i_clk,
  input      i_rst_n,
  input      i_data,
  output reg o_data
);

reg s_rst_d0;
reg s_rst_d1;

always @(posedge i_clk or negedge i_rst_n)
  if(!i_rst_n)
    begin
      s_rst_d0 <= 1'b0;
      s_rst_d1 <= 1'b0;
    end
  else
    begin
      s_rst_d0 <= 1'b1;
      s_rst_d1 <= s_rst_d0;
    end

always @(posedge i_clk or negedge s_rst_d1)
  if(!s_rst_d1)
    o_data <= 1'b0;
  else
    o_data <= i_data;
endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/692944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何判断端口有没有被占用

第一步&#xff1a;打开cmd 输入netstat -ano 可以查看自己的所有端口&#xff0c;第一行的本地地址是端口22&#xff0c;最右面对应的pid13260 第二步&#xff1a;打开任务管理器对应的PID就知道那个服务项占用了22端口了 第二种查看指定方法&#xff1a; netstat -ano|finds…

将数据库与LLMs结合,增强模型的长期记忆能力--ChatDB

ChatDB: AUGMENTING LLMS WITH DATABASES AS THEIR SYMBOLIC MEMORY 返回论文和资料目录 论文地址 项目地址 1.导读 清华团队针对大模型LLMs的长期记忆能力进行的改进。改进思路是将LLMs与数据库结合&#xff0c;将信息以符号化的形式存储在数据库中。同时&#xff0c;使用大…

极致呈现系列之:Echarts日历坐标系的时光流转

目录 什么是日历坐标系Echarts日历坐标系的特性Echarts日历坐标系的应用场景Echarts日历坐标系中常用的配置项Vue3中使用Echats日历坐标系实现健康可视化图表日历饼图 什么是日历坐标系 日历坐标系是一种用于展示时间数据的坐标系&#xff0c;将数据按照日期呈现在一个日历形式…

「Java核心技术大会 2023」6月重磅启动,邀你共同探讨Java生态 ~文末福利

Java核心技术大会 2023 大会简介直播预约&#xff1a;视频号“IT阅读排行榜”PART 1 特邀启动专场PART 2 Java语言、平台和趋势专场PART 3 Java应用开发专场PART 4 Java应用与系统架构专场PART 5 Java应用性能优化专场PART 6 大数据与数据库专场PART 7 云原生与Serverless专场P…

STM32学习 6月27日

51单片机中有时钟和时钟树的概念&#xff0c;外设只有GPIO、定时器、和一个串口&#xff0c;使用的都是11.0592MHZ的频率&#xff0c;除了定时器外&#xff0c;其他外设只要上电就可以使用。 stm32每个外设都有对应控制的开关&#xff0c;其所使用的频率各不相同&#xff0c;需…

[Windows] ImageGlass Kobe v8.9便携版

这款ImageGlass Kobe 神仙看图软件&#xff0c;UI漂亮&#xff0c;而且官方收费95元限时免费&#xff0c;打开大图速度极快&#xff0c;界面简洁纯净无广告&#xff0c;简直就是我的梦中情软&#xff0c;看图体验真的嘎嘎好&#xff01;是优秀的 Windows 照片查看器替代品。 具…

数据库监控与调优【十一】—— 索引调优技巧

索引调优技巧 长字段的索引调优使用组合索引的技巧覆盖索引排序优化冗余、重复索引的优化 长字段的索引调优 举例 实际项目中&#xff0c;我们可能需要给很长的字段添加索引。 比如以下first_name字段里面存储的数据普遍在200以上。 SELECT* FROMemployees WHEREfirst_…

Qt 动态手势识别“握拳”

系列文章目录 通过Qt实现手势识别控制软件操作相关系列技术方案 &#xff08;一&#xff09;Qt 将某控件、图案绘制在最前面的方法&#xff0c;通过QGraphicsScene模块实现 &#xff08;二&#xff09;Qt QGraphicsScene模块实现圆点绘制在所有窗体的最前方&#xff0c;实现圆…

永磁同步电机无位置传感器控制,采用的是龙贝格,基于模型的 定点开发,仿真效果和实际95%高度吻合

永磁同步电机无位置传感器控制&#xff0c;采用的是龙贝格&#xff0c;基于模型的 定点开发&#xff0c;仿真效果和实际95%高度吻合&#xff0c;可以仿真学习&#xff0c;也可以直接移植到项目中 YID:32768642079012761

深度学习框架背景

深度学习框架背景 本文目录&#xff1a; 一、深度学习框架概念 二、为何要用深度学习框架 三、掌握深度学习框架要做哪些准备 四、深度学习主要应用场景 五、常见深度学习框架的对比 六、深度学习框架在市场上的占比 七、中国深度学习开源框架状况 八、备注 一、深度学…

redis------Hash操作(字典)

Hash操作&#xff0c;redis中Hash在内存中的存储格式如下图&#xff1a; # hash类型就是咱们python中的字典&#xff0c;key-value,字典又叫hash类型 字典的key必须可hash -字典类型在底层存储&#xff0c;基于数组存的 key---{key:value,key:value} hset(name, key, val…

【Vue】CI持续集成Vue前端项目--20230627

我的实践&#xff08;CI&#xff09; 1.打包 npm run build&#xff0c;产生dist文件 2.将dist文件的内容拷贝到static下面。不用在nginx文件夹中 3.编写nginx配置 default.conf server {listen 80;listen [::]:80;server_name localhost;location / {root /usr/…

【MySQL数据库】MHA高可用配置及故障切换

目录 一、MHA简介1.1什么是MHA1.2MHA的组成1.3MHA的特点 二、搭建MHA2.1故障模拟2.2故障修复 一、MHA简介 1.1什么是MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。M…

掌握构造函数:打破面向对象编程难题

文章目录 I. 介绍解释构造函数的概念及其作用为什么构造函数是面向对象编程中至关重要的一部分 II. 创建构造函数介绍如何定义并创建一个构造函数着重介绍构造函数的语法和使用方法定义一个构造函数创建一个对象实例使用对象实例继承和原型 III. 构造函数的参数介绍构造函数的参…

模拟测试 青少年软件编程(Python)等级考试试卷(一级) 试题解析

【单选题】&#xff08;每题2分&#xff09; 1、与a>b and b>c等价的是&#xff1f;&#xff08; &#xff09; A、a>b or b>c B、a>b>c C、a>b or not b D、not a 正确答案&#xff1a;B 试题解析&#xff1a;a>b并且b>c&#xff0c;那么a…

施工作业票管理

施工作业票管理是建筑行业中的一项重要管理&#xff0c;它是指在进行安全施工前&#xff0c;必须依据工程特点及安全要求&#xff0c;制定符合施工现场实际情况的施工作业方案&#xff0c;并按照程序进行作业申请及作业批准的程序书。比如说吊装作业票&#xff0c;高空作业票&a…

控制请求来源的HTML Meta标签 - Referrer详解

83. 控制请求来源的HTML Meta标签 - Referrer详解 在Web开发中&#xff0c;为了保护用户的隐私和安全&#xff0c;控制请求的来源信息是至关重要的。HTML中的<meta>标签提供了一种简单而有效的方式来控制请求的来源&#xff0c;其中包括Referrer&#xff08;引荐者&…

NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用

NVIDIA Jetson TX1&#xff0c;TX2&#xff0c;TX2 NX&#xff0c;AGX Xavier 和 Nano开发板GPIO口配置及应用 简介 ​ Jetson TX1、TX2、TX2 NX、AGX Xavier和Nano开发板都配备了一个包含40个引脚的GPIO接头&#xff0c;这些引脚可以用于数字输入输出。如下图 ​ 类似于Rasp…

cesium系列:根据中心点绘制圆和返回离某点最近的一个点的方法

1.背景 有需求写一个方法cesium 提供一个代码方法接收参数为function aaa(point1,point2,radius,num)其中点1和点2是经度纬度高度对象&#xff0c; 以point2为圆心&#xff0c;radius为半径生成一个圆弧&#xff0c;并创建一个数组在圆弧上均匀生成 num个点,点需要包含经纬高,…

2023年江西省研究生数学建模竞赛题目三解题思路

为了竞赛公平性&#xff0c;本人只提供思路&#xff0c;不提供具体的解决方法&#xff0c;欢迎交流讨论。给你们分享省赛特等奖的解题思路&#xff0c;哈哈哈&#xff0c;欢迎评论区讨论。这里给出第三题的解题思路。第二题的思路在这里&#xff1a;2023年江西省研究生数学建模…