オープンソースPDKの歩き方 🚶
この記事では、
- PDKとは何か
- オープンソースPDKの読み方・触り方
- 標準セル・SPICE・SRAM・P&Rを通した実践例
- 「遊びながら理解する」PDKの楽しみ方
を、実体験ベースで紹介します。
半導体設計に興味はあるけれど、
- PDKってなんだろう?
- オープンソースPDKはどう触ればいい?
- 何をしたら理解できる?
そんな疑問を持つ人向けに、
「オープンソースPDKの歩き方」 をまとめました。
これは仕事としてPDKを扱う話ではなく、
「遊びながらPDKを理解する」 という視点での話です
そもそもPDKとは?
PDK(Process Design Kit)は、
半導体設計に必要な情報をすべてまとめたパッケージです。
含まれるものは例えば:
- トランジスタモデル(SPICE)
- デバイスパラメータ
- デザインルール
- DRC / LVS / ERC ルール
- 寄生抽出ルール(LPE / PEX)
- 標準セル
- 配置配線向け設定(自動設計フロー)
昔は、
- デバイスパラメータ
- デザインルール
- SPICEモデル
いわゆる 「三種の神器」 だけでIC設計ができた時代もありました。
しかしプロセスの微細化とEDAツールの進化により、
- 検証ツールの増加
- レイヤ数・デバイスタイプの増加
- マスクコスト・リスピンリスクの増大
といった背景から、
設計・検証に関わるすべてがPDKに組み込まれる時代 になりました。
PDKを「読む」ならどこから?
PDKを理解したいとき、
いきなりデザインルールを読むのは正直かなりつらいです。
おすすめは 標準セルのレイアウトを見ること です。
標準セルを見るだけで、
- レイヤ構成
- 最小ルール(幅・間隔・包含)
- Metalピッチと配線方向
- Poly幅・ピッチ
- Well構造・隔離構造
といった情報が一気に見えてきます。
標準セルは ミニマムルールの塊 なので、
「読む」より 「見る」だけで分かる情報が多い のが最大の強みです。
実際に描いてみると理解が跳ね上がる
さらにおすすめなのが、
自分でスタンダードセルを描いてみること です。
例えば:
こんなことをすると、
- どのルールが本質的に効いているのか
- Poly / Active / Contact の本当の限界
- 配線層で「絶対に譲れない条件」
- そのPDK特有のクセ(描きやすさ・描きにくさ)
が、手を動かした瞬間に見えてきます。
デザインルールの「思想」を理解するには、
ルールと睨めっこしながら描くのが一番です。
デバイスパラメータから「性格」を読む
次はデバイスパラメータです。
Ion(オン電流)と Ioff(オフ電流)を見るだけでも、
そのプロセスの性格がかなり分かります。

