Programmable Logic Devices ?????????

Document Sample
Programmable Logic Devices ????????? Powered By Docstoc
					Programmable Logic Devices
     プログラム可能論理
       とASIC設計
     ディジタル回路最終回
         天野
    PLD (Programmable Logic Device)とは?

• ユーザが論理機能を決めることのできるIC
    ⇔ メモリ、CPU、ASIC (Application Specific IC)
• SPLD(Simple PLD) /
  PLA(Programmable Logic Array )
  – 小規模なAND-OR構造のもの
• CPLD (Complex PLD)
  – 主としてAND-OR構造を拡張して大規模化したもの
• FPGA (Field Programmable Gate Array)
  – LUT構造を用いた大規模なもの


      用語は混乱していて、使い分けは統一されていないので注意!
       PLDの成長

ゲート数              性能の飛躍
                  91年を1とすると
                  2000年までで        2004年まで
 10M                              集積度は200倍
                  集積度は45倍
                  速度は12倍          速度は40倍
                  価格は1/100        価格は1/500

 1M                   アンチヒューズ型
                      FPGA
                      登場                            階層構造
                           SRAM型
                           FPGAの                    内蔵コア
100k                                                低電圧化
                      CPLD 登場
                      登場
                EEPROM型
       ヒューズ型    SPLD
10k    PLA


         1980              1990              2000
SPLD(Simple PLD:プロダクトター
    ム構造/AND-OR構造)
   ABCD


                          OR
      NOT   AND




                  ANDとOR間の接続を
                  変えて任意の組み合わせ
                  論理を実現
プロダクトターム構造の作り方

  ABCD                 A&B | C&D


                                   OR
         NOT   AND
                     A&B


                     C&D
      LUT:Look Up Table方式による論理の実現


Address     Look Up Table       Data
          …  ROM/RAM        …
                                単純なROMまたはRAMによっても
                                任意の組み合わせ回路が実現できる

                       C    B
     ABC    Z      Z
                   0             A
     000    0
     001    0      0
     010    0      0
     011    1      1
     100    0      0
     101    0      0                   実際はメモリとマルチプレク
     110    0      0                   サ
     111    1      1                   で実現することもある
LUT:Look Up Tableによる論理の実現例
              1   1   0
              C   B
ABC   Z   Z
          0           A
000   0
001   0   0
010   0   0               1
011   1   1
100   0   0
101   0   0
110   0   0
111   1   1
  プロダクトターム方式 vs. LUT
• プロダクトターム方式(AND-OR構造)
  – 多入力多出力回路が効率良く実現できる
  – 場合によっては入力項数が不足する
  – EEPROM、フラッシュROMでの実現に適してい
    る
• LUT
  – 任意の論理が実現できる
  – 出力が少なく小規模な論理に有利
  – フラッシュ、アンチヒューズ、SRAM型に適してい
    る
        順序回路の実現
                            Q
         AND/ORアレイの出力   D
                            Q
              フィードバック
                                 出力回路
                  D Q
入力     AND・OR               出力
        アレイ
                  D Q


        または       D Q
                        Feed
        LUT       D Q   Back


     出力にF.F.を付けて、フィードバックラインを
     装備すれば任意の順序回路が実現できる
          CPLD (Complex PLD)
AND/OR ロジックブロック複数をスイッチで接続            プログラマブル
                                     スイッチ



   SPLD                    SPLD
                    SPLD

          プログラマブル
            スイッチ
   SPLD             SPLD




   SPLD             SPLD




    Altera社
    MAXシリーズなど                     2次元構造で大規模化
       FPGA(Field Programmable Gate Array)
                                    LUT
        コネクション                            F.F
        ブロック
                                           論理ブロック
アイランド
スタイル

                                                スイッチ
                                                ブロック
LUT, スイッチ
ブロックの設定は
SRAM内の
構成情報
(コンフィギュレーションデータ)
で変更可能



                              IOB
• アンチヒューズ型
                      柔軟性の実現
  – 高圧により絶縁体を破壊し、導通させる
  – 高速だがOne-time
  – Axcelerator (Actel), pASIC (QuickLogic)
• EEPROM, フラッシュROM型
  – Floating Gateによりゲートのスイッチを実現
  – 書き換え可能
  – GAL (Lattice) MAX, MAX II (Altera)
• SRAM型
  – SRAM上のデータにより論理機能、配線を実現
  – ISP(In System Programming)が可能だがスイッチを切ると配線情報が消失す
    る
  – LUT型FPGAに向き、最近急速に発達
  – 以前のシリーズ:XC4000(Xilinx), FLEX10K(Altera), ORCA(Lucent)
  – 新しいシリーズ:Virtex, Spartan(Xilinx), APEX, Stratix, Cyclone(Altera)
