基于quartus的高级时序分析
基于quartus的高级时序分析
一、派生时钟和异步存储器
派生时钟就是和独立时钟存在频率或者相位关系的时钟,异步存储器就是具有存储读写异步功能的存储器。在时序分析中,这两个部分的静态时序分析是需要设置个别约束的。派生时钟会产生时钟偏斜或者不同频率时序问题,异步存储器则类似latch,存在建立时间和保持时间的要求。
二、多时钟域约束
分别对独立时钟和衍生时钟做时序约束,保证其能够进行STA分析
三、多周期约束
(1)多周期约束定义
一般的时钟约束都是基于一个时钟周期的,以一个周期的边沿为数据变化条件。对于某些特殊的路径,可以以多个周期为触发条件,以便达到提高建立时间和调节保持时间的目的。具体到RTL层次上就是用一个技术信号控制时钟边沿是否读取数据。
(2)多周期约束方法
多周期约束需要设置的参数有两个:multicycle和multicycle hold;第一个是多少个时钟周期触发一次,直接对应建立时间,第二个是多少个周期保持不变。具体的方法还是在实际设计中操作。
(3)时钟使能
对于时钟使能信号,可以通过多周期约束模拟信号的触发间隔,可以提高静态时序的精确性。
(4)多周期约束的条件
多周期约束应当保证数据延时在保持时间和建立时间之间,这样才能满足时序约束。
(5)具体问题处理
1️⃣同频偏置信号
2️⃣高频信号到低频信号(存在倍频关系)
3️⃣低频信号到高频信号(存在倍频关系)

