10 人が閲覧(直近 30 日) インフラ・クラウド

FPGA設計の流れ|7工程の進め方とソフト開発との違い・期間と体制の見積り方

FPGA設計の流れ|7工程の進め方とソフト開発との違い・期間と体制の見積り方

配置配線が終わるのを待って、その日に試せるのはあと1回。FPGAの設計現場で最初に戸惑うのは、この時間感覚です。ソフトウェアなら数秒で終わるビルドが、中規模の回路でも数十分から数時間かかります。この記事では、要件定義からデバイス選定、RTL記述、論理シミュレーション、論理合成、配置配線、タイミング詰めと実機検証までの七工程を、成果物と期間の目安つきの工程表で並べました。あわせて、ソフトウェア開発と進め方が食い違う三つの点、論理設計・検証・基板・ソフトという四職種の抱え方、そして見積りを外す要因までを扱います。FPGAそのものの内部構造や原理はFPGAの定義と基本原理を解説した記事に譲り、ここでは工程と工数に絞りました。

まとめ|七工程の重心は検証とタイミング詰め・期間を左右する配置配線の反復回数

先に結論を三つ置きます。ひとつ目は工数の置き場所です。FPGA開発でRTLを書いている時間は全体の3割程度で、残りは論理シミュレーションによる検証と、タイミング違反を潰す作業に消えます。実装工数だけを積んだ見積りは、ほぼ倍まで膨らみます。

ふたつ目は凍結のタイミング。ピン配置とデバイス型番は基板の発注前に確定させる必要があり、ここを動かすと数十万円と数週間の手戻りが出ます。後から差し替えるという選択肢が、ハードウェア側の締切に縛られて消えるわけです。

三つ目は反復回数。配置配線1回の実行が中規模設計で数十分から数時間、大規模になれば十数時間に達するため、1日に回せる試行は2回から3回にとどまります。デバイスのロジック使用率を70%から80%の範囲に収めておくと、この反復が収束しやすくなります。逆に使用率が90%に近づくと、タイミング詰めだけで数週間を溶かしかねません。工程表・体制・見積りの詳細は以下で順に扱います。

FPGA設計の七工程|要件定義からRTL記述・論理合成・配置配線・実機検証までの通し

FPGA設計の流れは、資料によって5工程から10工程まで分け方が違います。ここでは工数管理の単位として使いやすい七工程で区切り、成果物と、何が決まれば次に進めるのかを示します。各工程の原理は親記事に譲り、この章は判断と成果物に絞りました。

七工程の全体像|各工程の成果物と担当・期間の目安を並べた工程表

下の表は、中規模(LUT数万規模、外部インターフェース2系統程度)の案件を想定した工程表です。期間は見積りの初期値として置く幅であり、動作周波数と使用率で上下します。実測値ではない点に注意してください。

工程 主な成果物 主担当 期間の目安
1 要件定義・仕様確定 機能仕様書・性能目標 論理設計 2〜4週
2 デバイス選定・見積り 型番・使用率の試算 論理設計・基板 1〜2週
3 RTL記述 HDLソース・レジスタ表 論理設計 4〜8週
4 論理シミュレーション テストベンチ・カバレッジ 検証 4〜10週
5 論理合成 ネットリスト・使用率レポート 論理設計 1〜2週
6 配置配線 実装データ・タイミング表 論理設計 2〜6週
7 タイミング詰めと実機検証 ビットストリーム・検証記録 検証・ソフト 3〜8週

工程3から工程6は直線ではなく、タイミング違反が出れば工程3のRTLまで戻ります。ここが工程表の読み方でつまずきやすいところです。ガントチャートに一本の帯として引くと、後半で必ず破綻します。反復を織り込んだ書き方は、期間の見積りの章で扱います。

工程1〜2|仕様確定とデバイス選定で決まる後戻りコストの大きさ

