目次

FPGA

Zynq

Xlilinx社のFPGAとArmコアが一つになったSoC(System on Chip)
28nm Artix®-7かKintex®-7ベースのPGAが内蔵されている.
ArmコアはArm® Cortex-A9,ものによってか2つ搭載されている. 型番によってコア数が変わったり,処理性能が様々

Zynq-7000 All Programmable SoC Familly Product Tables and Product Selection Guide

PUDC_B

コンフィグレーション中のピンのプルアップの有無を設定する。
Zynq-7000 SoCパッケージおよびピン配置ガイド

AR# 52010: Zynq-7000 SoC - 資料
(全部の分がHi-Zになるので、未使用ピンに対しての処理が無いと静電気などで変に壊してしまわないか?)
Zynq-7000 Pull-up/down Resistor Value Thread
50802 - 7 Series, UltraScale, and UltraScale+ - What state are the I/Os in at power up?
AR# 63950: 7 シリーズ コンフィギュレーション - PROG_B のアサートから、PUDC が INIT_B の立ち下がりエッジでサンプルされるまでの間に、I/O に弱いプルアップ抵抗が有効になる可能性がある。この周期中 PUDC の値は保持できるか。

リセット

ZYNQのPSのリセットについてslcrというところにあるレジスタに書き込むことでPORではないセットがかけられる。
slcr(0xF8000000~0xF800_0B74)は不意な書き換えを防ぐためにアンロックレジスタにマジックナンバーを記載する必要がある。
TRMのB.28 System Level Control Registers (slcr)を参照
TRMの26章にもリセットについての記載がある。
Zynq 7020 Software Reset

Zynqが搭載されているモジュール,開発ボード

ZYBO
TE0720

TE0820はZynq UltraScale™+ MPSoCが乗っている.
TE0720と同じ40mm x 50mm 基板,コネクタ配置
MPSocはWebpackライセンスで開発可能

PSとPL

PS : Processing Systemの略、ZYNQのARMコア側の部分
PL : Programmable Logicの略、ZyqnのFPGA側の部分

AXI

Advanced Extensible Interfaceの略,ARM社が使用作成している.
IPのインターフェースを共通化することでIPの再利用性や流通性の向上が狙い.
システムLSI向きバス規格AMBAが発展し,最新はAMBA4に3つの仕様がある.

AXI でプロセッサとつながる IP コアを作る (1)

APU

Zynq-7000シリーズはPS内部のAPU(Application Processing Unit)にNEONコアプロセッサを備えたArm Cortex-A9コアが内蔵されている. デバイスによってシングルコア,デュアルコアのものがある.

PSのコーディング

ZYNQはPSのハードウェアタイマがうまく動かない時あり?ハードウェアリセットや電源リセットなら確実 ソフトウェアリセットでの症状再現を試す.

アドレスマップ

Zynq-7000 All Programmable SoC Technical Reference Manualに書いてある.
基本的にDDR-SDEAMに配置される?このあたりはリンカスクリプトで配置する場所をいじることができる.
XilinxのツールはリンカスクリプトがGUIで編集できるのでよい.

Pynq

pynq.io
Zynq上にLinuxを走らせてPythonを実行できる.データを拾ってきて時系列データをそのままjupyterで見る。ステキ
計測システムを作るには実はPYNQはありなのではという気がしてきた。
EDPを使うとモータが回せるらしいけど、このピンアサインマネして基板おこすのはどうだろう。

Python の生産性の価値:ザイリンクスZynqポートフォリオのエッジアナリティクス

Ubuntuをインストールしたい

Cortex-A9コアにUbutuをインストールしたい.
Petalinuxというソフトを入れる必要がありそう.
近い環境でやっているので参考になりそう.
Petalinux2019.2によるzynq-7000ブート用SDカード作成
これはWindowsでは動かないようなので,Linux環境を用意する必要がありそう.
PetalinuxだけDockerの上でなんとかできると嬉しいなぁ…

Petalinuxは別ページに作った.

販売

評価ボートを買えるところとか

ドイツのトレンツエレクトロニクスがボードを作ってる.
トレンツエレクトロニクスのボード自体はDigikeyとかでも買えそうTrenz Electronic

アリエクに安いボードが転がってる.こういうやつってセラーに言えばSchとかVBSPもらえるんだろうか.もらえるなら買ってみてもいいかも Zynq 7000 ZYNQ7010 開発ボード/学習ボード、ザイリンクス fpga

参考文献

Zynq-7000 SoC データシー ト : 概要
Zynq でのベクトル制御のマルチコア プログラミング
FPGAベースのシステムで、モーター制御の性能を向上
Pythonの生産性の価値:ザイリンクスZynqポートフォリオのエッジアナリティクス
PYNQ™とは
PYNQ-Z1で始めるDeep Learning on FPGA入門(その1:購入からJupyter NotebookでLチカまで)
5.PSとは何か。PLとは何か。
The Zynq book
FreeRTOSとZynqの勉強(アドレスマップについて)
ZynqとWebsocketでリアルタイムデータ処理システムを構築