FPGA时序分析与时序约束(二)——时钟约束

FPGA时钟约束 FPGA时钟约束 时钟约束概念 建立时间约束:在clk上升沿到来之前,数据提前一个最小时间量“预先准备好”,这个最小时间量就是建立时间;建立时间出现时序不过时,需要增加时钟周期。 保持时间约束:在clk上升沿来之后,数据必须保持一个最小时间量“不能变化”,这个最小时间量就是保持时间;保持时间出现时序不过时,设计种需要增加组合逻辑电路,增加传输时间。 为了更好的理解建立时间约束和保持时间约束,先介绍SR锁存器、D锁存器、D触发器。 SR锁存器 SR锁存器是最简单的时序电路,SR锁存器的功能:输入R复位,输 阅读详情
AI摘要

本文详细介绍了FPGA时序约束的各个步骤,包括时钟约束(主时钟、虚拟时钟、衍生时钟等)、时序路径分析、时序组和特性约束,以及如何通过FPGA开发工具或Tcl脚本进行约束。重点讨论了时钟网络延时、抖动和不确定性的影响。

目录

一、时序约束的步骤

二、时序网表和路径

2.1 时序网表

2.2 时序路径 

三、时序约束的方式

三、时钟约束

3.1 主时钟约束

3.2 虚拟时钟约束

3.3 衍生时钟约束

3.4 时钟组约束

3.5 时钟特性约束

3.6 时钟延时约束


一、时序约束的步骤

        上一章了解了时序分析和约束的很多基本概念(FPGA时序分析与时序约束(一)),只需要去理解如何进行时序分析即可,而我们只需要对综合工具提出时序约束的要求,综合工具就会对这些路径进行计算。而时序约束可以分为四个主要步骤进行:

1.时钟约束(Create Clock):主时钟、虚拟时钟、衍生时钟;
2.输入/输出接口约束(Input/Output Delays,I/O约束):系统同步接口、源同步接口;
3.时钟分组和跨时钟约束(Clock Groups and CDC):异步;
4.时序例外约束(Timing Exceptions):多周期路径、虚假路径。

        而一般时序分析会涉及三种情况:

最好的条件(Best Case):速度最快的情况;

最坏的条件(Worst Case):速度最慢的情况;

典型的条件(Typical Case):速度介于最快和最慢之间。

        这三种情况分别对应如下细节:

BCF(Best Case):fast process, lowest temperature, high voltage;
WCS (Worst Case):slow process, high temperature, lowest voltage;
TYP(Typical Case):typical process, nominal temperature, nominal voltage.

        其中芯片工艺(process)、电压(voltage)、温度(temperature) 共同组成了PVT组合,时序分析工具会根据仿真需求使用不同的PVT组合用于STA分析。

        芯片的工艺角(Process corner)分为快速工艺角(fast corner)、慢速工艺角(slow corner)、典型工艺角(typical corner)。时序分析工具通过Worst corner 保证建立时间的时序,通过Best corner来保证保持时间的时序。由于一般情况下设计以建立时间违例为主,所以时序分析工具默认使用slow corner。

二、时序网表和路径

2.1 时序网表

        时序网表包含设计的综合节点和连接,时序分析工具需要网表来执行时序分析。而时序网表将设计单元划分成单元、管脚、网络和端口来进行延迟的测量。

  • Cell : FPGA中的基本结构单元,包含查找表、寄存器、DSP、I/O单元等;
  • Pin : Cell的输入输出端口(这里的Pins不包括器件的输入输出引脚);
  • Net : 两个或多个互连组件的集合;
  • Port : 顶层逻辑的输入输出端口,对应已经分配的器件引脚。 

2.2 时序路径 

        时序分析工具对设计中确定的所有时序路径的时序性能进行测量,时序路径分为四种:

  • 边沿路径 (Edge paths) —从端口到管脚,从管脚到管脚以及从管脚到端口的连接;
  • 时钟路径(Clock paths)—从器件端口或内部生成的时钟管脚到寄存器的时钟管脚的连接;
  • 数据路径(Data paths)—从顺序单元的端口或数据输出管脚到另一个顺序单元的端口或数据输入管脚的连接;
  • 异步路径(Asynchronous paths)—从另一个顺序单元(例如异步复位或异步清除)的异步管脚或端口的连接。