• その他
  – 磁気メモリ
  – DRAM
       構成方式と柔軟性実現技術
                      高速、中規模
SPLD      アンチヒューズ     書き換え不能
                      Axcelerator (Actel)
                      pASIC (QuickLogic)

CPLD      EEPROM     高速、小中規模
                     書き換え可能
                     遅延が読める
                     GAL (Lattice)
          フラッシュ
FPGA                 MAX, MAXII (Altera)
                     XC9500(Xilinx)


                    大規模、書き換え可能、
          SRAM      電源を切ると構成情報が消失
                    急速に発展
                    Virtex, SPARTAN(Xilinx)
                    Stratix, APEX, Cyclone(Altera)
  PLDの概観

QuickLogic




 Lattice GAL
大規模なチップ




                   Xilinx Virtex


      QuickLogic
               SoPDとSoC
• 最近のFPGAの情勢
 – 階層的構造による大規模化、高速化:
   • Xilinx社Virtexシリーズ、Altera社APEXシリーズ、
     Stratix
 – System on Programmable Device
   • DLL、CPU、DSP、メモリ、乗算器、高速リンクをハー
     ドIPとして混載
   • Xilinx社Virtex Pro (Power PC)、 Altera社Excalibur
     (ARM)
 – 量産品を目指して特化
   • 安価:Xilinx社Spartan、 Altera社Cyclone
 – 低電圧化、マルチ電圧化、低消費電力化
        FPGAの変遷(Xilinx社)

プロセス    シリーズ        型番          LUT数     電圧
                    XC4085KLA
350nm   XC4000                  7448     3.3V
                    XC40250KV
250nm   XC4000                  20102    2.5V
                    XCV1000
220nm   Virtex                  27648    2.5V
                    XCV2000E
180nm   Virtex-E                43200    1.8V
                    XC2V800O
150nm   Virtex-II               104882   1.5V
                    XC2VP125
130nm   Virtex-II               125136   1.5V
        Pro
                    XC4VLX200
90nm    Virtex-4                200488   1.2V
                    XC5VLX330
65nm    Virtex-5                331776   1.2V
                 Xilinx Virtex IIの構成
                              Slice X 2 → CLB (Configurable Logic Block)
                        Q
   LUT   Carry      D
                                                 DCM      IOB
                                      Global
                                      Clock
                        Q
   LUT   Carry      D                 MUX



Slice


10万CLB
3Mbit


                 Configurable Logic

                                               RAM Multiplier
                 Programmable IOs
           Altera Stratix II

                                DSP Blocks


                                Mega RAM
                                Blocks
 PLL

                                M4K RAM
                                Blocks

                               LAB:Logic Array Block
M512 RAM
                               4入力のLUTとF.F.から成る
Blocks
                               LE 10個から構成される
                               ローカルコネクトと
                               グローバルコネクトにより
                               高速なデータ転送を実現
        SoPD (System on Programmable Device)
                           Rocket I/O, Multi-Gigabit Transceiver
         DCM

Xilinx
Virtex-II Pro

                                      Power-PC

                                           Multiplier
                                           Block RAM


                                           CLBs




                                FPGA内に様々なコアを取り込む
• ハードコア              FPGA内蔵CPU
  –   レイアウトレベルで組み込んである
  –   標準的な命令セットを持つ
  –   利用可能なFPGAはかなり高価となる
  –   PowerPC (Xilinx Virtex II Pro/Virtex 4), MIPS (Lattice), ARM (Altera
      Excalibur)
• ソフトコア
  – FPGA上のロジックブロックで構成する
  – 一定のサイズがあればどの製品でも利用可能
  – MicroBlaze (Xilinx)
       • 32ビット長、32レジスタを持つ
       • 約500スライス、85MHz動作(Spartan-3)
  – PicoBlaze (Xilinx)
       • 18ビット長、16レジスタを持つ
       • 96スライス、44MHz動作(Spartan-3)
  – Nios (Altera)
       • 16ビットのNios16と32ビットのNios32
       • 状況に応じて構成をチューンすることが可能
                     多品種戦略
• Virtex II Proは、全ての製品にCPU、Rocket I/O
  が装備されている → 価格が上がる
• 目的別に複数のシリーズを設ける
  –   ロジックブロック、DSP、BRAMは標準装備
  –   LX:ロジックブロックを多数装備
  –   EX:DSPを多数装備
  –   FX:CPUとハイスピードI/Oを装備
  –   LX/EXの価格はVirtex II Proよりも低く設定可能




       Virtex-4 LX   Virtex-4 SX   Virtex-4 FX
      低コスト、量産品志向製品
