ほとんどのFPGAの最小論理ゲートはルックアップテーブル(LUT)です。入力には3〜6個の入力があります。アルテラのALMはさまざまな方法で設定可能です。どちらの方法においても、マルチプレクサのサイズが同等のLUTサイズよりも小さい場合、Fmaxの改善はそれ以上ありません。
すべてのマルチプレクササイズを2:1マルチプレクサのツリーとして記述できます。合成により結果の方程式が最適化され、FPGAデバイスのLUT構造とコンフィギュレーションにマッピングされます。
あなたはさらに、可変パイプラインを作成するには、ユーザー定義rising_edge
機能を使用することができます。
function registered(signal Clock : std_logic; constant IsRegistered : boolean) return boolean is
begin
if IsRegistered then
return rising_edge(Clock);
end if
return TRUE;
end function;
(出典:PoC-Libraryからcomponentsパッケージ)
この機能を使用すると、selectivlyパイプラインステージを有効または無効にすることができます。
Fpgaにはマルチプレクサがありません。合成ツールは、VHDLコードを変換し、FPGAビルディングブロックに適合するロジックに最適化します。ブロック間のルーティング遅延はしばしば支配的です。 – JHBonarius