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

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

3天内不再提示

如何使用PYNQ Overlay 发布工具PyPI

454398 来源:PYNQ社区 作者:PYNQ社区 2020-11-09 17:30 次阅读

PYNQ Overlay 发布工具 PyPI

作为Python的官方第三方软件存储库PyPI,目前已将超过222,000个项目收纳囊中,PYNQ作为一款将Python开发语言与FPGA硬件设计完美衔接的产品,自然也是迫不及待地入住PyPI。点开PyPI主页面搜索PYNQ,可以看到已经有边缘PYNQ, Alveo板卡,resnet50等项目发布在其中,而你现在与所有这些FPGA工程之间只有一步之遥:pip install !!!

设计初衷--便捷与统一

PYNQ 应用同时包含了硬件设计和软件驱动,比如PL bitstreams和Python包,用户必须要同时部署这两部分内容才能顺利运行起来。在GitHub环境中,软件包的发布比较容易,而硬件设计的bitstream 有时大于10M,发布较为困难,导致了FPGA应用的整体部署往往需要先配置硬件环境然后再装软件,显得有些繁琐。

特性介绍- pip install all

PyPI将打包硬件bitstreams和软件程序,一并推送给用户。用户可以简单地在PYNQ平台上用pipinstall pynq来完成整体环境的部署,包含了FPGA overlays、Python软件驱动以及Jupyter notebook。

案例介绍

构建Repository

  • boards 包含所有硬件projects。用户可以在里面找到自己对应的硬件平台,然后build
  • pynq_helloworld 这是主要的python package,里面还包含了jupyter notebook
  • MANIFEST.in 里面就是需要包含在分发包中的文件,也就是需要把要查找的分发的包的路径写上
  • pyproject.toml 这里指定了该项目build的最小系统需求
  • setup.py 主要写需要安装的包的一些配置信息,比如包的版本号、作者、需要处理的包目录等等

链接overlay

