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

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

3天内不再提示

时序约束实操

XL FPGA技术交流 来源:XL FPGA技术交流 作者:XL FPGA技术交流 2024-04-28 18:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

易灵思提供了相关时序约束的PPT,内容非常全面,但是我们还是发现很多客户在使用Efinity时,时序约束存在很多问题。

添加约束

添加约束的目的是为了告诉FPGA你的设计指标及运行情况。在上面的生成约束之后,在Resultàxx.sdc中提供约束参考(请注意该文件不能直接添加到工程中,需要热复制到别的指定目录或者新建自己的SDC文件添加到工程)。

c5883582-0365-11ef-b759-92fbcf53809c.png

编译完成之后可以查看时序报告,也可以通过routingàxx.timing.rpt来查看路径详细延时信息,如果想查看更可以通过指令来打印或者通过print_critical_path来控制打印的路径数量 。

时钟约束

(1)通过IO输入的gclk。

如下图,因为时钟是通过外部IO输入的,所以FPGA并不知道这个时钟频率是多少。打开.pt.sdc可以看到提供相关约束参考。

c5a60440-0365-11ef-b759-92fbcf53809c.png

我们只需要补充相关的时钟周期即可以使用。

c5dc2ec6-0365-11ef-b759-92fbcf53809c.png

比如,我们要约束adc_clk_in为100M:

create_clock-period10.000[get_ports{adc_clk_in}]

(2)PLL的输出的时钟约束。

因为PLL的输入输出频率都是设置好的,所以软件可以检测到。如下图,输入输出时钟频率都是30MHz.

c5ef31ec-0365-11ef-b759-92fbcf53809c.png

在pt.sdc文件中会提供相应的约束 。

create_clock -period 33.3333 pll_inst1_CLKOUT0

在时钟约束完成之后,可以查看Routing -->.timing.rpt文件中所有的时钟是否都进行了完整的约束 。

c6117f9a-0365-11ef-b759-92fbcf53809c.png

IO约束

首先我们要了解易灵思的架构是core和interface分开的,相对于core,interface内部的GPIO,LVDS,JTAG及其它都是外设。所以所有针对于input_delay和outpu_delay的约束都是针对于interface的。至于FPGA对于我们平时理解的外设,比如FPGA外部连接一片AD/DA,这种是没有办法约束的。

c63cd6e0-0365-11ef-b759-92fbcf53809c.png

在pt.sdc文件中可以看到关于set_input_delay和set_output_delay的约束。可以看到有些约束是已经屏蔽,那是因为添加的IO没有打开寄存器。

c6646bba-0365-11ef-b759-92fbcf53809c.png

如下图,易灵思建议把所有IO都添加上IO寄存器

c6823da2-0365-11ef-b759-92fbcf53809c.png

有的客户会有疑问,clock的PIN Name是什么?其实就是与core内连接的寄存器用什么时钟,interface中就用什么时钟。

c699bf86-0365-11ef-b759-92fbcf53809c.png

(3)跨时钟域约束

在保证程序上对跨时钟域做了处理之后,约束上要对跨时钟进行约束 。跨时钟约束的语法是set_clock_groups或者set_false_path,关于用于网上很多,可以自行查找。

set_clock_groups -asynchronous -group {jtag_inst1_TCK jtag_inst1_DRCK}

在所有时钟约束完成之后要保证时序报告的slack都为正值。

c6b776c0-0365-11ef-b759-92fbcf53809c.png

编译完成之后可以查看时序报告,也可以通过routingàxx.timing.rpt来查看路径详细延时信息

如果时序上还有违例,在result--> Routing-->timing.rpt文件中查看具体的路径。根据路径来解决具体的时序问题。

c6d31506-0365-11ef-b759-92fbcf53809c.png

如果想查看更可以通过指令来打印或者通过print_critical_path来控制打印的路径数量 。

c6f496cc-0365-11ef-b759-92fbcf53809c.png

也可以通过report_timing来报告具体的时序路径及数量。

c71631ba-0365-11ef-b759-92fbcf53809c.png

先打开Tcl CommandConsole,如果Show/Hide Tcl commandConsole是灰色的,要先点击Load Place and Route Data加载布局和布线的数据。

c7318776-0365-11ef-b759-92fbcf53809c.png

打开Tcl commandconsolel,使用report_timing命令来查看需要的路径。

c7515286-0365-11ef-b759-92fbcf53809c.png

