[PYTHON] pynq-z1 From purchase to operation check


Qiita's It's time for programmers to touch FPGA! I was interested in it, so I was interested in it, so the evaluation board made by Digilent [** pynq-z1 **](http://www.pynq. I bought io / home.html).

This board, a little expensive at $ 229.00 (although it's a cheap FPGA evaluation board), I'm relying on at the moment I hesitated for about a month because Switch Science and Akizuki Denshi didn't handle it and it cost a shipping fee. I got it.

I just received it today and checked the operation.


  1. I can purchase from Digilent site, but Create account .com / login.php? action = create_account) was needed. The email address will be the account name, but the email address itself can be changed after creating the account.
  2. The accessory kit is an Ethernet cable, micro SD card and AC adapter, so this is not necessary. Since the pynq-z1 can also be powered from the micro USB terminal, I used what I already have for the Raspberry Pi [^ 1].
  3. You can use a credit card or PayPal for payment ... I should have paid it, but for some reason PayPal didn't make the payment and it went round and round. I paid here ** obediently with a credit card **.
  4. Shipping is Fedex. Now you bring Fedex to your house. I thought it was brought by Kuroneko before. I bought it on Sunday so it shipped on Monday and Thursday, but I was absent and took it home. After that, I was touched by Nippon Express (which seems to be affiliated here now) and visited on Friday, and I got an absentee vote ... Finally, I was able to specify the delivery time. This is a little inconvenient. ** I lost 2 days ** If I placed an order in the middle of the week, I was about to receive it ** the next weekend.


This is a box. The Fedex box is big, so the impression is "little!". It's actually about twice the size of a Raspberry Pi. 外箱

When you open it, it comes out as if it is sandwiched between conductive styrenes. I was confused for a moment because I thought it was in an antistatic bag. 中身

Preparation and switch on

Basically, you can follow Getting Started, but there are quite a few explanations on how to use USB serial communication. However, if it is the original usage of pynq, "Operate FPGA using Python", it is absolutely easier to operate it via the network, so I think you can skip it [^ 2].

  1. Download the Linux image to the micro SD (8GB is enough for the time being) and burn it. Same as using Raspbian on Raspberry Pi. Although it is also on the document page, I used Win32DiskImager because it is Windows.
  2. According to Setup the PYNQ-Z1 1) The jumper is ** SD side ** Confirm that (it was so from the beginning) 2) Insert the OS image burned micro SD (there is a socket on the back side of the board) 3) Connect the power supply to the micro USB 4) Insert the Ethernet cable
  3. Turn on the power switch ... that? It doesn't work (; _;) ・ ・ ・ Yes, it is written in the text, but the Power jumper next to the power switch, this is from the ** REG side (state at the time of purchase) to the USB side It needs to be replaced **.
  4. The LED started to flicker safely and started up.

Operation check

In the initial state, the IP address is obtained by DHCP, so if you know the address of pynq-z1, you can log in with ssh, but as shown in the document page


First of all, let's check that pynq is alive. pynqJupyter.png

If you enter the initial password xilinx and the Jupyter Notebook screen appears, it's OK. pynqJupyter2.png

To know the IP address

I used Advanced IP Scanner. If found successfully, the IP will be displayed with the host name ** PYNQ **.

Since Jupyter Notebook (Python3) is running, run the Python program here and run the IP of eth0. You can also read the address.

Log in with ssh

If you know the IP, log in with ssh. Both the initial account and password are ** xilinx ** [^ 3].

$ ssh [email protected]  (IP address is appropriate)


When I logged in, it was (for some reason) 15.10 on Ubuntu. There are some kind scripts under ~ / scripts. For those who are new to Linux? There is also.

Update pynq

Since it is Ubuntu, `sudo apt update && sudo apt upgrade` seems to be possible, but pynq (that is, the part that touches the FPGA using Python) cannot be updated without using a dedicated command.

~/scripts/update_pynq.Jupyter related example and program data of FPGA contents with sh(bitstream)Necessary items such as are automatically downloaded → updated.

 The one I bought included pynq 1.0, but when I updated it, it became 1.3.

 I will start playing with it little by little.

 The chip gets quite hot, so I wonder if there is a heat sink and a fan ** first.


 [^ 1]: However, because of this, I was impatient for a moment.
 [^ 2]: Required when programming FPGA from a dedicated programming tool (such as Vivado HLS)
 [^ 3]: To be on the safe side, it is recommended to change the password after checking the operation.

Recommended Posts

pynq-z1 From purchase to operation check
From ROS for Windows installation to operation check
Sum from 1 to 10
Command operation to not move from home position
From 0 to Django development environment construction to basic operation
Changes from Python 3.0 to Python 3.5
Changes from Python 2 to Python 3.0
Transition from WSL1 to WSL2
From editing to execution
Post from Python to Slack
Cheating from PHP to Python
Porting from argparse to hydra
Migrating from Chainer v1 to Chainer v2
Tool to check code style
Anaconda updated from 4.2.0 to 4.3.0 (python3.5 updated to python3.6)
Migrated from Flask-RESTPlus to Flask-RESTX
Update python-social-auth from 0.1.x to 0.2.x
Migrate from requirements.txt to pipenv
Django installation and operation check
Switch from python2.7 to python3.6 (centos7)
Connect to sqlite from python
4th SmartHR library kiji is used to run e-Gov (operation check)
LINEbot development, I want to check the operation in the local environment