動作環境
Windows 10 Pro (21H1)
PYNQ-Z1 (Digilent) (以下、PYNQと表記)
Cora Z7
Vivado v2017.4 (64-bit)
Vivado v2019.1 (64-bit)
Vivado v2020.1 (64-bit)
MIG
MIGはDDRコントローラとして使われると理解している。
FPGAプログラミング大全 第2版 p550
ArtyのBoard情報からMIGを使用する例が掲載されている。
同じことをZynqですると、Board情報にはSDRAMの選択は出てこない。
SPARTAN7では選択できる。
ACRi: MIG を使って DRAM メモリを動かそう (1)
この例では(Zynqではなく)FPGAからDRAMを制御する方法としてMIGが使用されている。
疑問 > MIGはどういう時に使う?
Vivadoを使っていて、ZynqでDDRを操作するときにそもそもMIGがBlock Designに出てこない。
CPUコアがないFPGAのBlock Designや、MicroBlazeを使うBlock DesignではMIGを使っている例はブログなどにある。
ZynqではDDRコントロールは入っていてMIGは使わない、ということなんだろうか。
その他、MIGの使用例
- TK80/BSのシンセシステムを復活/拡張したい~ その41 FPAGシンセの調整、動作確認
- Artix-7でのMIGエラー
-
Xilinx Memory Interface Generator (MIG) による DDR2 SDRAM のアクセス
- Note: サイトにときどきつながらない
- FPGAの部屋 > MIG
- Zynq のベアメタル・アプリケーションによるキャッシュの操作3(ACPポート2)
-
Zynq Development Report
- Zynqのブロック図の中に「Memory Interfaces」がある。これがMIGに対応するものなのだろう。
-
https://stackoverflow.com/questions/68377806/how-to-write-data-from-fpga-to-ddr3-memory-without-ps-logic/68422697#68422697
-
On the other hand, if the DDR is correctly pinned out to PL, then you can use the Xilinx Memory Interface Generator (MIG) IP core to build the PL-side logic to interface with it
-