Skip to content
Chenglong Hu edited this page Sep 26, 2018 · 20 revisions

PYNQ文档众筹中心

大家好,我们将在这里"众筹"一波PYNQ的相关中文资料,主要分为两个大板块,案例使用介绍和新手入门教程,这些材料都将成为之后PYNQ公众号的文字材料,因此请大家在行文中注意一下语气,例如自称可以用"笔者",与读者互动称"读者"等。

  • 统一规范:
    • 文字材料采用jupyter notebook的形式提交,使用markdown写注释和文档,里面的代码要求保证能够顺序运行(也可以提前说明运行前提,比如对板卡的要求)
    • Vivado 2017.4: 很多案例本身不是采用2017.4写的,尽量将它们转换为2017.4,实在不行的也不强求
    • PYNQ-Z2 Board: 很多案例写的时候只有PYNQ-Z1,可以先在Z1上进行尝试,如果可以直接在Z2上运行那就移过来
    • 案例
      • 着重介绍案例中提供的Notebook的使用方法,对硬件部分的解释只需要解释到框图和数据流这一步即可,不需要详细到硬件ip设计细节。
      • 原案例中肯定也会有各种各样的错误,在小范围内可以自己修正,如果错误较大请联系原作者,并在群里讨论这个案例的工作是否还要继续。
    • 入门教程
      • 可以参考文档作为内容的一部分,但是要求文档最多只能占50%内容
      • 主要针对人群是对于刚开始用PYNQ的新手,着重介绍某个知识点,要求详细且覆盖广

入门文档

  • 领取任务流程:
    • 领取任务,在wiki上登记,在群里吼一声
    • 先阅读理解文档中的内容,然后了解一些常规用法,最后拟定一份文字大纲,通过后开始行文
    • 完成入门文档之后,以jupyter notebook的形式提交在本repo,要求一个任务需要的所有文件都放在一个文件夹里(避免提交的时候互相干扰)
分类 标题 难度 简介 大纲 负责人
入门 PYNQZ1/Z2板卡上手 开机、启动、网络配置、连接到jupyter、samba使用
入门 ZCU104板卡上手 开机、启动、网络配置、连接到jupyter、samba使用
入门 Jupyter使用介绍 jupyter本身功能特点使用、在PYNQ嵌入式板子中能额外做什么
入门 python介绍 文档中的分解质因数、数据搬移、异步IO的例子、pip使用
BaseOverlay Audio Audio的使用、音频相关知识
BaseOverlay AxiGPIO gpio的使用、gpio相关知识、ps gpio与axi gpio
BaseOverlay AxiIIC iic的使用、ps iic与axi iic、iic相关知识
BaseOverlay Video ⭐⭐ 视频通路的介绍
Logictool Logictool-Boolean ⭐⭐ Logictool中的Boolean generator
Logictool Logictool-FSM ⭐⭐ Logictool中的FSM generator
Logictool Logictool-Pattern ⭐⭐ Logictool中的Pattern generator 这三个任务最好由同一个人来接
BaseOverlay IOP-Pmod ⭐⭐⭐ 介绍IOP-PMOD、运行3-5个iop-pmod的传感器例子
BaseOverlay IOP-Arduino ⭐⭐⭐ 介绍IOP-ARDUINO、运行3-5个iop-arduino的传感器例子
BaseOverlay IOP-RPi ⭐⭐ 介绍IOP-RPi
BaseOverlay PMBUS 介绍pmbus、libsensor、数据可视化的方法
BaseOverlay Overlay class 介绍Overlay class提供的API(包括下载比特流、查看overlay中的ip列表等)
BaseOverlay PL与Bitstream 介绍PL与Bitstream class提供的API
Overlay开发 Overlay design与board settings 简单介绍overlay的概念、开发中需要注意的板子配置
Overlay开发 PS/PL interface ⭐⭐ gpio/mmio/xlnk/dma/interrupt
Overlay开发 PYNQ microblaze subsystem ⭐⭐⭐ PYNQ的microblaze子系统介绍、内存架构、如何编写mb应用
Overlay开发 Microblaze RPC+Library ⭐⭐ microblaze在jupyternotebook里被编译、调用的机制
Overlay开发 Python-C结合 CFFI
Overlay开发 Python异步IO与PYNQ的结合 Python异步IO、硬件中使用异步io做中断
Overlay开发 python打包与分发 介绍pynq overlay如何打包与分发
Overlay开发 Overlay tutorial ⭐⭐ 介绍自底向上如何构建Overlay

案例

  • 领取案例流程:
    • 领取任务,在wiki上登记,在群里吼一声
    • xupsh账号会fork一份代码,如果对原案例有修改就直接在fork的repo上进行修改(主要是README)
    • 先跑通原案例,然后拟定一份文字大纲,通过后开始行文
    • 完成案例介绍文档,以jupyter notebook的形式提交在本repo,要求一个任务需要的所有文件都放在一个文件夹里(避免提交的时候互相干扰)
分类 案例 难度 简介 大纲 负责人
基础 BaseOverlay ⭐⭐⭐ 从整体层面介绍BaseOverlay的框图,以及它能被用来做什么
基础 LogictoolOverlay ⭐⭐⭐ 从整体层面介绍LogictoolOverlay的框图,以及它能被用来做什么
物联网 IIOT电机控制 ⭐⭐⭐ 采用 Python 加速边缘分析和机器学习在工业物联网的应用 案例地址:https://github.com/Xilinx/IIoT-SPYN
物联网 PYNQ-Bot机器人 ⭐⭐ 使用PYNQ简单的控制小车 案例地址:https://github.com/Xilinx/PYNQ-BOT
人工智能 PYNQ-BNN ⭐⭐⭐ 基于Pynq的二值神经网络BNN 案例地址:https://github.com/Xilinx/bnn-PYNQ/
人工智能 PYNQ-LSTM ⭐⭐⭐ 基于Pynq的LSTM 案例地址:https://github.com/tukl-msd/LSTM-PYNQ
人工智能 PYNQ-QNN ⭐⭐⭐ 基于Pynq的量化神经网络QNN 案例地址:https://github.com/Xilinx/QNN-MO-PYNQ
人工智能 CNN-PYNQ ⭐⭐⭐ 在PYNQ上运行CNN https://github.com/awai54st/PYNQ-Classification
机器视觉 PYNQ-CV ⭐⭐⭐ 在PYNQ上使用xfopencv来加速常规cv处理 案例地址:https://github.com/Xilinx/PYNQ-ComputerVision
机器视觉 cv2pynq ⭐⭐⭐ 在PYNQ上加速OpenCV处理函数 案例地址:https://github.com/wbrueckner/cv2pynq 黄泽鹏
机器视觉 VectorBlox ⭐⭐⭐ HDMI视频处理 案例地址:https://github.com/VectorBlox/PYNQ
基础 Spynq ⭐⭐ Apache Spark on PYNQ 案例地址:https://github.com/AcceleratedCloud/Spynq
Clone this wiki locally