最初の2工程で決めるのは、処理する信号の帯域、要求レイテンシ、外部インターフェースの種類と本数、そして目標の動作周波数です。この4点が固まらないとデバイスの型番を選べません。

デバイス選定では、ロジック規模だけでなく入出力ピンの本数とバンクごとの電源電圧、内蔵ブロックRAMとDSPブロックの個数、パッケージ形状を同時に見ます。実務での目安は、初期見積りの段階でロジック使用率を70%から80%以内に収めること。残りを空けておかないと、後半で機能追加が入ったときに配置配線が収束しなくなります。

選び直しの代償は大きく、型番変更はピン配置の変更を招き、基板の再設計まで波及します。ガーバーデータを出図した後なら、改版と再製造で1か月以上。仕様の詰めに2週間余分に使うほうが安く済みます。

工程3|RTL記述で品質が決まるクロック設計とリセット方針の作り込み

RTL記述はVerilog HDL(IEEE 1364)、VHDL(IEEE 1076)、SystemVerilog(IEEE 1800)のいずれかで書きます。言語の選択より先に決めるべきは、クロックドメインの数とリセットの方針です。

クロックドメインを増やすと、ドメイン間で信号を渡すたびにクロックドメインクロッシングの対策が必要です。単ビットなら2段のフリップフロップによる同期化、複数ビットならFIFOかハンドシェイクを使うのが定石で、ここを省くと実機でのみ再現する不定期な誤動作を抱え込みます。リセットは非同期でアサートし同期でデアサートする方式に統一しておくと、後段の合成ツールが解釈しやすくなります。

記述面では、意図しないラッチの推論と、無限に伸びる組み合わせ回路の段数に注意します。合成後の使用率が想定の1.5倍に膨れる案件は、原因が記述側にあるとみてまず外れません。レジスタマップと割り込み仕様は、この段階で表として切り出しておくとソフトウェア側の着手が早まります。

工程4|論理シミュレーションの網羅度とテストベンチに割く工数の実際

論理シミュレーションは、実機に載せる前に機能の誤りを潰す工程です。テストベンチという検証用の回路を別に書くため、実装したRTLと同じかそれ以上のコード量になることも珍しくありません。

進め方は、方向付きテストで仕様書の各項目を1対1で潰し、そのうえで制約付きランダム検証でコーナーケースを探す順です。規模が大きい案件ではUVMを使い、コードカバレッジと機能カバレッジの2軸で網羅度を測ります。カバレッジ100%が目標ではなく、未到達の分岐に説明がつく状態を合格ラインに置いてください。

この工程を薄くすると、後工程の実機デバッグで跳ね返ります。実機は内部の信号がそのままでは見えません。1つの不具合を切り分けるのに数時間から数日かかり、シミュレータ上なら同じ波形がその場で見えます。前倒しで潰すほど総工数が減る、という関係が明確に出る工程です。

工程5〜6|論理合成と配置配線でツールに渡す制約ファイルの中身

論理合成はRTLをゲートレベルのネットリストに変換する工程、配置配線はそのネットリストを実デバイス上の論理ブロックと配線資源に割り付ける工程です。両工程ともツールが自動で処理しますが、何を守らせるかは制約ファイルで人が指定します。

制約はSDC形式で記述し、クロックの定義にcreate_clock、外部からの入力タイミングにset_input_delay、出力側にset_output_delayを使います。タイミング解析の対象から外す経路にはset_false_path、複数サイクルを許す経路にはset_multicycle_pathを指定します。制約を書かなければツールは何も守りません。ここが空のまま配置配線が通ってしまい、実機で初めて動かないという事故は繰り返し起きています。

合成後に必ず見るのは使用率レポートです。LUT、フリップフロップ、ブロックRAM、DSPブロックの4項目で想定との乖離を確認します。配置配線の実行時間は中規模で数十分から数時間、大規模では十数時間に達するため、ここからの試行錯誤は1日あたり2回から3回が上限になります。

工程7|タイミングクロージャと実機検証で詰まる負のスラックの潰し方

