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 に答える