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
© Copyright 2024 ExpyDoc