配置配線の後に静的タイミング解析を回すと、経路ごとのスラック(余裕時間)が出ます。スラックが負の値になっている経路はタイミング違反で、そのままでは目標周波数で動きません。この違反を全経路でゼロ以上にする作業がタイミングクロージャです。

対処の順番は決まっています。まず制約の書き間違いを疑い、次に違反経路にパイプライン段を追加してロジック段数を削り、それでも足りなければ高ファンアウト信号を複製し、配置の制約を与え、最後に合成オプションを変えます。いきなり合成オプションをいじると再現性が失われるため、この順を崩さないでください。

実機検証では、オンチップのロジックアナライザ機能でFPGA内部の信号を観測します。AMD系はIntegrated Logic Analyzer、Altera系はSignal Tapがそれにあたる機能です。観測点を追加するたびに配置配線をやり直すことになるため、あらかじめ観測したい信号を絞り込んでおくと反復回数を減らせます。

ソフトウェア開発と違う三点|手戻りコスト・凍結タイミング・検証の重心の置き方

工程の名前だけ見ると、FPGAはソフトウェア開発と似ています。要件定義があり、実装があり、テストがある。しかし前提は三つの点で食い違い、ソフトウェアの流儀を持ち込むと後半で詰まります。

ビルド1回に数時間|試して直す進め方が成立しない配置配線の実行時間

ソフトウェアのビルドは秒から分の単位で終わります。だから「書いて動かして直す」を1日に何十回も回せるわけです。FPGAではその1周が数十分から十数時間になり、1日の試行回数が2回から3回に落ちます。

この差が意味するのは、短い反復を前提にした進め方が機能しないということ。反復の速さで品質を担保する代わりに、シミュレーションという別の速い環境で品質を作り込み、実機への書き込みは確認の場に位置づけます。ハードウェア制約の下で反復型開発をどこまで持ち込めるかは、組み込みでアジャイル開発がどこまで使えるかを整理した記事で扱った線引きがそのまま当てはまります。

ピン配置と基板設計の締切|基板発注前に凍結すべき仕様の切り分け

FPGA単体で開発が完結する案件はほとんどなく、たいていは基板の上に載ります。基板の設計はFPGAのピン配置が確定しないと引けません。つまりピン配置の凍結日が、プロジェクト全体で最も動かしにくい締切になります。

ここで切り分けるべきは、基板前に確定させる仕様と、後から変えられる仕様です。外部インターフェースの種類と本数、電源電圧、クロック源、デバイスの型番とパッケージは前者。内部のアルゴリズムやレジスタの割り当ては後者に回せます。この線引きを工程1の段階で文書化しておくと、仕様変更の相談が来たときに基板へ影響するかどうかで即答できます。

テストベンチが本体|検証工数が実装工数を上回る配分と要員の割り当て

ソフトウェア開発でテストコードが実装コードを上回る現場は珍しくありませんが、FPGAではそれが常態です。だから検証だけを担当する要員を別に置きます。RTLを書いた本人に検証まで任せてはいけません。仕様書を読み違えたまま実装した箇所は、書いた本人のテストベンチでは検出できないからです。

FPGA開発の体制と役割分担|論理設計・検証・基板・ソフトの四職種の抱え方

FPGA案件は、論理設計、検証、基板設計、ソフトウェアの四職種が関わります。小さな案件で全員を専任にすると採算が合わないため、どこまで兼務させられるかが体制設計の勘所になります。

小規模案件の3人体制|論理設計と検証を兼務させた場合の破綻ライン

小規模案件では、論理設計1名、検証1名、基板とソフトを兼務する1名という3人体制が現実的な最小構成です。さらに絞って論理設計と検証を1人が兼ねる案件もありますが、成立する条件は限られます。

兼務が破綻しやすい境界は、次の3つです。

  • クロックドメインが3つ以上ある(ドメイン間の検証が独立した作業量になる)
  • DDRメモリ、PCI Express、Ethernetのような高速インターフェースを2系統以上持つ
  • 目標動作周波数が200MHzを超える(タイミング詰めが専任の作業量に育つ)

