解決済みのQ&A
FPGAである計算をさせる回路を作りました(ISE12.2を使用)。
FPGAである計算をさせる回路を作りました(ISE12.2を使用)。
シュミレーションでは正しい値が出たのですが、実際にFPGAにダウンロードして実装すると正しい値が表示されません。
原因は何だと予想できますか?
<補足>
・表示はLEDに点灯させます。
・入力はrstボタンと、計算する値をセットするsetボタンのみです(ディップスイッチを使用)。
・計算に使用する値はあらかじめ内部で保持するという回路になっています。
・ピン配置は正しくされています。
・FPGAにダウンロードした回路は、制御回路と計算回路を繋いだものです。
・他の簡単な計算をFPGAで実行すると、正常に点灯します。
- 補足
- ・チャタリング防止回路は使用していません
-
- 質問日時:
- 2010/12/8 11:02:42
-
- 解決日時:
- 2010/12/15 16:22:46
-
- 回答数:
- 1
-
- 閲覧数:
- 376
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
ohyo02さん
内部回路を非同期で設計されてますか? それとも同期回路で設計されてますか?
実際の回路を見ないと正確な回答にはならないと思いますが、推測も入れてということで・・・。
感じから見て、非同期回路のように思われます。表示をLEDに点灯させているので、最終段はラッチだと思います。が、問題はその最終段の前で、信号の変化のタイミングと同時にラッチエッジを変化させてませんか?
シュミレーションの結果は正しくても、同時変化に対する処理は計算上と実配線では異なります。
FPGAの場合、論理計算で正しくても回路の配置配線までは最適化されないので(ASICではある程度調整が効きます)特にラッチのホールドタイムには注意が必要です。
タイミングチャートをちゃんと作って、変化点の怪しそうなところはデータ確定から十分ホールド時間を確保していることを確認してラッチをかけるようにします。
なかなか頭の中だけで作ってるとわかりにくいかもしれませんが、タイミングを紙に書けば、だんだん見えてきます。。。 経験者談。
高度なシュミレータだと遅延配線込のシュミレーションもやってくれますが、簡単にできるのが身上のFPGAでは実際やられることはあまりないようです。
- 回答日時:2010/12/9 19:39:06
このQ&Aはまだナイス!されていません。
役に立ったと思った回答に、ナイス!してみよう!
あなたにおすすめの解決済みの質問
- FPGAについて勉強しようと思っています。オススメは? これから個人的にFPGAについて勉強を始めたいと思...
- マイコンとFPGAの違いについて。好き勝手に色々と設計できるのはFPGAだという認識で合ってますでしょう...
- FPGA開発で質問です。FPGAを搭載した基板が色々とあります。★FPGAベースボード、★FPGA...
あなたにおすすめの知恵ノート
- 忘れない=覚えない2 速度の計算
- あまり計算しない計算
- 電卓で調べたくなる計算
