std_logic_vector
からsigned
/への変換の使用について疑問がありますunsigned
。私は常に変換signed(...)
,unsigned(...)
を使用しますが、ライブラリで定義されている変換numeric_std
( to_signed
, to unsigned
) を使用しようとすると、機能しません。なぜこれが起こるのか誰かが私に説明できますか? そして、なぜ変換unsigned()
とsigned()
動作しますか?
質問する
53840 次
2 に答える
7
std_logic_vector
型とsigned
/unsigned
型は密接に関連しているため、型キャスト方式を使用して変換できます。だからsigned(a_std_logic_vector)
、unsigned(a_std_logic_vector)
大丈夫です。ただし、変換する関数も標準で定義されています。
VHDLFAQをご覧ください。これはニュースグループがまだ熱かった時代からの古いウェブサイトですが、それでもVHDLに関する多くの良い情報があります。
于 2013-01-21T12:43:37.337 に答える
2
numeric_std のパッケージ仕様を見てください。to_signed は整数から signed ... に変換されることがわかります。
「vermaete」が言うように、signed は std_logic_vector と密接に関連する型であるため、変換関数は必要ありません。
于 2013-01-21T13:05:40.553 に答える