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