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
© Copyright 2024 Paperzz