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

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

3天内不再提示

如何理解和使用做FPGA设计时的过约束?

FPGA之家 来源:逻辑空间 作者:逻辑空间 2021-03-29 11:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有人希望能谈谈在做FPGA设计的时候,如何理解和使用过约束。我就以个人的经验谈谈:

什么是过约束;

为什么会使用过约束;

过约束的优点和缺点是什么;

如何使用过约束使自己的设计更为健壮。

什么是过约束(overconstraint)

所谓过约束,就是给目标时钟一个超过其设定运行频率的约束。比如实际运行的时钟频率是100MHz,我们在给这个时钟添加约束的时候,要求它能运行在120MHz。

为什么会使用过约束

通常在两种情况下,我们可能会使用过约束。

第一种情况,FPGA的时序报告不准确,为了确保逻辑的实际运行频率能满足要求,做过约束来保留设计余量。

FPGA的时序报告是基于FPGA的时序模型计算出来的,时序模型来源于实验室的测试和对生产过程的严格控制,是要充分考虑PVT(Process,Voltage,Temperature)的影响计算出来的。对比较成熟的FPGA厂家来说,研发,生产,测试都有标准流程控制,这一部分的数据还是比较可靠的。如果是新的厂家,大家可能要做好时序模型不准确的心理准备。在工艺不变的情况下,信号的传输,翻转速率随电压,温度的变化而变化。一般来说,温度越低,电压越高,信号的传输,翻转越快,反之越慢。而FPGA的设计软件在做STA的时候,往往是根据最差的工作条件下的(Worst Case)给出的。所以我们会看到这样的现象,时序报告显示的时序是不满足设计要求的,但逻辑运行到FPGA上功能又是正常的。这是因为FPGA的实际运行条件要比Worst Case好,实际的时序也优于报告的结果。如果是这种情况,可以不考虑使用过约束。

第二种情况,对某些关键的时钟域,时序不太容易满足,施加一个更高的时钟约束,以期望软件能跑出一个满意的结果。如果是这种情况,需要注意的是EDA软件在做布局布线的时候,会根据逻辑功能和时钟频率分配布局布线资源。过约束加的不合理,会造成非关键路径占用有限的布局布线资源,反而会使布局布线的结果更差。所以在做过约束的时候,要根据你的设计合理设置,不能简单的把所有时钟都做过约束。

过约束的优点和缺点:

过约束的优点显而易见,会让的设计运行的余量更大。缺点除了我们上面讨论的,如果在你的设计里面有跨时钟域的信号传递,而你没有对跨时钟域的路径做约束,软件在分析跨时钟域的delay的时候,由于变成过约束后,源时钟和目的时钟的频率相关性变化了,这部分的delay约束就变成了无限小,布局布线更困难了。这是我们在做过约束设计的时候要特别注意的。

过约束还有一个问题是,比如你的设计频率是100MHz,添加的约束是120MHz。那么在做STA的时候,软件还是按照120MHz来分析。即使你的布局布线的时序结果是119MHz,已经满足设计要求,但在时序报告上,还会显示时序不满足。这给我们的时序分析带来一些麻烦。

如何使用过约束使自己的设计更为健壮

在使用过约束的时候,一般情况下,以增加20%-30%为宜,太大的余量并没有太大的意义。如果该时钟有跨时钟域的操作,一定要通过专门的约束(Multicycle或max delay)在明确定义这部分的延时要求。

Lattice的设计软件中,为了配合过约束的使用,增加的一个PAR_ADJ属性:

FREQUENCY NET“sys_clk” 100.000000 MHz PAR_ADJ 20.000000 ;

这样的约束会告诉软件,用100+20=120MHz做布局布线的时候,而用100MHz的约束来做STA,这样就不会发生我们前面遇到的困扰了。

GUI的界面是这样的:

8f86a574-8ecc-11eb-8b86-12bb97331649.png

原文标题:FPGA的过约束

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    1664

    文章

    22508

    浏览量

    639450

