vivado CDC约束-约束总线偏移

CDC限制

关于CDC约束

时钟域交叉(CDC)约束适用于具有不同启动和捕获时钟。根据发布和捕获时钟关系以及在CDC路径上设置的定时异常。例如同步时钟之间但被错误路径约束覆盖的CDC路径不定时,并且因此被视为异步CDN。异步CDC路径可以是安全的,也可以是不安全的。安全和不安全的术语异步CDC路径与用于时钟间时序分析的术语不同请参见report_clock_interaction)。异步CDC路径在使用同步电路,以防止捕获顺序单元的亚稳态。有关更多信息,请参阅Vivado Design Suite用户指南中的此链接:设计分析和闭合技术(UG906)。

使用set_false_pathset_clock_groups约束,或通过使用set_max_delay进行部分分析-仅数据路径。此外,多位CDC路径捕获时间分布可能受到限制使用set_bus_skew约束。

约束总线倾斜

关于母线倾斜约束总线偏斜约束用于设置几个之间的最大偏斜要求异步CDC路径。总线偏斜不是与定时相关联的传统时钟偏斜路径相反,它对应于所有路径上的最大捕获时间差由相同的set_bus_skew约束覆盖。总线偏斜要求适用于两个Fast和慢速拐角,但不会跨拐角进行分析。

总线偏斜约束的目的是限制可以启动的源时钟边沿的数量数据,并由单个目的地时钟边沿捕获。容忍度取决于疾病控制与预防中心用于受约束路径的同步方案。通常使用总线偏斜约束对于以下CDC拓扑结构:

•格雷码总线传输,如异步FIFO

•使用CE、MUX或MUX Hold电路实现的多位CDC

•配置寄存器

尽管set_bus_skew命令不会阻止在安全定时的同步CDC,不需要这样的约束。设置和保持检查已经确保了在两个安全定时的同步CDC路径之间的安全传输。总线偏斜约束的CDC场景为:

总线偏斜约束的CDC场景为:

•覆盖了set_clock_groups的异步CDC

•异步CDC完全覆盖了set_false_path和/或set_max_delay-仅数据路径

•覆盖有set_false_path和/或set_max_delay的同步CDC路径-仅数据路径

总线偏斜约束不是定时例外;相反,这是一个时间断言。因此,它不干扰定时异常(set_clock_group、set_false_path、set_clock_group),set_max_delay、set_max_delay-datapath_only和set_multipcycle_path)和他们的优先权。总线偏斜约束仅通过route_design命令进行优化。报告set_bus_skew约束,使用命令行中的report_bus_skew命令或报告 → 时间安排 → 从GUI报告总线倾斜。未报告总线偏斜约束在Timing Summary报告(report_Timing_Summary)中。

set_bus_skew命令的语法

带有基本选项的set_bus_skew命令的语法为:

set_bus_skew [-from <args>] [-to <args>] [-through <args>] <value>

-from选项的对象列表应该是有效起点的列表。的有效起点set_bus_skew是顺序元件的时钟引脚,如寄存器或RAM,或单元它本身set_bus_skew不支持输入(或inout)端口。-to选项的节点列表应该是有效端点的列表。的有效终结点set_bus_skew是顺序单元格或单元格本身的数据引脚。输出(或输入输出)端口不是由set_bus_skew支持。

through选项的节点列表应该是有效引脚或网络的列表。总线偏斜值必须现实合理。AMD建议使用更大的值超过源时钟和目标时钟的最小周期的一半。的建议值总线偏斜还取决于CDC拓扑结构,如以下示例所示。

set_bus_skew示例一

在本例中,CDC是握手机制的一部分。源时钟域生成当数据可用于采样时发送信号。目标时钟域使用4阶段用于发送信号的同步器。在4级同步器之后,信号驱动时钟启用CDC目标寄存器的引脚。在这种时钟使能控制CDC结构中总线偏斜必须根据CE路径上的级数进行调整,因为它代表数据有效的目标时钟周期数。

如果源时钟周期为5ns,而目标时钟周期为2.5ns,则总线在CDC路径应设置为10 ns(4×2.5 ns)。

