AMD FPGA设计优化宝典笔记(2)亚稳态

在这里插入图片描述

一 亚稳态

亚稳态的产生是由于寄存器采样不满足建立时间或保持时间要求导致的,亚稳态的产生是无法避免的,我们能做的只是想办法降低其发生的频率。在跨时钟域设计中,由于时钟域存在跨域,如果不采取手段,则会有很大概率会引入亚稳态。

今天看了亚稳态这一章,感觉印象最深刻的是,它对应的是异步的处理,也就是发送的寄存器的时钟是一个,接收寄存器的时钟是另外一个。

1 单bit的信号

如果是一个单比特的信号,那么可以通过让接收寄存器的从一个变成两个级联,这样的话在第二个时钟域就有两拍可以完成,相当于哪怕第一拍出现亚稳态没采上信号,第二拍大概率可以采上了。

下图黑框里的部分,专业名称是双触发器同步器,也可以叫级联触发器构成的同步链,英文名称two flip-flop synchronizer

在这里插入图片描述

在代码中需要用到 ASYNC_REG这个综合属性:

ASYNC_REG用于单bit信号采用双(或多)触发器实现异步跨时钟域的场合,此时所有用于同步的触发器都要标记ASYNC_REG。标记方式为:
(* ASYNC_REG = “TRUE” *) reg sync_0, sync_1;
目的是告诉综合工具布线时将这2个寄存器放在一起(即同一个SLICE中),从而减少线延迟对时序的影响。

2 多bit的信号

如果是多比特的数据的话,那就必须得用 FIFO 了。其实我在实际经验中会用到 FIFO 处理跨时钟域的视频数据,是多比特的,以前不明白这个点没有考虑太多,原来最根本的就是时钟异步的处理,就防止有这种亚稳态。

在亚稳态的这一章里面还有一个平均无故障时间MTBF,公式推导完就可以发现,就是接收触发器的接收时钟频率越大,还有同步链中第一个寄存器,他的接收到的异步信号的翻转率越大(传输的那个数据 D 变化快),就可以降低MTBF。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Python 列表操作详解

Python 是一种流行的编程语言,它以其简洁的语法和强大的功能而闻名。在 Python 中,列表是一种常用的数据结构,它可以包含任意类型的元素,并且可以随时添加或删除元素。在这篇文章中,我们将详细介绍 Python 列表的一些常…

分析“e^iπ+1=0”的错谬及其违反数学规则

如果评选从远古到现代对人类智商羞辱最严重的事件,欧拉公式“e^iπ-1”若说第二、就没有哪个能称第一。 看下面罗列的关系,数学伦理在大数学家欧拉眼里形同虚设: ①“e^iπ-1”没有代码,不能表示数量变化关系,它来自e^…

【Linux学习】线程详解

目录 十八.多线程 18.1 线程与进程 18.2 内核视角看待创建线程与进程 18.3 线程优缺点总结 线程的优点: 线程的缺点: 线程的用途: 18.4 线程与进程的联系 十九.线程控制 19.1 POSIX线程库 19.2 线程创建 19.3 线程等待 19.4 线程终止 19.5 线…

Postgres 和 MySQL 应该怎么选?

数据库选择指南:何时使用PostgreSQL,何时选择MySQL 在建设任何应用系统时,选择合适的数据库是一个关键决策点,它直接影响到系统的性能、可扩展性、可维护性以及未来的发展能力。 PostgreSQL(简称Postgres)…

橘子学linux调优之工具包的安装

今天在公司无聊的弄服务器,想着有些常用的工具包安装一下,这里就简单记录一下。 一、sysstat的安装和使用 1、安装 我是通过源码的方式安装的,这样的好处在于可以自由选择你的版本,很直观。 直接去github上找到sysstat的地址&a…

网络安全工程师技能手册(附学习路线图)

关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 安全是互联网公司的生命,也是每位网民的基本需求。现在越来越多的人对网络安全感兴趣,愿意投奔到网络安全事业之中,这是一个很好的现象。 很多对网络安全感…

P2952 [USACO09OPEN] Cow Line S

题目描述 Farmer Johns N cows (conveniently numbered 1..N) are forming a line. The line begins with no cows and then, as time progresses, one by one, the cows join the line on the left or right side. Every once in a while, some number of cows on the left o…

