久しぶりに猛烈にデバッグ中だ。
自分が原因のバグならたいていどうにかなるものだが、
今回のはどうやら処理系の問題らしくて、かなりやっかいだ。
具体的に言うと、シフトレジスタの出力のうち何ビットかは使わないのだが、
どうもまとめて切り捨てられてしまっている模様であり、シフトレジスタの出力は
全ビットが不定値になってしまっている。あうー。
論理合成後や、ネットリストの translate 後のシミュレーションモデルでは正常に動作しており、
これがテクノロジマッピングや配置配線後のシミュレーションモデルになると動かない。
実機では配置配線後シミュレーションと同じ挙動をしている感じなので、
シミュレーションそのものの信頼性は決して悪くないようだが。
Possible Solution:
シフトレジスタ埋め込み(固定長にしちゃう。使わないビットがない実装にすればなおよい?)
TODO:
スイッチ部を生成する Perl スクリプトを修正して、ちゃんと実機でも使えるようにする
「ばぐ」への1件のフィードバック
コメントを残す
コメントを投稿するにはログインしてください。
シフトレジスタを Core Generator で作ったら動くようになりました。
なんてこったい。