集積回路設計
仕様には「MP3フォーマットにエンコードする」とか「IEEE浮動小数点演算を実装」などと簡単に書かれているかもしれない。これらの簡単な記述の背後には数百ページにおよぶ仕様が存在し、数千行のコンピュータコードが存在する。従って、RTLであらゆる場合を想定して正しく機能するよう記述するのは非常に困難である。これに対して様々な技法が用いられている。それらは完全ではないが有効である。論理シミュレーション、形式手法、ハードウェアエミュレーションなどがある。またVerilog HDLのように、ビット幅が違っていてもエラーではないなどといった言語では、記述側で制限を追加するなどしてlint的なチェックを行うという方法もある。市販されているガイドライン本としては「RTL設計スタイルガイド」(Verilog HDL編、VHDL編)がある。
ちょっとした間違いでもチップは使い物にならないことがある。Pentium FDIV バグ はごく稀なケースで除算結果を間違うというものであったが、発売後数ヶ月間まで誰もこれに気づかなかった。インテルはチップを無償交換することになったが、これに4億7500万ドルかかったという。
一般的な集積回路設計工程は以下のような段階で進められる。
実現可能性の調査とダイサイズの見積もり
機能検証
回路設計
回路シミュレーション
配置計画
設計レビュー
レイアウト
レイアウト検証
レイアウトのレビュー
DFT(Design For Test)とATPG(Automatic Test Pattern Generation)
DFM(Design for manufacturability)
マスクデータ作成
ウェハー製造
ダイ評価
パッケージング
特性の測定
調整(必要ならば)
データシート作成
主なEDAツールは、回路シミュレーション、論理合成、配置と配線、デザインルールチェックといった工程向けに存在する。EDAツールベンダーとしては、ケイデンス・デザイン・システムズ、シノプシス、メンター・グラフィックス、マグマ・デザイン・オートメーションがある。