デフォルトのレジスタ名は、RTL の信号名に「_reg
」という接尾辞が付いた名前になります。XDC コマンドでは、複数ビット レジスタの個々のビットのみをクエリし、制約できます。
たとえば、VHDL および Verilog で次のように定義されている信号の場合、エラボレーション中に生成されるインスタンス名は loadState_reg[0]
、loadState_reg[1]
、および loadState_reg[2]
になります。
VHDL: signal loadState: std_logic_vector(2 downto 0); Verilog: reg [2:0] loadState;
次の図は、このレジスタの回路図です。複数ビット レジスタは、1 ビット レジスタのベクターとして表示されます。回路図では、ベクターは可能な限り小さく表示されます。各ビットを個別に表示することも可能です。
図 1. エラボレートされたデザインでの複数ビット レジスタ
各レジスタを個別に制約するか、次のパターンを使用してグループとして制約できます。
- レジスタ ビット 0 のみ
loadState_reg[0]
- すべてのレジスタ ビット
loadState_reg[*]
重要:
loadState_reg[2:0]
のようなパターンを使用して、マルチビット レジスタ (より広い意味ではマルチビット インスタンスすべて) をクエリすることはできません。上記の名前は合成後のネットリストでの名前とも一致するので、これらに対して設定された制約は通常インプリメンテーションでも機能します。