インテル® Hyperflex™ アーキテクチャー高性能デザイン・ハンドブック

ID 683353
日付 10/04/2021
Public
ドキュメント目次

2.3.2.2.4. (オプション)可変レイテンシー・モジュールなしの自動パイプライン挿入

ターゲットレジスターに対して以下の手順を実行することにより、可変レイテンシーモジュール(hyperpipe_vlat)を使用せずに、オプションで自動パイプライン挿入を有効にできます。
  1. 挿入するステージの最大数を指定するには、Assignments > Assignment Editorをクリックしてから、 Assignment NameMaximum Additional Pipeliningを選択し、Valueにパイプラインの最大数を入力し、Toにレジスターへの階層パスを入力します。または、次の同等の割り当てを.qsfに追加できます。
    set_instance_assignment -name HYPER_RETIMER_ADD_PIPELINING \
         <maximum stages> -to <register path>
    注: altera_attribute文でRTLでの割り当てを埋め込んだ場合、むしろ.qsfに追加するよりも、、Verilog HDLやVHDLで文字列として数値を指定する必要があります。
  2. 自動パイプライン処理が追加のステージを挿入する前にバスの最適化を防ぐには、 preserveプラグマを指定し、Assignment Editorまたは次の.qsf割り当てでターゲットレジスターのNetlist OptimizationsNever Allowに設定します。自動パイプライン処理前のバスの最適化は、自動パイプライン処理がバスのすべてではなく一部のビットに追加のステージを追加する場合の信号の整合性に影響を与える可能性があります。
    set_instance_assignment -name \
         ADV_NETLIST_OPT_ALLOWED NEVER_ALLOW -to <register path>
    
  3. 関連するレジスターが同じ数の追加のパイプライン・ステージを受け取るようにするには、グループ内のすべてのレジスターを関連付けて割り当てるための割り当てグループを作成します。割り当てグループを定義しない場合、グループ名はadd_pipelining_groupのプレフィックスで自動生成、およびHYPER_RETIMER_ADD_PIPELININGに指定することを各レジスターがグループになります。

    次の行は、 .qsfグループ割り当ての構文を示しています。 

    set_instance_assignment -name \
        HYPER_RETIMER_ADD_PIPELINING_GROUP <group name string> \
        -to <register path>