Arty Z7やZyboの回路図を参考に見ていたら、DDR3メモリとZynq間の接続でDQピンが番号通りに配線されていないことに気づきました。
【Zybo Z7の接続例】
Zynq側 <--> DDR3メモリ側
DQ0ピン <--> DQ11ピン
DQ1ピン <--> DQ12ピン
DQ10ピン <--> DQ3ピン etc
といった具合です。
(参考 : https://japan.xilinx.com/support/answers/46723.html)
はじめはZynqのレジスタ設定やピンアサインの設定などの変更が必要なのかと思いましたが、特にそのような必要はないようです。
そして、このデータを読み出すときは再度DQ1とDQ7が入れ替わった状態で読み出される為、Zynq側では書き込みデータ=読み出しデータとなります。
なので、DQピンが物理的に入れ替わっていてもデータ的には問題はないということだと考えます。
ただし、同じバイトグループではないピン(DQ1とDQ15など)の場合はクロックによるデータ更新のタイミングが異なる等の理由でNGのようです。
DQピンの入れ替えが必要かどうかは基板アートワーク時に判断することにします。
次 > Zynq搭載ボードの設計(8)〜Zynq SoCの回路図シンボルを作成〜
前 > Zynq搭載ボードの設計(6)〜電源回路の再考〜
【Zybo Z7の接続例】
Zynq側 <--> DDR3メモリ側
DQ0ピン <--> DQ11ピン
DQ1ピン <--> DQ12ピン
DQ10ピン <--> DQ3ピン etc
といった具合です。
DDR3メモリのDQピンは入れ替えて配線が可能
不思議に思って調べて見たところ、基板配線を容易にする為に「DDR3メモリのDQピンは同じバイトグループ内のピン交換やバイトグループ全体を交換することが可能」とのことです。(参考 : https://japan.xilinx.com/support/answers/46723.html)
はじめはZynqのレジスタ設定やピンアサインの設定などの変更が必要なのかと思いましたが、特にそのような必要はないようです。
例えばDQ1とDQ7ピンの入れ替えを行った場合
下図は単純化した図ですが、この場合、実際のDDR3メモリ内にはDQ1とDQ7が入れ替わったデータが保持されます。そして、このデータを読み出すときは再度DQ1とDQ7が入れ替わった状態で読み出される為、Zynq側では書き込みデータ=読み出しデータとなります。
なので、DQピンが物理的に入れ替わっていてもデータ的には問題はないということだと考えます。
ただし、同じバイトグループではないピン(DQ1とDQ15など)の場合はクロックによるデータ更新のタイミングが異なる等の理由でNGのようです。
ピンの入れ替えはアートワーク時に判断する
ひとまず今回は、回路図作成時点ではDQピンは番号通りに接続します。DQピンの入れ替えが必要かどうかは基板アートワーク時に判断することにします。
次 > Zynq搭載ボードの設計(8)〜Zynq SoCの回路図シンボルを作成〜
前 > Zynq搭載ボードの設計(6)〜電源回路の再考〜