- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FPGAにおけるバスの引き回し)
FPGAにおけるバスの引き回し
このQ&Aのポイント
- FPGAにおけるバスの引き回しについての質問です。
- 現在、アルテラ製「CycloneIII」のFPGA設計を行っており、マイコンとの通信に問題が発生しました。
- FPGA内部に100以上のレジスタを用意する際のバスや制御信号の引き回し方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#230359
回答No.1
FPGA内部の使用レジスタ数は気にしていません。 また内部配線についてもIDEなどに基本お任せです。 じゃあ何を決める必要があるのか? 論理合成時の制約条件です。 制約条件を設定することで1セルからのファンアウト数なども 制限できるはずですよ。 ただ、ご質問の内容はかなり確率が低い気がします。 電力的に厳しいのであればFPGAの入出力バッファのランクを1つ落として見てください。 逆にタイミング的に厳しいのであれば入出力バッファのランクを1つ落として見てください。 またレジスタを駆動するクロックは何でしょうか? FPGA内部クロックとマイコンからの入力信号の論理を取って生成していませんか? ここでのタイミング違反の可能性が高いんじゃないかと思うのですが。
お礼
回答して頂きありがとうございます。 ご指摘のとおり、タイミング違反がみつかりました。
補足
早速の回答、ありがとうございます。 レジスタの駆動クロックは100MHzです。 マイコンからのnWR, nRD信号はFPGA内でFFの同期化を行った後、 立下りを検出して1クロック分のパルスを出力するようにしています。 そのほかの、アドレスバス、データバス、nCSは 非同期で入力しています。