Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active July 8, 2018 04:59
Show Gist options
  • Save voluntas/ef64fc22a6fccce01cfb172298b05e4e to your computer and use it in GitHub Desktop.
Save voluntas/ef64fc22a6fccce01cfb172298b05e4e to your computer and use it in GitHub Desktop.
PYNQ-Z1 コトハジメ

PYNQ-Z1 コトハジメ

日時:2018-03-31
作:@voluntas
バージョン:18.3.5
URL:https://voluntas.github.io/

突っ込みは Twitter @voluntas まで。

Python で触れる ARM + FPGA である PYNQ-Z1 を購入して FPGA の勉強をはじめました。

PYNQ - Python productivity for Zynq - Home

著者はプログラムが書ける程度で、ハードウェアについてはまったくわかりません。 CPU を作る知識もないため、そこから学んでいくための取っ掛かりとして PYNQ-Z1 を触っています。

機械学習系には全く興味がないので、そちらについては一切触れません。

ゴールまでの距離は遠いと感じており、数年かけて学んでいこうと考えています。

FPGA を利用したビジネスを立ち上げる。

PYNQ-Z1 Python Productivity for Zynq - Digilent

こちらから、PYNQ-Z1+ Accessory Kit というのを選んで買いました。

Plexiglass Covers: Recommended Addition for the PYNQ-Z1 - Digilent

ケースもあったほうが良さそうなので、ケースもセットで。支払いはペイパルを利用しました。

台湾から東京まで 3 日程度で届きました。

  • MacBook Pro (Retina, 13-inch, Mid 2014)
    • かなり古いです
    • 10.13.4
  • Apple Thunderbolt - ギガビット Ethernet アダプタ
    • インターネット共有を利用しています

まずは最新のイメージをダウンロードしました。

http://files.digilent.com/Products/PYNQ/pynq_z1_v2.1.img.zip

その後、アクセサリーキット付属の SD カードに対して、書き込みを行いました。

$ diskutil unmountDisk /dev/disk2
$ sudo dd bs=1m if=pynq_z1_v2.1.img of=/dev/rdisk2

あとはファインダーからアンマウントして、PYNQ に差し込みます。

  • ジャンパスイッチを SD にする
  • ジャンパスイッチを REG にする

これで準備は完了です。

LAN ケーブルと電源を差し込んだら、色々待ちます。

$ ssh xilinx@192.168.2.99

パスワードは xilinx です。

Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.9.0-xilinx armv7l)

 * Documentation:  https://help.ubuntu.com/
Last login: Wed Feb 14 21:14:37 2018 from 192.168.2.1
xilinx@pynq:~$

これで無事起動しました。

http://192.168.2.99:9090/tree? にアクセスすれば使えるようになります

あぁ、これが噂の L チカかと思いとりあえず。

import time
from pynq.overlays.base import BaseOverlay

base = BaseOverlay("base.bit")
led0 = base.leds[0]

for i in range(5):
    led0.on()
    time.sleep(0.5)
    led0.off()
    time.sleep(0.5)

on/off を 0.5 秒間隔で 5 会。led0 というのは base.leds から取れる。 BaseOverlay の意味はまったくわからないので調べる。

自分がこれは良さそうと思ったものを並べてるだけです

自分が調べたサイトを羅列しているだけです

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment