ここから本文です

解決済みのQ&A

FPGAである計算をさせる回路を作りました(ISE12.2を使用)。

kawane123123さん

FPGAである計算をさせる回路を作りました(ISE12.2を使用)。

シュミレーションでは正しい値が出たのですが、実際にFPGAにダウンロードして実装すると正しい値が表示されません。
原因は何だと予想できますか?

<補足>
・表示はLEDに点灯させます。
・入力はrstボタンと、計算する値をセットするsetボタンのみです(ディップスイッチを使用)。
・計算に使用する値はあらかじめ内部で保持するという回路になっています。
・ピン配置は正しくされています。
・FPGAにダウンロードした回路は、制御回路と計算回路を繋いだものです。
・他の簡単な計算をFPGAで実行すると、正常に点灯します。

補足
・チャタリング防止回路は使用していません

違反報告

ベストアンサーに選ばれた回答

ohyo02さん

内部回路を非同期で設計されてますか? それとも同期回路で設計されてますか?
実際の回路を見ないと正確な回答にはならないと思いますが、推測も入れてということで・・・。

感じから見て、非同期回路のように思われます。表示をLEDに点灯させているので、最終段はラッチだと思います。が、問題はその最終段の前で、信号の変化のタイミングと同時にラッチエッジを変化させてませんか?

シュミレーションの結果は正しくても、同時変化に対する処理は計算上と実配線では異なります。
FPGAの場合、論理計算で正しくても回路の配置配線までは最適化されないので(ASICではある程度調整が効きます)特にラッチのホールドタイムには注意が必要です。
タイミングチャートをちゃんと作って、変化点の怪しそうなところはデータ確定から十分ホールド時間を確保していることを確認してラッチをかけるようにします。

なかなか頭の中だけで作ってるとわかりにくいかもしれませんが、タイミングを紙に書けば、だんだん見えてきます。。。 経験者談。

高度なシュミレータだと遅延配線込のシュミレーションもやってくれますが、簡単にできるのが身上のFPGAでは実際やられることはあまりないようです。

  • 回答日時:2010/12/9 19:39:06

このQ&Aはまだナイス!されていません。
役に立ったと思った回答に、ナイス!してみよう!

あなたにおすすめの解決済みの質問

FPGAについて勉強しようと思っています。オススメは? これから個人的にFPGAについて勉強を始めたいと思...
マイコンとFPGAの違いについて。好き勝手に色々と設計できるのはFPGAだという認識で合ってますでしょう...
FPGA開発で質問です。FPGAを搭載した基板が色々とあります。★FPGAベースボード、★FPGA...

あなたにおすすめの知恵ノート

忘れない=覚えない2 速度の計算
あまり計算しない計算
電卓で調べたくなる計算

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する