2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オープンソースPDKの歩き方 🚶

Last updated at Posted at 2026-01-20

オープンソース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構造・隔離構造

といった情報が一気に見えてきます。

実際の標準セルレイアウト例です(SKY130)。
スクリーンショット 2026-01-20 21.24.57.png

標準セルは ミニマムルールの塊 なので、
「読む」より 「見る」だけで分かる情報が多い のが最大の強みです。


実際に描いてみると理解が跳ね上がる

さらにおすすめなのが、
自分でスタンダードセルを描いてみること です。

例えば:

  • 8トラックセル → 7トラックセルに削ってみる
    スクリーンショット 2026-01-20 20.43.48.png

こんなことをすると、

  • どのルールが本質的に効いているのか
  • Poly / Active / Contact の本当の限界
  • 配線層で「絶対に譲れない条件」
  • そのPDK特有のクセ(描きやすさ・描きにくさ)

が、手を動かした瞬間に見えてきます。

デザインルールの「思想」を理解するには、
ルールと睨めっこしながら描くのが一番です。


デバイスパラメータから「性格」を読む

次はデバイスパラメータです。

Ion(オン電流)と Ioff(オフ電流)を見るだけでも、
そのプロセスの性格がかなり分かります。
スクリーンショット 2026-01-20 20.45.42.png

  • FF:高速だがリークが大きい
  • SS:遅いがリークが小さい

ここから、

  • 高速性とリークのトレードオフ
  • 設計時の遅延(Tpd)や消費電力感
  • Vthばらつきのウインドウ

といったことが推定できます。

デバイスパラメータに情報が少ない場合は、
SPICEシミュレーションで補うのも有効です
(ただしモデルの精度には注意)。


SPICEシミュレーションしてみる

実際にSPICEを回すと、
デバイスの細かい挙動が一気に見えてきます。

  • I-V特性の確認
  • スタンダードセルのTpd評価
  • パワー vs スピードの傾向確認
    スクリーンショット 2026-01-20 20.47.35.png

Symbolが用意されていない場合でも、
ネットリストを手書きすれば十分試せます。

「読む → 描く → シミュレーションする」
この流れができると、PDK理解が一段階上がります。

🔗 オープンソースPDK活動のコミュニティサイト
https://ishi-kai.org/


PDKを自作するなら何から?

三種の神器(デバパラ・デザインルール・SPICE)があれば、
PDKは作れます。

まずは 最小構成 を目指します。

1. レイヤ定義(Layer Map)

  • レイヤ名・番号・色・GDSマップ
  • デザインレイヤとマスクレイヤの対応
    スクリーンショット 2026-01-20 20.49.49.png

ここで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だけの環境」を簡単に作れる

といったメリットがあります。
スクリーンショット 2026-01-20 21.06.36.png
スクリーンショット 2026-01-20 21.09.24.png


SPICEモデルのパラメータをいじって遊ぶ

次は SPICE モデルです。

Vth0 や U0 などのパラメータを少しずつ変えながら、

  • Id–Vg 特性がどう変わるか
  • 仮想測定値とどれくらいズレるか

を確認してみました。

スクリーンショット 2026-01-20 21.11.30.png

さらに、

  • 仮想測定データ
  • SPICEシミュレーション結果

の差が最小になるように、
Vth0 / U0 を探索させる簡単なフィッティングも試しています。

「モデルを正確に作る」ことが目的ではなく、

モデルが回路特性にどう効くのかを体感する
のが狙いです。
スクリーンショット 2026-01-20 21.12.45.png


キャラクタライズツール Libretto で遊ぶ

キャラクタライズツール Libretto を使って、

  • オリジナルモデル
  • 自作調整モデル

の両方で、標準セルのキャラクタライズを行いました。

結果を比べてみると、

  • 遅延の傾向
  • スロープ依存性
  • モデル差がどこに出るか

が視覚的に分かります。

「キャラクタライズ結果を見る」ことで、
SPICEモデルの違いが
回路レベルでどう現れるか を理解できます。
image.png

🔗 キャラクタライズツール Libretto
https://github.com/snishizawa/libretto


SRAM 6Tビットセルでメガネ特性を描いて遊ぶ

次は SRAM です。

6T SRAM ビットセルを使って、
いわゆる メガネ特性(バタフライカーブ) を描き、
SNM(Static Noise Margin)を評価してみました。

  • SPICEモデルの違い
  • トランジスタサイズ比

によって、メガネの形がどう変わるかを見るだけでも、
SRAMの安定性に対する理解が深まります。
スクリーンショット 2026-01-20 21.15.47.png


SRAMビットセルをレイアウトして遊ぶ

さらに、SRAMビットセルを実際にレイアウトしてみました。

  • 従来の縦型セル
  • 点対称型セル

を描き比べることで、

  • 配線効率
  • セル面積
  • 将来スケーリング時の余地

といった点が見えてきます。

「回路だけ」「レイアウトだけ」ではなく、
両方やることで理解がつながる のがポイントです。
スクリーンショット 2026-01-20 21.17.11.png


自作7トラックセルでOpenLaneフローを流してみる

最後はデジタルフローです。

自作した 7トラック標準セル について、

  • GDS
  • LEF
  • Verilog
  • Liberty(.lib)

を用意し、OpenLane のフローを実際に流してみました。

その結果、

  • 本当にP&Rが通るのか
  • 配線密度の限界
  • 既存セルとの相性

といったことが、非常によく分かります。

「セルを作って終わり」ではなく、
実際にフローに流す ところまでやるのが重要です。
スクリーンショット 2026-01-20 21.18.22.png

スクリーンショット 2026-01-20 21.19.14.png


オープンソース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

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?