- ベストアンサー
FPGAをマイコンのI/Oやメモリとして使用する方法
- FPGAをマイコンのI/Oやメモリとして使用する方法について、具体的な接続方法やHDL記述の参考ページや本を探しています。
- 日立のH8マイコンとザイリンクスのFPGAを接続して、FPGAのピンをH8の拡張I/Oピンとして使用したり、FPGA内部のブロックRAMをH8の外部メモリとして使用したいです。
- しかし、希望する情報を見つけることができず、接続方法やHDL記述に関する参考資料を探しています。ご紹介いただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちわ。まだ、解決してないようでしたら、 ISEのProjectファイル一式を置きましたので、 ご覧下さい。
その他の回答 (2)
(1)です。 > 2) また、FPGA内部のブロックRAMを、H8の外部メモリとして ブロックRAMを用いたい場合、ISEをインストールするとできる。 CoreGeneratorで生成したものは使えないでしょうか。
お礼
はい、まだ未経験ですがCoreGenのRAMを使おうと考えています。 今までは、配列しか使ったことがなくて、分散RAM配置かD-FFに構成かは ISEの自動振り分けに任せていたので、特に気にしていませんでした。 今回は、数kByteを連続して記憶させたいので、ワザとBRAMに置きたいと思っています。 実際には、データをH8→FPGA(BRAM)→FPGAがその値を参照....というふうに 考えています。DualPortメモリ的な使い方でしょうか。 どこかに、実際のVerilog記述がないかな、と甘いことを考えております (^^; ありがとうございます。
アドレスデコーダとラッチ回路で拡張I/Oは構成できます。 そのものはありませが、参考URL貼っておきます。 always・processの中でif文で構成するのが基本です。 なるべくCLK同期で構成してください。 CLK同期で構成というのは、FPGA内部の構成です。 組み合わせ回路を用いると予期せぬヒゲノイズで誤動作を起こしますので、 なるべくクロック同期回路で構成することをお勧めします。
お礼
さっそく、ありがとうございます。 ご紹介のページを、早速チェックしました。 PowerPointで書かれたテキストがよかったです。ありがとうございました。 ここで1つ教えてください。 >なるべくCLK同期で構成してください。 この場合の「clock同期で構成」というのは、 ・Verilogの書き方/作法として「組合せ回路でなく同期回路で書く」という意味でしょうか? (マイコンのClockとFPGAのlockは独立) ・あるいは、「FPGAを同期回路として書くのはもちろんだが、ハード接続という意味で、 FPGAのClock信号を、マイコンのClockに接続して使う」という意味でしょうか? どうぞ宜しくお願いします。 ありがとうございました。 早速ありがとうございます。 >なるべくクロック同期回路で構成することをお勧めします。 はい、いつもclock同期で組んでいて、非同期ものは組まないようにしています。 今回も、同期回路で組む予定でおります。 ありがとうございました。
お礼
ご連絡が遅くなってすみません。どうもありがとうございました。 とても実践的で、読み応えがあります。というか、なかなか読みこなせないというのが本当...。 大変参考になります。ありがとうございました。