次の図は、RTL Kernel ウィザードの General Settings ページの 3 つの設定を示してます。
図 1. RTL Kernel ウィザードの [General Settings] ページ
General Settings ページには、次の 3 つの設定が含まれます。
Kernel Identification
- Kernel name
- カーネル名。IP、最上位モジュール、カーネル、C/C++ 論理モデルの名前を指定します。この名前は C および Verilog の命名規則に従う必要があります。Vivado IP インテグレーターの命名規則にも従う必要もあるので、アンダースコア (_) を英数字の間以外には使用できません。
- Kernel vendor
- ベンダーの名前。 『Vivado Design Suite ユーザー ガイド: IP を使用した設計』 (UG896) で説明されている VLNV (Vendor/Library/Name/Version) に使用されます。
- Kernel library
- ライブラリの名前。VLNV で使用されます。同じ識別子の規則に従う必要があります。
Kernel options
- Kernel control interface
- RTL カーネルに使用可能な制御インターフェイスには次の 3 種類があります。
ap_ctrl_hs
、ap_ctrl_chain
、およびap_ctrl_none
RTL カーネルの XML ファイル に説明するように、<kernel>
タグのhwControlProtocol
が定義されます。
Clock and Reset options
- Number of clocks
- カーネルで使用されるクロックの数を設定します。RTL カーネルには、
ap_clk
というプライマリ クロックが 1 つと、ap_rst_n
というオプションのリセットが含まれます。カーネルのすべての AXI インターフェイスは、このクロックを使用して駆動されます。Number of clocks を 2 に設定すると、セカンダリ クロックおよびオプションリセットが提供され、カーネル内部で使用できるようになります。セカンダリ クロックおよびリセットはそれぞれ
ap_clk_2
、ap_rst_n_2
という名前です。このセカンダリ クロックは、プライマリ クロックから独立しており、個別の周波数スケーリングがサポートされます。セカンダリ クロックは、カーネル クロックがプライマリ クロックが供給される AXI4 インターフェイスよりも高速または低速の場合に便利です。重要: 複数のクロックを使用して設計する場合は、どのクロック周波数が使用されている場合でもデータの完全性が確立されているようにするために、正しいクロック乗せ換えテクニックを使用してください。詳細は、 『ザイリンクス FPGA および SoC 用 UltraFast 設計手法ガイド』 (UG949) を参照してください。 - Has reset
- カーネルに最上位リセット入力ポートを含めるかどうかを指定しします。リセットを含めないようにすると、大型デザインで配線の密集を緩和できる場合があります。デザインで通常リセットを持つレジスタには、正しくするため適切な初期値を指定する必要があります。このオプションをオンにすると、各クロックにリセット ポートが含められます。ブロック デザイン タイプのカーネルには、リセット入力が必要です。