#author("2018-01-21T12:27:51+00:00","default:admin","admin")
#author("2018-01-21T12:33:53+00:00","default:admin","admin")
*概要 [#t05b52a7]
-[[製品ページ:https://reference.digilentinc.com/reference/programmable-logic/arty-z7/start]]
--[[Arty Z7 Reference Manual:https://reference.digilentinc.com/reference/programmable-logic/arty-z7/reference-manual]]

-[[Interface 2018年1月号:http://www.kumikomi.net/interface/contents/201801.php]]
-[[ARTY Z7 FPGA評価ボード(開発環境ソフトライセンス付):http://akizukidenshi.com/catalog/g/gM-12161/]]

**主な仕様 [#u4408d3d]
-SOC
--Zynq-7000™ All Programmable System-on-Chip
--XC7Z020-1CLG400C (650MHz デュアルコア Cortex-A9プロセッサ内蔵FPGA)
--FPGA
---53,200 ルックアップ・テーブル
---104,400 フリップフロップ
---630KB メモリブロック
-メモリ
--512MB DDR3 (16-bit bus @ 1050Mbps)
--16MB Quad-SPI Flash
--microSDスロット
-外部インタフェース
--Gigabit Ethernet PHY
--HDMI シンクポート (input)
--HDMIソースポート (output)
--モノラルオーディオアウトプットジャック
--USB-UARTブリッジ 
--USB-JTAGプログラミング
--USB OTG PHY (ホストのみ)
-拡張インタフェース
--2つの12 pins Pmod コネクタ
--Arduino/chipKIT シールドコネクタ
-電源:USB給電もしくは、外部電源アダプタ(7V-15V)

*ドキュメント [#nc3530b3]
-[[Reference Manual:https://reference.digilentinc.com/reference/programmable-logic/arty-z7/reference-manual]]
-[[Schematic:https://reference.digilentinc.com/_media/reference/programmable-logic/arty-z7/arty_z7_sch.pdf]]
-[[Resource Center:https://github.com/Digilent/Arty-Z7]]

*[[PYNQ - PYTHON PRODUCTIVITY FOR ZYNQ:http://www.pynq.io]] [#pc347215]
-[[PYNQ祭り:https://fpgax.connpass.com/event/48848/]]
--[[PYNQ 祭り: Pmod のプログラミング:https://www.slideshare.net/ryos36/pynq-pmod]]
-[[BNN-PYNQを理解する:http://tkat0.hateblo.jp/entry/2017/05/02/181700]]
-[[FPGAでDeep Learningしてみる:https://qiita.com/ykshr/items/6c8cff881a200a781dc3]]
-[[pynq-z1 購入から動作確認まで:https://qiita.com/HirofumiTamori/items/dacb6b42ce6218b8c6a2]]
-[[FPGAでDeep Learningしてみる:https://qiita.com/ykshr/items/6c8cff881a200a781dc3]]
-[[FPGAでDeep Learningしてみる - きゅうりを選果する:https://qiita.com/ykshr/items/08147098516a45203761]]
-[[study-BNN-PYNQ:https://tkat0.github.io/study-BNN-PYNQ/]]

-[[機械学習/Deep Learningの仕事が増える2017年、ソフトウェアエンジニアがFPGAを学ぶべき理由:http://www.atmarkit.co.jp/ait/articles/1701/30/news007.html]]
-[[PythonはFPGAアクセラレーションの裾野を広げるか :http://www.atmarkit.co.jp/ait/articles/1709/12/news022.html]]

**環境構築 [#u47527ea]
-[[Quick Start Guide for Arty Z7:https://github.com/Digilent/petalinux-bsps/wiki/Quick-Start-Guide-for-Arty-Z7]]

-[[Getting Started:http://pynq.readthedocs.io/en/latest/getting_started.html]] のページから PYNQ-Z1 用のイメージをダウンロード
-SDカードにイメージを書き込む(以下、macOSの場合)
 $ unzip pynq_z1_v2.0.img.zip 
 $ diskutil list
   ※ SDカードのマウント先を確認(ここでは /dev/diskN とする)
 $ sudo diskutil unmount /dev/diskNs1
 $ sudo dd bs=1m if=pynq_v2.0.img of=/dev/diskN
-Arty Z7 にSDカードを差し込み、LANケーブルを接続
-JP4 を SD にセット
-電源は microUSB または ACアダプタを接続
-ブラウザで http://[Arty Z7のIPアドレス]:9090/ にアクセスし、ログイン(初期パスワードは xilinx)
--DHCP環境でIPアドレスが不明な場合は、[[IP Scanner:https://itunes.apple.com/jp/app/ip-scanner/id404167149?mt=12]] などのツールか、以下のコマンドで調べる
 $ for i in 192.168.0.{1..254}; do ping  -c 1 -s 1 $i | grep "bytes from" > /dev/null ; if [ 0 -eq `echo $?` ]; then echo `date`$'t'$i' is alive'; else echo `date`$'t'$i' is dead' ; fi; done

-SSHで接続する場合
 ssh [IPアドレス] -l xilinx(初期パスワードは xilinx)

*Pmod [#jb148f50]
-[[PYNQ 祭り: Pmod のプログラミング:https://www.slideshare.net/ryos36/pynq-pmod]]

-低周波・少数IOのペリフェラルボードを接続するための規格

**モジュール [#z220c02c]
-[[Pmod Modules:http://store.digilentinc.com/pmod-modules/]]
-[[Pmod対応 アナログ・ペリフェラルモジュール:https://www.avnet.co.jp/MarketTechnology/pmod.aspx]]
-[[Pmod - 秋月電子通商:http://akizukidenshi.com/catalog/c/cpmod/]]

***表示 [#cd8c3c85]
-[[Pmod OLEDrgb Pmod 96x64 有機ELディスプレイ:http://akizukidenshi.com/catalog/g/gM-11560/]]
-[[Pmod MTDS:http://akizukidenshi.com/catalog/g/gM-12387/]]

***センサ [#de7d8d20]
-[[Pmod ALS:http://akizukidenshi.com/catalog/g/gM-11566/]] ... 照度センサー
-[[Pmod ACL2:http://akizukidenshi.com/catalog/g/gM-11559/]] ... 加速度センサー

**主な仕様 [#d104056a]
-ホストとペリフェラルとがある
-電源はホストからペリフェラルへ供給
-電源電圧は、5.0Vと3.3Vの2通り
-ホストからペリフェラルへの電力供給上限は特に規定はないが、目安は100mA
-ペリフェラル上にあるコネクタはオス(male)タイプとなる
-コネクタのピッチは、100mil(0.1inch=2.54mm)
-12ピンタイプのコネクタには、2つの6ピンタイプが結線可能なピンアサインとなっている

*Arduino [#ke7c89d1]
-[[使えそうなArduinoシールド18種類まとめ:http://ideahack.me/article/147]]

*[[Polyphony:https://github.com/ktok07b6/polyphony]] [#pbcaa092]
-[[Introduction of Polyphony:http://www.sinby.com/Polyphony/]]
-[[PythonでFPGAプログラミング:https://www.slideshare.net/ssuser941451/pynq-72804195]]
-[[Polyphony: Python ではじめる FPGA と CNN への応用 (Ryos Suzuki) - PyCon JP 2017:https://www.youtube.com/watch?time_continue=28&v=9vwIn0GMWKI]]

-Pythonコード
--ハードウェアのモジュールの動作を記述したクラスに @module というデコレータを付ける
--常時動作するメソッドを worker と呼ぶ

-回路合成
 polyphony -o [out] [source]

*Vivado [#q7d7221d]
-[[VivadoやXilinx SDKをLinux (Ubuntu) で動かすメモ (Ubuntu 16.04 LTS, Vivado 2016.4, 64bit環境):https://qiita.com/petersheep/items/70619d91ae3befa42667]]
-[[Ubuntu16.04にVivado 2016.4をインストール:http://marsee101.blog19.fc2.com/blog-entry-3740.html]]
-[[Zybo > Vivado Design Editionインストール > XSDKインストール忘れ > Vivadoから追加した:https://qiita.com/7of9/items/d93511efc9080f72cdad]]

*[[SDSoC 開発環境:https://japan.xilinx.com/products/design-tools/software-zone/sdsoc.html]] [#se1c986e]

*ソフトCPUコア [#waf13972]
**MicroBlaze [#sd648f51]
-[[MicroBlaze ソフト プロセッサ コア:https://japan.xilinx.com/products/design-tools/microblaze.html]]
-[[Xilinx 社のマイクロプロセッサまとめ2(MicroBlaze):http://marsee101.blog19.fc2.com/blog-entry-3658.html]]

*RISC-V [#v583968a]
-[[RISC-V SiFive Freedomプラットフォームのビルド手順:http://msyksphinz.hatenablog.com/category/RISC-V?page=1490964536]]
-[[Zephyr-RISCVはFreedom E310プラットフォーム(Arty FPGA)をサポートしている:http://msyksphinz.hatenablog.com/category/RISC-V?page=1491745148]]
-[[SiFiveの64bit RISC-VコアE51をArty FPGAで動作させる:http://msyksphinz.hatenablog.com/entry/2017/05/11/070000]]
-[[RISC-Vプラットフォーム Freedom E300 ArtyFPGA ボードの実験:http://msyksphinz.hatenablog.com/entry/2017/04/01/012728]]
-[[SiFiveの64bit RISC-VコアE51をArty FPGAで動作させる:http://msyksphinz.hatenablog.com/entry/2017/05/11/070000]]
-[[RISC-VコアをArty-7に実装:https://blogs.yahoo.co.jp/verification_engineer/71216023.html]]
-[[Freedom E300 Arty DevKit でRISCVを試す:https://qiita.com/mune10/items/98a19d49bbbe14473988]]
-[[オープンソースMCUをつくってArduinoでプログラミングしてみよう!:https://www.rs-online.com/designspark/build-an-open-source-mcu-and-program-it-with-arduino-jp]]

-[[Syntacore Open-source SDK for SCR1 core:https://github.com/syntacore/scr1-sdk/]]

**[[OpenOCD:http://openocd.org]] [#l7b74e1b]
-[[ESP32 を FT232H でつないで OpenOCD+GDBでデバッグ:https://qiita.com/rukihena/items/f5585436c16f74d0f01d]]
-[[OpenOCD:http://www.besttechnology.co.jp/modules/knowledge/?OpenOCD]]

-OCDというのはOn Chip Debugerのことで,これを使うといろいろなマイコンのCPUにプログラムを書き込んだり,デバッグができるようになるソフトのことである
-OpenOCDは、各種JTAG-ICEに対応したオープンソースとして公開されているデバッガ
-マイコン上のプログラムをデバッグする事だけが目的というわけではなく、マイコンに接続ないし内蔵された様々なメモリへのアクセスも出来ますので、単体でマイコン内蔵のFLASH書き込みツールとしても便利に使える

**JTAG [#n22a3763]
-[[JTAG技術情報トップ:http://www.tokudenkairo.co.jp/jtag/tech/index.html]]

***JTAGデバッガ [#v74c4764]
-[[ARM用JTAGデバッガ(ハイスピード対応) ARM-USB-TINY-H:https://strawberry-linux.com/catalog/items?code=15045]]
-[[USB-JTAGデバッガ NGX ARM USB JTAG:http://akizukidenshi.com/catalog/g/gM-06545/]]

*関連記事 [#fd41426f]
-[[Arty Z7のHDMIデモをやってみた:https://qiita.com/kkumt93/items/980bac6d9c9ffeeb7c13]]
-[[PDP-11をARTY FPGAボードで動かしてみた(1) Vivado開発環境の準備:https://kanpapa.com/today/2016/06/pdp-11-arty-fpga-1-vivado.html]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS