シフト レジスタの最適化を実行すると、シフト レジスタ セル (SRL) とほかのロジック セル間の負のスラック パスのタイミングが向上します。
シフト レジスタ セル (SRL16E または SRLC32E) に入出力するパスにタイミング違反がある場合、この最適化で SRL レジスタ チェーンの最初または最後のレジスタを抽出してロジック ファブリックに配置することにより、タイミングを向上します。この最適化により、元のクリティカル パスのワイヤ長が短くなります。
この最適化では、レジスタがシフト レジスタからロジック ファブリック移動されるだけで、ロジック ファブリックからシフト レジスタに移動されることはありません。ロジック ファブリックからシフト レジスタにレジスタを移動しても、タイミングは向上しません。
この最適化が実行されるための必要条件は、次のとおりです。
- SRL アドレスが 1 以上で、SRL 外に移動できるレジスタ段がある。
- SRL アドレスが一定値である (論理 1 または 0 で駆動)。
- SRL セルで開始または終了するタイミング違反が最大のクリティカル パスの 1 つである。
次のような一部の回路トポロジは最適化されません。
- 大型シフト レジスタを構成するためチェーン接続された SRLC32E。
- Q31 出力ピンを使用する SRLC32E。
- O5 および O6 出力の両方を使用して 1 つの LUT に組み合わせられた SRL16E。
SRL からロジック ファブリックに移動されるレジスタは FDRE セルです。FDRE および SRL INIT プロパティ、SRL アドレスは、それに応じて調整されます。次に例を示します。
クリティカル パスがシフト レジスタ (SRL16E) srl_inste から開始するとします。
シフト レジスタの最適化後、タイミングを向上するため、シフト レジスタの最終段が SRL16E から取り出されてロジック ファブリックに配置されました。
srl_inste SRL16E
アドレスは、内部レジスタ段が 1 つ少なくなったことを反映して減少されます。srlopt レジスタがダウンストリーム セルの近くに配置され、FDRE セルの clock-to-output 遅延は比較的短いので、元のクリティカル パスは短くなります。