vivado产生报告阅读分析17-时序报告13

news2024/9/23 17:20:44
CDC 拓扑结构的简化板级原理图
以下部分展示了 CDC 拓扑结构的简化板级原理图以及简要说明。在所有板级原理图中 源时钟信号线 通常为 clk_a) 以蓝色高亮 目标时钟信号线 通常为 clk_b 以橙色高亮。
单比特同步器
下图显示了单比特同步器的简化拓扑结构。 ASYNC_REG 属性必须至少设置在同步链的前 2 个触发器上。同步器深度由共享相同控制信号的已链接的触发器数量来定义。
如果触发器的 CLEAR PRESET 管脚同时连接到异步源 那么此同步器在报告中仅显示为单比特同步器而非异步复位同步器。
多比特同步器
检测到的多比特同步器等同于根据起点 / 端点名称和匹配的 CDC 规则将多个单比特同步器分组在一起。在此情况下 ,总线由起点和端点单元名称( 而不是信号线名称 来定义。标准总线名称格式为 baseName[index] 。此外 起点与端点索引必须匹配。下图显示了位宽为 2 的多比特同步器示例。
如果 CDC 总线的某些位不匹配相同 CDC 规则 那么该总线将以单个位或总线分段的形式来报告 这些单个位或总线分段都具有匹配相同 CDC 规则的连续索引。必须明确的是, 在总线上采用基于寄存器的同步器并不能确保总线跨域的安全性。因此 鉴于工具无法判定拓扑结构是否足以满足设计, CDC 规则 CDC-6 归类为“ Warning 警告 CDC 的安全性由设计人员判定。 如果总线采用格雷编码, 那么只要在总线上设置充足的时序约束以确保接收域每次最多只能捕获一项数据 在总线的所有位上使用基于寄存器的同步器的安全性即可得到保证。如果总线并未采用格雷编码, 则应改为使用其他同步器拓扑结构 例如 CE 控制的 CDC MUX 控制的 CDC
异步复位同步器
在下图中显示了基于 CLEAR 同步的异步复位同步过程 后一张图中显示了基于 PRESET 同步的异步复位同步过程。FF1 单元分别连接到已同步的清除 (CLEAR) 信号或预置 (PRESET) 信号 可根据 clk_a 以安全方式对这两个信号的断言无效进行时序约束。请注意, 在异步复位同步器内不得混用含 CLEAR PRESET 的触发器。
通常建议避免在目标时钟域内包含多个复位信号的同步。这意味着从源时钟域到目标时钟域的复位不应存在任何扇出。此建议可防止目标时钟域在不同时间解复位从而导致设计处于未知状态。不遵循此建议会导致从发送触发器到目标时钟出现严重的 CDC-11 扇出违例。 但在某些涉及 FIFO Generator IP 的场景中 可在目标时钟域内安全进行多次复位信号同步。 FIFO Generator 将异步进入复位状态, 并脱离同步。它会对块 RAM 应用真正的同步复位 FIFO 会收到异步复位。只要设计使用逻辑的wr_rst_busy 信号来保持数据流 就不会出现部分逻辑解复位而部分逻辑仍处于复位状态的状况。AXI 接口使用 5 FIFO Generator IP 来同步每个目标时钟域中的复位 这也是构造安全的复位电路的另一个示例。在可放心对复位信号进行多次同步的场景中, 可忽略 CDC-11 违例。
扇出
在下图所示简化的扇出示例中 源触发器用于驱动在 clk_b 红色高亮 中同步 3 次的信号线。不建议采用这种结构, 因为它可能导致在目标时钟域中出现数据一致性问题 原因在于穿过同步器的时延受到限制 但并不具备周期精确性。
多时钟扇入
在下图所示“ Multi-Clock Fanin 多时钟扇入 示例中 clk_a clk_x 正在同时通过组合逻辑 (LUT2) 将数据传输至 clk_b 域中的同步器电路。建议首先单独同步来自 clk_a clk_x 的源数据 然后再通过某些互连逻辑或FPGA 逻辑将其组合在一起。这样可改善总体 CDC 结构的 MTBF 特性 并且可防止毛刺传输至目标时钟域。
FD 原语
在下图所示“非 FD 原语”示例中 RAMB 原语内部不存在同步逻辑时 FDRE RAMB 之间发生 CDC 。即使在 RAMB 前插入连接到 clk_b 的单阶触发器 FDRE RAMB 单元之间的布线距离所限 此同步器仍被视为不足以满足要求。
CE 控制的 CDC
在下图所示 CE 控制的 CDC 示例中 时钟使能信号在用于控制交汇触发器之前在目标 clk_b 域中已同步。
CDC 引擎仅检查连接到 FF3/CE 的信号是否同样由 clk_b 发送。在驱动 CE 管脚的电路上 对于时钟使能信号的同步方式不存在限制, 前提是将其作为安全的 CDC 路径单独报告即可。此外 您还负责约束从 clk_a 域到 FF3 的时延 , 这通常是通过 set_max_delay -datapath_only 约束来完成的。
多路复用器控制的 CDC
在下图所示“多路复用器控制的 CDC ”示例中 多路复用器选择信号与目标时钟域 clk_b 同步。
CE 控制的 CDC 类似 对于选择信号的同步方式并无限制 前提是此信号单独报告为安全 并且用户负责约束FF2_c 上的交汇延迟。
多路复用器数据保持 CDC
在下图所示的多路复用器数据保持 CDC 示例中 多路复用器的选择信号已同步到目标时钟域 clk_b data_out则馈送回多路复用器。
CE 控制的 CDC 类似 对于多路复用器选择信号的同步方式并无限制 前提是此信号单独报告为安全 并且用户负责约束 FF2_c 上的交汇延迟。
LUTRAM 读写潜在冲突
在以下 LUTRAM 读写潜在冲突示例中 数据写入含写时钟的 LUTRAM LUTRAM 的输出则由读时钟捕获。当读写地址不同时, 写时钟与读时钟之间不存在 CDC 路径。但当读写地址相同时 即在写时钟与读时钟之间存在 CDC 路径。 为避免读写时钟之间出现 CDC 路径 需确保 LUTRAM 周围的逻辑在执行活动的读写操作期间 永远无法生成相同的读写地址。确保满足此条件时, 与此拓扑结构相关联的 CDC 违例即可获得豁免。例如 AMD FIFO Generator IP
有防止任意读写冲突的内置逻辑。

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

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

相关文章

深度强化学习中的动作屏蔽(Action Masking)

RLlib中的example有一个代码是action_masking,很感兴趣,所以学习了一下 主要功能是: “动作屏蔽”允许代理根据当前观察选择动作。这在许多实际场景中非常有用,在这些场景中,不同的时间步长可以执行不同的操作。解释动…

解决:Gitee + PicGo配置图床失败

解决:Gitee PicGo配置图床失败 PicGo安装插件的时候选择:gitee-uploader,不要选择gitee! 在Gitee新建的图床仓库中设置一个images文件夹,用来保存上传的图片,但是要注意在PicGo中的path中要写上路径/img…

视频直播美颜SDK全面解析:美颜SDK技术对比

美颜SDK的出现,为直播主和用户提供了更丰富的美颜体验。 一、美颜SDK的基本原理 美颜SDK多种技术协同工作,使得直播画面更加细腻、自然,给用户带来更好的视觉感受。不同的SDK可能采用不同的算法和处理流程,从而产生各具特色的美…

解决:ImportError: cannot import name ‘Sequence‘ from ‘collections‘

解决:ImportError: cannot import name ‘Sequence‘ from ‘collections‘ 背景 在使用之前的代码时,报错: File “G:\research\code\MicroDE_py\plot_bcic_iv_4_ecog_trial.py”, line 262, in from skorch.helper import predefined_spl…

适用于文件传输需求高,文件传输数据量大的aspera替代方案

与大多数点对点文件传输工具一样,Aspera提供了FTP和其他基于TCP的文件传输方法的可靠替代方案。 本文将主要介绍Aspera。但也要谈谈Aspera以及何时何地考虑将镭速作为Aspera替代方案。 Aspera的独特之处在于跨平台、WAN 优化文件传输的早期创新者。在这方面&#x…

11-22 SSM整合1

请求参数 (这里的形参数据都是SpringMvc注入的) controller里的方法不是我们来调用的 是由SpringMvc的前端控制器所调用的(前端控制器调用了处理器 由处理器和适配器去调用我们controller里的方法),controller里的方法叫handler->处理器 SpringMVC的Controller方…

Pikachu(二)

CSRF (跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完…

JS数组常用的20种方法详解(每一个方法都有例子,超全面,超好理解的教程,干货满满)

目录 1.会改变原数组的方法(7种) 1.push() 2.pop() 3.unshift() 4.shift() 5.reverse() 6.sort() 7.splice() 2.不改变原数组的方法(13种,返回的新数组是从原数组浅拷贝来的) 1.concat() 2.join() 3.slice…

算法通关村第十二关-白银挑战字符串经典题目

大家好我是苏麟 , 今天带来字符串相关的题目 . 大纲 反转问题字符串反转K个一组反转仅仅反转字母反转字符串中的单词 反转问题 字符串反转 描述 : 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s的形式给出。 题目 : LeetCode 344. 反转…

【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1

1 【MATLAB】科研绘图第一期点线图 %% Made by Lwcah %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLABSCI绘图教程敬请观看~%% 清除变量 clc; clear all; close all;%% 一幅图的时候figureWidth 8.5;figureHeight …

AI:87-基于深度学习的街景图像地理位置识别

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…

VR云游:让旅游产业插上数字化翅膀,打造地方名片

自多地入冬降温以来,泡温泉成了许多人周末度假的选择,在气温持续走低的趋势下,温泉游也迎来了旺季;但是依旧有些地区温度依旧温暖,例如南京的梧桐美景也吸引了不少游客前去打卡,大家穿着汉服与金黄的树叶合…

【Hello Go】Go语言并发编程

并发编程 概述基本概念go语言的并发优势 goroutinegoroutine是什么创建goroutine如果主goroutine退出runtime包GoschedGoexitGOMAXPROCS channel无缓冲的channel有缓冲的channelrange和close单向channel 定时器TimerTicker Select超时 概述 基本概念 并行和并发概念 并行 &…

佳易王个体诊所病历登记系统查询软件教程

佳易王个体诊所病历登记系统查询软件教程 在开处方时可以随时查看该病人的历史病历。 软件功能: 1、配方模板:可以自由添加配方分类,预先设置药品配方,可以一键导入电子处方。 2、正常开药:可以灵活选择药品&#x…

什么是持续集成的自动化测试?

持续集成的自动化测试 如今互联网软件的开发、测试和发布,已经形成了一套非常标准的流程,最重要的组成部分就是持续集成(Continuous integration,简称CI,目前主要的持续集成系统是Jenkins)。 那么什么是持…

【图文详解】SiamFC++与图注意力的强强联合:单目标追踪系统

1.研究背景与意义 随着计算机视觉技术的不断发展,单目标追踪(Single Object Tracking, SOT)作为计算机视觉领域的一个重要研究方向,已经在许多实际应用中得到了广泛的应用。单目标追踪系统可以通过分析视频序列中的目标运动&…

【Typroa使用】Typroa+PicGo-Core(command line)+gitee免费图片上传配置

TyproaPicGo-Core(command line)gitee免费图片上传配置 本文是在win10系统下配置typroapicGo-Core(command line)gitee图片上传的教程。需要的环境和工具有: gitee账号,新建仓库及token令牌;已经安装了的typroa,需要0.9.98版本以上…

Python 字典(dict)基础学习

一、字典的基础定义(key:value)键值对 my_dict {"王力宏": 99, "周杰伦": 88, "林俊杰": 77} my_dict2 {} my_dict3 dict() print(my_dict) print(my_dict2) print(my_dict3) 字典基础定义 字典名 {key1:value1,key2:value2,key3:value3}…

shell 脚本的函数和数组

函数 —— 封装的一个公式:sin、cos、tan —— 函数为脚本的别名 —— 函数就是一个功能模块,在函数中写执行的命令即可;使用函数可以避免代码重复,增加可读性,简化脚本,使用函数可以将大的工程分割为若…

【C++初阶】STL详解(六)Stack与Queue的介绍与使用

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…