vivado 时序异常

时序异常

关于定时例外

当逻辑的行为方式未被正确计时时,需要计时异常违约任何时候都必须使用计时异常命令来处理计时不同地(例如,对于每隔一个时钟周期仅捕获结果的逻辑设计)。

AMD Vivado™IIDE支持下表中显示的定时异常命令:

多循环路径

多循环路径约束允许您修改已确定的设置和保持关系由定时器基于设计的时钟波形来执行。默认情况下,Vivado IDE计时引擎执行单循环分析。这种分析可能过于严格,不适合某些逻辑路径。最常见的例子是需要一个以上时钟周期的逻辑路径要在端点处稳定的数据。如果路径起点和终点的控制电路允许它,AMD建议您使用多周期路径约束来放宽设置要求。保留要求可能仍然保持原始关系,这取决于您的意图。这帮助定时驱动算法专注于其他要求更严格的路径这是具有挑战性的。它还可以帮助减少运行时间。

设置路径乘法器和时钟边沿

set_multycle_path命令用于修改路径要求乘数(用于设置分析、保持分析或两者)。

set_multipcycle_path语法

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

set_multicycle_path <path_multiplier> [-setup|-hold] [-start|-end]
[-from <startpoints>] [-to <endpoints>] [-through <pins|cells|nets>]

您必须指定<path_multiplier>。计时器使用的默认值为:

•1个用于设置分析(或恢复)

•0用于保留分析(或删除)

保留关系与设置关系相关联。使用以下公式检索大多数常见情况下的保持周期数:保持周期=<设置路径乘数>-1-<保持路径乘数>

•默认情况下,设置路径乘数是相对于目标时钟定义的。到修改关于源时钟的设置要求,使用-start选项。

•类似地,保持路径乘法器是相对于源时钟定义的。要修改保持目标时钟的要求,使用-end选项。

下表总结了活动启动和捕获边缘如何受到-开始和结束选项。

以下部分介绍了常见的多循环路径约束场景,并说明了设置和保持乘数以及开始和结束选项对时序路径的影响要求.

单时钟域中的多循环

在同一时钟域内或具有的两个时钟之间定义的多周期约束相同的波形(无相移)以相同的方式工作。如下图所示。

由静态时序分析(STA)解析的默认设置和挂起关系

工具如下图所示。

设置和保持时间要求为:

•设置检查

t数据路径(最大值)<TCLK(t=周期)-t设置

•保持检查

t数据路径(min)>TCLK(t=0)+t旧

保持保持的同时放松设置

下图显示了每两个周期启用一次的两个触发器之间的路径。是的可以安全地在此路径上定义多循环路径约束,以指示目标时钟未激活,只有目标时钟的第二个边缘将捕获新数据。

以下约束将建立新的设置关系:

set_multicycle_path 2 -setup -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]

Vivado Design Suite用户指南中的此链接:设计分析和闭合技术(UG906)描述了保持关系是如何从设置关系导出的。修改时设置关系、保留关系也会进行修改,以遵循设置中的更改发射和捕获边缘。

在与图61相同的示例中,将设置检查移动到第二个捕获边缘后保持检查自动移动到第一个捕获边缘(即设置检查)。下图显示了仅当设置路径乘数已经用多循环路径约束来定义。

此路径不需要将数据保存在data0_reg中一个周期即可正常工作,因为

到时钟使能。在这种情况下,AMD建议将保留关系更改回

原始,位于相同的启动和捕获边缘之间。要执行此操作,您必须添加第二个

仅修改保留检查的多循环路径约束:

set_multicycle_path 1 -hold -end -from [get_pins data0_reg/C] \
-to [get_pins data1_reg/D]

-end选项与set_multycle-hold命令一起使用,因为

捕获时钟必须向后移.

下图显示了应用两者后更新的设置和保持关系多循环路径约束。

为了总结此示例,以下约束对于正确定义data0_reg/C和data1_reg/D之间的二(2)的多循环路径:

set_multicycle_path 2 -setup -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]
set_multicycle_path 1 -hold -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]

对于设置乘数为四(4)的多循环,约束条件为:

set_multicycle_path 4 -setup -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]
set_multicycle_path 3 -hold -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]

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

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