LeetCode 0094.二叉树的中序遍历:递归/迭代(栈模拟递归)

【LetMeFly】94.二叉树的中序遍历:递归/迭代(栈模拟递归) 力扣题目链接:https://leetcode.cn/problems/binary-tree-inorder-traversal/ 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root […

操作系统——内存管理(附带Leetcode算法题LRU)

目录 1.内存管理主要用来干什么? 2.什么是内存碎片? 3.虚拟内存 3.1传统存储管理方式的缺点? 3.2局部性原理 3.3什么是虚拟内存?有什么用? 3.3.1段式分配 3.3.2页式分配 3.3.2.1换页机制 3.3.2.2页面置换算法…

SSM实现支付宝沙盒支付

文章目录 沙盒支付准备配置测试 沙盒支付 这里用的支付宝的一个沙盒环境,是支付宝提供给开发者测试用的。 下面主要梳理一下,支付功能的实现,其实还是很简单的,因为支付宝都提供好了,我们只要调用接口去传入参数即可…

C# EventHandler<T> 示例

新建一个form程序,在调试窗口输出执行过程; 为了使用Debug.WriteLine,添加 using System.Diagnostics; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using S…

写的太通透了!大模型自省式 RAG 与 LangGraph 的实践!

本文讲解了自省式 RAG 的基础原理以及基于 LangGraph 的实践演示 自省式 RAG 与 LangGraph 重要链接 关于 Self-RAG 和 CRAG 的教程手册 演示视频 研究背景 由于大多数大型语言模型(LLMs)通常只针对大量公共数据进行周期性训练,它们往往…

使用python绘制无边框ECG信号-可用于论文插图-小白版

用python绘制一个心电信号 最近在写大论文,由于自己做的是心电信号难免要做一些心电信号的插图,然后在写论文的时候有的时候要用真实信号有的时候需要用到示意图,这里面的其他部分使用Visio绘制的,但是前面的心电信号部分&#x…

视觉slam十四讲学习笔记(三)李群与李代数

1. 理解李群与李代数的概念,掌握 SO(3), SE(3) 与对应李代数的表示方式。 2. 理解 BCH 近似的意义。 3. 学会在李代数上的扰动模型。 4. 使用 Sophus 对李代数进行运算。 目录 前言 一、李群李代数基础 1 群 2 李代数的引出 3 李代数的定义 4 李代数 so(3…

HAproxy+Mycat集群+MySQL主从组成高可用性方案架构图

如果还担心 HAproxy 的稳定性和单点问题,则可以用 keepalived 的 VIP 的浮动功能,加以强化:https://blog.csdn.net/gaofenglxx/article/details/118883060

如何在项目初始化时就将数据字典中的数据加载到Redis中

要在项目初始化时将数据字典中的数据加载到Redis中,可以按照以下步骤进行操作: 引入Redis依赖: 在项目的构建文件(比如pom.xml)中添加Redis相关的依赖项,以便能够使用Redis客户端。 连接Redis服务器&#…

re:从0开始的CSS之旅 12. 轮廓、阴影、圆角

1. 轮廓 outline 设置元素的轮廓 使用方式与border一样。不同在于不影响盒子的大小 2. 阴影 box-shadow 设置元素的阴影 box-shadow: 30px 30px 50px 5px rgba(0, 0, 0, .5); 第一个值:设置阴影水平距离 第二个值:设置阴影垂直距离 第三个值&#xff…

推荐在线图像处理程序源码

对于喜爱图像编辑的朋友们来说,Photoshop无疑是处理照片的利器。然而,传统的Photoshop软件不仅需要下载安装,还对电脑配置有一定的要求,这无疑增加了使用的门槛。 现在,我们为您带来一款革命性的在线PS修图工具——基…

探索嵌入式系统的未来发展趋势

嵌入式系统是一种专门设计用于特定应用领域的计算机系统,它通常被嵌入到更大的设备中,以执行特定的任务。随着科技的不断发展,嵌入式系统的未来发展趋势将受到多方面的影响,包括技术进步、市场需求和应用场景的拓展等。以下将从多…

LeetCode每日一题——993. Cousins in Binary Tree

文章目录 一、题目二、题解 一、题目 Given the root of a binary tree with unique values and the values of two different nodes of the tree x and y, return true if the nodes corresponding to the values x and y in the tree are cousins, or false otherwise. Two…