電子設計自動化(EDA)の分野における「合成」とは、高レベルのハードウェア記述を、半導体チップ上で物理的に製造可能な低レベルの表現に変換する自動化されたプロセスを指します。最も一般的な場合、合成とは、VerilogやVHDLなどのハードウェア記述言語で記述されたレジスタ転送レベル(RTL)コードを、ゲートレベルのネットリストに変換することを指します。このネットリストは、シリコン上に実際に形成される論理ゲートや接続を規定するものです。
このプロセスは、デジタル集積回路(IC) 設計において極めて重要なものです。合成は、設計者が作成する抽象的で人間が理解できるロジックと、製造ツールが必要とする具体的かつ詳細なハードウェアとの架け橋となります。これは、コンセプトから物理的なデバイスへと移行する際に、意図した機能や性能、その他の設計目標が確実に維持されるようにするための重要なステップです。
合成は、コードを変換するだけでなく、消費電力、性能(速度)、シリコン面積といった主要な指標に合わせて、生成された回路を最適化します。技術ノードが微細化し、設計が複雑化するにつれて、チップの効率性、信頼性、製造可能性を確保する上で、合成の役割はますます重要になっています。
合成は、レジスタ、演算、およびデータフローを用いてデジタル回路の動作を記述するRTLコードから始まります。合成プロセスには、いくつかの重要なステップが含まれます:
合成ツールは、設計が指定された目標をどの程度満たしているかについてもフィードバックを提供します。例えば、回路が所望のクロック速度で動作するか、あるいは特定の面積制限内に収まるかを推定することができます。このフィードバックにより、設計者は設計プロセスの早い段階でRTLコードや制約条件を最適化することができます。
| ステップ | 説明 |
| 構文解析と展開 | RTLを読み込み、エラーをチェックし、設計の内部モデルを構築します。 |
| テクノロジーマッピング | RTLを、標準的な論理ゲートとフリップフロップからなるネットワークに変換します。 |
| 最適化 | 面積、消費電力、および性能(リタイミング、リソース共有など)の観点からネットリストを最適化します。 |
| 制約の取り扱い | タイミング、面積、消費電力などの設計制約を適用します。 |
| 出力の生成 | 配置、配線、およびフィジカル設計 で使用するゲートレベルのネットリストを生成します。 |
半導体の微細化が進むにつれ、ばらつき、リーク電流、タイミング・クロージャなどの影響がはるかに顕著になります。合成工程では、こうした物理的な現実を考慮に入れる必要があり、多くの場合、フィジカル設計 ツールとのより緊密な連携や、より高度なモデリングが求められます。これにより、設計の複雑さが増しても、製造可能性を確保し、性能および消費電力の目標を達成できるようになります。
合成は、検証やテストと密接に関連しています。合成の過程で、テスト構造を挿入することで、製造されたチップの欠陥を効率的にテストできるようにすることができます。また、合成ツールは形式検証ツールと連携して動作し、ゲートレベルのネットリストが元のRTLコードと機能的に同等であることを確認することで、製造前にエラーを発見するのに役立ちます。
RTL合成とは、具体的にはレジスタ転送レベル(RTL)のコードをゲートレベルのネットリストに変換することを指すのに対し、論理合成は、さまざまな抽象化レベルにおける最適化や変換を含む、より広義の用語である。実際には、デジタルIC設計の文脈では、これらの用語はしばしば同じ意味で使用される。
| 項目 | RTL合成 | 論理合成 |
| 入力レベル | レジスタ転送レベル(RTL)コード | さまざまな抽象化レベルを含めることができる |
| 出力 | ゲートレベルのネットリスト | 抽象化レイヤー全体にわたるネットリストの最適化 |
| スコープ | RTLからゲートへの変換に焦点を絞る | より広範で、変換や最適化も含まれる |
| 使用方法 | デジタルICの設計で一般的に使用される | RTL合成と混同して使われることが多い |
合成ツールは、接続されていない信号や階層構造の不整合など、多くのエラーを検出できますが、包括的な機能検証 の代わりにはなりません。しかし、合成ツールは、製造の妨げになったり実装に影響を及ぼしたりする可能性のある問題を指摘してくれますし、等価性チェック ツールを使用すれば、合成された設計が設計者の意図と一致していることを確認できます。
現代の回路合成技術は急速に進化しています。機械学習は、設計変更による影響の予測や最適化の向上に活用されています。クラウドベースの合成技術により、大規模な設計のターンアラウンド時間が短縮されています。合成と配置・配線を統合した一元化されたフローは、最先端のチップに求められる複雑さと集積化の増大に対処するのに役立っています。
Synthesisは、半導体設計プロセスにさまざまな重要なメリットをもたらします:
| メリット | 説明 |
| 自動化 | 高レベルのRTLからハードウェアへの変換を自動化します。 |
| 最適化 | アルゴリズムを用いて、電力、性能、および面積を改善します。 |
| スケーラビリティ | 小型のコントローラから大型のSoCに至るまで、さまざまな設計に対応しています。 |
| 予測可能性 | タイミング、面積、電力に関する早期のフィードバックを提供します。 |
| システムの統合 | 検証、テスト、およびフィジカル設計 ツールと連携します。 |
| 一貫性 | RTLからシリコンに至るまで、設計意図を忠実に反映します。 |
合成は、チップが性能および消費電力の目標をどの程度達成できるかに直接影響を与えます。ロジックを最適化し、それをテクノロジーライブラリに効率的にマッピングすることで、合成ツールは厳しいタイミング目標の達成やエネルギー消費の最小化に貢献します。これは、バッテリー駆動のアプリケーションや高性能アプリケーションにおいて特に重要です。
シノプシス 電子設計自動化(EDA)分野における世界的なリーダーであり、 FPGA および ASIC設計 フロー向けの合成ソリューションを提供しています。
すべての シノプシス 合成ツールは、Verilog、SystemVerilog 、VHDLなどの業界標準のハードウェア記述言語に対応しています。これらのソリューションを導入することで、エンジニアリングチームは収束を加速させ、設計品質について早期に把握し、FPGA およびASIC設計 の両方で競争力のある成果を達成することができます。
| フロー | シノプシス 製品 | 目的 |
| FPGA | Synplify® | プログラマブルロジック設計向けの高品質な合成。 |
| ASIC | Design Compiler® | PPA(消費電力、性能、面積)に最適化された、業界標準のRTL合成。 |
| ASIC | Fusion Compiler™ | 合成、配置、配線を統合したRTLからGDSIIへの一貫したフロー。 |