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
    +关注

    关注

    1624

    文章

    21602

    浏览量

    601065

原文标题:FPGA的过约束

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

收藏 人收藏

    评论

    相关推荐

    FPGA芯片架构和资源有深入的理解,精通Verilog HDL、VHDL

    、计算机相关专业,具有良好的专业基础知识。 2.工作年限不限,有工作经验或优秀应届毕业生亦可。 3.对FPGA芯片架构和资源有深入的理解,精通Verilog HDL、VHDL编程语言,熟悉时序约束、时序分析
    发表于 09-15 15:23

    深度解析FPGA中的时序约束

    建立时间和保持时间是FPGA时序约束中两个最基本的概念,同样在芯片电路时序分析中也存在。
    的头像 发表于 08-06 11:40 500次阅读
    深度解析<b class='flag-5'>FPGA</b>中的时序<b class='flag-5'>约束</b>

    FPGA的sata接口设计时需要注意哪些问题

    FPGA的SATA接口设计时,需要注意以下几个方面的问题,以确保设计的稳定性和性能: 接口版本和速度 : SATA有三代标准,分别为SATA I(1.5 Gb/s)、SATA II(3.0 Gb
    发表于 05-27 16:20

    Xilinx FPGA编程技巧之常用时序约束详解

    今天给大侠带来Xilinx FPGA编程技巧之常用时序约束详解,话不多说,上货。 基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径以及异常路径为
    发表于 05-06 15:51

    时序约束实操

    添加约束的目的是为了告诉FPGA你的设计指标及运行情况。在上面的生成约束之后,在Result àxx.sdc中提供约束参考(请注意该文件不能直接添加到工程中,需要热复制到别的指定目录或
    的头像 发表于 04-28 18:36 2090次阅读
    时序<b class='flag-5'>约束</b>实操

    Xilinx FPGA约束设置基础

    LOC约束FPGA设计中最基本的布局约束和综合约束,能够定义基本设计单元在FPGA芯片中的位置,可实现绝对定位、范围定位以及区域定位。
    发表于 04-26 17:05 1031次阅读
    Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>约束</b>设置基础

    Xilinx FPGA编程技巧之常用时序约束详解

    今天给大侠带来Xilinx FPGA编程技巧之常用时序约束详解,话不多说,上货。 基本的约束方法为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径以及异常路径为
    发表于 04-12 17:39

    深入理解 FPGA 的基础结构

    转载地址:https://zhuanlan.zhihu.com/p/506828648 文章很详细的介绍了FPGA的基础结构,能更直观的理解内部结构原理。对深入学习很有帮助。 以下是正文: 这一段
    发表于 04-03 17:39

    详细介绍OVP压保护芯片的功能及使用方法

    OVP压保护IC:为了保护后级电路,平芯微早早推出了系列OVP压保护芯片产品,很多客户对于OVP压保护芯片的功能和使用仍然存在一些误解。这次我们平芯微就针对OVP压保护芯片功能
    的头像 发表于 02-22 18:18 2857次阅读
    详细介绍OVP<b class='flag-5'>过</b>压保护芯片的功能及使用方法

    FPGA物理约束之布局约束

    在进行布局约束前,通常会对现有设计进行设计实现(Implementation)编译。在完成第一次设计实现编译后,工程设计通常会不断更新迭代,此时对于设计中一些固定不变的逻辑,设计者希望它们的编译结果
    的头像 发表于 01-02 14:13 1332次阅读
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>约束</b>之布局<b class='flag-5'>约束</b>

    FPGA物理约束之布线约束

    IS_ROUTE_FIXED命令用于指定网络的所有布线进行固定约束。进入Implemented页面后,Netlist窗口如图1所示,其中Nets文件展开后可以看到工程中所有的布线网络。
    的头像 发表于 12-16 14:04 1087次阅读
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>约束</b>之布线<b class='flag-5'>约束</b>

    FPGA的电源管理解决方案

    电子发烧友网站提供《FPGA的电源管理解决方案.pdf》资料免费下载
    发表于 11-24 14:42 0次下载
    <b class='flag-5'>FPGA</b>的电源管<b class='flag-5'>理解</b>决方案

    物理约束实践:I/O约束

    I/O约束(I/O Constraints)包括I/O标准(I/OStandard)约束和I/O位置(I/O location)约束
    的头像 发表于 11-18 16:42 1004次阅读
    物理<b class='flag-5'>约束</b>实践:I/O<b class='flag-5'>约束</b>

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

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

    #共建FPGA开发者技术社区,为FPGA生态点赞#+2023.11.8+FPGA设计的实践与经验分享

    一:理解FPGA FPGA由逻辑单元,(LUT)和存情单元(FF) 组成,可以通过VHDL或Verlo等硬件描述语言进行代码编写,初学者需要堂握FPGA的基本结构和使用方法,从而
    发表于 11-08 15:25