首页 > 其他分享 >vivado 时序约束1

vivado 时序约束1

时间:2024-01-11 16:22:33浏览次数:35  
标签:异步 CDC 路径 约束 vivado 时序 时钟

1.常见的xdc约束命令

2.对异步时钟进行时序约束
对异步时钟组和时钟域交汇进行约束
在“Clock Interaction”(时钟交互)报告中可快速明确异步关系:无公用基准时钟的时钟对或者无公共周期(未扩展)的时钟对。即使时钟周期相同,从不同时钟源生成的时钟仍为异步关系。必须仔细审查异步“Clock Domain Crossing (CDC)”(时钟域交汇 (CDC))路径以确保这些路径使用的同步电路正确,此类同步电路不依赖时序正确性,并且可以最大限度降低发生亚稳态的概率。异步 CDC 路径通常具有较高的偏差要求和/或不现实的路径要求。因此不应使用默认时序分析来对其进行时序约束,此分析无法证明其能否在硬件中正常工作。

Report CDC
Report CDC (report_cdc) 命令可执行设计中时钟域交汇的结构分析。您可使用此信息来识别潜在不安全的 CDC,此类 CDC 可能导致亚稳态或数据一致性问题。Report CDC 类似于“Clock Interaction”(时钟交互)报告,但 Report CDC 侧重于结构和相关的时序约束。Report CDC 不提供时序信息,因为时序裕量对于跨异步时钟域的路径没有意义。

Report CDC 可识别如下最常见的 CDC 拓扑结构:

单位同步装置
多位总线同步装置
异步复位同步装置
由 MUX 和 CE 控制的电路系统
同步装置前组合逻辑
多时钟扇入到同步装置
扇出到目标时钟域
如需了解有关 report_cdc 命令的更多信息,请访问此链接以参阅 Vivado Design Suite 用户指南:设计分析与收敛技巧(UG906) 中的相应内容。另请参阅 Vivado Design Suite Tcl 命令参考指南(UG835) 中的 report_cdc。

应采用特定约束以避免异步时钟域交汇上执行默认时序分析。

双向时钟间的全局约束
对应各 CDC 路径的约束
双向时钟间的全局约束
如果无需限制最大时延,即可使用时钟组。以下是忽略 clkA 与 clkB 之间的路径的示例:

set_clock_groups -asynchronous -group clkA -group clkB
当 2 个主时钟及其相应的生成时钟构成 2 个异步域,并且这 2 个异步域之间的所有路径均已正确完成同步时,即可立即对多个时钟应用时钟组约束:

set_clock_groups -asynchronous \
-group {clkA clkA_gen0 clkA_gen1 …} \
-group {clkB clkB_gen0 clkB_gen1 …}
或者直接执行:

set_clock_groups -asynchronous \
-group [get_clocks -include_generated_clock clkA] \
-group [get_clocks -include_generated_clock clkB]
对应各 CDC 路径的约束
如果 CDC 总线使用格雷编码(例如,FIFO)或者如果需要限制 1 个或多个信号上的 2 个异步时钟之间的时延,则必须使用 set_max_delay 约束及 -datapath_only 选项来忽略这些路径上的时钟偏差和抖动,并覆盖时延要求的默认路径要求。通常使用源时钟周期作为最大延迟值就足够了,这只是为了确保在任意给定时间,CDC 路径上最多仅存在一项数据。

当时钟周期之间的比率较高时,选择源时钟周期和目标时钟周期的最小值同样足以降低传输时延。简单标准的异步 CDC 路径的源时序单元与目标时序单元之间不应存在任何逻辑,因此实现工具很容易就可以满足“Max Delay Datapath Only”(仅最大延迟数据路径)约束。

某些异步 CDC 路径要求在总线的各个位之间施加偏移控制,而无需对总线时延施加约束。使用总线偏移约束可防止接收时钟域在同一时钟沿上锁存总线的多个状态。您可使用 set_bus_skew 命令来对总线设置总线偏移约束。例如,您可将 set_bus_skew 应用于使用格雷编码代替“Max Delay Datapath Only”(仅最大延迟数据路径)约束的 CDC 总线。欲知详情,请访问此链接以参阅 Vivado Design Suite 用户指南:使用约束(UG903) 中的相应内容。

