pldとfpga - 京都工芸繊維大学kobayasi/refresh/0312/slides/fpga.pdf4 pldの構造 pla, pal...

42
1 PLDFPGA VLD講習会 2003/08 東京大学 小林和淑

Upload: others

Post on 05-Feb-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    PLDとFPGA

    VLD講習会2003/08

    東京大学 小林和淑

  • 2

    PLD、FPGAPLD: Programmable Logic Device– プログラム可能な論理素子

    FPGA: Field Programmable Gate Array– 野外でプログラム可能な門の隊列?– Field: 設計現場– Gate Array: 論理ゲートをアレイ上に敷き詰めたLSI– MPGA: Mask Programmable Gate Array

    » マスクでプログラムするゲートアレイ– FPGA:

    » 設計現場でプログラムするゲートアレイ» 街中でプログラムするゲートアレイ

  • 3

    プログラマブルロジックデバイス(PLD)設計者が自由にその機能を変更できるLSIの総称(広義)– MPD: マスクプログラマブル→製造時に変更– FPD:  フィールドプログラマブル→その場で変更小規模PLDの種類– PLA: Programmable Logic Array

    » AND-OR アレイ– PAL: Programmable Array Logic

    » ORアレイが固定» 派生品として、GAL, PLD(製品名)

    PLD

    PAL

    PLA

    PLDGAL

    FPGA

    GA(MPGA)

  • 4

    PLDの構造

    PLA, PAL

    ANDアレイ

    ORアレイ

    ORアレイ固定のものがPAL

    GAL, PLD

    ANDアレイ

    固定のORアレイマクロセル

    DFFからの出力をフィードバック

    PLA, PALは組合せ論理回路主体GAL, PLDは順序論理回路– カウンタ、制御回路等

  • 5

    FPLAの詳細構造Vcc

    Vcc

    A

    B

    C

    ANDアレイ

    ORアレイ

    A+BC

    AC+A

    バイポーラトランジスタ– まだ,CMOSのないころ

    接続したくないところのヒューズを溶断

    ヒューズは抵抗を持つので,遅い– PALは,高速化のためにORアレイを固定化

    M.J.B.Duff, “Review of the CLIP Image Processing System”, National Computer Conf., pp.1056-1060 (1978)

  • 6

    FPGA (Field Programmable Gate Array)

    フィールドプログラマブルな大規模集積回路– ようは大規模なPLD論理ゲートとフリップフロップをアレイ上に敷き詰めて、その間の結線を自由に変更

    – ただし論理ゲートそのものが内蔵されているとは限らない

    コンフィグレーションデータを書き込むことにより機能が変化する

  • 7

    FPGAの構造

    組み替え可能な論理ブロック

    論理ブロック間を接続する組み替え可能な配線

    論理ブロック

    配線

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

    論理ブロック

  • 8

    FPGAのプログラム記憶方式FPGAの現在の構成(コンフィグレーション)を覚えておく方法

    SRAM等の揮発性メモリに書き込む.– もっともポピュラー– 特別なプロセスを必要としない– 基本特許はXilinx社が所有している

    » Freeman特許(2006まで),Cartner特許(2004まで)» FPGAという商標はXilinxのみが使用できる。

    EPROM, EEPROM等の不揮発性メモリに書き込む.– 電源を切っても消えない電圧をかけて, アンチヒューズを短絡させる.– 書きこみは一度のみ

  • 9

    FPGAのプログラム方式: SRAM

    SRAMロジックと同じプロセスで製造できる。– 低コスト,最新プロセスの利用冗長度が大きい。– 1SRAMセル: 6Tr– さらに、デコーダ、センスアンプ等も必要電源を切ると消える(揮発性) 

    WL

    BL BL

    To Switch

  • 10

    FPGAのプログラム方式(2) 不揮発

    Floating Gate

    EPROM,EEPROM特殊なプロセスを要求

    冗長度は小さい。

    1Trのみ

    INOUT >100G

    Apply 16V between A and B

    A B A Bopen

    Antifuse小さくて高速

    書き込みは一度だけ

  • 11

    SRAM方式FPGAの構造FPGA:– 変更可能な組合せ回路– 変更可能な配線組合せ論理回路の基本はLUT(Look-Up Table)– 組合せ論理回路を1ビットSRAMの記憶内容で表現配線の変更は

    – トランジスタによるスイッチ» スイッチのON, OFFの情報もSRAMに格納

  • 12

    LUT(Look-up Table)

    � � � � 設定値

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    � � � � �

    SRAM型FPGAの可変論理を実現する。

    A, B, C, Dの4ビット入力をワード線とした1ビットのSRAM– 入力数が増えるとSRAMが大きくなる

    – 小さいと効率が悪いSRAMの中身を書き換えることで任意の論理を実現

    (A|B)&(C|D)に対するLUT→真理値表をそのまま表現すればよい。

  • 13

    可変配線: スイッチマトリックス

    SRAM型FPGAの可変配線を実現

    スイッチマトリックス 各交点の構造

    任意の接続が可能

  • 14

    XILINX XCシリーズの構造

    CLB CLB CLB

    CLB CLB CLB

    CLB CLB CLB

    CLB CLB CLB

    配線

    スイッチマトリックス

    スイッチマトリックス

    ルックアップテーブル(LUT) FF

    セレクタ

    CLBの構造

    共通クロック

    A

    B

    C

    D

    (SRAM)

    縦横配線の接続が変更できる

    CLB: Configurable Logic Block

  • 15

    ALTERA FLEXの構造(CPLD構造)

    論理アレイブロック(LAB)

    列配線

    行配線

    LUT

    FF

    セレクタ

    キャリーチェイン

    LAB制御信号

    ABCD

    (LAB内の全LE共通)

    論理素子(LE)

    論理素子(LE)

    LABの構造各配線は左右, 上下でそれぞれ電気的につながっている

    各交点には配線を接続するスイッチを配置

    (上から下, 左から右まで1本の配線)

  • 16

    特許から見たSRAM型FPGA参考資料2

    – プログラマブル・ロジック・デバイス技術に関する特許出願技術動向調査http://www.jpo.go.jp/old/techno/pdf/pld.pdf

    Freeman特許– LUT型FPGAの基本特許

  • 17

    特許から見たSRAM型FPGA(2)Cartner特許– CLE(Configurable Logic

    Elements)の接続方法に関する特許

    Altera社のLUT型FPGAは,XILINX社に特許侵害で訴えられ,敗訴(和解)

    他社は怖くて販売できない

  • 18

    Antifuse型FPGA (Actel Act1)プログラム可能なスイッチ: 高電圧をかけて、スイッチを溶着する。– Fuseの反対の動作– 動作時には低抵抗で高速

    プログラム可能な論理

    – マルチプレクサベース– 2入力のさまざまな組合せ論理が実現可能

    >100G

    Apply 16V between A and B

    A B A Bopen

    SA

    A0

    A1

    B0

    B1

    SB

    S0

    S1

    OUT

    0

    1

    0

    1

    0

    1

  • 19

    Act1の構造

    LogicModule

    Antifuseスイッチ

  • 20

    マルチプレクサによる組合せ回路1

    1

    1

    B

    0

    A

    C

    0

    OUT AB

    C

    0

    1

    0

    1

    0

    1

    2入力の論理すべてと、3NANDと排他論理を除く3入力の論理を実現。8入力までの論理も実現(一部のみ)

  • 21

    EPROM、EEPROM型FPGAE(E)PROM: Electric(-Erasable) Programmable ROM– 電気的に書きこみ(と消去)のできるROM

    EPROM(Floating-Gate MOS)の構造

    P-

    N+ N+

    GateSource Drain

    P-

    N+ N+

    Gate

    Source Drain

    Floating Gate

    MOSFET Floating-Gate MOSFET

    ゲート電極を2つもつFET

  • 22

    EPROMのプログラミングDrain, Gate間に高電圧(12V)をかけて、DrainからFloating Gateに電子をジャンプさせる。電子がFloatingゲートにたまることで、閾値が上昇する。– 常にOFFになる

    P-

    N+ N+

    Gate

    Source Drain

    Apply High Voltage

    Vdd

    NotProgrammed ProgrammedIDS

  • 23

    EPROMによるProgrammable Logic

    IN0OUT

    IN1

    IN2

    IN3

    Floating GateEPROMの回路図シンボル

    INOUT

    Floating Gate IN OUT

    Unprogrammed 1 0

    Unprogrammed 0 1

    Programmed X 1

    Programmable Inverter

    Programmable NOR

  • 24

    EEPROMとフラッシュメモリフラッシュメモリ(Flash Memory):– EEPROMは高電圧をかけて書きこまないといけないが、フラッシュメモリは通常の電圧で読み書き可能

    – 書きこみも数千回可能。(EEPROMは数回から数10回)

    – 書きこみはバイト単位でできるが、消去はセクタ単位でしかできない。1Mb Flash Memoryの場合、1セクタはアドレス10ビット分(1024ビット)

    – 主な応用先:» スマートメディア、メモリスティック等のメモリカード» 携帯電話のソフトウエア格納用

  • 25

    FPGAの特性分類

    プログラム方式 再書込 不揮発性 動作速度 冗長度SRAM ○ × 遅い→速い 大EPROM △ ○ 中 中EEPROM ○ ○ 中 中アンチヒューズ × ○ 速い 小

    SRAM型のFPGAは最新のプロセス技術により、スピード面での欠点は解消されている。– 最新のものは、0.09µm銅配線プロセスを用いている。

  • 26

    銅配線プロセス

    銅配線の断面写真銅配線の威力

    アルミニウムの抵抗率は銅の1.6倍

  • 27

    微細化の効果(Xillinx資料より)90nmプロセスと,300mmウェハで,130nm, 200mmと比べて,5倍の生産性– 価格を1/5に– 110nmは飛ばす。

    ITRSのロードマップの1.5年先を行く大口径化の効果

    4.00

    2.251.78

    2.25

    0.00

    0.501.00

    1.502.00

    2.503.00

    3.504.00

    4.50

    100 150 200 300

    ウェハーの直径

    集積

    度の

    向上

    微細化による効果

    1.29 1.341.60

    1.33

    2.09

    0.00

    0.50

    1.00

    1.50

    2.00

    2.50

    220 190 150 130 90

    プロセステクノロジ(nm)

    集積

    度の

    向上

  • 28

    FPGAベンダ各社とも,1980年代半ば以降に創業されたベンチャー企業(参考資料2参照)FPGAの2大ベンダは、XILINXとALTERA– 2社で世界の5割から6割

    その他のベンダ– Actel: antifuse型, Mars Path-Finderに搭載– Lucent: PCIやATMコントローラを内蔵したFPGA– Philips, Lattice: CPLD (Complex PLD)

  • 29

    FPGAのシェア1998

    Ranking Vendor

    Revenues(US$, millions)

    1998MarketShare

    1997/1998

    GrowthRate1998 1997

    1 Altera $ 654 $ 631 31.5% 4%2 Xilinx $ 629 $ 574 30.3% 10%3 Lattice $ 206 $ 248 9.9% -13%4 Vantis $ 205 $ 220 9.9% -16%5 Actel $ 154 $ 156 7.4% -1%6 Lucent $ 100 $ 97 4.8% 3%7 Cypress $ 39 $ 52 1.9% -25%8 Atmel $ 35 $ 31 1.7% 13%9 QuickLogic $ 30 $ 29 1.4% 3%10 Philips $ 18 $ 23 0.7% n/a

    TOTAL $ 2,079 $ 2,068 0.53%

  • 30

    XILINXの製品マップ ファミリ プログラム方式 マクロセル数 特徴CPLD XC9500 Flash 36-288MC 安価(Glue Logic置き換え) XCR3000 EEPROM 32-512MC 低消費電力

    ファミリ プログラム方式 ゲート数 特徴FPGA XC4000 SRAM 13k-85k 3.3V標準 SPARTAN SRAM 5k-200k ASIC代替

    VIRTEX II SRAM 40k-8M

    システムFPGAプラットフォームFPGA

    VIRTEX II Pro SRAM 200k-10M CPU内蔵(最大4つ)

  • 31

    ALTERAの製品マップファミリ プログラム方式 マクロセル数 特徴MAX EEPROM 32-512MC 安価ファミリ プログラム方式 ゲート数 特徴ACEX SRAM 10k-100k 安価かつ大容量FLEX SRAM 10k-250k 高速大容量

    APEX 20k SRAM 30k-1.5M SOPC(System on a ProgrammableChip)

    APEX II SRAM 600k-3M 銅配線Stratix SRAM 300k-3M 大規模メモリ搭載Excalibur SRAM 100k CPUコア集積

  • 32

    FPGAの製品展開SRAM型FPGAは、LUTで実現する組合せ論理回路だけでなく、メモリ,PLL, 高速シリアル伝送回路まで内蔵する。– Stratixでは,最大7Mbitメモリは、RAM, ROM, CAM(Content Addressable Memory), FIFO, 乗算器等に使用できるさらに、CPUコアを内蔵。LSIの製造プロセス微細化のおかげで、チップ全体の1/10程度でARM, PowerPC等の32bitプロセッサが集積可能– 詳しくは来週

  • 33

    FPGA内のメモリFLEX 10Kの内蔵メモリ(Embedded Array Block)– 大規模SRAMに付加回路– 通常のLUTでは実現不可能な論理を実現

    – 同期SRAM,非同期SRAM, FIFO, デュアルポートRAM,  CAM

    – 大規模なLUTとしても利用可– 乗算器: 9ビット入力

    (5bit×4bit), 9ビット出力

  • 34

    CAMRAM: Random Access Memory– アドレスを入力すると、内容が出てくる

    CAM: Content Addressable Memory– 内容を入力すると、アドレスが出てくる

    CAMの主な用途– ネットワーク系: 

    » ARPテーブル  MACアドレスとIPアドレスの変換» ルーティング,スイッチング情報

  • 35

    CAMの構造

    A A

    B B

    C

    W

    b0 b1

    MatchMatch

    MatchMatch

    CAMセルアレイ

    CAM memory cell

    searching wordP

    riority Encoder

    Match

    Address

    A=1 A=0

    10

    C=0SRAMセルに入力データとの比較用トランジスタを付加一致したMatchの最上位アドレスを出力

  • 36

    CAMの用途MACアドレス 00:50:56:01:00:00からIPアドレス(130.54.X.X)へMACアドレスからスイッチングハブのポート番号へ

    CAM

    Address Data

    0000000000000001

    MAC Address

    00:50:56:01:00:0000:80:45:10:C6:9C

    RAM

    Address Data

    0000000000000001

    Port Number

    1400:80:45:10:C6:9C

    14

    Log W オーダー

  • 37

    FPGAのメリット、デメリットメリット– 設計のTAT(Turn-Around Time)が短い– 論理設計とタイミングの検証のみで動作する. (物理設計がいらない)

    – 少数の製品に使用できる– IP(Intellectual Property)が豊富デメリット– スピードが遅い、チップ面積が大きい– 量産時のコストが高い

    » 同じ設計データを用いて安く量産できるサービスもある(Hardcopy by ALTERA)

  • 38FPGAへの書込データの作成

    LSI用CADツール

    FPGAベンダ提供ツール

    この境界は厳密ではない

    回路図エントリ

    CAB

    HDL記述module nand_g(C,A,B); input A,B; output C; assign C=~(A&B);endmodule

    論理合成

    nand2

    ネットリストmodule nand_g(C,A,B); input A,B;output C; nand2 I0(C,A,B);endmodule

    論理設計

    論理素子へのゲートの割り当て

    LEの配置, 配線を決定する

    FPGAの設計法

    通常のLSIと同じ設計手法を取る。– LUTを直接設計するわけではない

    FPGAの配置配線は各FPGAベンダ配布のツールにより行う

    HDLが書ければ,後はほぼボタンを押すだけ!!

  • 39

    CAD、FPGAベンダのツール Mentor Graphics FPGA Advantage 統合ツール Synplicity SynplifyPro

    FPGA Compiler II WorkView Office 回路図エントリ

    ALTERA Quartus 回路図エントリ,論理合成 XILINX ISE 回路図エントリ,論理合成 Actel Libero IDE 回路図エントリ,論理合成

    CADベンダ

    FPGAベンダ

    Synopsys 論理合成ツール

    各社FPGAの無償ツールあり。大学向けのプログラムもあり

    See http://www.ベンダ名.com/

  • 40

    FPGA設計(デモ)HDLからFPGAまで

    circuit.edf EDIF ネットリスト

    RTL記述から回路への論理合成

    出力ファイル RTL記述

    Leonardo Spectrum

    Quartus II

    circuit.sof,pof SRAMオブジェクトファイル

    FPGA上の配置配線をおこなう出力ファイル

    デバの書イ込スへ

    FPGA搭載ボード Power Medusa MU200-APFPGA: Altera社Apex20KE400

    LUT数: 16,000 (40万ゲート相当)

  • 41

    HDLから回路図へ(論理合成)module calc(decimal,plus,minus,equal,CLK,RST,CE,sign,overflow,out);

    input [9:0] decimal;

    input CLK,CE,RST,plus,minus,equal;

    output sign,overflow;

    output [6:0] out;

    wire [3:0] d;

    wire [8:0] alu_out;

    reg [1:0] state;

    reg [8:0] REGA, REGB;

    reg [1:0] count;

    reg add_or_sub;

    assign d=dectobin(decimal);

    always @(posedge CLK or negedge RST)

    begin

    if(!RST)

    begin

    REGA

  • 42

    FPGA搭載ボードFPGA単体を買ってきても何もできないので、FPGAを搭載したボードが多数販売されている三菱電機マイコン機器ソフトウエア Power MedusaCQ出版 Flex10KE評価キット

    PLDとFPGAPLD、FPGAプログラマブルロジックデバイス(PLD)PLDの構造FPLAの詳細構造FPGA (Field Programmable Gate Array)FPGAの構造FPGAのプログラム記憶方式FPGAのプログラム方式: SRAMFPGAのプログラム方式(2) 不揮発SRAM方式FPGAの構造LUT(Look-up Table)可変配線: スイッチマトリックスXILINX XCシリーズの構造ALTERA FLEXの構造(CPLD構造)特許から見たSRAM型FPGA特許から見たSRAM型FPGA(2)Antifuse型FPGA (Actel Act1)Act1の構造マルチプレクサによる組合せ回路EPROM、EEPROM型FPGAEPROMのプログラミングEPROMによるProgrammable LogicEEPROMとフラッシュメモリFPGAの特性分類銅配線プロセス微細化の効果(Xillinx資料より)FPGAベンダFPGAのシェアXILINXの製品マップALTERAの製品マップFPGAの製品展開FPGA内のメモリCAMCAMの構造CAMの用途FPGAのメリット、デメリットFPGAの設計法CAD、FPGAベンダのツールFPGA設計(デモ)HDLから回路図へ(論理合成)FPGA搭載ボード