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

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.hqwc.cn/news/211525.html

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

相关文章

Leaflet结合Echarts实现迁徙图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>Leaflet结合Echarts4实现迁徙图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

虚拟机VMware上安装Ubuntu系统(详细图文教程)

关于虚拟机VMware的安装教程&#xff0c;学者看我另外一篇博客&#xff1a;VMware详细安装教程 目录 一、Ubuntn系统准备二、VMware上安装Ubuntn系统2.1 答疑 三、导入Ubuntu系统四、总结 一、Ubuntn系统准备 先下载好Ubuntn系统&#xff0c;这里我提供一个&#xff0c;下载链…

蓝桥杯物联网竞赛_STM32L071_2_继电器控制

CubeMX配置&#xff1a; Function.c及Function.h&#xff1a; #include "Function.h" #include "gpio.h" void Function_LD5_ON(void){HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET); }void Function_LD5_OFF(void){HAL_GPIO_WritePin(LD5_…

如何使用Fiddler进行弱网测试

测试APP、web经常需要用到弱网测试&#xff0c;也就是在信号差、网络慢的情况下进行测试。我们自己平常在使用手机APP时&#xff0c;在地铁、电梯、车库等场景经常会遇到会话中断、超时等情况&#xff0c;这种就属于弱网。 普通的弱网测试可以选择第三方工具对带宽、丢包、延时…

DAOS低时延与高性能RDMA网络

什么是RDMA RDMA&#xff08;Remote Direct Memory Access&#xff09;远程直接内存访问是一种技术&#xff0c;它使两台联网的计算机能够在主内存中交换数据&#xff0c;而无需依赖任何一台计算机的处理器、缓存或操作系统。与基于本地的直接内存访问 ( DMA ) 一样&#xff0c…

使用 PowerShell 中的命令来删除共享目录

Remove-SmbShare -Name "ShareName" 请将 "ShareName" 替换为您要删除的实际共享目录的名称。 请注意&#xff0c;执行此命令需要具有适当的权限。确保您以管理员身份运行 PowerShell 或具有足够的权限来删除共享目录。

AMESim|学习记录

此文记录AMESim学习过程中的各种情况。 目录 01 王佳. AUV 浮力调节系统设计及控制策略研究[D]. 天津大学, 2017.01 王佳. AUV 浮力调节系统设计及控制策略研究[D]. 天津大学, 2017. 01 王佳. AUV 浮力调节系统设计及控制策略研究[D]. 天津大学, 2017. 开始步入正文 01 王佳.…

SQLite3 数据库学习(六):Qt 嵌入式 Web 服务器详解

参考引用 SQLite 权威指南&#xff08;第二版&#xff09;SQLite3 入门 1. Apache 搭建 cgi 环境 1.1 什么是 Apache Apache 是世界使用排名第一的 Web 服务器软件 它可以运行在几乎所有广泛使用的计算机平台上&#xff0c;由于其跨平台和安全性被广泛使用 1.2 具体搭建流程…

如何使用 Python+selenium 进行 web 自动化测试?

Selenium是一个自动化测试工具&#xff0c;它可以模拟用户在浏览器中的操作&#xff0c;比如点击、输入、选择等等。它支持多种浏览器&#xff0c;包括Chrome、Firefox、Safari等等&#xff0c;并且可以在多个平台上运行。 安装和配置Selenium 在使用Selenium之前&#xff0c…

Android组件化搭建学习

什么是组件化&#xff1f; 为什么要用组件化&#xff1f;在项目的开发过程中&#xff0c;随着开发人员的增多及功能的增加&#xff0c;如果提前没有使用合理的开发架构&#xff0c;那么代码会越来臃肿&#xff0c;功能间代码耦合也会越来越严重&#xff0c;这时候为了保证项目…

C百题--3.求未知数

1.问题描述 一个正整数&#xff0c;它加上100后是一个完全平方数&#xff0c;再加上168又是一个完全平方数&#xff0c;请问该数是多少&#xff1f; 2.解决思路 遍历这个数&#xff0c;让其从1开始&#xff0c;到100000结束 3.代码实现 #include<stdio.h> #include&…