四、伪路径的剪除
1️⃣cut off foodback from I/O pins
去除双向IO的伪路径(从输入寄存器到输出寄存器)
2️⃣cut clear and preset paths
切除异步复位和置位端路径
3️⃣cut off read during write signals paths
不分析ESB(嵌入式系统块)路径
4️⃣cut paths between unrelated clocks
非相关时钟会被减除,需要和系统时钟建立关系约束
5️⃣cut timing path
手动去除路径分析
五、保持时间的修正
(1)使用多周期约束(2)减小偏斜skew(3)增加数据延时
时序约束的目标就是在预设时钟周期下,完成所有路径的建立时间和保持时间的成立等式。
六、异步时钟域中的分析
在静态时序分析时需要减除异步时钟域,使用伪路径实现两个时钟域的各自静态时序分析。一般的跨时钟域的通行采用握手信号的形式,具体的内容可以参考另外一篇笔记FPGA中的时钟域问题。
七、quartus中的最小化时序分析
quartsu中的时序分析报告默认在最差的情况下的时序分析,高温、低工艺、低压的状态下。也可以通过设置完成最小化时序分析(也就是最佳状况下的分析),注意会刷新原来的一般时序报告。约束方法就是在timing setting中设置好最小化的tsu、th和tpd,然后在tcl中输入 quartus_tan --min <project name>就可以实现最小化时序分析。
八、quartus中的TCL工具
quartus中支持TCL脚本语言,可以实现所有时序约束的操作。
九、TimeQuest简介
TimeQuest是quartus中的时序分析工具,能够分析不断发展的器件,相较于原先的tan,可以更好地完成静态时序分析。
基于quartus的高级时序分析的更多相关文章
- NetCore基于EasyNetQ的高级API使用RabbitMq
一.消息队列 消息队列作为分布式系统中的重要组件,常用的有MSMQ,RabbitMq,Kafa,ActiveMQ,RocketMQ.至于各种消息队列的优缺点比较,在这里就不做扩展了,网上资源很多. 更 ...
- 基于NEO4J的高级检索功能
基于NEO4J的高级检索 一.需求 二.创建索引 1.索引自动更新配置 2.执行带有索引自动更新配置的过程 三.查询索引 1.LUCENE查询语法 2.实现高级检索的核心:LUCENE QUERY语句 ...
- 基于JS的高级脚本语言 Sara
Sara-基于JS的高级脚本语言 欢迎使用Sara,Sara是一款基于JavaScript的全新的高级脚本语言! Sara不像我们工作室上一款编程语言作品-Ginit一样,他属于更高级的语言 Sara ...
- ExtJS4 自己定义基于配置的高级查询1
今天在编码过程中遇到一个问题,临时还没解决,先记录下来 上面是我做的高级查询面板..字段名和值都是读取配置文件,依据用户选择不同的字段名,自己主动载入不同的值列表,关系是与或 问题来了,我在字段名那个 ...
- Gartner:用自适应安全架构来应对高级定向攻击
发表于2015-06-24 摘要:当前的防护功能难以应对高级的定向攻击,由于企业系统所受到的是持续攻击,并持续缺乏防御力,面向“应急响应”的特别方式已不再是正确的思维模式,Garnter提出了用自 ...
- .NET Core微服务之基于EasyNetQ使用RabbitMQ消息队列
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.消息队列与RabbitMQ 1.1 消息队列 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...
- (2)socket的基础使用(基于TCP协议)
socket()模块函数用法 基于TCP协议的套接字程序 netstart -an | findstr 8080 #查看所有TCP和UDP协议的状态,用findstr进行过滤监听8080端口 服务端套 ...
- 中标麒麟高级服务器操作系统V6
平台: linux 类型: 虚拟机镜像 软件包: java-1.6.0 mysql-5.1.5 python-2.6 qt3-3.3.8b basic software linux neokylin ...
- 基于FPGA的DDS任意波形发生器设计
一.简介 DDS技术最初是作为频率合成技术提出的,由于其易于控制,相位连续,输出频率稳定度高,分辨率高, 频率转换速度快等优点,现在被广泛应用于任意波形发生器(AWG).基于DDS技术的任 ...
- 《unix环境高级编程》学习笔记【原创】
本文基于unix环境高级编程的学习的笔记,写的比较简如有不对,欢迎指点. 简单的描述下面函数的功能改变ctr+c信号原本的作用终止程序,在按下中断键的时候输出一句话. while循环主要读取用户的输入 ...
随机推荐
- Redis缓存相关的几个问题
1 缓存穿透 问题描述 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力. ...
- CSS加JS实现网页返回顶部功能
最近在设计自己的博客,前端页面在内容很多的时候往下拖动会有滚动条.通常我们都需要一个返回顶部的功能来实现快速来到网页顶部.当然实现方式不止一种,这里我采用的最实用的一种.使用CSS+Jquery方式 ...
- 《深入理解Java虚拟机》(二) GC 垃圾回收机制
@ 目录 一.概述 二.判断对象是否需要被回收方式 1.引用计数法: 2.可达性分析法: 三.垃圾收集算法 1.分代收集理论基础 2.标记-清除算法 3.复制-收集算法 4.标记-压缩(整理)算法 5 ...
- 最简最快了解RPC核心流程
本文主要以最简易最快速的方式介绍RPC调用核心流程,文中以Dubbo为例.同时,会写一个简易的RPC调用代码,方便理解和记忆核心组件和核心流程. 1.核心思想 RPC调用过程中,最粗矿的核心组件3个: ...
- 国内无法下载k8s镜像的解决办法
关于通过各种方法下载k8s相关镜像的方法总结如下: 1.使用Azure中国镜像站,目前限制只能"Azure China IP"可用,不再对外提供服务,此路不通. 2.直接使用mir ...
- Flutter——安装依赖包时,出现Waiting for another flutter command to release the startup lock
问题描述 运行 flutter packages get 时 出现 Waiting for another flutter command to release the startup lock 解决 ...
- linux下MariaDB安装
一条命令安装Mariadb 首先在/etc/yum.repos.d下创建一个MariaDB.repo文件 vim /etc/yum.repos.d/MariaDB.repo 添加以下配置 [maria ...
- zynq7000 I2C RTC 与 串口使用
RS485 串口 测试 硬件上2路串口,其中UART 1对应PS STD IN/OUT,UART 0对应RS485: 图 ‑1 RS485电路,自动转换输入.输出方向 可参考 https://blog ...
- RocketMQ(7) 消费幂等
1 什么是消费幂等 当出现消费者对某条消息重复消费的情况时,重复消费的结果与消费一次的结果是相同的,并且多次消 费并未对业务系统产生任何负面影响,那么这个消费过程就是消费幂等的. 幂等:若某操作执行多 ...
- CPNtools协议建模安全分析---实例变迁标记(五)
之前的说了库所的标记,现在我们开始加讲变迁标记 1.描述变迁的标记有四种类型,分别是变迁的标记,门卫的标记,世间的标记,代码片段的标记. 咋变迁中限制更严格的输入token,其中Code Segeme ...