原文标题:FPGA的过约束

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于XILINXPWR - 083的DC/DC转换器电源管理解决方案

    基于XILINXPWR - 083的DC/DC转换器电源管理解决方案 引言 在电子设计领域,电源管理解决方案对于FPGA等设备的稳定运行至关重要。今天要介绍的是基于XILINXPWR - 083
    的头像 发表于 04-26 13:15 115次阅读

    XILINXPWR - 082 EVM电源管理解决方案深度解析

    XILINXPWR - 082 EVM电源管理解决方案深度解析 在电子设计领域,电源管理解决方案对于FPGA等关键器件的稳定运行至关重要。今天,我们来深入探讨XILINXPWR - 082 EVM
    的头像 发表于 04-26 13:15 190次阅读

    变频器励磁增益及软件流问题

    ,希望能帮你更好地理解和使用。 一、励磁增益:减速压的“软制动” 1. 它是什么?为什么能抑制压? 当变频器让电机快速减速(尤其是大惯性负载)时,电机会进入 发电状态 ,把能量回
    的头像 发表于 04-25 12:07 76次阅读
    变频器<b class='flag-5'>过</b>励磁增益及软件<b class='flag-5'>过</b>流问题

    FPGA时序收敛的痛点与解决之道——从一次高速接口调试谈起

    的高速DDR接口调试,让我深刻体会到,时序问题远不止“跑慢一点”那么简单,它涉及器件结构、时钟特性、约束策略和工具理解的方方面面。 一、问题的浮现:看似正确的设计为何时序违例? 某项目需要实现一个基于Xilinx FPGA的高速
    的头像 发表于 03-11 11:43 346次阅读

    Vivado时序约束中invert参数的作用和应用场景

    在Vivado的时序约束中,-invert是用于控制信号极性的特殊参数,应用于时钟约束(Clock Constraints)和延迟约束(Delay Constraints)中,用于指定信号的有效边沿或逻辑极性。
    的头像 发表于 02-09 13:49 444次阅读
    Vivado时序<b class='flag-5'>约束</b>中invert参数的作用和应用场景

    输入引脚时钟约束_Xilinx FPGA编程技巧-常用时序约束详解

    基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径以及异常路径为: 输入路径(Input Path),使用输入约束 寄存器到寄存器路径
    发表于 01-16 08:19

    精准计时与低功耗的完美融合

    实时时钟(RTC)模块,凭借其内置高品质晶体振荡器(XTAL),在低功耗设计、高精度计时及系统集成简化方面表现卓越。这些模块不仅支持基础计时功能,还通过丰富的扩展特性(如报警触发、事件时间戳记
    的头像 发表于 01-07 08:58 254次阅读
    精准<b class='flag-5'>计时</b>与低功耗的完美融合

    开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    1.简述 首先感谢芯来开源了蜂鸟E203 risc-v处理器,提供了比较完整的工程环境、配套的软硬件。但是配套的FPGA板卡实在太贵,对于自费学习的来说是不小的学习成本,而且我也认为完备环境
    发表于 10-31 08:46

    时序约束问题的解决办法

    Time 是否满足约束。 我们要留意的是 WNS 和 WHS 两个数值,如果这两个数值为红色,就说明时序不满足约束。下面将解释怎么解决这个问题。 1. Setup Time 违例 Setup
    发表于 10-24 09:55

    关于综合保持时间约束不满足的问题

    1、将 nuclei-config.xdc 和 nuclei-master.xdc 加入到项目工程中,综合得到时序约束报告如下: 保持时间约束不满足,分析原因,发现所有不满足均出现在
    发表于 10-24 07:42

    蜂鸟e203移植fpga上如何修改约束文件

    第一步:我们先导入官方网站中蜂鸟e203的代码提供的e203添加进去,并加入ddr200T中的 src.文件中的system.v文件并加入约束文件(constrs文件夹之中
    发表于 10-24 07:18

    保险丝 vs. 压敏电阻:流与压保护选型及应用

    保险丝与压敏电阻:流与压保护在进行电路设计时流(Overcurrent)与压(Overvoltage)是必须解决的两个基本问题。保
    的头像 发表于 09-17 11:53 1358次阅读
    保险丝 vs. 压敏电阻:<b class='flag-5'>过</b>流与<b class='flag-5'>过</b>压保护选型及应用

    技术资讯 I 图文详解约束管理器-差分对规则约束

    本文要点你是否经常在Layout设计中抓瞎,拿着板子无从下手,拿着鼠标深夜狂按;DDR等长没做好导致系统不稳定,PCIe没设相位容差造成链路训练失败……这些都是血泪教训,关键时刻需要靠约束管理器救命
    的头像 发表于 08-08 17:01 1498次阅读
    技术资讯 I 图文详解<b class='flag-5'>约束</b>管理器-差分对规则<b class='flag-5'>约束</b>

    PCB Layout 约束管理,助力优化设计

    本文重点PCBlayout约束管理在设计中的重要性Layout约束有助避免一些设计问题设计中可以使用的不同约束在PCB设计规则和约束管理方面,许多设计师试图采用“一刀切”的方法,认为同
    的头像 发表于 05-16 13:02 1219次阅读
    PCB Layout <b class='flag-5'>约束</b>管理,助力优化设计

    PCB走线宽度1mm1A电流的依据是什么

    在做PCB设计时,如果有大电流,就需要针对不同的电流值设计对应的线宽,以前老师傅给的建议是1mm线宽1A电流,按这个估算就可以。
    的头像 发表于 05-07 10:15 3977次阅读
    PCB走线宽度1mm<b class='flag-5'>过</b>1A电流的依据是什么