典型的なFPGAのアーキテクチャは、論理ブロックの配列（Configurable Logic Block, CLB あるいは Logic Array Block, LAB などメーカーによって正式呼称は異なる）、I/Oパッド、配線用チャンネルから構成される。一般に配線用チャンネルは全て同じ幅（導線の本数）で、複数のI/Oパッドが論理ブロックの1行の幅または1列の高さに対応するようになっている。アプリケーション回路は適正なリソースを用いてFPGA内に配置される。設計から必要な論理ブロック数やI/O数は容易に決定できるが、使用する論理ゲート数が同じであっても設計によって配線量は大きく異なる。例えば同じ論理ゲート数でも、クロスバースイッチはシストリックアレイよりも多くの配線が必要である。使われない配線が多いと、性能も低下するし未使用部分が増えてしまうため、FPGA製造業者は論理ブロック数やI/O数にちょうど見合った配線を用意するよう最適化を心がけている。この配分を決定するためにRent's ruleを使ったり、既存の回路設計で実験したりしている。一般に論理ブロックはいくつかの論理セル（ALM、LE、スライスなどと呼ぶ）で構成される。典型的な論理セルは下図にあるように、4入力ルックアップテーブル (LUT)、1つの全加算器 (FA)、D型フリップフロップなどから構成される。この図ではLUTは2つの3入力LUTで構成されている。通常モードでは、左のマルチプレクサ (mux) を通して4入力LUTを構成している。演算モードでは、LUTの出力がFAに入力される。モード選択は中央のmuxでプログラムされる。出力は同期/非同期を選択でき、図では左端のmuxのプログラムで選択できる。実際にはスペースを節約するため、FAの機能の一部または全部をLUTに組み込むこともある。この図のような論理セルを2つまたは4つでALMやスライスを構成し、入力を共有させる。論理ブロックは一般にALM/LE/スライス数個で構成される。最近では高性能FPGAに6入力LUTを採用する例がある。クロック信号（および高ファンアウト出力信号など）は、商用FPGAでは通常とは異なる配線でルーティングされ、通常の信号とは別に管理される。上の例での論理ブロックのピン配置の例を次の図に示す。入力が論理ブロックの4つの面にひとつずつあるのに対して、出力は右と下の2箇所で配線と繋ぐことができる。配線は複数本並んでいて、出力はそれらの任意の線に接続可能である。同じことはI/Oパッドにも言える。チップ上端のI/Oパッドは上端に隣接するW本の配線のいずれとも接続可能である。一般にFPGAの配線は分割されていない。すなわち、配線セグメントは論理ブロック1つぶんをまたぐ長さで縦の配線と横の配線が交差するスイッチボックスとスイッチボックスの間を走っている。そして、スイッチボックス内のプログラム可能なスイッチをオンにすることでさらに配線が続くことになり、そのようにして長い配線を構築する。高速化のために複数の論理ブロックをまたぐような長い配線を最初から用意しているFPGAアーキテクチャもある。垂直な配線と水平な配線が交差する箇所にスイッチボックスがある。下の図では、水平と垂直にそれぞれ3本の線があり、その交点3カ所にプログラム可能なスイッチ群がある。交点すべてにスイッチを配するとコストがかかり遅延も大きくなるため、このように斜めの交点にだけスイッチを配するのが一般的である。どの交点にスイッチを配するかはいくつか方式がある。1つの交点には6つのプログラム可能なスイッチがある。最近のFPGAはこれにさらに高機能な論理ブロックを加えるなどしている。高機能ブロックを埋め込むことで、一からその機能を構成するよりも必要な面積を削減でき、かつ性能が向上する。例えば、乗算器、汎用DSPブロック、汎用CPUコア、高速I/Oロジック、メモリなどが埋め込まれたFPGAがある。
SPFは、RFC 7208で定められており、その仕様が公開されている。SPFレコードの一般的な内容を示す。以下の内容が指定されたドメインは、「指定したIPアドレス帯域から送信された電子メールなら信頼して欲しいが、それ以外のIPアドレスからの電子メールは拒否して欲しい」と宣言することになる。v=spf1 +ip4:203.0.113.0/24 +ip4:198.51.100.0/24 -all実際にSPFレコードを反映したゾーンファイルの、一般的な内容を示す。以下の内容が指定されたドメインは、「 203.0.113.1 または 203.0.113.2 から送信された電子メールは信頼して欲しいが、それ以外のIPアドレスからの電子メールは拒否して欲しい」と宣言することになる。  :  :      IN  MX  10 mail      IN  TXT "v=spf1 +ip4:203.0.113.1 +ip4:203.0.113.2 -all"      IN  A   203.0.113.1mail  IN  A   203.0.113.2  :  :古いDNSサーバとの互換性を維持するため、SPFレコードは450文字以内に収めることが推奨される。しかし、DNSサーバのTXTレコードは、1行につき255文字しか記入できないことに注意を要する。例として、電子メールを送信するIPアドレス帯域が非常に多くあり255文字を超える場合には、以下のようにレコードの途中でダブルクウォートを閉じ、区切りながら記述する必要がある。区切られた部分は、DNSサーバによってそのまま結合され解釈される。  :  :      IN  MX  10 mail      IN  TXT "v=spf1 "              "+ip4:203.0.113.0/28 +ip4:198.51.100.64/28 +ip4:192.0.2.16/28 "              "+ip4:203.0.113.128/28 +ip4:198.51.100.96/28 +ip4:192.0.2.48/28 "              "+ip4:203.0.113.144/28 +ip4:198.51.100.128/28 +ip4:192.0.2.160/28 "              "+ip4:203.0.113.160/28 +ip4:198.51.100.160/28 +ip4:192.0.2.176/28 "               "+ip4:203.0.113.192/28 +ip4:198.51.100.192/28 +ip4:192.0.2.240/28 "              "-all"      IN  A   203.0.113.1mail  IN  A   203.0.113.2  :  :以下の内容が指定されたドメインは、「 sp.example.jp や sp.example.com で指定されている SPF レコードの記述に準じる」と宣言することになる。後述するが、ip4 ip6 all 以外の項目が1レコード内に10個を超えてはならない。  :  :      IN  MX  10 mail      IN  TXT "v=spf1 +ip4:203.0.113.2 include:sp.example.jp include:sp.example.com -all"      IN  A   203.0.113.1mail  IN  A   203.0.113.2  :  :