説明
Interface (`syn.interface.*` / `config_interface`)
AXI とポート インターフェイスの動作のグローバル デフォルトを設定します。
構文
| オプション | コンフィギュレーション ファイル | Tcl | デフォルト | 型/値 | 説明 |
|---|---|---|---|---|---|
| clock_enable | syn.interface.clock_enable=true | config_interface -clock_enable | 0 | bool | 最上位ブロックにクロック イネーブル (ce) ポートを追加します。 |
| default_slave_interface | syn.interface.default_slave_interface=[s_axilite|none] | config_interface -default_slave_interface [s_axilite|none] | s_axilite | enum | スカラー型の最上位ポートのデフォルト インターフェイス タイプです。 |
| m_axi_addr64 | syn.interface.m_axi_addr64=true | config_interface -m_axi_addr64 | 1 | bool | すべての M_AXI インターフェイスで 64 ビット アドレスを使用します。 |
| m_axi_alignment_byte_size | syn.interface.m_axi_alignment_byte_size=<N> | config_interface -m_axi_alignment_byte_size <N> | 1 | int | M_AXI アドレスのアライメント要件 (バイト単位) です。 |
| m_axi_alignment_size | syn.interface.m_axi_alignment_size=<N> | config_interface -m_axi_alignment_size <N> | 0 | int | M_AXI のアライメント サイズ (要素単位)。m_axi_alignment_byte_size とは異なります。 |
| m_axi_auto_id_channel | syn.interface.m_axi_auto_id_channel=true | config_interface -m_axi_auto_id_channel | 0 | bool | M_AXI インターフェイスに一意の ID チャネルを自動的に割り当てます。 |
| m_axi_auto_max_ports | syn.interface.m_axi_auto_max_ports=true | config_interface -m_axi_auto_max_ports | 0 | bool | パフォーマンスを最大化するために M_AXI ポート数を自動的に最大化します。 |
| m_axi_buffer_impl | syn.interface.m_axi_buffer_impl=[bram|lutram|uram|auto] | config_interface -m_axi_buffer_impl [bram|lutram|uram|auto] | bram | enum | M_AXI 内部バッファーのインプリメンテーション リソースです。 |
| m_axi_cache_impl | syn.interface.m_axi_cache_impl=[auto|lutram|bram|uram] | config_interface -m_axi_cache_impl [auto|lutram|bram|uram] | auto | enum | M_AXI キャッシュのインプリメンテーション リソース (#pragma HLS cache 使用時) です。 |
| m_axi_conservative_mode | syn.interface.m_axi_conservative_mode=<bool> | config_interface -m_axi_conservative_mode <bool> | 1 | bool | M_AXI のコンサバティブ モードを有効にします。バースト境界をまたいだパイプラインを削減します。 |
| m_axi_flush_mode | syn.interface.m_axi_flush_mode=true | config_interface -m_axi_flush_mode | 0 | bool | M_AXI 書き込みチャネルのフラッシュ モードを有効にします。 |
| m_axi_latency | syn.interface.m_axi_latency=<N> | config_interface -m_axi_latency <N> | 0 | int | M_AXI バスの想定レイテンシ (クロック サイクル単位、スケジューリングに使用) です。 |
| m_axi_max_bitwidth | syn.interface.m_axi_max_bitwidth=<N> | config_interface -m_axi_max_bitwidth <N> | 1024 | int | すべての M_AXI インターフェイスの最大バス幅 (ビット単位) です。 |
| m_axi_max_read_burst_length | syn.interface.m_axi_max_read_burst_length=<N> | config_interface -m_axi_max_read_burst_length <N> | 16 | int | M_AXI インターフェイスの最大読み出しバースト長です。 |
| m_axi_max_widen_bitwidth | syn.interface.m_axi_max_widen_bitwidth=<N> | config_interface -m_axi_max_widen_bitwidth <N> | 0 | int | M_AXI バスの想定レイテンシ (クロック サイクル単位、スケジューリングに使用) です。 |
| m_axi_max_write_burst_length | syn.interface.m_axi_max_bitwidth=<N> | config_interface -m_axi_max_bitwidth <N> | 1024 | int | すべての M_AXI インターフェイスの最大バス幅 (ビット単位) です。 |
| m_axi_min_bitwidth | syn.interface.m_axi_max_read_burst_length=<N> | config_interface -m_axi_max_read_burst_length <N> | 16 | int | M_AXI インターフェイスの最大読み出しバースト長です。 |
| m_axi_num_read_outstanding | syn.interface.m_axi_max_widen_bitwidth=<N> | config_interface -m_axi_max_widen_bitwidth <N> | 0 | int | ツールが M_AXI データ バスを拡張できる最大ビット幅です。0 = ディスエーブル |
| m_axi_num_write_outstanding | syn.interface.m_axi_max_write_burst_length=<N> | config_interface -m_axi_max_write_burst_length <N> | 16 | int | M_AXI インターフェイスの最大書き込みバースト長です。 |
| m_axi_offset | syn.interface.m_axi_offset=[off|slave|direct] | config_interface -m_axi_offset [off|slave|direct] | slave | enum | M_AXI ベース アドレス オフセット モード: off = オフセットなし、slave = AXI-Lite レジスタ経由、direct = 専用ポート。 |
| register_io | syn.interface.register_io=[off|scalar_in|scalar_out|scalar_all] | config_interface -register_io [off|scalar_in|scalar_out|scalar_all] | off | enum | ソフトウェアとハードウェアの通信用に S_AXILite インターフェイスにメールボックス レジスタを追加します。 |
| s_axilite_data64 | syn.interface.s_axilite_data64=true | config_interface -s_axilite_data64 | 0 | bool | S_AXILite インターフェイスで 64 ビット データ幅を使用します。 |
| s_axilite_interrupt_mode | syn.interface.s_axilite_interrupt_mode=[cor|tow] | config_interface -s_axilite_interrupt_mode [cor|tow] | tow | enum | 割り込みレジスタ モード: cor (読み出し時クリア) または tow (書き込み時トグル)。 |
| s_axilite_mailbox | syn.interface.s_axilite_mailbox=[in|out|both|none] | config_interface -s_axilite_mailbox [in|out|both|none] | none | enum | ソフトウェアとハードウェアの通信用に S_AXILite インターフェイスにメールボックス レジスタを追加します。 |
| s_axilite_memory_auto_widen | syn.interface.s_axilite_memory_auto_widen=<bool> | config_interface -s_axilite_memory_auto_widen <bool> | true | bool | S_AXILite メモリ マップド レジスタを自動的に拡張して、アクセス効率を向上させます。 |
| s_axilite_status_regs | syn.interface.s_axilite_status_regs=[ecc|off] | config_interface -s_axilite_status_regs [ecc|off] | off | enum | S_AXILite インターフェイスに ECC ステータス レジスタを追加します。 |
| s_axilite_sw_reset | syn.interface.s_axilite_sw_reset=true | config_interface -s_axilite_sw_reset | 0 | bool | S_AXILite インターフェイスにソフトウェア制御のリセット レジスタを追加します。 |
使用法
ini
[hls]
syn.interface.m_axi_latency=64
syn.interface.m_axi_max_read_burst_length=256
syn.interface.m_axi_max_write_burst_length=256
syn.interface.m_axi_num_read_outstanding=16
syn.interface.m_axi_num_write_outstanding=16
syn.interface.m_axi_offset=slave
syn.interface.register_io=scalar_all
syn.interface.default_slave_interface=s_axilite
tcl
config_interface \
-m_axi_latency 64 \
-m_axi_max_read_burst_length 256 \
-m_axi_max_write_burst_length 256 \
-m_axi_num_read_outstanding 16 \
-m_axi_num_write_outstanding 16 \
-m_axi_offset slave \
-register_io scalar_all \
-default_slave_interface s_axilite