Looking for vhdl Answers? Try Ask4KnowledgeBase
Looking for vhdl Keywords? Try Ask4Keywords

vhdl解決関数、未解決および解決型


前書き

VHDLタイプは未解決または解決できます。たとえば、 std.standardパッケージによって宣言されたbitタイプは、 std.standardパッケージによって宣言されたstd_logicタイプが解決されているieee.std_logic_1164は解決されieee.std_logic_1164

タイプが解決されていない信号は、複数のVHDLプロセスによって駆動(割り当て)できませんが、タイプが解決された信号は解決できます。

備考

解決された型の使用は、複数のハードウェア回路によって駆動されるハードウェアワイヤ(またはワイヤセット)を実際にモデル化することが意図されている状況に予約する必要があります。必要とされる典型的な例は、メモリの双方向データバスである。メモリが書き込まれるとき、それはバスを駆動する書き込み装置であり、メモリが読み出されるときにはバスを駆動するメモリである。

他の状況で解決された型を使用すると、頻繁に遭遇する習慣の中で、望ましくない複数のドライブ状況が誤って作成されたときに非常に有用なコンパイルエラーが抑制されるため、悪い考えです。

ieee.numeric_stdパッケージsignedunsigned signedおよびunsignedベクトル型を宣言し、それらの算術演算子をオーバーロードします。これらの型は、同じデータに対して算術演算とビット単位演算が必要な場合によく使用されます。 unsigned signedおよびunsigned型は解決されます。以前のVHDL2008では、 ieee.numeric_stdとその型を使用しているため、誤った複数のドライブ状況によってコンパイルエラーが発生することはありませんでした。 VHDL2008は、新しいタイプの宣言を追加しますieee.numeric_stdunresolved_signedunresolved_unsigned (別名はu_signedu_unsigned )。これらの新しいタイプは、複数のドライブ状況が望ましくないすべての場合に優先されるべきである。

解決関数、未解決および解決型 関連する例