FPGA资源使用总结

1、使用ODDR来输出高质量时钟。

2、采用ICAPE核来确保在线升级的正确性或者动态切换不同的功能。(xapp1247)

3、7系列的FPGA部分功能是不支持重配置的(UG909)
(1)时钟资源
pll、mmcm、bufg等
(2)接口相关资源
iodelay、iserdes、oserdes、mgt等
4、原语更容易在不同版本和芯片之间进行移植
5、zynqMP的axi总线外围接口
S_AXI_HP{0:3}_FPD,S_AXI_LPD,S_AXI_ACE_FPD,S_AXI_ACP_FPD,S_AXI_HPC{0,1}_FPD,M_AXI_HPM{0,1}_FPD,M_AXI_HPM0_LPD 共12个接口。
其中
(1)S_AXI_HP{0:3}_FPD 接口,是高性能/带宽的 AXI4 标准的接口,总共有四个,PL 模块作为主设备连接。主要用于 PL 访问 PS 上的存储器(DDR 和 FPD Main Switch)。
(2)S_AXI_ACE_FPD,S_AXI_ACP_FPD不清楚。
(3)S_AXI_LPD 接口,高性能端口,连接 PL 到 LPD。低延迟访问 OCM 和 TCM,访问 PS 端DDR。
(4)S_AXI_HPC{0,1}_FPD 接口,连接 PL 到 FPD,可连接到 CCI,访问 L1 和 L2 Cache,由于通过 CCI,访问 DDR 控制器会有较大延迟。
(5)M_AXI_HPM{0,1}_FPD 接口,高性能总线,PS 为 master,连接 FPD 到 PL,可用于CPU, DMA, PCIe 等从 PS 推送大量数据到 PL。
(6)M_AXI_HPM0_LPD 接口,低延迟接口总线,PS 为 master,连接 LPD 到 PL,可直接访问 PL 端的 BRAM,DDR 等,也经常用于配置 PL 端的寄存器。
在 PS 与 PL 互联应用,用的最多的接口为 S_AXI_HP{0:3}_FPD、M_AXI_HPM{0,1}_FPD 和 M_AXI_HPM0_LPD
6、Xilinx 官方 DMA IP核功能及用法介绍
(1)AXI-DMA:实现从 PS 内存到 PL 高速传输高速通道 AXI-HP<---->AXI-Stream 的转换
(2)AXI-FIFO-MM2S:实现从 PS 内存到 PL 通用传输通道 AXI-HPM<----->AXI-Stream 的转换
(3)AXI-Datamover:实现从 PS 内存到 PL 高速传输高速通道 AXI-HP<---->AXI-Stream 的转换,只不过这次是完全由 PL 控制的,PS 是完全被动的。
(4)AXI-VDMA:实现从 PS 内存到 PL 高速传输高速通道 AXI-HP<---->AXI-Stream 的转换,只不过是专门针对视频、图像等二维数据的。
(5)AXI-CDMA:这个是由 PL 完成的将数据从内存的一个位置搬移到另一个位置,无需 CPU 来插手
7、S_AXI_HPC{0,1}_FPD和S_AXI_ACE_FPD,S_AXI_ACP_FPD的接口有缓存一致性,但是S_AXI_HPC{0,1}_FPD的性能更好,在DDR的操作上不会与DDR的内存有竞争。
8、CPU在操作内存后,要对cache进行刷新,否则数据不更新。
9、当MMCM被用来改善抖动时,无论输入的时钟高低,当输入的抖动较大时,在jitter optimization中选择maxmize input jitter filtering时,输出的抖动最小,当输入抖动较小时,选择minimize outputjitter时,输出抖动最小。
10、axi vip中的示例可以帮助我们更好的去理解axi4总线协议
共有5个通道
写地址
写数据
写应答
读地址
读数据
11、关于时序分析
(1)在时序报告里,WNS、WHS、或WPWS其中任意一个小于,都说明时序为收敛。
(2)打开详细报告,可以看到slack为负,则表明此条路径不满足时序要求。
(3)source是时钟端口,destination是数据端口,可以当前路径的驱动时钟,是否为跨时钟域路径。
(4)查看是否是逻辑延时,是否是逻辑记述太多,导致路径太长。
(5)从requirement可以看出,需要的时间是否合理。
12、关于Vivado软件中使用问题
(1)当使能PR功能时,即使能重配置,在这个状态下,布局布线可能会出现错误,也无法推出PR模式
解决方法:
在工程目录下,用编辑器打开.xpr文件,删掉
<Option Name="PRFlow" Val="TRUE"/>
即可。
(2)当工程源码位置发生改变时,工程由于找不到原来的文件,会在source目录中生成none-module,切此文件中都会飘红
解决方法:
在工程目录下,用编辑器打开.xpr文件,删掉
<File Path="$PPRDIR/../****.v"> <FileInfo> <Attr Name="UsedIn" Val="synthesis"/> <Attr Name="UsedIn" Val="implementation"/> <Attr Name="UsedIn" Val="simulation"/> </FileInfo> </File>
此处.v为飘红的文件,或者补充好此路径下相对应的文件,在remove。
(3)在编译中,部分官方IP核的约束文件会提示找不到信号的严重警告,比如[Vivado 12-50] set_false_path:No valid object(s) found for ‘-to [get_clocks******]’.
在xdc中,生成这个时钟即可。
create_clock -period 10.000 -waveform {0.000 5.000} [get_pins /路径下/clk]。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值