• Xilinx社Spartanシリーズ(Spartan-3E)
  – 90nmプロセス利用
  – 10万ゲート以上の集積度、I/O数、内蔵RAM、乗算
    器、DLL等を持つ
  – 10万ゲートで2ドル未満、120万ゲートで9ドル未満
  – 25万ユニットを越えなければASICよりSpartanが
    有利(2006年では50万ユニットになるだろうとのこ
    と)
• Altera社 Cyclone IIも同様なねらい
• 実際の組み込みシステムへの利用が進む
                   PLDの設計
Handel-Cなど
Cレベル設計                        Verilog-HDL, VHDLなど
             高位合成、機能合成        RTL設計


                  論理合成、圧縮(テクノロジ非依存)


                 テクノロジマッピング      FPGA/PLDの
                                 アーキテクチャ依存部分

                     配置


                     配線
                 概略配線/詳細配線



                    構成情報
           まとめ
• 試作品用の特殊部品から、量産品にも用いられる汎
  用標準部品となっている。
• 単なる論理回路専用のデバイスではなく、システム設
  計のベースとして発展。
• ASICによるシステムLSIとのボーダレス化が進むであ
  ろう。
• 最新デバイスの利用により、集積度と動作速度は急
  速にASICに迫る。
• コストと消費電力はまだ差があるが、これも改善され
  つつある。
ASIC (Appplication Specific IC)
• 機能目的型のIC
• 実装方法
 – ゲートアレイ
 – セルベースド
 – フルカスタム
• CPU、メモリ、I/O、専用ハードウェアを実装し
  たシステムLSI(SoC: System on-a Chip)
 – 携帯電話、情報家電、ネットワーク制御等様々な
   分野で用いられる。
 – 日本の半導体産業の中心になりつつある。
初期のゲートアレイの構造
           I/O Pad
     …
           ゲート領域
     …
               配線領域
     …
     …
     …
     …
     …
SOG(Sea Of Gates)
                    I/O Pad
        …
        …           ゲート領域
        …
        …
        …           配線領域
        …
        …

        …

        …
        …
SOGの例(FPU:Rohm 0.6μ)
   Embedded Arrayが有利
• ASICを作る意義
 – 大量生産時のコストの安さ
 – 高速、高集積度
• Embedded Arrayとは?
 – メモリやCPUなどのあらかじめ設計されたレイア
   ウトを使うことができるゲートアレイ
Embedded Array

  CPU                  RAM




           …



        Random Logic
ルータチップ内部レイアウト図
RDTルータチップパッケージ
MBP-lightのレイアウト
MBP-lightの外観
スイッチチップとMBP-lightを用いて作った並列計算機JUMP-1
ハードウェア処理部

            コアプロセッサ
   Martini の諸元
デザインルール            0.14μm
ダイサイズ              272.91mm2
メモリ総量              538KB
I/O 伝送周波数
   RHiNET-2,3/SW   800MHz
   OIP-SW          250MHz
内部動作周波数
   コア部             66MHz
   DIMM ホストI/F     133MHz
   スイッチI/F         125MHz
パッケージ              784 BGA
          ASIC版 NIC
• コントローラに専用ASICを開発
• PCI bus/ DIMM slot
                       SO-DIMM




                光インタコネクション
     Martini
        セルベースド設計
• それぞれのセル=ゲートのレイアウトはできている
• しかし、ゲートアレイと違って、配置は完全に自由

           RTL記述

         論理合成、簡単化     フロントエンド設計

           ネットリスト

          配置、配線        バックエンド設計

           レイアウト
PICO16の概略配線
        配線トラックの割付
                          配線トラック
• Route → Track Assign!   が割り当てら
                            れる
配線終了後
レイアウト画面
            MuCCRA-1 Floor plan


• Rohm’s 0.18um                              PE

  6-layer process               PE Context Memory
• 5.18 mm X 5.18mm                                  CSC
• Signal 1.8V, IO 3.3V   MULT             TCC

• QFP304 package


                                         MEM




                    10
                  MuCCRA-2 Floor Plan
•ASPLA’s 90nm
•2.5mmX2.5mm
(Core: 1.5X1.5)




                       16
MuCCRA-3 Floor Plan




  65nm CMOS Process
MuCCRA-3 After Wiring




   65nm CMOS Process
      今後の授業との関連
                        LSI設計の流れ
 計算機構成同演習           ディジタル回路

コンピュータアーキテクチャ



       VLSI設計論   4年春 Verilogによる設計演習
                 レイアウト演習


                 大学院 Cレベル設計
       SoC設計論
                 システム設計 外部講師



       SoC設計演習        システムLSI特論

  大学院 Cレベル設計          大学院 電子工学科
  システム設計演習 早稲田で他の     黒田先生
  大学生と一緒にやる

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:35
posted:5/21/2012
language:Japanese
pages:50