overlay的设计

overlay由两个主要部分组成; PL设计(比特流)和项目框图Tcl文件(the PL design (bitstream) and the project block diagram Tcl file.)。 overlay设计是硬件工程师的专业任务。 本节假定读者具有数字设计,构建Zynq系统和Vivado设计工具的一些经验。

PL Design

Xilinx®Vivado软件用于创建Zynq设计。 将生成可用于对Zynq PL进行编程的比特流或二进制文件(.bit文件)。

Vivado的免费WebPack版本可用于构建overlay。
https://www.xilinx.com/products/design-tools/vivado/vivado-webpack.html

IP in an overlay that can be controlled by PYNQ will be memory mapped, connected to GPIO. IP may also have a master connection to the PL.
鼓励硬件设计人员利用PYNQ overlay来编程IP。 创建IP后,PL设计的执行方式与任何其他Zynq设计相同。overlay中的 IP可以由PYNQ控制,将被存储器映射,连接到GPIO。 IP也可以与PL建立主连接。 PYNQ提供Python库以及与PL设计接口,并可用于创建自己的驱动程序。 overlay的Python API将在下一节中介绍。

Overlay Tcl file

PYNQ使用Vivado IP Integrator模块设计的Tcl来自动识别Zynq系统配置,IP包括版本,中断,复位和其他控制信号。根据这些信息,可以从PYNQ自动修改系统配置的某些部分,可以自动分配驱动程序,启用或禁用功能,并且可以将信号连接到相应的Python方法。

必须生成Tcl文件,并将其作为overlay的一部分提供给比特流文件。通过在overlay设计过程结束时导出IP Integrator程序框图,可以在Vivado中生成Tcl文件。下载overlay时,应为Tcl文件提供比特流。 PYNQ PL类将自动解析Tcl。

可以使用自定义或手动创建的Tcl文件来构建Vivado项目,但应使用Vivado生成并导出程序框图的Tcl文件。这个自动生成的Tcl应该确保它可以被PYNQ正确解析。

要从Vivado GUI生成块图的Tcl:
File > Export > Block Design

或者,在Tcl控制台中运行以下命令:
write_bd_tcl

Tcl文件名应与.bit文件名匹配。 例如,my_overlay.bit和my_overlay.tcl。

在实例化和下载overlay时解析Tcl。
from pynq import Overlay
ol = Overlay(“base.bit”) # Tcl is parsed here

如果在尝试下载叠加层时Tcl不可用,或者如果Tcl文件名与.bit文件名不匹配,则会显示错误。

可编程
覆盖应该具有后比特流可编程性以允许定制系统。许多可重复使用的PYNQ IP模块可用于支持可编程性。例如,PYNQ MicroBlaze可用于Pmod和Arduino接口。可以重用来自各种覆盖的IP以提供运行时可配置性。

Zynq PS设置
用于Zynq设计的Vivado项目由两部分组成; PL设计和PS配置设置。

用于引导板的PYNQ映像在引导时配置Zynq PS。这将解决大多数PS配置,包括DRAM的设置,以及启用PYNQ使用的Zynq PS外设,包括SD卡,以太网,USB和UART。

PS配置还包括系统时钟的设置,包括PL中使用的时钟。 PL时钟可以在运行时编程,以匹配覆盖的要求。这由PYNQ Overlay类自动管理。

在下载新overlay的过程中,时钟配置将从overlay的Tcl文件中解析。在下载overlay之前,将自动应用overlay的新时钟设置。

现有overlay
现有overlay可用作创建新overlay的起点。基础overlay可以在PYNQ存储库的板目录中找到,并包括板上外设的参考IP:

/ boards / / base
每个文件夹中都存在一个makefile,可用于重建Vivado项目并为overlay生成比特流和Tcl。 (在Windows上,而不是使用make,Tcl文件可以从Vivado获取。)

overlay的比特流和Tcl可在电路板上以及GitHub项目存储库中获得:

/ boards / / base

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值