ひとつでも当てはまるなら検証を分離してください。3つとも外れているなら、兼務でも工期は守れます。判断を先送りして走り出すと工程4の途中で検証が止まり、そこから増員しても立ち上がりに1か月はかかります。

基板とソフトを含む座組み|インターフェース仕様書で押さえる分界点

FPGAと基板、FPGAとソフトウェアの間には、それぞれ文書で押さえるべき分界点があります。基板側とはピン配置表、電源とクロックの供給仕様、信号の電圧規格。ソフトウェア側とはレジスタマップ、割り込みの発生条件、リセットの解除順序です。

とくにレジスタマップは、工程3のRTL記述と並行してソフトウェア側へ渡してください。これが遅れるとソフトウェアの着手が数週間ずれ込み、遅延はそのまま結合の段階に積み上がります。プロセッサ側で動くソフトウェアの前提を揃えるには、組み込みOSの3分類と選定判断を整理した記事で扱っているリアルタイム性の要件も同時に確認しておくと手戻りが減ります。

外注時に社内へ残す役割|仕様の意思決定と受入検証を手放さない線引き

FPGA設計を外部に委託する場合でも、社内に残すべき役割が2つあります。仕様の意思決定と、受入検証の設計です。

仕様の意思決定を外に出すと、性能とコストのトレードオフが発注側の意図と違う方向に倒れます。受入検証を外注先のテストベンチに任せれば、仕様の解釈違いをそのまま受け取ることになります。この2つを社内に置き、RTL記述と検証の実務を委託する分担なら無理がありません。委託範囲と費用相場の考え方は、組み込みソフトウェア開発の工程と内製・外注の判断基準をまとめた記事の整理がFPGA案件にもそのまま使えます。

期間の見積り方|規模と動作周波数から逆算する工程別の工数配分と反復の織り込み

ここからが、ベンダー資料や入門記事がほとんど触れない領域です。FPGA案件の見積りは、工程を並べて足し算するだけでは合いません。反復と、規模以外の変数を織り込む必要があります。

工程別の工数配分|検証に半分を置く見積りと実装だけを数える誤り

見積りの初期値として置く配分は、要件定義とデバイス選定で1割、RTL記述で3割、論理シミュレーションで3割から4割、論理合成と配置配線とタイミング詰めで2割から3割です。この数字は業界統計ではなく、見積りの出発点として使う目安として提示しています。案件ごとに上下する前提で扱ってください。

失敗の型はほぼひとつで、RTLを書く工数だけを積んで全体を出してしまうパターン。実装3割という配分から逆算すれば、見積りは3倍以上になるはずです。ここを取り違えた案件は工期の後半で検証を削り、結果として実機デバッグに倍の時間を払うことになります。

見積りを外す三つの要因|動作周波数・使用率・IPのライセンス待ち

規模(LUT数)だけで工数を推定すると、次の3つの変数で外します。

変数 影響が出る工程 見積りへの織り込み方
動作周波数 タイミング詰め 200MHz超は工数を1.5倍
ロジック使用率 配置配線 80%超で反復回数が倍増
有償IPコア 要件定義・実装 調達に2〜6週の待ちを計上

動作周波数は最も効く変数です。同じ回路でも100MHzなら初回の配置配線で収束し、300MHzでは数週間のタイミング詰めが必要になります。有償IPコアは技術的な話ではなく手続きの問題で、見積書と契約と鍵の発行に数週間が飛ぶため、工程1の段階で調達を開始してください。

期間の目安レンジ|小規模2〜3か月から大規模12か月超までの積み上げ方

設計規模ごとの期間レンジは、初回の相談時に幅で示すのが実務的です。小規模(単一クロックドメイン、外部インターフェースなし)で2か月から3か月、中規模(クロックドメイン2から3、高速インターフェース1系統)で4か月から8か月、大規模(複数の高速インターフェース、高い動作周波数)では12か月を超えます。

