0
 constant MAX      : unsigned(18 downto 0) := "100" & x"0000";
 constant MIN      : unsigned(18 downto 0) := "001" & x"0000";

最大値と最小値を設定するこの VHDL コードは何ですか? 固定小数点表現の説明が役に立ちます。

4

1 に答える 1

4
  • 演算子は&、2 つのビット ベクトル"100"and を連結しますx"0000"(たとえば"00" & "11"、 と同等です"0011")。
  • このX"012345689ABCDEF"構文は、次のベクトルを 16 進数として解釈する必要があることを意味します (たとえば、X"0"実際には is "0000"X"F"would be"1111"またはX"0F"would be "00001111")。これにより、ビット ベクトルをよりコンパクトな方法で記述できます。

ビット ベクトル チェックの解釈については、たとえばhttp://en.wikipedia.org/wiki/Binary_numeral_systemを参照してください。

16 進数の表現については、たとえばhttp://en.wikipedia.org/wiki/Hexadecimalを確認してください。


明確にするために編集:パッケージのunsignedタイプを使用していると思います。numeric_stdそのパッケージのヘッダーから

This package defines numeric types and arithmetic functions
for use with synthesis tools. Two numeric types are defined:
-- > UNSIGNED: represents UNSIGNED number in vector form
-- > SIGNED: represents a SIGNED number in vector form
The base element type is type STD_LOGIC.
The leftmost bit is treated as the most significant bit.
Signed vectors are represented in two's complement form.

したがって、あなたMAXは2 ^ 18に設定され、あなたMINは2 ^ 16に設定されます。

于 2012-06-06T13:42:05.513 に答える