🧱 4.3 Sky130における設計制約の実践的整理
Practical Design Constraints for Sky130 PDK
📘 本節の目的|Purpose
本節では、SkyWater提供の Sky130 PDK (Process Design Kit) を用いたPoC設計において、
RTL段階から意識すべき設計制約を実務ベースで整理します。
制約を無視した設計は後工程でエラーや手戻りを生むため、
物理設計と整合した設計初期の制約理解が極めて重要です。
🧱 Sky130 PDKの基本情報|Basic Info of Sky130
| 項目|Item | 内容|Details |
|---|---|
| 提供元 | SkyWater Technology |
| プロセスノード | 130nm(実効L ≈ 150nm) |
| 電圧対応 | 1.8 V / 3.3 V(※1.8 Vを使用) |
| メタル層 | 5層(M1〜M5)通常はM1〜M3使用 |
| PDK構成 | DRC/LVSルール、LEF/GDS、SPICEモデル、セルライブラリ |
📏 PoC設計における主な制約項目|Design Constraints for PoC
🔋 電源・電圧|Power and Voltage
| 項目|Item | 値|Value | 備考|Remarks |
|---|---|---|
VDD |
1.8 V | 標準セルライブラリに準拠 |
GND |
0 V | 共通グランド |
⏱️ タイミング制約|Timing Constraints
| 項目|Item | 値|Value | 備考|Remarks |
|---|---|---|
| クロック周波数 | ≦ 25 MHz | Setup/Hold制約の緩和目的 |
| クロックスキュー | < 200 ps | PoCではツール任せで十分 |
📐 レイアウト制約(OpenLane)|Layout Constraints
| 区分|Category | 内容|Constraint | 説明|Remarks |
|---|---|---|
| マクロサイズ | ≦ 50µm × 50µm | 各PoCブロックを小さく抑える |
| メタル使用範囲 | M1〜M3中心(M4/M5は限定使用) | 配線密度高い部分のみにM4/M5使用 |
| DRC準拠 | Sky130Aルール準拠 | magicで検証可能 |
| 配線間隔 | M1: ≧ 0.14µm 他 | PDKに基づく自動制約に従う |
🧪 検証フロー|Verification Flow
| 項目|Type | ツール|Tool | 内容|Purpose |
|---|---|---|
| DRC | Magic | ルール違反チェック |
| LVS | Netgen | GDS–SPICEネットリスト比較 |
| STA | OpenSTA | Setup/Holdタイミング検証 |
| シミュレーション | Verilator / iverilog | RTL or ポストレイアウト検証 |
⚙️ OpenLane制約ファイル例|Sample design_config.tcl
# design_config.tcl の抜粋
set ::env(CLOCK_PERIOD) "40.0" ;# 25 MHz 相当
set ::env(FP_CORE_UTIL) "30" ;# セル利用率
set ::env(PL_TARGET_DENSITY) "0.5" ;# 配置密度
set ::env(DESIGN_IS_CORE) "1"
| パラメータ | 意味 |
|---|---|
CLOCK_PERIOD |
クロック周期(単位ns) |
FP_CORE_UTIL |
論理セルの占有率(面積あたり) |
PL_TARGET_DENSITY |
配置ターゲット密度(ルーティング余裕) |
📝 RTL設計時に意識すべき記述指針|RTL Coding Guidelines
-
🧾 明確な信号名とビット幅定義
例:[3:0],flag_done,clk,rst_n -
🔁 同期リセットを基本とする
OpenSTA では非同期リセットが警告対象になることがある -
🧩 定数はプレフィックス付きで定義
例:STATE_IDLE,MUX_SEL_B -
🧱 シンプルで最適化に強い記述
論理合成(flatten/optimize)時に混乱を防ぐ構造を心がける
🔗 次節への接続|Next Section
次節 4.4:Verilog記述とテストベンチ では、
本節で示した設計制約を反映したRTLコード・テストベンチ構成を示し、
FSM・MUX・Adderのそれぞれに対応する記述例とシミュレーション方法を解説します。