次の図に、RTL Kernel ウィザードの [General Settings] ページを示します。
図 1. RTL Kernel ウィザードの [General Settings] ページ
次は、RTL カーネル ウィザードの [General Settings] ページを示しています。
[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 type]
- RTL Kernel ウィザードでは、現在のところ RTL とブロック デザインの 2 つのカーネル タイプがサポートされています。
- [RTL]
- RTL タイプのカーネルは、Verilog 制御レジスタ モジュールを含む Verilog RTL 最上位モジュールと、最上位モジュール内の Verilog カーネル サンプルで構成されます。
- [Block Design]
- ブロック デザイン タイプのカーネルでも Verilog 最上位モジュールが含まれますが、最上位モジュール内に IP インテグレーター ブロック図がインスタンシエートされます。ブロック デザインは、制御レジスタをエミュレートするため、ブロック RAM 交換メモリを使用する MicroBlaze™ サブシステムから構成されます。カーネルの制御目的で MicroBlaze の使用方法を示すため、サンプルの MicroBlaze ソフトウェアがプロジェクトと共に配布されています。
- [Kernel control interface]
- RTL カーネルに使用可能な制御インターフェイスには、
ap_ctrl_hs
、ap_ctrl_chain
、およびap_ctrl_none
の 3 種類があります。カーネル記述 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 インターフェイスよりも早いまたは遅いレートでカーネル クロックを実行する必要がある場合に便利です。重要: 複数のクロックを使用して設計する場合は、どのクロック周波数が使用されている場合でもデータの完全性が確立されているようにするために、正しいクロック乗せ換えテクニックを使用してください。詳細は、 『UltraFast 設計手法ガイド (Vivado Design Suite 用)』 (UG949) を参照してください。 - [Has reset]
- カーネルに最上位リセット入力ポートを含めるかどうかを指定しします。リセットを含めないようにすると、大型デザインで配線の密集を緩和できる場合があります。デザインで通常リセットを持つレジスタには、正しくするため適切な初期値を指定する必要があります。このオプションをオンにすると、各クロックにリセット ポートが含められます。ブロック デザイン タイプのカーネルには、リセット入力が必要です。