在PYNQ RFSoCWorkshop之后,Xilinx再次推出DSP-PYNQ,与之前只发布了基于RFSoC2x2开发套件的overlay和notebooks不同,本次发布的工程增加了对ZCU111和Ultra96的支持。
Overlay
开发者可以通过简单的命令快速安装overlay,并正式开启基于PYNQ的数字信号处理之旅。
# PYNQ v2.4.1 v2.5
pip3 install https://github.com/Xilinx/DSP-PYNQ/releases/download/v1.0_$BOARD/dsp_pynq-1.0-py3-none-any.whl
# PYNQ v2.6
pip3 install https://github.com/Xilinx/DSP-PYNQ/releases/download/v2.0_$BOARD/dsp_pynq-2.0-py3-none-any.whl
python3 -c 'import dsp_pynq; dsp_pynq.install_notebooks()'
Notebooks
本次DSP-PYNQ一共发布了两个有关数字信号处理的notebooks,这些notebooks可以帮助开发者快速熟悉和理解如何使用Python和PYNQ开发数字信号处理(DSP)应用。其中第一个notebook是围绕数字信号处理功能的DSP和Python包入门应用,第二个notebook在第一个的基础上,将FFT和FIR处理搬移到PL端进行加速处理。
Notebook 1:苏格兰鸟类录音分析
在该示例应用中,我们将从可视化一些有趣的信号开始——苏格兰鸟类的录音!这段录音包含两种不同频率的苏格兰鸟的声音,我们将使用一些不同的分析技术来了解这些信号,最后对音频进行处理以分离出单一类型的鸟类。
引入SciPy ecosystem,包括用于DSP运算的scipy.signal和用于数组的numpy。
获取采样频率,样本数组类型,样本数据格式,数据长度等信息。
使用Scipy对原始样本数据进行FFT操作。
时域信号
频域信号
使用Scipy设计FIR滤波器,并验证其频率响应。
FIR频率响应
使用FIR滤波器对原始信号进行滤波。
FIR滤波前频谱
FIR滤波后频谱
使用plotly_express和pandas dataframe实现可视化操作,能够自由对绘图进行zoomin/pan around/zoom back 保存等操作,上述图片均使用ploty_express绘得。
Notebook2:使用FPGA实现硬件加速
在该示例应用中,我们将会使用相同的SciPy技术来分析记录有两种鸟类声音的音频,并使用滤波器来分离其中一种声音。但是,这一次我们将会把软件的FFT和FIR函数搬移到FPGA端实现硬件加速,同时使用PYNQ控制。
使用LogiCoreFIR Compiler和LogiCireFFT构建硬件加速逻辑。
硬件设计
使用AXI DMA实现PL端与PS端的Memory共享。
使用Python为FPGA硬件构建控制函数,通过DMA传输数据和配置信息,实现对FFT和FIR IP核的on-the-fly重配置以及功能实现。
更多详细信息请点击阅读原文。
- END -
NOW现在行动!
推荐阅读
【Vivado那些事】如何查找官网例程及如何使用官网例程【Vivado使用误区与进阶】总结篇【Vivado那些事】Vivado下头文件使用注意事项【Vivado那些事】Vivado中常用的快捷键(一)F4键【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
HDL Designer Series(HDS)介绍
SystemVerilog数字系统设计_夏宇闻 PDF
Verilog 里面,always,assign和always@(*)区别
FPGA上如何求32个输入的最大值和次大值:分治新年愿望是什么?先送大家一波开发软件谈谈FPGA(入门)学习的两种方零基础入门FPGA,如何学习?【Vivado那些事】FPGA配置失败,无法启动怎么办
你会在github上找项目吗?
图书推荐|ARM Cortex-M0 全可编程SoC原理及实现
简谈:如何学习FPGARISC-V再进阶!世界首款5纳米RISC-V SOC成功流片!
几款开源SDR平台
Xilinx 推出 Kria 自适应系统模块产品组合,在边缘加速创新和 AI应用
RISC-V指令集架构介绍及国内外厂商介绍
Vitis尝鲜(一)
SDR/无线设计中LNA和PA的基本原理
拆解1968年的美国军用电脑,真的怀疑是“穿越”啊!
一文最全科普FPGA技术知识
首个中文CPU指令规范 龙芯推出LoongArch基础架构手册
你见过1-bit CPU吗?高级FPGA设计技巧!多时钟域和异步信号处理解决方案
【Vivado那些事】Vivado中电路结构的网表描述
ZYNQ中裸机开发和Linux开发有什么区别?
现代计算机的雏形-微型计算机MCS-4
【每周一问】如何控制加载FPGA程序时,Xilinx FPGA的IO管脚输出高低电平
【Vivado那些事】vivado生成.bit文件时报错-ERROR: [Drc 23-20]
AD9361 和Zynq及其参考设计说明1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程谈谈Xilinx FPGA设计的实现过程
点击上方字体即可跳转阅读