三、时序约束的方式

        到现在位置,时序约束的概念、步骤、顺序等都概念都有所了解了,那么到底怎么样进行时序约束呢?时序约束的方式主要有两种:

1.通过FPGA开发工具进行约束,Intel的是Timing Analyzer,Xilinx的是Vavado

2.通过Tcl语言手动编写约束脚本

三、时钟约束

3.1 主时钟约束

        主时钟通常是FPGA器件外部的板级时钟(如晶振、数据传输的同步时钟等)或FPGA的高速收发器输出数据的同步恢复时钟信号等。

        通过create_clock命令可对主时钟进行约束定义:

create_clock -name<cl
vivado 时序约束 XDC的基本语法可以分为时钟约束、IO约束以及时序例外约束,对一个设计进行约束的先后顺序也可以按照这三类约束依次进行。 时钟约束 时钟约束必须最早创建,端口进来的主时钟以及GT的输出RXCLK/TXCLK都必须由用户使用create_clock自主创建。如果是差分输入的时钟,可以仅在差分对的P侧用get_ports获取端口,并使用create_clock创建。 create_clock... 阅读详情

相关推荐

FPGA时序分析—vivado篇

FPGA时序分析—vivado篇 最近看了看了一篇《vivado使用误区与进阶》的文章,觉得写得挺不错了,看完后自己对时序分析又有了更深一层的理解,故记录下来。可能排版有些乱,有些图都是直接从文章中截取,但是不影响阅读。 时序分析的基本步骤...

wenjia7803的博客 1万+

FPGA时序分析与时序约束(一)——基础知识

FPGA的时序分析与约束需要设计者根据实际的系统功能,通过时序约束的方式提出时序要求;FPGA编译工具根据设计者的时序要求,进行布局布线;编译完成后,FPGA编译工具还需要针对布局布线的结果,套用特定的时序模型,给出最终的时序分析和报告;设计者通过查看时序报告,确认布局布线后的时序结果是否满足设计要求。

STATEABC的博客 6731

FPGA 静态时序分析与约束(1)

静态时序分析与约束中的概念项目总结时序术语总结与解释参考文献 项目总结 静态时序分析是指我们手动或者EDA工具按照芯片寄存器、查找表、内部连线所需要的固定的时间分析时序路径是否有违例的情况,并进行相应的约束。既然有静态时序分析,那么肯定有动态时序分析。动态时序分析也就是我们常说的后仿真,在实际中很少用到。静态时序分析一定要把握好以下前提: 1、静态时序分析时一定要绑好FPGA的引脚,否则布局布线没...

zhangningning1996的博客 5056

FPGA时序分析与时序约束(五)——使用Timing Analyzer进行时序分析与约束

通过Quartu自带例程fir_filter进行学习如何使用Timing Analyzer进行时序分析与约束。

STATEABC的博客 5042

FPGA 静态时序分析与约束(2)

Quartus II时序约束工具简要操作项目简述时序约束步骤约束时钟创建输入时钟创建生成时钟约束自己分频的时钟输入延迟的约束输出延迟的约束设置时序例外设置多周期路径设置false路径操作小结总结 项目简述 这里提醒,在看这篇文章之前一定要先把前一篇时序约束的文章看完,前面一篇才是重点,这篇就是一些简单的工具使用。 我们前面的一篇博客已经讲解了FPGA内部、IO接口的延迟约束。对建立时间、保持时间进行了深入的讲解,并且通过几个例子让大家明白了input delay max、input delay min、ou

zhangningning1996的博客 4053

时序约束实战(vivado中时序分析软件的使用)

FPGA(vivado)时序约束的步骤实现

居安士的博客 5039

FPGA时序约束(一)基本概念入门及简单语法

文章目前大部分参考明德扬时序约束,只是一个学习总结,侵权删。

贾saisai的博客 1万+

时序分析、时序约束和时序收敛(1)--时序分析、时序约束和时序收敛分别都是什么?

什么是时序分析?什么是时序约束?什么又是时序收敛?

