DSP48EまたはDSP48E1構成ダイアログボックスの下部の回路図は、関数の内部組み合わせパスを示します。この組み合わせパスが長すぎる場合、関数は指定したクロックレートでコンパイルできず、FPGA VIのコンパイルを試みた際にLabVIEWはエラーを返します。

内部レジスタを関数に追加すれば、これらのエラーを回避することができます。レジスタの追加により、指定されたクロックレートで関数がコンパイルできる可能性が高まります。ただし、レジスタの追加によってDSP48E関数のレイテンシが増加し、内部データパス間のレイテンシのバランスが崩れる可能性があります。関数を使用するアプリケーションによってはこの不釣り合いが許容される場合がありますが、関数を適切に実行するために、内部データパスのレイテンシに注意する必要があります。

DSP48Eスライスの内部レジスタを追加および構成するには、構成ダイアログボックスのレジスタページを使用します。レジスタを追加し、構成すると、対応する緑のボックスがダイアログ内の下部の回路図で点灯することに注目してください。データパスも変更される可能性があります。

メモ 内部レジスタはトップレベルFPGA VIの実行時のみにリセットします。(DSP48E) スライスの内部レジスタの情報については、XilinxのWebサイト (www.xilinx.com) にある『Virtex-5 FPGA XtremeDSP Design Considerations User Guide』の表1-4を参照してください。(DSP48E1) この情報については、『Virtex-6 FPGA DSP48E1 Slice User Guide』の表1-4を参照してください。

レジスタを有効化およびリセットする

各レジスタには、対応する有効化端子およびリセット端子があります。すべての端子をブロックダイアグラムから非表示に設定すると、デフォルトでLabVIEWはリセット端子をFALSEに、有効化端子をTRUEに設定します。これらのデフォルト設定が許容できる場合、設定を変更する必要は一切ありません。

有効化操作とリセット操作の制御を詳細に行うには、有効およびリセットページを使用して、LabVIEWがブロックダイアグラムで表示する有効化端子とリセット端子を指定してください。以下の図が示すように、各ページの上部には、選択可能なオプションのプルダウンメニューがあります。

これらのオプションには、追加したレジスタへの以下の影響があります。

  • すべての信号を非表示―LabVIEWがブロックダイアグラムに有効またはリセット端子を一切表示しないことを指定します。この場合、LabVIEWは上記で述べたデフォルトの動作を適用します。
  • すべてのレジスタで単一端子を使用―構成するページに応じて、LabVIEWが有効またはクリア入力端子を表示することを指定します。スライスのすべてのレジスタを有効化/リセットするには、TRUE値をこの端子に配線します。
  • 表示する端子を選択―このプルダウンメニューの下のチェックボックスを選択可能にします。個々のレジスタの端子を表示するには、適切なチェックボックスをオンにします。括弧の中の名前は、有効またはリセット信号のVHDL名です。
    メモ このオプションを選択しても、LabVIEWでいくつかのチェックボックスが淡色表示のままの場合、対応するレジスタがレジスタページで追加されていません。レジスタタブをクリックし、適切なチェックボックスをオンにした後、有効またはリセットページに戻ります。

OKボタンをクリックしてブロックダイアグラムに戻ると、選択したブール入力端子をLabVIEWは表示します。その後、これらの端子に対してTRUEまたはFALSEを場合に応じて設定するようにコードを作成することができます。

LabVIEWオプションに相当するVHDLオプション

相当するVHDLの構成を表示するには、VHDLインスタンス化タブをクリックします。特定の属性についての情報は、XilinxのWebサイト (www.xilinx.com) で利用可能な『Virtex-5 FPGA XtremeDSP Design Considerations User Guide』または『Virtex-6 FPGA DSP48E1 Slice User Guide』を参照してください。以下の表は、LabVIEWの各オプションに対応する属性を示しています。

LabVIEWオプション 表1-3のリファレンスの属性

AREG

BREG

ACASCREG

BCASCREG
alumodeレジスタ ALUMODEREG
cレジスタ CREG
carryinレジスタ CARRYINREG
carryinselレジスタ CARRYINSELREG
(DSP48E) m register MREG
(DSP48E) multcarryin register MULTCARRYINREG
(DSP48E1) m registerおよびmultcarryin register MREG
opmodeレジスタ OPMODEREG
pレジスタ PREG
(DSP48E1) d register DREG
(DSP48E1) ad register ADREG
(DSP48E1) inmode register INMODEREG