在用户安装的时候再通过项目里的notebook(例子中是PYNQ-HelloWorld/pynq_helloworld/notebooks/*/)中对应的*.link文件来下载,这是PYNQ Utils Module提供的一个工具(build_py,在setup.py中的cmd_class字段指定)自动完成的。当用户安装时会自动读取当前平台并找到对应的*.link来下载。

提取notebook

很简单的一个小技巧,在setup.py中定义一个entry_points,该entry_points实际上就是在安装时检测一下当前的硬件平台(是edge还是pcie),然后当用户使用pynqget-notebooks pynq-helloworld -p .命令来提取对应notebook时就会拿取对应平台的文件(命令中的pynq-helloworld实际上已经被替换成了pynq_helloworld.notebook.edge/pcie即项目中的notebook路径)

打包上传

  • python3setup.py sdist会将项目打包成*.tar.gz并放在dist目录下,开发者可以用python3-m pip install dist/*.tar.gz命令来尝试安装
  • 打包安装没问题后只需上传到PyPI就行了,实际上关键步骤只要两步:python3 -m pip install --upgrade twine(更新) & python3 -m twine uploaddist/*(上传)
  • 上传成功后应该能看到

  • PyPI上的页面

安装PIP

只需要一条命令就可以愉快地安装啦python3-m pip install pynq-helloworld

如果需要用jupyternotebook,进入系统的jupyter notebook home目录并运行pynq get-notebooks pynq-helloworld -p .

编辑:hfy


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

    关注

    1610

    文章

    21390

    浏览量

    595429
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83700
收藏 人收藏

    评论

    相关推荐

    如何利用FPGA部分可重配置特性实现PYNQ-PRIO经典案例

    此项目中在PYNQ框架下有两种驱动这些IP的方式:一是直接使用PYNQ提供的API操作overlay里面的IP,二是将这些IP通过DTS(Device Tress Source)注册到linux sysfs中,然后调用linux
    的头像 发表于 09-28 10:21 3490次阅读
    如何利用FPGA部分可重配置特性实现<b class='flag-5'>PYNQ</b>-PRIO经典案例

    基于IIoT-EDDP开源平台和PYNQ软件框架的电机控制

    控制器、电流采样等。Overlay中的算法模块通过Vivado HLS生成。 设备清单 PYNQ-Z2套件 EDDP
    的头像 发表于 10-30 12:22 4368次阅读
    基于IIoT-EDDP开源平台和<b class='flag-5'>PYNQ</b>软件框架的电机控制

    PYNQ项目——Pynq开发板启动实验

    作者:Mculover666 今天刚刚到手一块PYNQ-Z2,确认过眼神,是我想要的板子,话不多说,开干。     PYNQ项目是一个支持Xilinx Zynq器件的开源软件框架,目的在于借助
    的头像 发表于 12-23 10:58 3494次阅读

    基于PYNQ-Z2开发板的PYNQ开源项目

    PYNQ项目是一个新的开源框架,使嵌入式编程人员在无需设计可编程逻辑电路的情况下充分发挥Xilinx Zynq All Programmable SoC(APSoC)的功能。 与常规方式
    的头像 发表于 01-02 09:02 5927次阅读
    基于<b class='flag-5'>PYNQ</b>-Z2开发板的<b class='flag-5'>PYNQ</b>开源项目

    PYNQ-Z2申请】基于PYNQ的神经网络自动驾驶小车

    助电子发烧友本次发布的Xilinx PYNQ-Z2开发板完成该项目的开源设计。三、试用项目计划(一)、平台上手与熟悉(2周内)①基本评测,对Xilinx PYNQ-Z2开发板快速入门,收集整理并
    发表于 12-19 11:36

    PYNQ-Z2试用体验】玩转PYNQ系列:三、PYNQ数字图像处理之图像采集

    的二进制流文件,以确保在硬件上存在相应的逻辑电路。同样地,在进行其他如LED、音频端口等硬件时,也要进行同样的操作。 from pynq import Overlaybase = Overlay
    发表于 01-28 22:50

    PYNQ-Z2试用体验】基于PYNQ的神经网络自动驾驶小车 - 项目规划

    完成,在PYNQ上搭建含有硬件神经网络和硬件PWM控制器的PYNQ Overlay,由Python接口完成小车的整体框架。 四、实现步骤1. 搭建自动驾驶小车的底盘和硬件,焊接制作电源电路,完成各个
    发表于 03-02 23:10

    什么是PYNQ

    什么是PYNQPYNQ就是通过Python语言直接对FPGA进行编程吗?PYNQPYNQ-Z2是一回事吗?PYNQ-Z2是否支持传统开发
    发表于 02-24 07:02

    PYNQ开源方案

    板卡购买:Digilent(迪芝伦)PYNQ目录微信公众号:PYNQ开源社区百度/CSDN博客BilibiliGitHub/ Gitee(开源项目)Xilinx官方代码库PYNQ官网中国
    发表于 08-04 08:29

    【KV260视觉入门套件试用体验】Zynq超强辅助-PYNQ配置,并使用XVC(Xilinx Virtual Cable)调试FPGA逻辑

    和 Jupyter Notebook 来编写和运行我的程序,通过浏览器界面来交互和可视化我的结果。 PYNQ 让我可以轻松地控制我的 PL 侧逻辑,只需要加载不同的 overlay 库,就可以像调用函数
    发表于 09-16 14:15

    【KV260视觉入门套件试用体验】PYNQ初次上手体验

    ,理论ARM上可用的库都可以安装在这里。 开箱即用的是硬件。例如,KV260通过DSI电缆支持Raspberry PI CAM,但PYNQ无法访问它,为了能够支持这一点,我们必须使用所谓的overlay
    发表于 10-18 01:22

    PYNQ中MicroBlaze程序文件的加载过程

    PYNQ的base overlay 中添加了MicroBlaze,通过MicroBlaze 来配置PMOD 和ardonio 接口并驱动外部设备。
    发表于 03-16 09:15 2150次阅读

    探究DSP-PYNQ新增对ZCU111和Ultra96的支持!

    PYNQ RFSoCWorkshop之后,Xilinx再次推出DSP-PYNQ,与之前只发布了基于RFSoC2x2开发套件的overlay和notebooks不同,本次
    的头像 发表于 06-01 11:51 2279次阅读

    Overlay如何与EUV图案保持同步

    套刻计量(Overlay metrology)工具可提高精度,同时提供可接受的吞吐量,解决日益复杂的设备中的竞争要求。
    的头像 发表于 07-10 11:27 1004次阅读
    <b class='flag-5'>Overlay</b>如何与EUV图案保持同步

    为什么需要Overlay网络?Overlay网络是如何形成的?Overlay网络的应用有哪些?

    Overlay网络和Underlay网络是一组相对概念,Overlay网络是建立在Underlay网络上的逻辑网络。
    的头像 发表于 08-21 11:00 843次阅读
    为什么需要<b class='flag-5'>Overlay</b>网络?<b class='flag-5'>Overlay</b>网络是如何形成的?<b class='flag-5'>Overlay</b>网络的应用有哪些?