VHDL (std_logic_vector として定義されているコード) に固定小数点値があるとします。最後の 4 ビットが 10 進数であることはわかっています。
シミュレーターを使用すると、もちろん最後の 4 ビットが 10 進数として表示されません。シミュレーションでそれを変更する可能性はありますか?シミュレーションは、3 番目のビットの値が 0.5 、2 番目のビットの値が 0.25 であることを認識します。等々 ?
VHDL (std_logic_vector として定義されているコード) に固定小数点値があるとします。最後の 4 ビットが 10 進数であることはわかっています。
シミュレーターを使用すると、もちろん最後の 4 ビットが 10 進数として表示されません。シミュレーションでそれを変更する可能性はありますか?シミュレーションは、3 番目のビットの値が 0.5 、2 番目のビットの値が 0.25 であることを認識します。等々 ?
残念ながら、これが可能かどうかは疑問です。特にstd_logicの場合、型は次のとおりです。
'U': 初期化されていません。この信号はまだ設定されていません。
'X': 不明 この値/結果を特定することはできません。
「0」: ロジック 0
'1': ロジック 1
「Z」: 高インピーダンス
'W': 信号が弱く、0 か 1 かわかりません。
'L': おそらく 0 になる弱い信号 'H': おそらく 1 になる弱い信号
'-': 気にしないでください。
その結果、シミュレーターは上記のシンボルのみを認識し、ビットを記述する浮動小数点数を含め、それ以外はすべてエラーになります。浮動小数点値を表示しようとしている私の例を次に示します。
add_force {/test/a[27]} -radix unsigned {0.4 0ns}
エラー: [Simtcl 6-179] 次の理由で力を加えることができませんでした: 不正な値 '0.4': 値 '0.4' を 10 進数に変換できませんでした。
また、Vivado がタグ付けされていることも確認したので、統合シミュレーターを使用していると思います。私の例では、浮動小数点数に最も近いのは 10 進数でした。Vivado には、シミュレーションで表示する浮動小数点をサポートする組み込み変数はありません。以下に、サポートされている基数が表示されているため、これらの選択肢のみに厳密に制限されています.ASCIIを除くすべてのエラーが発生しますが、それはあなたが望む動作ではないと思います.