对于不需要时延控制的路径,您可定义 1 个点对点伪路径约束。

时钟例外相对于 set_max_delay 的优先顺序
编写 CDC 约束时,请验证是否遵循相应的优先顺序。如果在 2 个时钟之间至少 1 条路径上使用 set_max_delay -datapath_only,那么无法在相同时钟之间使用 set_clock_groups 约束,并且只能在 2 个时钟之间的其他路径上使用 set_false_path 约束。

标签:异步,CDC,路径,约束,vivado,时序,时钟
From: https://www.cnblogs.com/lzykkk/p/17958828

相关文章

  • Spring中全局捕获数据库唯一约束等异常,返回友好提示给用户
    controller中有如下新增数据的代码@ApiOperation(value="add",notes="新增数据")@PostMapping("add")publicAjaxResultadd(@RequestBodyXxxx){returnAjaxResult.success(xxxService.save(x));}如果想实现数据唯一性检验,并提示用户有如下方法方法一:代码逻辑层面......
  • NeurIPS'23 Paper Digest | PromptTPP: Prompt Pool 与时序点过程模型的持续学习
    为期一周的人工智能和机器学习领域顶级会议 NeurIPS 已于当地时间 12 月 16 日圆满结束。蚂蚁集团有 20 篇论文被本届会议收录,其中《Prompt-augmented Temporal Point Process for Streaming Event Sequence》由蚂蚁集团研究并撰写,作者包括薛思乔、王言、褚志轩、师......
  • NeurIPS'23 Paper Digest | PromptTPP: Prompt Pool 与时序点过程模型的持续学习
    为期一周的人工智能和机器学习领域顶级会议 NeurIPS 已于当地时间 12 月 16 日圆满结束。蚂蚁集团有 20 篇论文被本届会议收录,其中《Prompt-augmented Temporal Point Process for Streaming Event Sequence》由蚂蚁集团研究并撰写,作者包括薛思乔、王言、褚志轩、师......
  • 27.SQL 约束 - 默认值
    目录 默认值字段指定默认值默认值 默认值约束:用来指定某列的默认值语法:列名字段类型DEFAULT默认值字段指定默认值 --创建带有默认值的表CREATETABLEemp7(eidINTPRIMARYKEYAUTO_INCREMENT,enameVARCHAR(20),--为sex......
  • 26.SQL 约束 - 唯一约束
    目录 唯一约束添加唯一约束主键约束与唯一约束的区别唯一约束 唯一约束:表中的某一列的值不能重复对NULL不做唯一的判断语法:列名字段类型UNIQUE添加唯一约束 --创建带有唯一约束的表CREATETABLEemp6(eidINTPRIMARYKEYAUTO_IN......
  • 1-1-04 VIVADO设置VSCODE为第三方编译器
    使用第三方编辑工具可以让开发代码变的更加高效,vscode是非常好用的第三方编辑器,下面我们演示如何vivado中设置vscode为第三方编译器双击打开vivado程序点击设置选择代码编译器"TextEditor"选择编辑器,里面包含Notepad++等各类编译器,但是我们要设置的VSCODE并不包含在里面......
  • 1-1-02 AMD(XILINX) FPGA开发工具Vitis(vivado)安装
    1.1Vitis概述Vitis统一软件平台可实现在Xilinx异构平台(包括FPGA、SoC和VersalACAP)上开发嵌入式软件和加速应用。它可为边缘、云和混合计算应用加速提供统一编程模型。利用与高层次框架的集成,通过加速库采用C、C++或Python进行开发,或者使用基于RTL的加速器和低层次......
  • 35 VIVADO用户IP软件总线接口封装
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!1概述使用VIVADO基于图形化创新编程FPGA的方式可以大大提高FPGA编程效率,但是前提是把代码打包成图形化的IP......
  • 36 高效的VIVADO BlockDesign设计方法
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!1概述由于VIVADO图形化的编程方式中大量应用,所以我们大部分时候都需要对IP进行图形化的封装,前面两节课实验,......
  • 34 VIVADO自定义IP简单封装方法
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!1概述XILINX作为FPGA全球老大,不仅仅是硬件技术实力,而且EDA软件也是非常优秀,XILINXVIVADO是业内最先进的开......