set_bus_skew -from [get_cells src_hsdata_ff_reg*] -to [get_cells
dest_hsdata_ff_reg*] 10.000
set_max_delay -datapath_only -from [get_cells src_hsdata_ff_reg*] -to
[get_cells dest_hsdata_ff_reg*] 10.000

set_bus_skew示例二

在这个例子中,疾病控制与预防中心在一辆灰色编码的公交车上。系统必须确保只有一个目的时钟域同时捕获灰度编码总线的转变。如果源时钟周期为5ns,而目标时钟周期为2.5ns,则总线在CDC路径应设置为2.5 ns(目标时钟周期)。

set_bus_skew -from [get_cells src_gray_ff_reg*] -to [get_cells
{dest_graysync_ff_reg[0]*}] 2.500
set_max_delay -datapath_only -from [get_cells src_gray_ff_reg*] -to
[get_cells
{dest_graysync_ff_reg[0]*}] 5.000

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

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

相关文章

vue 导出 HTML 结构为 Word 文档(.docx)-支持表格、css样式、图片

在 Web 开发中&#xff0c;有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档&#xff0c;以便更方便地分享和打印。本文将介绍如何使用 html-docx-js 和 file-saver 这两个 JavaScript 库&#xff0c;实现将 HTML 结构导出为 Word 文档的功能。 工具简介 1. html-d…

lv13 内核模块参数和依赖

1 模块传参 1.1 模块参数设置 将指定的全局变量设置成模块参数 module_param(name,type,perm);//将指定的全局变量设置成模块参数 /* name:全局变量名 type&#xff1a;使用符号 实际类型 传参方式bool bool insmod xxx.ko 变量名0 …

进阶学习——Linux系统磁盘管理与文件系统

目录 一、磁盘 1.认识磁盘 2.分区 2.1MBR&#xff08;Master Boot Record&#xff09;——主引导记录 2.2GPT分区 2.3磁盘分区结构 3.文件系统 3.1文件系统组成 3.1.1XFS ext4 3.1.2swap 3.1.3FAT16、FAT32 3.1.4NTFS&#xff08;xfs&#xff09; 3.1.5EXT4 3…

[Angular] 笔记 9:list/detail 页面以及@Output

1. Output input 好比重力&#xff0c;向下传递数据&#xff0c;list 传给 detail&#xff0c;smart 组件传给 dumb 组件&#xff0c;父组件传给子组件。input 顾名思义&#xff0c;输入数据给组件。 output 与之相反&#xff0c;好比火箭&#xff0c;向上传递数据或事件。ou…

vue3 v-model语法糖

vue2 中父子组件数据同步 父→子 子→父 如何实现&#xff1f; v-model“count” 或者 xxx.sync“msg” v-model 语法糖 完整写法 :value“count” 和 input“count$event” xxx.sync 语法糖 完整写法 :xxx“msg” 和 update:xxx“msg$event” 现在&#xff1a;一个 v-mo…

云计算IaaS、PaaS和SaaS之

提供的服务来比较如下两图 示例图 示例图

整数规划-割平面法

整数规划-割平面法 割平面法思想Gomorys割平面法原理实例 谨以此博客作为学习期间的记录。 割平面法思想 在之前&#xff0c;梳理了分支定界法的流程:分支定界法 除了分支定界法&#xff0c;割平面法也是求解整数规划的另一个利器。 我们已经知道&#xff0c;线性规划的可行域…

vscode软件安装步骤

目录 一、下载软件安装包 二、运行安装包后 一、下载软件安装包 打开vscode官方网址&#xff0c;找到下载界面 链接如下&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 我是windows电脑&#xff0c;各位小伙伴自己选择合适的版本&#xff0c;点击下载按钮…

从数据洞察到市场变革:我们的 Web3 愿景

shellyfootprint.network 2023 年&#xff0c;我们见证了加密市场的潮起潮落&#xff0c;在这个不断变化的世界中&#xff0c;我们始终坚守着创新的信念&#xff0c;致力于打造强大的数据分析工具。 我们深知&#xff0c;开拓创新是推动 Web3 发展的关键。因此&#xff0c;我…