具体report_timing的用法,请参考EfinityTiming Closure UserGuide.pdf。

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

    关注

    1655

    文章

    22287

    浏览量

    630317
  • pll
    pll
    +关注

    关注

    6

    文章

    976

    浏览量

    137589
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134548
  • 时序约束
    +关注

    关注

    1

    文章

    118

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    时序约束问题的解决办法

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

    全网最全学习Zephyr开发教程资料汇总-从基础文档视频到上手示例

    Zephyr 开发之路,我们不断迭代终于有了这份上手学习Zephyr的开发教程资料汇总。这里面涵盖了从 Zephyr 基础知识讲解,到构建系统、设备驱动、线程调度等核心功能剖析,再到丰富的示例和AI语音视觉识别应用案例,以及详细的开发环境搭建、获取SDK等全方位的内
    发表于 07-04 11:13

    中海达深度参与水文测验培训

    近日,由内蒙古自治区水文水资源中心主办的“全区水文测验及整编技术培训班”的水文测验培训在呼和浩特市托克托县头道拐水文站顺利开展。中海达作为深耕水利水文领域二十余载的技术引领者,深度参与此次培训,为学员提供了无人机测流系统、无人船测流系统及RTK测量系统,助力水文测验技
    的头像 发表于 06-11 16:11 733次阅读

    Air8000 Wi-Fi功能指南:固件升级与网络配置步骤!

    若您计划使用Air8000的无线网络功能,请按以下步骤操作,完成全部步骤后方可正常使用。快快学起来吧~ 一、Air8000升级Wi-Fi要点   本文以Air8000核心板为例,采用串口线刷方式
    的头像 发表于 05-28 15:48 588次阅读
    Air8000 Wi-Fi功能<b class='flag-5'>实</b><b class='flag-5'>操</b>指南:固件升级与网络配置步骤!

    西门子再收购EDA公司 西门子宣布收购Excellicon公司 时序约束工具开发商

    精彩看点 此次收购将帮助系统级芯片 (SoC) 设计人员通过经市场检验的时序约束管理能力来加速设计,并提高功能约束和结构约束的正确性   西门子宣布 收购 Excellicon 公司
    的头像 发表于 05-20 19:04 1277次阅读
    西门子再收购EDA公司  西门子宣布收购Excellicon公司  <b class='flag-5'>时序</b><b class='flag-5'>约束</b>工具开发商

    求助 有那些机构 有关于 GB/T 4706.1 国标的培训

    求助 有那些机构 有关于 GB/T 4706.1 国标的培训
    发表于 04-30 16:20

    FPGA时序约束之设置时钟组

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_groups命令可以使
    的头像 发表于 04-23 09:50 970次阅读
    FPGA<b class='flag-5'>时序</b><b class='flag-5'>约束</b>之设置时钟组

    数字调音台讲解

    电子发烧友网站提供《数字调音台讲解.pdf》资料免费下载
    发表于 03-26 14:18 5次下载

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发-HDF驱动配置UART

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发-HDF驱动配置UART
    的头像 发表于 03-25 11:02 1293次阅读
    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发<b class='flag-5'>实</b><b class='flag-5'>操</b>-HDF驱动配置UART

    一文详解Vivado时序约束

    Vivado的时序约束是保存在xdc文件中,添加或创建设计的工程源文件后,需要创建xdc文件设置时序约束时序
    的头像 发表于 03-24 09:44 4389次阅读
    一文详解Vivado<b class='flag-5'>时序</b><b class='flag-5'>约束</b>

    北京迅为iTOP-RK3568开发板OpenHarmony系统南向驱动开发-HDF驱动配置LED

    北京迅为iTOP-RK3568开发板OpenHarmony系统南向驱动开发-HDF驱动配置LED
    的头像 发表于 03-14 14:41 1105次阅读
    北京迅为iTOP-RK3568开发板OpenHarmony系统南向驱动开发<b class='flag-5'>实</b><b class='flag-5'>操</b>-HDF驱动配置LED

    新手必看!SMA 插头 PCB 原理图连接指南

    通过以上详细的步骤和注意事项,新手朋友们就能顺利完成 SMA 插头与 PCB 原理图的连接操作。在实际操作中,要多动手练习,每次操作后及时总结经验教训,不断提升自己的操作技能。希望这篇指南能成为大家电子工程学习道路上的得力助手,帮助大家攻克 SMA 插头连接这一难关
    的头像 发表于 02-07 10:43 3179次阅读
    新手必看!SMA 插头 PCB 原理图连接<b class='flag-5'>实</b><b class='flag-5'>操</b>指南

    hyper v for win10,hyper v for win10的流程,hyper-v批量管理工具的使用指南

    。批量管理虚拟机能够实现对在线预订平台的快速部署和灵活调整,提高平台的稳定性和响应速度,提升游客的预订体验。接下来和大家一起探索hypervforwin10的流程。    hypervforwin10的
    的头像 发表于 02-05 11:07 574次阅读
    hyper v for win10,hyper v for win10的<b class='flag-5'>实</b><b class='flag-5'>操</b>流程,hyper-v批量管理工具的使用指南

    hyper 网卡,hyper 网卡的流程,hyper-v批量管理工具的使用指南

    行业对高效配送的需求。批量管理虚拟机能够实现对物流业务系统的快速部署和灵活调整,提高配送调度的效率,降低运营成本,提升物流服务质量。接下来和大家一起探索hyper网卡的流程。    hyper网卡的
    的头像 发表于 02-05 10:29 696次阅读
    hyper 网卡,hyper 网卡的<b class='flag-5'>实</b><b class='flag-5'>操</b>流程,hyper-v批量管理工具的使用指南

    termius 中文,termius 中文的步骤,linux服务器远程连接的实用教程

    知识付费平台多元,课程资源服务器知识宝藏。用户远程购买学习,讲师持续更新内容。求知之路永不止步,智慧财富借远程共享双赢,推动知识经济前行。本文将和大家一起探索termius中文的步骤以及
    的头像 发表于 12-18 13:43 1644次阅读
    termius 中文,termius 中文的<b class='flag-5'>实</b><b class='flag-5'>操</b>步骤,linux服务器远程连接的实用教程