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

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

3天内不再提示

FPGA布局及资源优化

FPGA之家 来源:FPGA之家 作者:FPGA之家 2021-01-07 10:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.项目需求

FPGA :V7-690T两片

Resource:两片FPGA通过X12 gth互联;每片FPGA使用48路serdes走光口与板外连接;每片FPGA使用SIROx4通过VPX与外界互联;每片FPGA使用PCIE X8与板上CPU Intel XEON互联;每片FPGA使用20对LVDS互联;CPLD控制FPGA上电时序/CPU启动/FPGA加载;每片FPGA挂载2路4GB DDR3。

2.FPGA架构设计问题

我们知道,FPGA片上分布着各种资源,如时钟,serdes,RAM,LUT,IO等。在进行FPGA规划时候,应当需要知道项目设计需求,以及需求各模块之间的数据交织情况,这样可以避免后续FPGA RTL设计出现时序很难优化的情况。

对应这个情况,举一个简单的例子。如果一个FPGA工程中含有一个PCIE和一个DDR接口,并且,需要用到PCIE与外部设备进行大量数据块上传和下载方面的传输。那么DDR作为PCIE的一个缓存接口,最优的方案是在FPGA内部对PCIE接口和DDR接口尽量靠近放置。这样FPGA RTL设计的时候时序很容易达到最优。在V7-690T FPGA中,可以将PCIE放置的最优位置如下图。

e942e6f4-5079-11eb-8b86-12bb97331649.jpg

同时,我们也知道,在V7-690 FPGA中,DDR通常可以放置的位置可以是BANK34/35/36和BANK36/37/38。这时综合上述两个条件,我们可以得到最优放置PCIE和DDR的位置。使得FPGA内部编译通过率或者说时序最好。

下面是两种不同放置方式得到的example design编译结果图。

e9a2dc1c-5079-11eb-8b86-12bb97331649.jpg

3.前期碰到的问题

1).时钟优化

在管脚验证的时候,本人将各个功能模块都用XILINX FPGA的IP生成 example design并集成到一个工程下面,但是发现上面提出的功能集成下来FPGA的BUFG资源远远不够。下图是FPGA example design各模块BUFG资源需求情况。因此做了一些资源优化。

a.前期验证中,发现SRIO是消耗BUFG资源最多的IP,因此能省出最多的BUFG。

b.DDR也消耗比较多时钟,这个项目一个FPGA用到两个DDR控制器,也能省出比较多BUFG。

2).PCIE不是在所有serdes下都能放的,对V7-690,需要放置在特殊的SERDES处,这样,实际PCIE 程序编译时候,这个特殊的serdes里PCIE 特殊资源离得最近,编译出来的时序报告是最好的。如若不然,需要设置PCIE IP内部特殊参数,才能使得PCIE DEV被CPU看到,也就是PCIE link上。

3).DDR布局也要参考数据是如何在FPGA内部交织的,劲量靠近会用到大数据流量的模块放置,这样后期设计时序会好很多。

4)FPGA功耗估计问题。

这个可以在XILINX官网下载一个XPE Excel表格,很实用的,用一两次就熟悉了。但是本人认为这个工具对很多人也有个缺点,就是实际并不知道以后自己的代码各种资源消耗有多少。所以可能评估不太准。

本人是用example design工程查看编译报告得出。当涉及到调整温度啊电流啊啥的时候,在vivado下需要打开implementation的结果后才可以改动电流/温度的值进行评估的。

3.FPGA PCB布线时会遇到调整线序的问题。

1)这要根据项目需求看调整后的布局是否满足项目需求,调整好后一定要原理图工程师给出最新的原理图,最后FPGA根据新布局重新验证管脚等。千万不要口口相传丢失了信息。

2)DDR换线序可以参照XILINX的MIG手册,仔细核对的。

e9dad9f0-5079-11eb-8b86-12bb97331649.jpg

3) DDR PCB布线所需的管脚延时信息,可以通过新建一个空白工程,在空白工程的tcl下输入如下命令:

link_design -part xc7k160tfbg676

write_csv flight_time

4.CPLD调试

1)CPLD控制FPGA上电顺序,XILINX又一个check list,各位可以根据check list表格对硬件板卡进行关键信号测量确认,对上电时序进行控制等。

2)对FPGA的配置控制也可以月底 xilinx ug470等。

e9f97fa4-5079-11eb-8b86-12bb97331649.png

责任编辑:xj

原文标题:FPGA布局及资源优化(开发随笔)

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

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

    关注

    1656

    文章

    22299

    浏览量

    630519
  • cpld
    +关注

    关注

    32

    文章

    1259

    浏览量

    173338
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134565

