<This is what fans of station B said they would like to see>
Board purchase:
Digilent PYNQ
table of Contents
WeChat public account: PYNQ open source community
Open source solutions, open source projects based on elements
This public account contains many open source PYNQ projects and some PYNQ tutorials, which is very suitable for getting started.
Baidu/CSDN Blog
Bilibili
GitHub/ Gitee (open source project)
Xilinx official code base
From GItHub
Xilinx/PYNQ
PYNQ official website
The official website is basically all English tutorials, but there will be subtitles, and the datasheet may not be in Chinese.
PYNQ official website
Chinese University MOOC
System-on-chip development and Python practice
<Beijing Institute of Technology, the first course, the course has not started>
URL is here: System-on-chip development and Python practice
You can find some good English tutorials on the Internet, and you can also use Google Translate.
ZYNQ e-book
This is the official website. This official website is called an e-book. It is available in Chinese and can be downloaded for free.
Website: THE ZYNQBOOK
PYNQ introductory materials summarized by other big guys
Conclusion
What is the meaning of learning PYNQ?
Answer: See the big in the small .
When I was a freshman, when I heard seniors talk about embedded systems, STM32 felt very awesome, but as I continued to learn, from 51 to STM32, to FPGA, to PYNQ, to RISCV, to chip architecture, processing Device architecture, chip verification UVM, processor design. I gradually got to know a lot of " high-end " designs in the true sense .
The role played by PYNQ is just a kind of introduction to high-end technology . Deploy FPGA accelerators from a high level, or optimize the algorithm structure. The so-called hardware acceleration is to use the space resources of the FPGA to accelerate the processing of special algorithms. In most cases, HLS (high-level synthesis) is used, or Verilog deploys AI algorithm accelerators and neural network accelerators on FPGA. Through the virtual call method, to meet the engineering requirements.
In a commercial environment, PYNQ is not even a device worthy of being productized, and its performance is not as good as the FPGA acceleration board specially deployed for data centers or exchanges, and of course it cannot be used as a baseband signal processing module for communication manufacturers; It has overcapacity and is not suitable for pure digital signal processing. The power consumption brought by the embedded dual-core ARM is not as good as the performance of pure programmable devices, and the heterogeneous environment is its disadvantage.
But the advantage of PYNQ is that as a heterogeneous device, its system and programmability can give beginners an opportunity to deploy their own neural network acceleration algorithms, while the Python environment and HLS can help students who are pure software You need a hardware foundation to accelerate your own algorithms. For hardware students, you can realize the design combination of embedded system + FPGA , which is not too convenient as a beginner.
Of course, PYNQ itself has great limitations, including environment configuration, algorithm support, etc. It has advantages and disadvantages. Real learning still needs to be used according to your own direction and engineering needs.