位置:
首页

>

>

FPGA布局和资源优化
时间:
1.项目要求FPGA:V7-690T两块资源:两块FPGA通过X12gth互连;每个FPGA都使用48个Serser通道连接到电路板的外部。每个FPGA都使用SIROx4通过VPX连接到外界。
每片FPGA均使用PCIEX8与板载CPUIntelXEON互连;每个FPGA使用20对LVDS互连; CPLD控制FPGA的上电时序/ CPU启动/ FPGA加载;每个FPGA都安装2个4GBDDR3通道。 2. FPGA体系结构设计问题我们知道FPGA是分布在芯片上的各种资源,例如时钟,serdes,RAM,LUT,IO等。
规划FPGA时,您应该了解项目的设计要求和数据交织避免在后续的FPGARTL设计中难以优化时序的情况。对应于这种情况,举一个简单的例子。
如果FPGA项目包含PCIE和DDR接口,则需要使用PCIE和外部设备上载和下载大量数据块。 DDR是PCIE的缓存接口,最佳解决方案是将PCIE接口和DDR接口尽可能靠近FPGA放置。
这样,FPGARTL设计的时序可以轻松达到最佳状态。在V7-690TFPGA中,可以放置PCIE的最佳位置如下图所示。
同时,我们也知道在V7-690FPGA中,DDR通常可以放置在BANK34 / 35/36和BANK36 / 37/38中。此时,结合以上两个条件,我们可以获得PCIE和DDR的最佳放置。
使FPGA内部编译通过率或时序最佳。以下是通过两种不同的放置方法获得的exampledesign编译结果的图表。
3.在早期阶段1)中遇到的问题。时钟优化验证引脚时,我使用XILINXFPGA IP为每个功能模块生成了示例设计并将其集成到项目中,但是发现上面提出的功能已集成到FPGA的BUFG资源中是远远不够的。
下图显示了FPGAexampledesign每个模块的BUFG资源需求。因此,已经进行了一些资源优化。
一种。在初步验证中,发现SRIO是消耗最多BUFG资源的IP,因此可以节省最多BUFG。
b。 DDR也消耗更多的时钟。
该项目为一个FPGA使用两个DDR控制器,这也可以节省更多的BUFG。 2)。
不能将PCIE置于所有Serdes之下。对于V7-690,需要将其放在特殊的SERDES中。
这样,当实际的PCIE程序被编译时,该专用SERDES中的PCIE专用资源与已编译的专用资源最接近。时序报告是最好的。
如果不是,则需要设置PCIEIP的特殊内部参数,以便CPU(即,在PCIElink上)可以看到PCIEDEV。 3)。
DDR布局还应参考如何在FPGA内部对数据进行交织。 Energizer放置在将使用大量数据流量的模块附近,因此以后的设计时间会更好。
4)FPGA功耗估算问题。您可以在XILINX官方网站上下载XPEExcel表单,该表单非常实用,您将熟悉一两次。
但是我认为该工具对许多人来说也有一个缺点,就是我实际上不知道我的代码将来会消耗多少。因此,评估可能不准确。
我使用exampledesign项目查看了编译报告。在调整温度和电流时,需要先在vivado下打开实现的结果,然后才能更改电流/温度值以进行评估。
3.在进行FPGAPCB布线时,将遇到调整线序的问题。 1)这取决于项目要求,以查看调整后的布局是否符合项目要求。
调整后,原理图工程师必须提供最新的原理图,最后FPGA会根据新布局重新验证引脚。不要口口相传。
2)请参考XILINX的MIG手册,仔细检查DDR线的顺序。 3)可以通过创建一个空白项目并在空白项目的tcl下输入以下命令来创建DDRPCB布线所需的引脚延迟信息:link_design-partxc7k160tfbg676write_csvflight_time4.CPLD调试1)CPLD控制FPGA的上电顺序,并且XILINX具有另一个检查表,您可以根据检查表的形式在硬件板上执行关键信号的测量和确认,并控制上电顺序。
2)月底时,FPGA的配置控制也可以是xilinxug470。
产品资料
行业信息