FPGA的时序分析——收敛和约束

班级:XX 姓名:XX 学号:XX

FPGA设计的时序收敛

在系统层次上,时序收敛指的是通过在总体方案设计的功能结构划分,并定义好一级模块的接口信号与时序,能够保证某个一级模块内部的改动不会影响其它一级模块,时序收敛于一级模块内部。这也是”问题局部化”思想的要求。

在实际的设计中,由于设计者的水平或者其它局限性,一些一级模块中的二级模块可能会与原设计方案中的不同,甚至要重新划分,如果在接口时序不能收敛到一级模块,二级模块的”风吹草动”使得该一级模块的接口也要重新更改,则将导致其它一级模块也要作相应更改,这将导致设计周期大大延长。

在FPGA设计中(除验证外),最主要的时间陷阱(Time Sink)是时序收敛。时序收敛常常是一个不断反复的过程,以确保设计中的每个路径都满足时序要求。在相对较小、速度较慢的设计中,时序收敛比较容易,而且是自动收敛的,因此对FPGA器件或实现工具的要求不高。然而,实际中的大多数设计并非如此轻松,它们要求对每个关键路径进行调整,以满足时序要求,而期间又会不断有新的关键路径被发现或出现。图1是迭代的时序收敛示意图。在第一阶段,只有路径C的时间裕量是负数。为改善路径C,对设计进行修改。随着对路径C实现约束,路经B和E又成为关键路径(见第二阶段),然后又对路径B和E进行改善。以此类推,直到所有路径都满足时序要求。

4d587c4531e315a24894d0b138dc0edd.png

1.迭代的时序收敛示意图

常用的时序概念:周期、最大时钟频率、时钟建立时间、时钟保持时间、时钟到输出延时、管脚到管脚延时、Slack和时钟偏斜(Skew)。下面主要介绍Altera对应的这些时序概念和约束方法。

1.clock period公式描述如下:

ee438b91892c08c6f182bacbd8ccf731.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