相关文章

浅谈Redis分布式锁(中)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 我们在不久前介绍了Spr…

基于电商场景的高并发RocketMQ实战-NameServer内核原理剖析、Broker 主从架构与集群模式原理分析

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 【11来了】文章导读地址&#xff1a;点击查看文章导读&#xff01; &#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f3…

线性回归简介

线性回归简介 1、情景描述2、线性回归 1、情景描述 假设&#xff0c;我们现在有这么一张图&#xff1a; 其中&#xff0c;横坐标x表示房子的面积&#xff0c;纵坐标y表示房价。我们猜想x与y之间存在线性关系&#xff1a; y k x b ykxb ykxb 现在&#xff0c;思考一个问题&…

Redis数据一致解决方案

文章目录 前言技术积累查询缓存业务流程更新缓存业务流程 更新缓存问题解决方案写在最后 前言 当前的应用服务很多都有着高并发的业务场景&#xff0c;对于高并发的解决方案一般会用到缓存来降低数据库压力&#xff0c;并且还能够提高系统性能减少请求耗时&#xff0c;比如我们…

Pytorch项目,肺癌检测项目之四

# 安装图像处理 的两个包 simpleITK 和 ipyvolume # 安装缓存相关的两个包 diskcache 和 cassandra-driver import gzip from diskcache import FanoutCache, Disk from cassandra.cqltypes import BytesType from diskcache import FanoutCache,Disk,core from diskcache…

c语言的练习---BCD解密

#继续源于c语言翁恺先生 一.分析 初看这道题的时候&#xff0c;可能很多人就想选择放弃&#xff0c;但这道题实在不是考察我们对于编码的能力&#xff1b;而是我们的数学能力。 就拿它的输入样例---18&#xff0c;来举例。 我们来看---在十进制中&#xff0c;是18D&#xf…

论文笔记--Learning Political Polarization on Social Media Using Neural Networks

论文笔记--Learning Political Polarization on Social Media Using Neural Networks 1. 文章简介2. 文章概括3. 相关工作4. 文章重点技术4.1 Collection of posts4.1.1 数据下载4.1.2 数据预处理4.1.3 统计显著性分析 4.2 Classification of Posts4.3 Polarization of users 5…

C++ vector的模拟实现

一 vector的大致框架 1.1 框架 vector的成员变量不再是我们熟悉的size&#xff0c;capacity&#xff0c;而是变成了功能一致的三个指针&#xff1a;_start,_finish,_endofstorage&#xff0c;三个指针的作用如下&#xff1a; 同时&#xff0c;因为其本身指针的特性&#xff0c…

工具:meson+ninja(安装问题解决)

问题1&#xff1a;Python版本问题 报错信息&#xff1a; NOTICE: You are using Python 3.6 which is EOL. Starting with v0.62.0, Meson will require Python 3.7 or newer ubuntu 18默认的python3是3.6. 解决方案1&#xff1a;从源码安装python 3.7 wget https://www.pyth…

阿里云江苏省中小企业补贴5000元上云补贴金

阿里云「数智惠企」中小企业补贴&#xff0c;江苏区域企业提交申请内部评估及审批通过后&#xff0c;即可获取上云补贴金&#xff0c;使用补贴金购买指定云产品&#xff0c;满10000元即可立减5000元&#xff0c;请抓紧申领。阿里云百科 aliyunbaike.com 分享江苏区域5000元上云…

Postman创建及删除workspace工作空间

文章目录 一、Postman创建workspace工作空间二、Postman删除workspace工作空间 一、Postman创建workspace工作空间 打开Postman 点击 Workspaces → Create Workspaces 如图所示操作 工作空间创建完成 二、Postman删除workspace工作空间 点击 Workspaces → 选择要删除…

【pynput】鼠标行为追踪并模拟

文章目录 前言基本思路安装依赖包实时鼠标捕获捕获鼠标位置捕获鼠标事件记录点击内容 效果图 利用本文内容从事的任何犯法行为和开发与本人无关&#xff0c;请理性利用技术服务大家&#xff0c;创建美好和谐的社会&#xff0c;让人们生活从繁琐中变得更加具有创造性&#xff01…