幅を狭めるには、工程1と工程2を先行して分離発注する手が使えます。要件定義とデバイス選定だけを1か月の契約で切り出し、使用率の試算と動作周波数の見通しを立ててから本開発の見積りを出す形です。一括発注より発注側の見通しも立ちます。

見送るべき場面|FPGAを選ばずマイコンやGPUに寄せる条件の言い切り

FPGAを選ばないほうがいい場面をはっきり書きます。処理が逐次的で並列化の余地が小さい制御用途、レイテンシ要求が数ミリ秒以上と緩い用途、そして年間の生産数が数万台を超えて仕様が固まっている製品。前の2つはマイコンで足り、最後の1つはASICに寄せたほうが単価で勝ちます。

画像や音声の推論をエッジ側で回したいという相談も、FPGAが答えとは限りません。開発工数と要員の確保まで含めると、GPUやNPUを積んだモジュールを選んだほうが早く安く終わる案件が多くあります。FPGA側へ載せる場合の実装像と、GPUや専用チップとの使い分けはFPGAによるAI推論の実装と使い分けを解説した記事で扱っています。判断軸の整理はエッジAIの実装判断とクラウドAIとの違いを扱った記事にまとめました。デバイスの選択から迷っている段階であれば、センサーからエッジ機器までを含むAI・IoTソリューションの開発支援で、方式の切り分けと概算見積りから引き受けています。

逆にFPGAを選ぶ条件は、高スループットの並列処理と低遅延の入出力が同時に要求され、かつ量産数が数千台規模までで仕様変更が続く見込みがある場合。この条件に当てはまるなら、開発工数の重さを払う価値があります。

開発環境とライセンス|Vivado 2026.1系とQuartus 26.1系の確認事項

使う開発ツールはデバイスベンダーで決まります。AMD系ならVivado Design Suite、Altera系ならQuartus Primeです。どのベンダーを選ぶかの判断軸はFPGAメーカー比較|主要4社の製品レンジ・開発ツール・供給条件で選ぶ基準で扱っています。ツールの版とライセンスの条件は見積りに直結するため、着手前に3点を確認します。

ツールの版を固定する理由|合成結果が版で変わる案件での再現性の確保

2026年8月時点の最新系列は、AMD Vivado Design Suiteが2026.1系、Altera Quartus Prime Pro Editionが26.1系(26.1.1が2026年8月10日公開、26.1が同年4月5日公開)、Quartus Prime Standard Editionが25.1系です。

案件の途中でツールを上げないでください。合成と配置配線のアルゴリズムは版で変わるため、同じRTLでも使用率とタイミング結果が動きます。収束させたはずのタイミングが、版を上げただけで違反に戻りかねません。開始時に版を決め、インストーラとライセンスを保管し、保守の段階でも同じ版で再現できる状態にしておきます。

ライセンス費用の見落とし|デバイスティアと有償IPコアが見積りに乗る場所

Vivado Design Suiteは2026.1でティア型のライセンス体系へ移り、対象デバイスファミリと機能の範囲で価格帯が分かれる形になりました。どのティアに入るかで費用が変わるため、デバイス選定とライセンス見積りは同じタイミングで進めます。無償で使える範囲もファミリで区切られており、想定デバイスが対象かは公式のダウンロードページで確認してください。

もうひとつの見落としが有償IPコアです。DDRメモリコントローラ、PCI Express、Ethernet MACといった標準的な機能ブロックは、ベンダー提供のIPで済ませるのが定石ですが、無償のものと有償のものが混在します。評価用ライセンスは動作時間に制限がかかる場合があるため、量産用のライセンス費用を工程2の見積りに計上しておきます。ライセンスや有償IPを含めた費目が総額のどこに乗るかはFPGAの価格とコスト構造|単価だけで決まらない総額の内訳とASICとの分岐点で分解しています。