原文标题:FPGA布局及资源优化(开发随笔)

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数字IC/FPGA设计中的时序优化方法

    在数字IC/FPGA设计的过程中,对PPA的优化是无处不在的,也是芯片设计工程师的使命所在。此节主要将介绍performance性能的优化,如何对时序路径进行优化,提高工作时钟频率。
    的头像 发表于 12-09 10:33 2647次阅读
    数字IC/<b class='flag-5'>FPGA</b>设计中的时序<b class='flag-5'>优化</b>方法

    如何在资源受限型应用中使用 FPGA

    的性能需求,同时在严格的功耗、尺寸和成本限制内运行。现代现场可编程门阵列 (FPGA) 可以满足这些相互竞争的需求。 本文回顾了为资源受限型应用选择 FPGA 时需要考虑的关键设计标准。然后,以 [Altera] 经过[功率和成
    的头像 发表于 10-03 17:31 1508次阅读
    如何在<b class='flag-5'>资源</b>受限型应用中使用 <b class='flag-5'>FPGA</b>

    工业物联网如何促进生产资源优化配置

    工业物联网通过实时数据采集与监控、预测性维护、生产流程优化、供应链协同管理、数据分析与决策支持等核心手段,实现了生产资源的动态调配与高效利用,显著提升了制造业的生产效率、降低了成本,并推动了柔性生产
    的头像 发表于 09-30 16:54 1234次阅读

    三极管 PCB 布局问题与优化建议

    的三极管,换一个PCB布局,性能差异竟然非常大。这说明三极管的PCB布局问题不容忽视。下面结合常见问题和优化经验进行分析。一、三极管PCB布局常见问题走线过长,寄
    的头像 发表于 09-25 14:00 423次阅读
    三极管 PCB <b class='flag-5'>布局</b>问题与<b class='flag-5'>优化</b>建议

    HarmonyOS NEXT应用元服务布局优化利用布局边界减少布局计算

    对于组件的宽高不需要自适应的情况下,建议在UI描述时给定组件的宽高数值,当其组件外部的容器尺寸发生变化时,例如拖拽缩放等场景下,如果组件本身的宽高是固定的,理论上来讲,该组件在布局阶段不会参与
    发表于 06-26 11:13

    HarmonyOS NEXT应用元服务布局优化精简节点数

    中出现该规则相关问题,可参考本章节提供的优化建议进行调整。 布局阶段是采用递归遍历所有节点的方式进行组件位置和大小的计算, 如果嵌套层级过深,将带来了更多的中间节点,在布局测算阶段下,额外的节点数将导致
    发表于 06-26 10:21

    HarmonyOS NEXT应用元服务布局优化精简节点数

    中出现该规则相关问题,可参考本章节提供的优化建议进行调整。 布局阶段是采用递归遍历所有节点的方式进行组件位置和大小的计算, 如果嵌套层级过深,将带来了更多的中间节点,在布局测算阶段下,额外的节点数将导致
    发表于 06-26 10:21

    HarmonyOS NEXT应用元服务布局优化合理使用渲染控制语法

    合理控制元素显示与隐藏 控制元素显示与隐藏是一种常见的场景,使用Visibility.None、if条件判断等都能够实现该效果。其中if条件判断控制的是组件的创建、布局阶段,visibility属性
    发表于 06-24 16:21

    HarmonyOS NEXT应用元服务布局优化ArkUI框架执行流程

    一、 ArkUI框架执行流程 在使用ArkUI开发中,我们通过布局组件和基础组件进行界面描述,这些描述会呈现出一个组件树的结构,基础组件在其中为叶子结点,布局组件则是中间节点,可以把这棵树称之为
    发表于 06-23 09:41

    鸿蒙5开发宝藏案例分享---优化应用时延问题

    就不用加班改bug了?** 赶紧整理出来分享给大家,附详细代码解析!** ?** 案例1:布局层级优化(Flex vs 相对布局)** 问题 :留言箱列表加载1024条数据时卡顿(1096ms)
    发表于 06-13 10:08

    HarmonyOS优化应用预置图片资源加载耗时问题性能优化

    一、概述 在开发应用时,当开发者预置图片资源超过一定数量或者大小,由于图片资源的格式需要通过CPU解压缩为纹理格式才能直接被GPU读取,这就增加了CPU的处理时间,可能会引起图片完成时延增长。并且
    发表于 05-29 16:11

    Xilinx Ultrascale系列FPGA的时钟资源与架构解析

    Ultrascale是赛灵思开发的支持包含步进功能的增强型FPGA架构,相比7系列的28nm工艺,Ultrascale采用20nm的工艺,主要有2个系列:Kintex和Virtex
    的头像 发表于 04-24 11:29 2116次阅读
    Xilinx Ultrascale系列<b class='flag-5'>FPGA</b>的时钟<b class='flag-5'>资源</b>与架构解析

    PCB布局优化:HT4088电源管理芯片的设计要点

    学习如何通过优化PCB布局来充分发挥HT4088电源管理芯片的性能和稳定性。
    的头像 发表于 03-08 15:09 1180次阅读

    如何优化 CPLD 性能

    来实现: 逻辑优化 : 逻辑简化 :在设计逻辑时,尽可能简化逻辑表达式,减少逻辑门的数量,从而减少延迟和功耗。 资源共享 :合理分配和共享资源,例如使用多路选择器(MUX)来共享数据路径,减少重复逻辑。
    的头像 发表于 01-23 10:03 1120次阅读

    浅析新能源电动汽车充电桩空间布局优化研究

    新能源汽车充电桩空间布局优化研究是一个复杂而重要的问题,要以用户实际需求为出发点,需要综合考虑充电桩的数量和分布、供电能力和供电网络的可靠性以及充电桩的建设和运营管理等因素.通过优化充电桩的空间
    的头像 发表于 12-17 09:36 1333次阅读
    浅析新能源电动汽车充电桩空间<b class='flag-5'>布局</b><b class='flag-5'>优化</b>研究