zyboというFPGAの入ったARMコアのSocが乗っかっている評価基板を買った。
CPUとFPGAを組み合わせた動作のために、
まずは、FPGAからARM側への割り込みを試してみる。
その過程で知ったこと、使ったサイトのメモ。
全体を通して参考になるページ
http://yuki-sato.com/wordpress/fpga/?q=%2Fcategory%2F%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C%2Ffpga%2F
必要なもの
Vivado
Zybo
PSの設定
VivadoでFPGA側の回路をつくる。
いろいろなチュートリアルを見ると、基本的にはBlock Design上でHDLのブロックなりIPなりを追加、接続していく。
IP Catelogからzynqを追加して必要設定を行う。
PS-PL Configuration
- S AXI GP0 Interface
Peripheral I/O Phins
- Quad SPI Flash
- SD0
(SD0でCard Detectをチェックして47番pinに設定しないとLinuxがブートしない。)
- UART1
- I2C 0
Interrupts
IRQ_F2P
Clock Configurationで周辺の回路に沿うように設定する。
ZyboだとPSの入力周波数は50MHzになっている。
Zybo Reference Manual [Reference.Digilentinc]
12 Clock Source
Processor/Memory/Clocksで、CPUの周波数を650MHzとDDRを525MHzにする。
IO Peripheral ClocksでSDIOを50MHzにする。
PL Fabric ClocksでFLCK_CLK0を有効にして100MHzを出力するようにする。
DDR ConfigurationでMemory TypeはMT41K128M16 JT-125にする。
(実装されているDDR3の名前は違っているがコレでいいらしい)
(これは個人的な備忘録なのでバージョンが変わったりなどしたらDigilentのプロジェクトを真似したほうが確実かもしれない)
