無料のモデル発見! FPGA+外付けSDRAMの 丸ごとシミュレーション

FPGA 入門コーナ
MAX10
フル活用!
プローブも当てられない数十本の
高速信号のタイミングをバーチャル解析!
無料のモデル発見!
FPGA+外付けSDRAMの
丸ごとシミュレーション
岩田 利王
FPGA を 使 っ た 製 作 で は, い ろ い ろ な 機 能 を
FPGA 内部と基板上に実装するので,正しく動作し
ないときにどこに問題があるか解析する(デバッグ)
のときに,次のような問題がある場合もあります.
●
高速動作のため手持ちの測定器で測定できない
●
小型基板に実装したのでテスト出力端子がない
原因の見当がつかず一つずつ確認する必要がある
例えば,FPGA と SDRAM(Syncronous Dynamic
Random Access Memory)の通信がうまくいってい
なさそうだ…というとき,数十 MHz かつ多数の信
号で動作する FPGA−SDRAM 間をどう確認すれば
いいでしょうか?
このような場合に,基板上の部品を HDL 記述で
モデリングし,FPGA にコンフィグレーションした
RTL とシミュレーションすると,原因が分かった
り,問題を再現できたりすることはたくさんありま
す.SDRAM やシリアル通信するような IC のモデ
リングは大変ですが,無料で使えるモデルを配布し
ているサイトがあります.
本稿では,本誌 2015 年 11 月号の CMOS カメラ・
モジュールからの画像を HDMI でパソコン用のデ
ィスプレイに出力する装置(写真 1)を題材に,配布
されているモデルを使った SDRAM と,FPGA の通
Toshio Iwata
SDRAM
(IS42S16400J-7TL,ISS)
CMOSカメラ・
モジュールを繋ぐ
CMOSカメラ・
モジュール
(aitendo)
●
信をシミュレーション解析してみましょう.
〈編集部〉
● SDRAM の中で何が起こっているかもわかる
測 定 器 を 使 う 場 合, 基 板 上 に な い 信 号, 例 え ば
FPGA や SDRAM の内部信号は観測することができま
せん.それに対し,論理シミュレーションでは図 1 の
ように SDRAM を含んだ状態で行うことができるの
で.SDRAM 内部の信号も観測できます.
SDRAM は,初期化にコマンド・シーケンスが必要
な上に高速に動作させる場合が多く,その扱いには手
を焼くものです.サイクル数やタイミングの規定など
も細かく,SDRAM がコマンドを受け付けたかどうか,
2016 年 5 月号
FPGAボード
BeMicro MAX 10
(Arrow Electronics)
HDMIケーブル
DE0-EXT1
(CQ出版)のHDMIコネクタで出力
写真1 FPGA で SDRAM を使うアプリケーション例
本誌 2015 年 11 月号で製作したフル・ディジタル・ムービ・カメラ
その内部のステートはどうなっているのかなど,外部
からはなかなか確認できません.SDRAM を使うよう
な複雑な回路の開発には,論理シミュレーションはほ
ぼ必須といえます.
● シミュレーションで動かないものは実装しても動
かない
画像処理回路のような複雑な回路の場合,FPGA へ
の実装は SDRAM がシミュレーション上で動くのを確
認してからにしましょう.シミュレーション上で動か
ないものを FPGA に実装しても,動く可能性はほと
んどありません.
SDRAM を含めたシミュレーションによって,論理
的な問題をほぼ解決でき,あとは実機でのタイミング
のずれの問題が残るくらいにまで追い込めます.その
結果,論理シミュレーションを使うと基板上で起こっ
た問題が電気的な問題なのか,そもそも FPGA の設
計が問題なのかを切り分けることができます.
155