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
- Z-7000S:Artix®-7,シングルArm Coretx-A9
- Z-7010~:Artix®-7,デュアルArm Coretx-A9
- Z-7030~:Kintex®-7,デュアルArm Coretx-A9
PUDC_B
コンフィグレーション中のピンのプルアップの有無を設定する。
Zynq-7000 SoCパッケージおよびピン配置ガイド
- プルダウン→内部プルアップ抵抗が有効
- プルアップ→無効(Hi-Z)
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が搭載されているモジュール,開発ボード
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つの仕様がある.
- AXI4
- AXI4-Lite
- AXI-Stream
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を使うとモータが回せるらしいけど、このピンアサインマネして基板おこすのはどうだろう。
Ubuntuをインストールしたい
Cortex-A9コアにUbutuをインストールしたい.
Petalinuxというソフトを入れる必要がありそう.
近い環境でやっているので参考になりそう.
Petalinux2019.2によるzynq-7000ブート用SDカード作成
これはWindowsでは動かないようなので,Linux環境を用意する必要がありそう.
PetalinuxだけDockerの上でなんとかできると嬉しいなぁ…
Petalinuxは別ページに作った.
販売
評価ボートを買えるところとか
- 秋月電子
- AVNET
- Digilent
ドイツのトレンツエレクトロニクスがボードを作ってる.
トレンツエレクトロニクスのボード自体はDigikeyとかでも買えそうTrenz Electronic
アリエクに安いボードが転がってる.こういうやつってセラーに言えばSchとかVBSPもらえるんだろうか.もらえるなら買ってみてもいいかも Zynq 7000 ZYNQ7010 開発ボード/学習ボード、ザイリンクス fpga