基于虚拟机ubuntu的linux和shell脚本的学习,以及SSH远程登陆实战

简介 特点 是一款操作系统,跟windows,macos一样,有下面的特点 简单和高效,一切皆文件,所有配置都通过修改文件解决,不需要繁琐的权限和设置 权限高,把所有细节都交给用户,可完全自定义 安全,所有程序只有自己执行才会启动 分类 1、debian系主要有Debian&#xff0c;Ubun…

ESP32入门六(读取引脚的模拟信号[3]:信号出现误差的原因[硬件篇])

在之前的文章中&#xff0c;我们介绍了ESP32在读取模拟信号时出现的误差的软件方面原因&#xff0c;在这一篇中&#xff0c;将会介绍并测试由于硬件或其它方面导致数据出现误差的原因。 一、厂商原因 首先&#xff0c;我们需要知道&#xff0c;在每块EPS32中&#xff0c;在出…

海凌科HLK-V2语音识别模块更新词条

简介 HLK-V20 是海凌科的离线语音识别模块, 中英文不同时支持, 只支持中文/英文, 具体识别看每次的SDK更新设置;资料下载 可以在微信公众包搜索海凌科或HI-LINK, 下载资料 感知模块->HLK-V20 模块限制 中英文被限制, 需要根据你在官网设置的SDK信息进行确定;可以仅设置3…

goframe v2 模板引擎的用法

这里用的goframe v2框架 提醒&#xff1a;下面的import 引入的控制器和api&#xff0c;根据自己实际项目路径 main函数 import ("context""github.com/gogf/gf/v2/net/ghttp""github.com/gzdzh/dzhgo/modules/dzhCms/controller/web""gith…

mysql_存储过程

举例子 createdefiner root% procedure insert_batch_test(IN START int(10), IN max_num int(10)) BEGINDECLAREi INT DEFAULT 0;SET autocommit 0;REPEATSET i i 1;INSERT INTO test (std, score)VALUES (CEILING(RAND() * 10 100), CEILING(RAND() * 50 50));UNTIL i …

STM32移植LVGL图形库

1、问题1&#xff1a;中文字符keil编译错误 解决方法&#xff1a;在KEIL中Options for Target Flash -> C/C -> Misc Controls添加“--localeenglish”。 问题2&#xff1a;LVGL中显示中文字符 使用 LVGL 官方的在线字体转换工具&#xff1a; Online font converter -…

FFmpeg在线转码(FFmpeg网页版)

FFmpeg在线转码&#xff08;FFmpeg网页版&#xff09; FFmpeg在线转码。FFmpeg网页版。在线音视频转码&#xff0c;格式转换。通过浏览器轻松转换视频和音频格式。 原文链接&#xff1a;https://blog.gcc.ac.cn/post/2023/ffmpeg_online_converter/ FFmpeg在线转码&#xff…

深入浅出理解TensorFlow的padding填充算法

一、参考资料 notes_on_padding_2 二、TensorFlow的padding算法 本文以TensorFlow v2.14.0版本为例&#xff0c;介绍TensorFlow的padding算法。 1. 引言 tf.nn.conv2d and tf.nn.max_pool2d 函数都有padding参数&#xff0c;在执行函数之前&#xff0c;都需要进行填充padd…

力扣(leetcode)第205题同构字符串(Python)

205.同构字符串 题目链接&#xff1a;205.同构字符串 给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符…

Git三种方法从远程仓库拉取指定分支

克隆指定分支 git clone -b dev开发分支 https://github.com/521/springboot-rabbitmq.git切换到远程分支 git checkout -b dev开发分支 origin/dev开发分支参考 Git三种方法从远程仓库拉取指定的某一个分支

【MediaPlayerSource】播放器源内部的音视频sender的创建和使用

来看下声网播放中的sender相关组件设计:MediaPlayerSourceDummy 是一个MediaPlayerSourceImpl ,输入音视频帧到 播放器。player_worker_ 线程触发所有操作,由外部传递,与其他组件公用 MediaPlayerSourceDummy(base::IAgoraService* agora_service, utils::worker_type play…