新刊
同人誌・52ページ・16部頒布・紙・500円『オープンソース PDK で遊ぼう』第 6 弾は、
これまで Qiita に投稿してきた第 1 回から第 4 回の記事を再構成しました。
• Linux 環境を用意する
• EDA ツールをセットアップする
• 回路を開いてみる
• シミュレーションを動かしてみる
• レイアウト(GDS)を眺める
• DRC に触れてみる
新刊
同人誌・66ページ・20部頒布・紙/電子・500円「CPUを自作したい」
ソフトウェアでもFPGAでもなく、シリコンで叶えるなら、最初に何をすればいいのか。
vol.1 では SKY130 PDK を使い、CMOSインバータをトランジスタレベルから設計しました。
続く vol.2 では、「RTL-to-GDS」という自動配置配線のツールチェーンに挑戦します。
とはいえ、専門用語だらけのツールでいきなりCPUに挑むのは無謀です。
だからこそ、まずは「Dフリップフロップ1個」から。
HDLで書いた回路をツールに渡し、タイミングを検証し、レイアウトデータ(GDS)として出力する。
この一連の流れを、オープンソースの半導体デジタル回路実装フローである「LibreLane」と「SKY130 PDK」を使って一つずつ確認していきます。
環境構築は WSL2 のインストールから。
Docker Desktop を使ってツール一式を立ち上げる準備からスタートするので、初めての方でも迷わず進められます。
「急がば回れ」——自作CPUチップへの道は、この小さな一歩から。
新刊
同人誌・68ページ・6部頒布・紙/電子・500円『オープンソースPDKで遊ぼう』第5弾では、
前回作成したSKY130の7トラック標準セルを題材に、
セルを「使える形」にするためのキャラクタライズに挑戦します。
レイアウトやDRC、P&Rを通すことで
それらしいGDSは完成しますが、
実際の設計で使うためには、遅延や電力をまとめた
Liberty(.lib) が不可欠です。
本書では、インバータ(INV)を対象に、
8トラックセルとの比較を行いながら、
トラック高さの違いが特性に与える影響を確認します。
キャラクタライズには、オープンソースツール
Libretto を使用し、
SPICEシミュレーションを通じて特性を測定し、Libertyを生成します。
セルを「作る」から一歩進んで、
セルを「測る」「使う」へ──
設計フローの中でも特に面白く、奥深い工程を、
今回も手探りで楽しく体験していきます。
紙版500円 電子版0円
オープンソース PDK で遊ぼう4(セルライブラリ編)
このシリーズ『オープンソース PDK で遊ぼう』も、いよいよ第4弾! 前回は、MintLinux を入れたミニ PC で OpenLane を動かして、自分で書いた RTL(shift_reg2)をチップにするまでを体験しました。
あのとき出来上がった GDS を眺めていて、ふと気づいたんです。「このチップの中、ぜんぶセル
でできてるじゃん!」って。nand2_1、dfxtp_1、inv_2......名前だけでもなんだかかっこいい。でもこれ、どうやって作られてるんだろう?
ということで、今回は──自分で標準セルを作って、OpenLane で流してみよう!
という、ちょっとディープなテーマに挑戦します。
題材は「リセットなしのフリップフロップ(DFF)」ひとつ。それを、いま使っている 8 トラックセルよりちょっと低い7 トラックセル として作ってみます。つまり、セルの背を少し縮めた「スリム版」セルを目指すわけです。やることはおおまかに3つ:トランジスタレベルでレイアウトを描く、DRC を通す、LEF を作って OpenLane で配置配線してみる。
もちろん、プロのような正確さまでは目指しません。「とりあえず動いた!」を味わえたら、それで OK。実際に手を動かすことで、標準セルがどんな構造で、どうやってツールの中で使われているのかが、ぐっと実感できるはずです。難しそうに見えても、始めてみれば案外なんとかなるもの。今回も、手探りで、ゆるく、楽しくやっていきましょう。
紙版500円 電子版0円
オープンソース PDK で遊ぼう(デジタル設計フロー編)
このシリーズ『オープンソース PDK で遊ぼう』も、ついに第 3 弾! これまでい
ろいろやってきました。
ミニ PC にオープンソース PDK を入れて環境を整えたり、SPICE モデルをいじっ
てトランジスタの動きを追いかけたり、スタンダードセルをキャラクタライズしてラ
イブラリを作ったり、はたまた SRAM のビットセルを作って
る瞬間ビットがひっくり返を観察したり...。
だんだん「アナログ寄りの世界」から深みにハマってきたわけですが──今回はつ
いに、デジタル設計フロー に挑戦します!
新品の SSD に Mint Linux を入れて、Docker で OpenLane を立ち上げ、とりあ
えずサンプルを流して「本当に動くの?」を確かめるところからスタート。そこから
は、自分で書いた超シンプルな RTL(今回は 2 段のシフトレジスタ!)を題材に、合
成 → フロアプラン → 配置 → 配線 → 検証......と、IC 設計フローの 裏側 を一歩
ずつ体験していきます。
難しそうな世界に見えても、実際にやってみると案外なんとかなる。せっかくなら
「よくわからないけど動いた!」の楽しさを、一緒に味わっていきましょう。
紙版500円 電子版0円
いつか、自分の手でコンピュータを作ってみたい。
単なるパーツの組み合わせで終わる自作PCではなく、
シリコンウェーハにパターンを描き、トランジスタレベルから半導体集積回路を設計してみたい。
そんな夢を叶えるための環境が、今まさに整いつつあります。
オープンソースのIC設計ツールとPDK(Process Design Kit)の普及により、個人でもIC設計に挑戦できる時代が到来しました。
本書『I see IC』は、トランジスタレベルの設計から、最終的には自作CPUチップを目指すシリーズです。
第1弾となる今回は、WSL2のセットアップから始め、オープンソースPDK「SKY130」を使い、IC設計の基本であるNOT回路(CMOSインバータ)を設計・検証するところまでを解説します。
「シリコンに自分の回路を刻む」最初の一歩を、ぜひ本書とともに踏み出しましょう。
オープンソースPDKで遊ぼう 第2弾
― Ngspice・xschem・KLayout・Librettoを試してみる編 ―
ミニPCにPDKを入れて設計環境を整えたら、次は実際に使ってみて理解するステップです。
この本では、オープンソースPDKとSPICEシミュレーションを使って、
モデルパラメータをいじってみたり、
MOSトランジスタのIV特性(Id–Vgs特性)や
SRAMビットセルの動作をシミュレーションしてみます。
また、オープンソースのキャラクタライザツール Libretto を使って、
標準セルの特性抽出にも挑戦しました。
第1弾で構築した環境を活かし、
実際にトランジスタやセルがどう動くのかを体感できる一冊。
オープンソースPDKを使って、
シミュレーションからキャラクタライズまでを自分の手で試してみたい方向けの内容です。
紙版500円 電子版0円
オープンソースPDKで遊ぼう 第1弾
― ミニPCに設計環境を入れる編 ―
ご家庭で半導体設計ができる時代になりました。
この本は、オープンソースPDK(Process Design Kit)を使って、
“自分の机の上でIC設計を試してみる”という挑戦をまとめたものです。
ミニPCに Linux Mint をインストールし、オープンソースPDKと
KLayout・xschem・Ngspice といったEDAツールを導入していきます。
あまりお金をかけずに本格的な設計環境を構築する仕組みを、
ミニPCとミニSSDで立ち上げてみました。
難しい専門書ではなく、
「自分でもできるかも!」と思えるような一冊を目指しました。
オープンソースPDKの入り口として、
半導体設計の世界を気軽にのぞいてみたい方向けの内容です。
紙版500円 電子版0円