- FF:高速だがリークが大きい
- SS:遅いがリークが小さい
ここから、
- 高速性とリークのトレードオフ
- 設計時の遅延(Tpd)や消費電力感
- Vthばらつきのウインドウ
といったことが推定できます。
デバイスパラメータに情報が少ない場合は、
SPICEシミュレーションで補うのも有効です
(ただしモデルの精度には注意)。
SPICEシミュレーションしてみる
実際にSPICEを回すと、
デバイスの細かい挙動が一気に見えてきます。
Symbolが用意されていない場合でも、
ネットリストを手書きすれば十分試せます。
「読む → 描く → シミュレーションする」
この流れができると、PDK理解が一段階上がります。
🔗 オープンソースPDK活動のコミュニティサイト
https://ishi-kai.org/
PDKを自作するなら何から?
三種の神器(デバパラ・デザインルール・SPICE)があれば、
PDKは作れます。
まずは 最小構成 を目指します。
1. レイヤ定義(Layer Map)
ここでPDKの「世界観」が決まります。
最低限必要なのは:
- Active
- N-WELL / P-WELL
- POLY
- N+/P+ S/D
- Contact
- Metal / Via
2. 最小DRC
- Width / Space / Enclosure
- INV / NAND が描ければOK
3. LVS
- MOS抽出(W/L)
- 接続抽出(Metal / Contact)
- SPICEモデルとの整合
4. 簡単な標準セル
- INV / NAND → ミニマムルール確認
- DFF → 実用レベル確認
まずは
「設計ツールが解釈できるPDK」 を作るのがゴールです。
オープンソースPDKは「遊ぶ」のが正解
仕事のPDK開発と、
オープンソースPDKの遊び方は全く違います。
| 仕事 | 遊び |
|---|---|
| 納期・正確さが最優先 | 思いついたら試す |
| 再現性重視 | 壊してOK |
| 社内ルール | 自分ルール |
SPICEモデル調整、
Librettoでのキャラクタライズ、
SRAMビットセル設計、
7トラックセルでOpenLaneを流す…
こうした「遊び」を通して、
仕事以上にPDK理解が深まることも多いです。
これまでオープンソースPDKで遊んできたこと
ここからは、実際に オープンソースPDKを使って遊んできた例 を紹介します。
仕事としてのPDK開発ではなく、
「理解を深めるために、気楽に触ってみる」
というスタンスです。
ミニPC+ミニSSDで設計環境を作って遊ぶ
まずは環境づくりから。
格安のミニPCと、複数のミニSSDを用意し、
- ミニPC (CHUWI LarkBox X 2023)
- Linux(Linux Mint 21.3 "Virginia")
- 各種EDAツール
- 複数のオープンソースPDK
を mini SSDごとに入れ替えて遊ぶ ということをやっています。
- SKY130
- GF180MCU
- TR-1um
などを、物理的にミニSSDを差し替えるだけで切り替えられるので、
- 環境を壊しても気にならない
- 出先でもノートPCに挿して使える
- 「このPDKだけの環境」を簡単に作れる
SPICEモデルのパラメータをいじって遊ぶ
次は SPICE モデルです。
Vth0 や U0 などのパラメータを少しずつ変えながら、
- Id–Vg 特性がどう変わるか
- 仮想測定値とどれくらいズレるか
を確認してみました。
さらに、
- 仮想測定データ
- SPICEシミュレーション結果
の差が最小になるように、
Vth0 / U0 を探索させる簡単なフィッティングも試しています。
「モデルを正確に作る」ことが目的ではなく、
キャラクタライズツール Libretto で遊ぶ
キャラクタライズツール Libretto を使って、
- オリジナルモデル
- 自作調整モデル
の両方で、標準セルのキャラクタライズを行いました。
結果を比べてみると、
- 遅延の傾向
- スロープ依存性
- モデル差がどこに出るか
が視覚的に分かります。
「キャラクタライズ結果を見る」ことで、
SPICEモデルの違いが
回路レベルでどう現れるか を理解できます。

🔗 キャラクタライズツール Libretto
https://github.com/snishizawa/libretto
SRAM 6Tビットセルでメガネ特性を描いて遊ぶ
次は SRAM です。
6T SRAM ビットセルを使って、
いわゆる メガネ特性(バタフライカーブ) を描き、
SNM(Static Noise Margin)を評価してみました。
- SPICEモデルの違い
- トランジスタサイズ比
によって、メガネの形がどう変わるかを見るだけでも、
SRAMの安定性に対する理解が深まります。

SRAMビットセルをレイアウトして遊ぶ
さらに、SRAMビットセルを実際にレイアウトしてみました。
- 従来の縦型セル
- 点対称型セル
を描き比べることで、
- 配線効率
- セル面積
- 将来スケーリング時の余地
といった点が見えてきます。
「回路だけ」「レイアウトだけ」ではなく、
両方やることで理解がつながる のがポイントです。

自作7トラックセルでOpenLaneフローを流してみる
最後はデジタルフローです。
自作した 7トラック標準セル について、
- GDS
- LEF
- Verilog
- Liberty(.lib)
を用意し、OpenLane のフローを実際に流してみました。
その結果、
- 本当にP&Rが通るのか
- 配線密度の限界
- 既存セルとの相性
といったことが、非常によく分かります。
「セルを作って終わり」ではなく、
実際にフローに流す ところまでやるのが重要です。

オープンソースPDKは「遊ぶ」と理解が深まる
ここまで紹介した内容は、
- どれも仕事として必須ではない
- 効率も決して良くない
かもしれません。
それでも、
- 壊していい
- 試していい
- 笑っていい
という環境で触ることで、
PDKの理解は確実に深まります。
オープンソースPDKは、
学習用・実験用として最高の教材 だと思っています。
まとめ
- オープンソースPDKは「遊ぶ」と理解が深まる
- 自分で壊して直した経験が、いちばんの教材になる
オープンソースPDKは、
誰もが半導体設計を楽しめる世界への入口 です。
関連資料
2025年12月イベント「東海理化シャトルのオープンPDK解説会」
https://ishi-kai.org/information/seminar/2025/10/30/DecEvent_1213.html
発表スライド(PDF)はこちら:
📄 オープンソースPDKの歩き方
https://ishi-kai.org/assets/presentation/event/202512/Guide2OpenSourcePDKs.pdf








