4.1 設計フローとレイアウト方式

4.1 設計フローとレイアウト方式
教科書対応なし
4.1.1 回路実装方式の分類
2
LSIの実装方式による分類
汎用用途(CPU、MCU*、SDRAM、オペアンプなど)
LSI
汎用LSI
専用用途の規格品(通信プロセッサ、画像処理メモリなど)
ASSP
特定製品用に設計された集積回路
FPGA, CPLD
ASIC
回路をプログラムできる集積回路
Full custom
Semi-custom
ex) 初期型システムはFPGA→量産が軌道に乗ったらASIC
※1
※2
※3
※4
ASSP (Application Specific Standard Product)
ASIC (Application Specific IC):特定用途向けIC
FPGA (Field Programmable Gate Array)
CPLD (Complex Programmable Logic Device)
(組み合わせることが多い)
Gate array
Cell based IC
Embedded array
狭義ASIC
*MCUには不揮発性メモリが集積化されており、プログラム(ファームウエア)を書き込むことができる。
近年はハードウエアの構成自体もプログラムできるMCUが製品化されており応用分野が広い
3
各種方式の比較
実装方式
主な利用形態
長所
短所
汎用LSI/
ASSP
1.複数の市販LSIを組み合わ
せてシステムを構成
1.高信頼性
2.複数品種から選択できる
3.開発期間が短い
1.設計自由度が低い
2.ASICよりは性能が低い
MCU(汎用
LSIの一種)
1.システム全体または機能ブ
ロックをソフトウエアとし
て実装
1.プログラムが可能
2.高信頼性
3.開発費が少ない
4.開発期間が短い
1.ASICよりは性能が低い
2.設計自由度が低い(複数
品種から選択)
FPGA/
CPLD
1.ディジタルシステムの1チッ
プ化
2.プロセッサ周辺回路の1チッ
プ化
1.回路の書き換えが可能
2.大規模集積化が可能
3.ASICより短期間で開発
1.ASICよりは性能が低い
2.ディジタルのみ
3.量産により価格が下がら
ない
広義ASIC
1.システムの1チップ化
2.市販されていない機能ブ
ロックの1チップ化
1.高性能
2.設計自由度が高い
3.大規模集積化が可能
4.量産により低価格化する
1.初期開発コストがやや高
い
実際には、これらの方式を組み合わせてシステムを構築することが多いので、
システム設計者には、全ての方式のスキルが必要
4
新しい実装方式
•
Dynamic Reconfigurable Processor
– ソフトウエアによりハードウエアを変更可能な構成のマイクロプロセッサ(動
的再構成可能プロセッサ)
– プロセッサの構成や周辺回路を、プログラムの動作中に変更可能なものか
ら、多数のプロセッサを繋ぎ合わせて目的の処理を行わせる(FPGAに近
い)ものまでいろいろな種類が開発されている
•
Programmable System-on-Chip(PSoC)※
– Dynamic Reconfigurable Processorの一種だが、ソフトウエアにより、ア
ナログ回路や各種ディジタル通信機能を組み合わせた専用回路を構成す
る目的でMCUを使用する(CPUとメモリの部分は変更しない)
– ハードウエアの構成を動的(ソフトウエアの実行中に)に組み替えるために
ソフトウエアを使用し、情報処理自体はソフトウエアではなく主にプログラム
されたハードウエアで行うため高性能であり、アナログ処理も実装可能
– ※ PSoCは、Cypress Semiconductor Corp.社の商標
5
広義のASICの設計方式
• フルカスタム方式による設計
– 細部から全体を作り上げるボトムアップ方式の設計フロー
–
–
–
–
回路設計とレイアウト設計を手動で行う
高性能化・小型化が可能だが大規模な設計はできない
特に高性能化が必要な箇所や自動設計できない回路に限定して使用
アナログ回路ブロックはフルカスタム方式の設計が必要
• セミカスタム方式による設計
– 全体から細部に向かって作り込んでいくトップダウン方式
の設計フロー
– CAD(Computer Aided Design)ツールを用いた設計自動化が可能
• 高位合成、論理合成、自動配置配線技術を使用
– 大規模なディジタル回路の設計が可能
– 一度設計すればメーカやテクノロジを変更することが可能
6
設計方式の併用
• 実際にはフルカスタム設計とセミカスタム設計を併用してチッ
プの開発をすることが多い
– フルカスタム設計済みの回路ブロックがIPとして提供される場合は、
セミカスタム設計フローの中で利用できる(例:SRAMはメーカから提
供されることが多い)
フルカスタム
セミカスタム
アナログ・高周波回路
マイクロプロセッサ
メモリ
一般のディジタル回路
・信号処理
・アナログ回路の制御
・特殊な演算
など
アナログ回路制御用の
ディジタル回路(タイミン
グ調整が必要な回路)
7
4.1.2 セミカスタムLSIの設計
8
自動設計の手順と必要なCADツール
仕様の作成
システムレベル記述・シミュレーション
C/C++シミュレータ、高位合成ツール
HDL記述・シミュレーション
HDLシミュレータ(論理シミュレータと兼用)
論理合成・シミュレーション
論理合成ツール
テスト設計
論理シミュレータ
自動配置配線
半導体メーカで製造
Cell Based IC, Gate Array
※ 高位合成:高級言
語記述からHDL記述
を生成する技術
自動配置配線ツール
ダウンロード(デバイスへの書き込み)
FPGA, PLD
9
主な記述言語
記述内容
ハードウエア記述言語
(HDL: Hardware
Description Language)
言語(標準化)
Verilog-HDL
(IEEE-1364)
特 長
C言語に似ていて記述が簡潔
(LSI開発者にユーザが多い)
VHDL: Very High
Speed Integration
ハードウエアの論理機能 Circuit HDL
シミュレーションと論理合 (IEEE-1164)
成のための言語
ADAを基にしていて拡張性があ
る(ユーザが最も多い)
システムレベル記述言語 SystemC
(System Level
Description Language)
C/C++のクラスとして提供され
るのでシミュレーションに特別な
開発環境が不要
SpecC
ソフトウエアを含むシステ
ムのモデリングと動作合 UML
成のための言語
ANSI-Cを拡張していて読みや
すい
システムのモデリングに使用さ
れる図式言語
10
HDLの役割
HDL記述
論理合成
論理機能の記述から回路を合成
機能検証
形式的検証
タイミング解析
システム検証
論理検証
(設計のバグとり)
テスト生成
ドキュメント作成
テスト設計
(不良品の選別用テスト用
回路とテスト用データの作成)
設計の資産化(IPの説明書)
一度HDLで設計しておけば、色々な場面で使える
11
抽象度による記述量の違い
設計記述の抽象度を高めてコンピュータで自動変換すると生産性が増大
抽象度の高い記述から低い記述を自動生成する技術がLSI-CAD技術
論理回路図では
非常に優秀な設
計者でも2800人・
月が必要
(実質不可能)
記述量の比較
7500万ゲート(基本演算機能)のチップ
(1cm角程度)の設計記述量の例
3.7m
37000枚
75cm
7500枚
7.5cm
750枚
論理回路図
HDL
SystemC
12
トップダウン設計と抽象度
記述量小
抽象的
仕様
機能
設計制約(コスト、性能)
システムレベル記述
アーキテクチャ、アルゴリズム選択
HW/SW分割の調整
RTL (Register Transfer Level)記述
ゲートレベル記述
具体的
記述量大
クロック毎のデータパ
スと制御回路の設計
論理ゲート、レジスタ回路
トランジスタレベル記述
レイアウト
HDLで記述できる範囲
トランジスタ回路
フロアプラン・配置配線
テクノロジに依存する部分
13
システムレベルとRTL
•
システムレベル(S/W, H/W共通の抽象度)
– 機能や動作(処理・通信の手順)だけを記述(何クロック必要かも気にしない)
– How(何をしたい?)のみ
– ハードウエアやソフトウエアは意識する必要がない(ただし、この記述レベル
では論理合成できない場合が多い)
•
RTL (Register Transfer Level)(H/Wの抽象度)
– クロック毎の処理内容とレジスタへの代入を記述
– How と When(どのクロックエッジ?)と by What(どの機能をどう使って?)
– ハードウエア内の構造をある程度意識(確実に合成可能)
RTL(実際は言語で表記)
a
Y = a * b * c * d;
*
Q
c
Q
Clock
Y
Q
b
d
機能の記述
*
Q
Y
*
Q
Clock
a
b
c
d
Q
*
Q
Sequencer
How
How+
When
By What
14
自動設計CADツールの種類
CADツールの種類
役 割
高位合成ツール
システムレベル記述(SystemCなど)からHDL記述を合成す
る。SWのコンパイラと異なり、演算器数、クロック周波数など
の最適化オプションがある。
C++シミュレータ
システムレベル記述でモデル化されたHW+SWの動作をシ
ミュレーションするために使用する。
論理合成ツール
HDLで記述から論理回路(ゲートの接続情報)を合成する。
HDLシミュレータ
(論理シミュレータ)
HDL記述されたHWの動作をシミュレーションする。HDLは、
HWの処理内容だけでなく、ゲートレベルの論理回路も表現
できるので、論理シミュレータとしても使用される。
自動配置配線ツール 論理回路から集積回路チップ上のトランジスタ配置および配
線情報(レイアウト)を作り出す。FPGAでは、機能ブロックの
機能と配線情報(Configuration data)を作り出す。
設計規則チェッカー
(DRC)
レイアウトが設計規則(※次ページ参照)に抵触していないこ
とをチェックする。
15
フルカスタムCADツールの種類
CADツールの種類
役 割
回路シミュレータ
トランジスタレベルの回路シミュレーションを行う。アナログ回
路の設計や自動設計のためのライブラリ構築には必須。
回路図エディタ
回路シミュレーションやLVS(後述)に利用するため、回路図を
入力するお絵かきツール。
レイアウトエディタ
チップ上のトランジスタや配線パターンを手入力で描くお絵か
きツール。レイアウトデータの半導体業界標準フォーマットであ
るGDS-IIファイルを出力する機能を持つ。
設計規則チェッカ
(DRC, LVS, EXT)
レイアウトが設計規則に違反していないことをチェックする。通
常、回路とレイアウトの等価性照合、配線抵抗や容量などの
寄生素子の算出などの機能も持つ。
設計規則
製造時の歩留まり保証および製造後の性能保証のために、半導体メーカ
が設けたレイアウト・パターンの規則
例 ゲート・ポリシリコン規則
Minimum Line Width, Minimum Line Spacing
16
トップダウン方式(自動設計)
•
•
•
•
•
メモリ(ソフトウエア)を含むシステム機能検証が容易
システム全体の見通しがよい
人為的エラーの発生が起こりにくい
フルカスタムより開発期間が短い
回路の最適化、レイアウトの最適化はツール任せ
– 通常、フルカスタム方式のほうが面積利用率は良い
• 複雑な回路を間違いなく設計できる
– 論理式における規則性の高い回路はフルカスタム向き
• 例:加算器、乗算器、メモリなど
– 複雑度の高い処理はトップダウン方式向き
• 例:プロセッサのシーケンサ(制御回路)
17
設計自動化の条件
• CMOS, Bipolar, Bi-CMOSなどのテクノロジによるディジタル
回路の開発に限定(アナログ回路、特に高周波の自動設計
は現状では困難)
• 設計自動化に必要なテクノロジ情報と設計ライブラリを取得
(有料で提供される)
自動配置配線ツールによるレイアウト
データ作成例。自動配置配線でも、各種
の設計規則エラーが発生することが多い。
これらのエラーの意味を理解するために
はテクノロジやレイアウトの知識が必要
なので、フルカスタムの設計経験が必要。
18
設計自動化に必要な情報
• 論理シミュレーションモデル
– 論理ゲートの遅延時間、駆動力などの情報
• 論理合成ライブラリ
– 論理ゲートの面積、ファンアウト数、遅延時間など
• 自動配置配線ライブラリ
– 論理ゲートの形状、端子位置など
設計ライブラ
リと呼ばれる
テクノロジ・
ファイルと呼ば
れる
• 設計規則
– レイアウトパターンに関する規則、レイアウト→回路抽出情報など
• トランジスタモデル
– 回路シミュレーション用デバイスモデルのパラメータ・セット(トラン
ジスタレベルの回路設計をしないなら必要ない)
• レイヤー情報
– レイアウトデータに含まれるレイヤーの種類やレイヤー番号など
19
VDECを利用したセルベース設計フローの例
Emacs
Cadence Verilog-XL
HDL記述(RTL:Register
Transfer Level)
HDLシミュレーション
論理合成ライブラリ
Synopsys Synthesis
論理合成
シミュレーションライブラリ
Cadence Verilog-XL
論理シミュレーション
配置配線ライブラリ/
テクノロジファイル
Synopsys IC compiler
フロアプラン・自動配置配線
簡易DRC/LVS
設計規則ファイル
Mentor Calibre
設計規則チェック/LVS
回路パラメータ抽出
シミュレーションライブラリ
Cadence Verilog-XL
実配線シミュレーション
Submit to Foundry
20
4.1.3 フルカスタムLSIの設計
21
ボトムアップ設計(手動設計)
•
•
•
•
•
•
システム全体の機能検証は困難
システムは、階層化されており見通しは良くない
エラーが入りやすい(複雑な論理回路は作りにくい)
長い設計期間が必要
回路ブロックレベルのレイアウト最適化が可能
技術力があれば徹底した高性能化や新機能の追求
ができる(動作速度、消費電力などで有利)
• (通常)チップサイズは、自動レイアウトよりも小さい
• アナログ回路ブロックの設計が可能
22
VDECを利用したフルカスタム設計フローの例
Cadence Virtuoso
回路図入力
パラメータファイル
Synopsys HSPICE
アナログシミュレーション
テクノロジファイル
Cadence Virtuoso
設計規則ファイル
Mentor Calibre
設計規則ファイル
Synopsys StarRC
回路パラメータ抽出
パラメータファイル
Synopsys HSPICE
実配線シミュレーション
設計規則ファイル
Mentor Calibre
レイアウト入力
DRC/LVS
最終DRC/LVS
Submit to Foundry
23
フルカスタムレイアウトを学ぶメリット
• 集積回路工学第1では、フルカスタム方式のレイアウト実習
を行う(サワリだけですが)
– フルカスタム設計を経験すると、システム設計の最も詳細なところま
で理解できる
• CADツールが中で何をやっているのか理解できる
• CADツールの各種設定パラメータやコマンドの意味を理解できる
• 設計規則が読めるようになる(製造時に半導体メーカとの調整が可能に
なる・・・開発プロジェクトに、ここが分かる人間が最低一人必要)
– 設計ライブラリが無くても設計できる
• 一般に設計ライブラリの使用料は高価(ただしVDECでは無料)
– フリーのCADツールの組み合わせでも設計できる
• 一般に商用CADソフトウエアは非常に高価なので容易に購入できない
– アナログ機能や無線通信機能を含むシステムでは、自動設計とフル
カスタム設計を併用する必要がある
• 全て自動化できればよいのだが現状では不可
24
4.1.4 実装方式による構造の
違い
25
(1) フルカスタム
• レイアウト用CADツールを用い、手でアートワークを行う
D D
D D
VD
W
GND
GND
VD
D
D
6T CMOS SRAM
W
W
GND
VD
SRAMセルのレ
イアウト例
(メモリも自動
配置配線不可)
Poly
Metal
N-well
N-diff
P-diff
CONT
26
(2) Cell based IC -1
• フロアプランに従い、スタンダードセルと呼ばれる基本ゲー
トや演算機能ブロックを自動配置し、さらに自動的にそれら
に配線を行う
IO領域
セル領域
セル
基本
論理
セル
高機能
セル
チャネル領域
配置配線領域
NOR INV
FF
CPU
RAM
ROM
INV
FF
FA
(注) 配線層数が多い場合(5層ぐらい)はチャネル領域は不要
27
(2) Cell based IC -2
• スタンダードセル用の2入力ANDのレイアウト例
VDD
A
Poly
Metal
N-well
N-diff
P-diff
CONT
入出力端子
X
B
VDD
X
A
B
GND
GND
28
(3) Gate Array
• ゲートアレイセルと呼ばれる数トランジスタ単位のパター
ン(下地セル)が敷詰められたウエーハ(マスタースライ
ス)上に、配線の加工だけを行う
VDD
下地セル
GND
Poly
Metal
N-well
N-diff
P-diff
CONT
2入力AND
の配線例
29
(4) Embedded Array
• ゲートアレイ+高機能マクロセル
• 短TAT(turn around time)と高集積化を両立
IO領域
・
・
・
・
・
CPUコア
メモリコア
高機能マクロセル
マスタースライス(ゲートアレイ)
(一般のロジック用)
・
・
・
GND
配線
VDD
配線
(参考) IO領域には、IO Buffer と Pad
が配置される。
GND Line VDD Line
内
部
配
線
へ
IO Buffer
(外部とのインタ
フェース回路)
Pad(外
部との接
続端子)
30
(5) FPGA
• 論理機能(演算器やレジスタが実現できる)ブロックがアレ
イに並べられており、そのブロックの機能と配線のデータを
RAMに書き込むと必要な機能が実現される
プログラマブル
インターコネクト
DATA IN
クロスバー
スイッチ
機能
ブロック
0
1
2
機能
ブロック
A
B
C
D
E
0
1
2
REG
q
0
sel
clr
0
1
ram-state
REG
q
0
1
vdd
ram-state
X
1
ramstate
Combinational
Function (LUT)
ENABLE
CLOCK
0
1
ramstate
sel
clr
Y
ram-state
CLOCK
RESET
ram-state
vss
ram-state
クロスバーとローカル配線
GLOBAL RESET
機能ブロックの構造(Xilinx社の例)
31
(6) CPLD
• 多数のLogic ArrayをInterconnect Array(配線とスイッチ)
で結合
– Logic Array: 複数のPLA (Programmable Logic Array = プログラム
可能な組合せ回路)と出力レジスタ
• PLAは、加法標準形(積項の和)で表現された論理式をANDとORのアレ
イと配線用スイッチで表現する回路
Logic
Array
Logic
Array
Logic
Array
Logic
Array
Logic
Array
Logic
Array
Logic
Array
CPLD(Altera社の例)
IO Blocks
IO Blocks
Logic
Array
Interconnect Array
Input
From IO
Macro-cell
Array
AND
To
IO
OR REG
Output
Logic Array
傾向としては:
FPGAは大規模回路向き
CPLDは小規模・高速・低価格
32
FPGAの高集積・高性能化の状況
自分が学生のときは、数ゲート
の標準ロジックファミリー
(74LS**とか)を多量にはんだ付
けしていたが・・・
• 最近のFPGA
– メモリは内蔵のメモリブロックを利用
– プロセッサはIPコア(HDL記述)を利用
– 周辺回路も自分で設計してプログラム
FPGAだけ買えば殆どなんでも作れてしまう・・・
数100万ゲート
1970年代
1980年代
2000年代
33
FPGA, CPLD, MCUの便利さ
FPGA, CPLDを使用した場合
回路を書込む
(HDLで記述)
CPLD
電源IC
LED
ADC
VGA
Quartz(クロック発生器)
電源回路(レギュレータ)と入出力デ
バイスを付ければ、システムが完成。
数100~数1000個という部品を買い集
める苦労もない!
AC
Sw
MCU
Sw
Ether UART
AC
ADC
AC
Sw
USB
CPU
Logic Logic
電源回路
RAM
RAM
RAM
RAM
昔のシステムボード
プログラムを書込む
(C言語などで記述)
MCUを使用した場合
(CPLDは性能はよいが、オール・イン・ワ
ンのMCUはやはり便利だ。)
34
実装方式の選択
フルカ
スタム
ゲート
アレイ
セルベー
ス
エンベデッ FPGA,
ドアレイ
CPLD
MCU
開発費
×
○
△
△
○
◎
開発期間
×
○
△
○~△
◎
◎
単価
○
〇
○
△
×~△※1
○
設計自由度
と性能
◎
△
○
〇
△
×
機能集積度
○
×
△
×~△
×
○
※1 近年、FPGA, CPLDなどのプログラマブル・デバイスの高集積化、高
性能化、低価格化が進行しており、得失は変化しつつある。特に配
線領域と論理回路領域を分離した構造のCPLDは低価格化している。
35
4.1.5 スタンダードセル設計フ
ローの例
36
スタンダードセルを用いた
トップダウン設計フローの概要
• ALU(算術論理演算ユニット)の設計例
accm
alu_out
data
opcode
37
HDL(Hardware Description Language)記述
• 通常は、
RTLと呼ば
れる論理合
成可能な記
述スタイルを
使用する(詳
しくは、集積
回路設計及
び演習)
Verilog HDLによる
8bit ALUの記述例
38
機能シミュレーション
39
論理合成(HDLそのまま回路図化)
40
最適化
• 論理演算およびセ
レクタ部
41
加算器のシェア
• 加算と減算を1個の加算器で実現
42
自動配置配線
43
論理セルの構造
• 赤色:Poly
• 水色:M1
• 紫色:M2
44
ポストレイアウト・シミュレーション
45