文字列の値の解釈 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: ロジック シミュレーション (UG900)

Document ID
UG900
Release Date
2022-04-21
Version
2022.1 日本語

文字列の値は、HDL オブジェクトの宣言型と -radix コマンド ライン オプションに基づいて解釈されます。-radix の指定が、HDL オブジェクト型で定義されたデフォルトの基数よりも優先されます。

  • logic 型の HDL オブジェクトの場合、値は logic 型の 1 次元配列または指定した基数の桁数の文字列です。
    • 文字列のビット数が型のビット数よりも少ない場合、文字列がその型のビット数に一致するようにゼロ拡張 (符号拡張ではない) されます。
    • 文字列のビット数が型のビット数よりも大きい場合、上位の余分なビットが 0 でないと、サイズ不一致エラーになります。

    たとえば、基数が 16 進数で 6 ビットの logic 配列を使用する 8 ビット (16 進数の 1 桁ごとに 4 ビット) の場合、値 3F は 2 進数で 0011 1111 になります。ただし、上位 2 ビットは 0 なので、値は HDL オブジェクトに代入できます。値が 7F の場合は、上位 2 ビットが 0 ではないので、エラーになります。

    • スカラー (配列またはレコードではない) の logic 型 HDL オブジェクトの長さは 1 ビットです。
    • a [left:right] (Verilog) または a(left TO/DOWNTO right) と宣言される logic 配列の場合、拡張/切り捨て後の一番左の値ビットが a[left] に代入され、一番右の値ビットが a[right] に代入されます。