検証環境と実機の用意|評価ボードと治具の調達リードタイムの読み違い

実機検証には評価ボードか試作基板、そして入出力を模擬する治具が必要です。評価ボードは在庫があれば数日で届きますが、供給状況によっては数か月待ちの型番もあります。入手性は工程1で確認してください。

試作基板を起こす場合は、設計に2週間から4週間、製造と実装に2週間から3週間を見ます。論理設計が終わっても基板が届かず待つ、という並びは工程表の段階で避けられます。発注時期を工程2の直後に置き、論理設計と並走させる組み方が定番です。

よくある質問

FPGA設計の流れについて、発注側と実装側の双方から寄せられる質問を5つ挙げます。

FPGA設計の流れは何工程に分けるのが一般的ですか?

資料によって5工程から10工程まで幅がありますが、中身はほぼ同じです。要件定義、デバイス選定、RTL記述、論理シミュレーション、論理合成、配置配線、タイミング詰めと実機検証という区切り方なら、工数管理の単位として扱えます。工程数より、どの工程からどこへ戻る反復があるかを工程表に書き込むほうが実務では効きます。

FPGA設計にかかる期間はどれくらいですか?

単一クロックドメインで外部インターフェースを持たない小規模設計なら2か月から3か月、クロックドメインが2から3で高速インターフェースを1系統持つ中規模で4か月から8か月が目安です。複数の高速インターフェースを持ち動作周波数が高い大規模設計では12か月を超えます。動作周波数が200MHzを超える場合と、ロジック使用率が80%を超える場合は、タイミング詰めの工数を1.5倍前後で見込んでください。

ソフトウェアエンジニアがFPGA設計を担当できますか?

言語の習得より、並列に動くハードウェアとして考える切り替えのほうが難所です。HDLは見た目こそプログラミング言語に似ていますが、記述した内容が同時に動く回路になるため、逐次実行の感覚のままだと動作が想像と食い違います。デジタル回路の基礎、クロックとタイミング、リセットの扱いを先に押さえてから記述に入ってください。C言語からRTLを生成する高位合成もありますが、タイミング要求が厳しい部分では手書きのHDLが要ります。

論理合成と配置配線は何が違うのですか?

論理合成はHDLで書いた回路を、論理ゲートとフリップフロップのつながり(ネットリスト)に変換する工程です。配置配線はそのネットリストを、実際のデバイス上のどの論理ブロックに置き、どの配線資源でつなぐかを決める工程になります。タイミング違反が出るのは主に配置配線の後で、配線遅延が確定して初めて実際の動作速度が分かるためです。合成が通っても、配置配線で目標周波数に届かないことは普通に起きます。

FPGA開発を外注する場合、社内には何が必要ですか?

仕様の意思決定ができる人と、受入検証の項目を自分で書ける人の2つの役割は社内に残してください。RTL記述と検証の実務は委託できますが、性能とコストのトレードオフを決める判断を外に出すと、出来上がったものが想定と違う方向に寄ります。あわせて、レジスタマップとインターフェース仕様書を成果物として契約に明記しておくと、保守の段階で別の会社に引き継ぐときの資産になります。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.06 テックブログ 大和証券の不正アクセスと約11万人分の口座番号:問い合わせ管理の委託先に残さない設計
  2. 2026.10.06 テックブログ 焼肉きんぐの不正アクセスと1,078万件の会員情報|全件規模の流出を防ぐAPIとログの点検
  3. 2026.10.06 テックブログ 原子力研究開発機構の不正アクセスと身分証画像の漏えい|研究支援サイトのファイル保管を点検する手順
  4. 2026.10.04 テックブログ デジタル庁GSSの不正アクセスと約24.6万件|CVSS中のVPN脆弱性を何で優先するか
  5. 2026.10.01 テックブログ AWS VPN Clientの使い方:6.x系のインストールとCLI・接続できない時の確認先

RELATED POSTS 関連記事

目次