BZOJ 2599 IOI2011 RACE Tree

2023-01-05   ES  

After PYNQ RFSOCWORKSHOP, Xilinx launched DSP-PYNQ again, unlike the previously released Overlay and Notebooks based on the RFSOC2X2 development kit. The project released this time has added support for ZCU111 and Ultra96.


Developers can quickly install Overlay through simple commands and officially open a PYNQ -based digital signal processing journey.

# PYNQ v2.4.1 v2.5
pip3 install$BOARD/dsp_pynq-1.0-py3-none-any.whl

# PYNQ v2.6
pip3 install$BOARD/dsp_pynq-2.0-py3-none-any.whl

python3 -c 'import dsp_pynq; dsp_pynq.install_notebooks()'


DSP-PYNQ released a total of two Notebooks related to digital signal processing. These Notebooks can help developers quickly familiarize and understand how to use Python and PYNQ to develop digital signal processing (DSP) applications. Among them, the first notebook is the DSP and Python entered the door application around the digital signal processing function. On the first basis of the first notebook, the FFT and FIR processing are moved to the PL end for acceleration processing.

notebook 1: Scottish bird recording analysis

In this example application, we will start with some interesting signals of visualization -the recording of Scottish birds! This recording contains the sound of two different frequencies. We will use some different analytical technologies to understand these signals, and finally process the audio to separate a single type of birds.

  • Introduce SCIPY ECOSYSTEM, including scipy.signal for DSP operations and Numpy for array.

    • Get the sampling frequency, sample array type, sample data format, data length and other information.

    • Use SCIPY to perform FFT operations on the original sample data.

      time domain signal

      frequency domain signal

    • Use SCIPY design FIR filter and verify its frequency response.

      FIR frequency response

    • Use a FIR filter to filter the original signal.

      FIR filtering before spectrum

      FIR filtering spectrum

  • Use plotly_express and pandas dataframe to achieve visual operation. It can freely use the drawing to use the drawing to save the drawing.

Notebook2: Use FPGA to achieve hardware acceleration

In this example application, we will use the same SCIPY technology to analyze and record audio with two types of bird sounds, and use a filter to separate one of the sounds. However, this time we will move the FFT and FIR functions of the software to the FPGA terminal to achieve hardware acceleration, while using PYNQ to control it.

  • Use logicorefir compiler and logicirefft to build hardware acceleration logic.

    hardware design

  • Use AXI DMA to share the PL -end Memory sharing with PS.

  • Use Python to build a control function for FPGA hardware, and transmit data and configuration information through DMA to achieve the ON-the-Fly reuse and function implementation of the FFT and FIR IP cores.

For more details, please click to read the original text.

– END –

NOW now act now! 
 Recommended reading 
 [Those things of vivado] How to find the official website of the official website and how to use the official website of the official website [vivado use misunderstanding and advanced] summary [Vivado Things] to use the files for the use of files under vivado [Vivado Things] The shortcut keys used in vivado (one a one ) F4 key [Things of vivado] The shortcut key used in vivado (2) Other commonly used shortcut keys 
 Introduction to HDL Designer Series (HDS) 
 Systemverilog digital system design 
 In Verilog, ALWAYS, Assign, and Assign[email protected](*) difference 
 How to find the maximum and secondary value of 32 inputs on FPGA: What is the desire of the new year? Send you a wave of development software to talk about the two zero -based entry FPGAs of FPGA (entry) learning. How to learn? [Those things vivado] FPGA configuration failed, what to do if it cannot be started 
 Will you find a project on GitHub? 
 Book recommendation | ARM Cortex-M0 All-beable SOC principle and implementation 
 Talk: How to learn FPGARISC-V to advance! The world's first 5-nanometer RISC-V SOC successfully squeeze! 
 Several open source SDR platforms 
 Xilinx launched the KRIA adaptive system module product portfolio, accelerated innovation and AI applications at the edge 
 Introduction to RISC-V instruction set architecture and introduction of domestic and foreign manufacturers 
 Vitis adopters (1) 
 The basic principles of LNA and PA in SDR/Wireless Design 
 The US military computer that disassembled 1968 was really suspected of "crossing"! 
 One article is the most complete science popular science FPGA technology knowledge 
 The first Chinese CPU instruction specification Longxin launched the LOONGARCH infrastructure manual 
 Have you seen 1-bit CPU? Advanced FPGA design skills! Multiple bell domain and asynchronous signal processing solution 
 [Things of vivado] The mesh description of the circuit structure in Vivado 
 What is the difference between bare metal development and Linux development in Zynq? 
 The prototype of modern computers-miniature computer MCS-4 
 [Ask every Monday] How to control the loading FPGA program, Xilinx FPGA's IO tube foot output high and low level 
 【Vivado Things】 Vivado generates error-error: [DRC 23-20] 
 AD9361 and Zynq and its reference design descriptions have been used in 1202, are they still using virtual machines? Win10 installation Ubuntu subsystem and graphical interface detailed tutorial talk about the implementation process of Xilinx FPGA design 
 Click the font above to jump to read


Related Posts

[Severe Android (6)] Incident

Python Basic Chapter: One -click spike, millisecond accuracy

Network Basic TCP/IP Protocol Cluster Port Three Handshake and Four Hands Hands 11 Status Collection

Operating System Learning Diary-Process Communication-Shared Storage Area

BZOJ 2599 IOI2011 RACE Tree

Random Posts

IDEA project compile java.lang.stackoverflowerror The implementation of MR

Android knowledge point

MYSQL school pairing set/case -sensitive/sqlmode practice

POJ 1753 FLIP Game [enumeration]