孤独的单刀 2万+

嵌入式开发面试题全解析:指针、内存、数据类型关键问题总结

本文对嵌入式开发典型面试题进行深度解析,涵盖多方面关键知识。题目 19 揭示字符指针修改字符串常量的错误操作;题目 20 展现strcpy引发的缓冲区溢出风险;题目 21 体现未初始化数组与strlen结合的不可预测性;题目 22 通过位域与对齐规则计算结构体大小;题目 23 因unsigned char溢出导致循环异常。这些题目全面覆盖指针操作、内存管理、数据类型特性等核心内容,精准指出开发中易疏忽的陷阱,有助于理解编程规范,规避风险,提升代码质量与稳定性,是深入掌握嵌入式开发要点的实用指南。

嵌入式中手 1364

k8s集群部署私有镜像仓库

本文介绍了在Kubernetes集群中部署私有镜像仓库的完整方案。使用registry:2镜像创建Deployment,通过NodePort(30500)暴露服务,并采用hostPath(/data/registry)实现数据持久化。部署过程包括节点标记、YAML配置、资源创建及验证步骤,同时提供了Docker和Containerd两种环境下的详细使用方法,包括配置不信任私有仓库、镜像推送/拉取操作指南。该方案特别适合开发测试环境,为团队提供便捷的本地镜像管理能力。

weixin_42728286的博客 892

如何在 VMware Workstation 虚拟机中利用 Nvidia 显卡的硬件加速功能

本文详细介绍了在VMware Workstation虚拟机中配置Nvidia显卡硬件加速的完整流程。重点包括:检查硬件兼容性、安装显卡驱动、编辑VMware配置文件启用PCI直通功能(需修改config.ini文件参数)、为虚拟机分配PCI设备等关键步骤。文章特别强调了配置注意事项,如系统资源需求、BIOS设置要求、驱动兼容性等问题,并建议操作前备份数据。通过此方法可实现虚拟机对Nvidia显卡的直接调用,适用于需要GPU加速的计算场景。

qq_39777550的博客 6695

【机器学习系列】一文搞懂 零知识机器学习(zkML)

位串行乘法器:实现了Booth编码优化,将乘法分解为移位-加法序列,减少部分积数量50%:模拟脉动阵列的2D网格计算,支持分块(tiling)策略优化内存层次卷积映射:提供直接卷积(行缓冲+滑动窗口)和im2col+GEMM两种硬件映射策略。

VectorShift的博客 154

【科研建模】Pycaret自动机器学习框架使用流程及多分类项目实战案例详解

对pycaret的使用流程进行梳理,并详细介绍了基于多分类预测的案例

lys_828的博客 780

SAP RAP 里的 EML 全解:从语言定位到事务语义,再到真实案例的落地方式

摘要:EML(Entity Manipulation Language)是ABAP RAP模型的核心组件,作为ABAP的子集用于操作业务对象(BO)。它通过声明式语法(READ/MODIFY/EXECUTE/COMMIT)统一访问BO的行为与数据,并由RAP运行时自动处理校验、锁定、草稿管理等生命周期。EML将业务语义融入代码,确保与Fiori应用共享同一套校验逻辑,并通过FAILED/REPORTED/MAPPED管道传递错误与消息。其事务控制(IN LOCAL MODE与COMMIT ENTITIES)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 527

使用 MATLAB/Simulink 构建一个电机-液压联合控制系统的仿真模型

本文详细介绍了基于Simulink的电机与液压执行机构联合控制系统建模方法。通过7个步骤,系统讲解了从创建项目、搭建PMSM电机模型、建立逆变器与矢量控制模块,到构建液压泵和执行机构模型的完整过程。重点展示了如何设置关键参数、添加测量反馈模块,并提供了实用的代码片段。教程还包含仿真运行流程、结果分析指标及进阶建议,帮助读者掌握多物理场耦合系统建模的核心技术。该方法适用于机电液一体化系统设计,为工程实践提供有效参考。

amy_mhd的博客 613

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: FPGA实现电机位置环、速度环双闭环PID控制
下一篇: 浅谈Verilog代码的执行顺序
STATEABC
博客等级 码龄6年 537粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值