0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文读懂时序分析与约束

电子工程师 来源:FPGA设计论坛 作者:FPGA设计论坛 2021-06-15 11:24 次阅读

1.时序分析与约束

1.1 约束是FPGA设计不可或缺的,约束文件分为:

用户设计文件(.UCF),由用户输入

网表约束文件(.NCF),综合生成

物理约束文件(.PCF),实现生成

约束类型分为:

周期约束、偏移约束、静态路径约束;

1.2 高的工作频率意味着更加强大的处理能力,但带来了:时序冲突的概率变大以及电路的稳定性降低,为此必须进行时序、面积和负载等多方面的约束。

对于一般的低速设计(处理时钟不超过50MHz),基本上不需时序方面的处理。

1.3 时序分析贯穿整个FPGA设计,任何阶段时序分析不满足,都需重新修改代码或者调整时序约束。

2. 动态时序分析与静态时序分析

动态时序分析需要仿真条件, 需要输入向量,着重于逻辑功能;

静态时序分析不需要外部激励,着重于时序性能分析;

静态时序分析在分析过程中计算时序路径上数据信号的到达时间和要求时间的差值,以

判断是否违反设计规则的错误,即Slack (时裕量)= T_required_time(约束时长) – T_arrival_time (实际时延),Slack为正则满足时序。

3.时钟的时序特性:偏移(skew)、抖动(jitter)、占空比失真(duty cycle distortion)

时钟偏移:指同一信号到达两个不同寄存器之间的时间差值(原因:两条时钟路径长度不同) ,在设计中主要时钟应走全局时钟网络;

37a2058c-ccee-11eb-9e57-12bb97331649.png

时钟抖动、占空比失真

4.时序裕量

约束文件要求的时钟周期与实际布局布线后时钟周期的差值

5.添加约束原则

先附加全局约束,再补充局部约束。目的是在可能的地方尽量放松约束,提高布线成功概率,减少布局布线时间。典型的全局约束包括周期约束和偏移约束。

在添加全局时序约束时,先根据时钟频率不同划分不同的时钟域,添加各自的周期约束;然后对输入输出信号添加偏移约束,对片内逻辑添加附加约束

6.硬件设计电路的最高工作频率

取决于芯片内部元件固有的建立时间和保持时间,以及同步元件之间的逻辑和布线延迟。即由芯片和代码共同决定。

7.周期约束

常用的策略是:附加的时钟周期约束的时长为期望值90%.

语法一:Net “信号名” period = 周期长度 high/low 脉冲持续时间

其中high/low指周期内第一个脉冲是高电平还是低电平,脉冲持续时间即该 脉冲的持续时间。

举例 Net “clk_100MHz” period = 10 ns High 5ns

指定了信号clk_100MHz的周期为10ns,搞电平持续为5ns,该约束将被添加到clk_100MHz所驱动的元件上。

8.偏移约束

规定了外部时钟和数据输入输出管脚之间的相对时序关系,只能用于端口信号,不能用于内部信号,语法结构:

OFFSET = [IN|OUT] “offset_time” [units] {BEFORE|AFTER} “clk_name” [TIMEGRP “group_name”]

[IN|OUT]:说明约束的是输入还是输出

offset_time:数据与有效时钟沿之间的时间差

[units]:时间差单位,缺省为ns

{BEFORE|AFTER}:表明该时间差实在时钟沿之前还是之后

“clk_name”:有效时钟名字

[TIMEGRP “group_name”]:用户添加的分组信号,缺省时为时钟“clk_name”所能驱动的所有触发器

偏移约束通知布局布线器输入数据的到达时刻,从而可准确调整布局布线的过程,使约束信号建立时间满足要求

举例:NET “DATA_IN” OFFSET = IN 10 BEFORE “CLK_50MHz”。

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时序
    +关注

    关注

    5

    文章

    356

    浏览量

    36955

原文标题:FPGA学习笔记-时序分析与约束

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA时序约束--基础理论篇

    FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑电路,从输入到输出所需要的时间,这个时间必须在设定的时钟周期内完成,更详细
    发表于 11-15 17:41

    FPGA的约束设计和时序分析

    FPGA/CPLD的综合、实现过程中指导逻辑的映射和布局布线。下面主要总结下Xilinx FPGA时序约束设计和分析
    发表于 09-21 07:45

    FPGA I/O口时序约束讲解

    前面讲解了时序约束的理论知识FPGA时序约束理论篇,本章讲解时序约束实际使用。
    发表于 08-14 18:22 916次阅读
    FPGA I/O口<b class='flag-5'>时序</b><b class='flag-5'>约束</b>讲解

    FPGA时序约束时序路径和时序模型

    时序路径作为时序约束时序分析的物理连接关系,可分为片间路径和片内路径。
    发表于 08-14 17:50 507次阅读
    FPGA<b class='flag-5'>时序</b><b class='flag-5'>约束</b>之<b class='flag-5'>时序</b>路径和<b class='flag-5'>时序</b>模型

    请问时序约束文件SDC支持哪些约束

    时序约束文件SDC支持哪些约束
    发表于 08-11 09:27

    时序约束连载03~约束步骤总结

    本小节对时序约束做最终的总结
    的头像 发表于 07-11 17:18 380次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b>连载03~<b class='flag-5'>约束</b>步骤总结

    时序约束连载02~时序例外

    本文继续讲解时序约束的第四大步骤——时序例外
    的头像 发表于 07-11 17:17 450次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b>连载02~<b class='flag-5'>时序</b>例外

    时序约束出现时序违例(Slack为负数),如何处理?

    时序约束出现时序违例(Slack为负数),如何处理?
    的头像 发表于 07-10 15:47 3479次阅读

    浅谈时序设计和时序约束

      本文主要介绍了时序设计和时序约束
    的头像 发表于 07-04 14:43 778次阅读

    时序约束怎么用?时序约束到底是要干嘛?

    很多小伙伴开始学习时序约束的时候第一个疑惑就是标题,有的人可能会疑惑很久。不明白时序约束是什么作用,更不明白怎么用。
    的头像 发表于 06-28 15:10 944次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b>怎么用?<b class='flag-5'>时序</b><b class='flag-5'>约束</b>到底是要干嘛?

    如何在Vivado中添加时序约束呢?

    今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(Constraints Wiza
    的头像 发表于 06-26 15:21 2191次阅读
    如何在Vivado中添加<b class='flag-5'>时序</b><b class='flag-5'>约束</b>呢?

    如何在Vivado中添加时序约束

    前面几篇文章已经详细介绍了FPGA时序约束基础知识以及常用的时序约束命令,相信大家已经基本掌握了时序约束
    的头像 发表于 06-23 17:44 1375次阅读
    如何在Vivado中添加<b class='flag-5'>时序</b><b class='flag-5'>约束</b>

    FPGA时序约束之衍生时钟约束和时钟分组约束

    在FPGA设计中,时序约束对于电路性能和可靠性非常重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的主时钟约束
    发表于 06-12 17:29 1415次阅读

    约束时序分析的概念

    很多人询问关于约束时序分析的问题,比如:如何设置setup,hold时间?如何使用全局时钟和第二全局时钟(长线资源)?如何进行分组约束?如何约束
    的头像 发表于 05-29 10:06 408次阅读
    <b class='flag-5'>约束</b>、<b class='flag-5'>时序</b><b class='flag-5'>分析</b>的概念

    Xilinx FPGA时序约束设计和分析

    FPGA/CPLD的综合、实现过程中指导逻辑的映射和布局布线。下面主要总结一下Xilinx FPGA时序约束设计和分析
    的头像 发表于 04-27 10:08 857次阅读