{{ :eetreewechat.png?600 |}} **扫描二维码,关注微信公众号“电子森林”,可以在手机上查看本网站的所有文章** {{ :pynqbrd.jpg |}} ==== PYNQ是什么? ==== {{ :pynqstack.png|}} PYNQ是Xilinx公司的开源项目® ,可以很容易地设计与赛灵思ZYNQ嵌入式系统® 系统上级芯片(SoC)。使用Python语言和库,设计人员可以利用Zynq中可编程逻辑和微处理器的优势来构建更强大,更令人兴奋的嵌入式系统。 PYNQ用户现在可以创建高性能的嵌入式应用程序 * 并行硬件执行 * 高帧率视频处理 * 硬件加速算法 * 实时信号处理 * 高带宽IO * 低延迟控制 ==== 谁会用PYNQ? ==== PYNQ旨在供各种设计人员和开发人员使用,包括: * 希望利用Zynq和可编程硬件功能而无需使用ASIC式设计工具来设计硬件的软件开发人员。 * 系统架构师需要一个简单的软件界面和框架来快速进行原型设计和Zynq设计的开发。 * 希望他们的设计被最广泛的受众使用的硬件设计师。 ==== 关键技术 ==== [[https://jupyter.org/|Jupyter Notebook]]是一个基于浏览器的交互式计算环境。可以创建Jupyter笔记本文档,包括实时代码,交互式小部件,绘图,说明文本,方程式,图像和视频。可以使用Python在Jupyter Notebook中轻松编程支持PYNQ的Zynq板。使用Python,开发人员可以 在可编程逻辑上使用硬件库和覆盖。 硬件库或覆盖可以加速Zynq板上运行的软件,并 自定义硬件平台和接口。PYNQ映像是可引导的Linux映像,包括 pynq Python包和其他开源包。 ==== 需要的软件 ==== Jupyter笔记本界面基于浏览器,只需一个[[https://jupyter-notebook.readthedocs.io/en/latest/notebook.html#browser-compatibility|兼容的Web浏览器]],即可开始使用Python编程PYNQ。为了获得更高的性能,您还可以将C/C++与PYNQ结合使用。在[[https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2016-1.html|赛灵思SDK软件开发环境]]是免费提供的。您还可以使用第三方软件开发工具。可以使用标准Xilinx和第三方硬件设计工具创建新的硬件库和叠加层。[[https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2016-1.html|Xilinx Vivado]]的[[https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2016-1.html|免费WebPACK版本]]完全支持许多Zynq主板。 l ==== 入门PYNQ ==== === 阅读指南 === * [[https://pynq.readthedocs.io/en/latest/getting_started/pynq_z1_setup.html|PYNQ-Z1设置指南]] * [[https://pynq.readthedocs.io/en/latest/getting_started/pynq_z2_setup.html|PYNQ-Z2设置指南]] * [[https://pynq.readthedocs.io/en/latest/getting_started/zcu104_setup.html|ZCU104设置指南]] * [[https://pynq.readthedocs.io/en/latest/getting_started/other_boards.html|将PYNQ与其他Zynq板一起使用]] === 视频教程 === * 摩尔吧上的教程 * [[https://www.moore8.com/courses/2407|基于PYNQ SOC平台——快速入门神经网络的建模与硬件加速(一)]] * [[https://www.moore8.com/courses/2409|基于PYNQ SOC平台——快速入门神经网络的建模与硬件加速(二)]] * [[https://www.moore8.com/courses/2410|基于PYNQ SOC平台——快速入门神经网络的建模与硬件加速(三)]] * YouTube ==== 开发平台 ==== === 开发板 === * [[https://store.digilentinc.com/pynq-z1-python-productivity-for-zynq-7000-arm-fpga-soc/|Pynq-Z1 from Digilent]] * [[http://www.tul.com.tw/ProductsPYNQ-Z2.html|Pynq-Z2 from TUL]] * [[https://www.xilinx.com/products/boards-and-kits/zcu104.html|ZCU104 from Xilinx]] * [[https://www.xilinx.com/products/boards-and-kits/zcu111.html|ZCU111 from Xilinx]] === PYNQ镜像 === * [[https://www.xilinx.com/registration/sign-in.html?oamProtectedResource=wh%3Dwww.xilinx.com%20wu%3D%2Fmember%2Fforms%2Fdownload%2Fxef.html%3Ffilename%3Dpynq_z1_v2.4.zip%20wo%3D1%20rh%3Dhttps%3A%2F%2Fwww.xilinx.com%20ru%3D%252Fmember%252Fforms%252Fdownload%252Fxef.html%20rq%3Dfilename%253Dpynq_z1_v2.4.zip|PYNQ-Z1 v2.4 PYNQ image]] * [[https://www.xilinx.com/registration/sign-in.html?oamProtectedResource=wh%3Dwww.xilinx.com%20wu%3D%2Fmember%2Fforms%2Fdownload%2Fxef.html%3Ffilename%3Dpynq_z2_v2.4.zip%20wo%3D1%20rh%3Dhttps%3A%2F%2Fwww.xilinx.com%20ru%3D%252Fmember%252Fforms%252Fdownload%252Fxef.html%20rq%3Dfilename%253Dpynq_z2_v2.4.zip|PYNQ-Z2 v2.4 PYNQ image]] * [[https://www.xilinx.com/registration/sign-in.html?oamProtectedResource=wh%3Dwww.xilinx.com%20wu%3D%2Fmember%2Fforms%2Fdownload%2Fxef.html%3Ffilename%3Dzcu104_v2.4.zip%20wo%3D1%20rh%3Dhttps%3A%2F%2Fwww.xilinx.com%20ru%3D%252Fmember%252Fforms%252Fdownload%252Fxef.html%20rq%3Dfilename%253Dzcu104_v2.4.zip|ZCU104 v2.4 PYNQ image]] * [[https://www.xilinx.com/registration/sign-in.html?oamProtectedResource=wh%3Dwww.xilinx.com%20wu%3D%2Fmember%2Fforms%2Fdownload%2Fxef.html%3Ffilename%3Dzcu111_v2.4.zip%20wo%3D1%20rh%3Dhttps%3A%2F%2Fwww.xilinx.com%20ru%3D%252Fmember%252Fforms%252Fdownload%252Fxef.html%20rq%3Dfilename%253Dzcu111_v2.4.zip|ZCU111 v2.4 PYNQ image]] === 社区板卡 === * Avnet Ultra96 v2.4 PYNQ image * [[https://ultra96-pynq.readthedocs.io/en/latest/|Ultra96 PYNQ documentation]] === 其他板卡 === * [[https://www.xilinx.com/registration/sign-in.html?oamProtectedResource=wh%3Dwww.xilinx.com%20wu%3D%2Fmember%2Fforms%2Fdownload%2Fxef.html%3Ffilename%3Dpynq_rootfs_aarch64_v2.4.zip%20wo%3D1%20rh%3Dhttps%3A%2F%2Fwww.xilinx.com%20ru%3D%252Fmember%252Fforms%252Fdownload%252Fxef.html%20rq%3Dfilename%253Dpynq_rootfs_aarch64_v2.4.zip|PYNQ rootfs aarch64 v2.4]] * [[https://www.xilinx.com/registration/sign-in.html?oamProtectedResource=wh%3Dwww.xilinx.com%20wu%3D%2Fmember%2Fforms%2Fdownload%2Fxef.html%3Ffilename%3Dpynq_rootfs_arm_v2.4.zip%20wo%3D1%20rh%3Dhttps%3A%2F%2Fwww.xilinx.com%20ru%3D%252Fmember%252Fforms%252Fdownload%252Fxef.html%20rq%3Dfilename%253Dpynq_rootfs_arm_v2.4.zip|PYNQ rootfs arm v2.4]] === 板卡比较 === {{ :微信截图_20190326142301.png?nolink&700 |}} ==== 社区与交流 ==== === 利用FINN在Xilinx FPGA上进行机器学习 === PYNQ已被广泛用于机器学习研究和原型设计。FINN,来自Xilinx研究实验室的实验框架,用于探索FPGA上的深度神经网络推理。它专门针对量化神经网络,重点是为每个网络生成定制的数据流式架构。FINN广泛使用PYNQ作为原型平台。有关更多信息,请参阅[[http://www.pynq.io/ml|pynq.io/ml]] === PYNQ社区项目 === * [[https://github.com/strath-sdr/rfsoc_qpsk|RFSoC QPSK Transceiver]] * [[https://github.com/byuccl/PYNQ-PRIO|PYNQ-PRIO]] * [[https://github.com/Xilinx/PYNQ-HelloWorld|PYNQ-Helloworld]] * [[https://github.com/drichmond/RISC-V-On-PYNQ|RISC-V-On-PYNQ]] * [[https://github.com/sfox14/pynq-ekf|PYNQ Extended Kalman Filter (EKF)]] * [[https://github.com/fpgasystems/spooNN|spooNN]] * [[https://github.com/onioncc/iSmartDNN|iSmartDNN]] * [[https://github.com/hirayaku/DAC2018-TGIIF|DAC 2018 System Design Contest-TGIIF]] * [[https://github.com/wbrueckner/cv2pynq|cv2PYNQ]] * [[https://github.com/Pieter-Berteloot/PYNQ_Projects|PYNQ_Projects]] * [[https://github.com/fpgasystems/ZipML-PYNQ|ZipML-PYNQ]] * [[https://github.com/Xilinx/PYNQ-BOT|PYNQ-BOT]] * [[https://github.com/sonnyhcl/PYNQ-Light-Cube|PYNQ Light Cube]] * [[https://github.com/Xilinx/IIoT-SPYN|IIoT-SPYN]] * [[https://github.com/Xilinx/PYNQ-Networking|PYNQ-Networking]] * [[https://github.com/Xilinx/QNN-MO-PYNQ|QNN-MO-PYNQ PIP INSTALL Package]] * [[https://github.com/tukl-msd/LSTM-PYNQ|LSTM-PYNQ Pip Installable Package]] * [[https://github.com/Xilinx/BNN-PYNQ/|BNN-PYNQ PIP INSTALL Package]] * [[https://github.com/AEW2015/PYNQ_PR_Overlay|PYNQ PR Overlay]] * [[https://github.com/Xilinx/PYNQ-ComputerVision|PYNQ - Computer Vision]] * [[https://gitlab.dcae.pub.ro/research/PynqGzip|PynqGzip]] * [[https://github.com/AcceleratedCloud/SPynq|SPynq: Spark on Pynq]] * [[https://github.com/hackwa/pynqfire/blob/master/notebooks/fir.ipynb|FIR Filter with DMAs in SDSoC Ported to python]] * [[https://github.com/awai54st/PYNQ-Classification|PYNQ-Classification]] * [[https://github.com/malkadi/FGPU_IPython/|FGPU Demo using PYNQ on the Xilinx ZC706]] * [[https://github.com/VectorBlox/PYNQ|Vectorblox PYNQ Fork]] === 案例笔记 === * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/pmod/pmod_adc.ipynb|ADC波形]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/pmod/pmod_dac_adc.ipynb|DAC ADC示例]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/pynq/notebooks/common/overlay_download.ipynb|下载叠加层]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/pmod/pmod_grove_adc.ipynb|Grove ADC]] * [[https://github.com/Xilinx/PYNQ/blob/v1.4/Pynq-Z1/notebooks/examples/arduino_analog.ipynb|Arduino模拟示例]] * [[https://github.com/Xilinx/PYNQ/blob/v1.4/Pynq-Z1/notebooks/examples/opencv_filters_webcam.ipynb|OpenCV软件过滤器]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/arduino/arduino_grove_ledbar.ipynb|Grove LED酒吧]] * [[https://github.com/Xilinx/PYNQ/blob/v1.4/Pynq-Z1/notebooks/examples/overlay_integration.ipynb|创建新的叠加层]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/video/opencv_face_detect_hdmi.ipynb|OpenCV人脸检测]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/pmod/pmod_pwm.ipynb|PWM示例]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/pmod/pmod_timer.ipynb|定时器示例]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/audio/audio_playback.ipynb|PYNQ音频]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/pynq/notebooks/common/usb_webcam.ipynb|USB网络摄像头]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/boards/Pynq-Z1/base/notebooks/pmod/pmod_grove_tmp.ipynb|Shell命令]] * [[https://github.com/Xilinx/PYNQ/blob/v1.4/Pynq-Z1/notebooks/examples/pmod_grove_tmp.ipynb|温度感应器]] * [[https://github.com/Xilinx/PYNQ/blob/v2.0/pynq/notebooks/common/usb_wifi.ipynb|USB无线上网]] * {{:骑驴玩儿漂移-fpga之pynq_-_z2_入门学习笔记1_1_.pdf|骑驴玩儿漂移­FPGA之PYNQ Z2入门学习笔记1}} ==== 参与其中 ==== PYNQ项目的完整源代码可从[[https://github.com/Xilinx/Pynq|PYNQ GitHub]]获得。如果您想参与或联系PYNQ团队,您可以在[[http://www.pynq.io/support|PYNQ支持论坛]]上发布消息。