52
1 PLDFPGA リフレッシュ教育 2007/12 京都大学 小林和淑

リフレッシュ教育 - KobayashiLab»FPGAという商標はXilinxのみが使用できる。 EPROM, EEPROM等の不揮発性メモリに書き込む. – 電源を切っても消えない

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

1

PLDとFPGA

リフレッシュ教育

2007/12京都大学 小林和淑

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

FPGAの応用先http://www.fpga.co.jp/nyumon2.html

Canopus社ビデオ

出力ボード

SONYの薄型テレビ用基盤

プレステ用

エモーション

エンジン

Altera社Cyclone

新幹線電光掲示板

5

ポータブル機器への応用

ザイリンクスは,シャープがウィルコム向けに開発・製造している携帯情報端末「W-ZERO3 シリーズ」に,米Xilinx,Inc.のCPLD「CoolRunner-II」が採用されていると発表した。W-ZERO3 シリーズは2005年12月に販売が始まっている。今回,シャープは上記のPLDを,同PDAのキーボード・インタフェース,I/O拡張機能などに使い,MCUの負荷低減と機

器の高機能化につなげたという。ザイリンクスは「CoolRunner-IIが低消費電力

なことは,採用の大きなポイントになった」と説明している。

出典:http://techon.nikkeibp.co.jp/article/NEWS/20060616/118270/

6

FPGA,PLDの歴史

参考資料

– 特許から見た「プログラマブル・ロジック・デバイス(Programmable Logic Device:PLD)」の展望

– http://www.jpo.go.jp/shiryou/toushin/chousa/pdf/pld2000_1_12.pdf

7

PLDの変遷(参考資料1より)

8

PLDの構造

PLA, PALは組合せ論理回路主体

GAL, PLDは順序論理回路

– カウンタ、制御回路等

PLA, PAL GAL, PLD

ANDアレイ

ORアレイ

ORアレイ固定のものがPAL

ANDアレイ

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

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

9

FPLAの詳細構造

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

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

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

Vcc

Vcc

A

B

C

ANDアレイ

ORアレイ

A+BC

AC+A

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

10

FPGA (Field Programmable Gate Array)

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

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

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

11

FPGAの構造

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

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

論理ブロック

配線

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

論理ブロック

12

FPGAのプログラム記憶方式

SRAM等の揮発性メモリに書き込む.– もっともポピュラー

– 特別なプロセスを必要としない

– 基本特許はXilinx社が所有している

» Freeman特許(2006まで),Carter特許(2004まで)

» FPGAという商標はXilinxのみが使用できる。

EPROM, EEPROM等の不揮発性メモリに書き込む.– 電源を切っても消えない

電圧をかけて, アンチヒューズを短絡させる.– 書きこみは一度のみ

FPGAの現在の構成(コンフィグレーション)を覚

えておく方法

13

FPGAのプログラム方式:SRAM

SRAMロジックと同じプロセスで製造できる。– 低コスト, 新プロセスの利用

冗長度が大きい。– 1SRAMセル: 6Tr– さらに、デコーダ、センスアンプ等も必要

電源を切ると消える(揮発性)

WL

BL BL

To Switch

14

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

揮発

Floating Gate

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

冗長度は小さい。

1Trのみ

INOUT >100G

Apply 16V between A and B

A B A Bopen

Antifuse小さくて高速

書き込みは一度だけ

15

SRAM方式FPGAの構造

FPGA:– 変更可能な組合せ回路

– 変更可能な配線

組合せ論理回路の基本はLUT(Look-Up Table)– 組合せ論理回路を1ビットSRAMの記憶内容で表現

配線の変更は

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

16

構成部品– CLB(Configurable Logic Block, 論

理ブロック)» LUT: 可変論理

» FF: 順序回路

– SB(Switch Block, 配線接続スイッチ)

» 縦横の配線接続を切り替え

– CB(Connection Block, 入出力スイッチ)

» CLBと配線を接続

– Wire Track» SB間の配線

アイランド型FPGACB

CLB

SB

Wire Track

17

CLB(Configurable Logic Block)LUT– 可変論理を実現する

DFF– 順序回路を実現する

セレクタ

– 順序回路動作と組み合わせ回路動作を切り替える

18

LUT(Look-up Table)SRAM型FPGAの可変論理を実現

する。

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

– 小さいと効率が悪い

– これまでは4入力が主流

SRAMの中身を書き換えること

で任意の論理を実現

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

� � � � 設定値

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

19

LUT(Look-up Table)SRAM型FPGAの可変論理を実現する。A, B, C, Dの4ビット入力をワード線とした1ビットのSRAM– 入力数が増えるとSRAMが大きくな

る– 小さいと効率が悪い– 微細化により入力ビット数が増え

る傾向にあり

SRAMの中身を書き換えることで任意の論理を実現(A|B)&(C|D)に対するLUT→真理値表をそのまま表現すればよい。

� � � � 設定値

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

20

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

クス

SRAM型FPGAの可変配線を実現

全結線はコスト高かつ遅延大なので,斜めだけスイッチを配する。

任意の接続が可能

1交点あたり,スイッチ6個

21

スイッチマトリックスの構造

Fs(配線当たりの接続数)=3の各種スイッチ構

造– Disjoint: 上下左右斜め同じ番号(前頁の構造)

– Universal: 上下左右は同じで斜めで一部番号を反転

– Wilton: 上下左右は同じで斜めで番号を変更

22

スイッチマトリックスの詳細構造

NMOS SW Typeは面積が小さいが配線

容量の増大とともにスイッチの抵抗による遅延が大きくなる

Buffer Typeは高速だが,双方向にする

ために面積が非常に大きくなってしまう。

– さて,NMOS SW Typeの何倍くら

い?

Buffer Typeの欠点を解消したスイッチの構造も提案されている[1]

1ビットSRAM

[1] G. Lemieux, D. Lewis, `Circuit Design of FPGA Routing Switches'', ACM/SIGDA International Symposium on FPGAs

23

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

24

ALTERA FLEXの構造(CPLD構造)

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

列配線

行配線

LUT

FF

セレクタ

キャリーチェイン

LAB制御信号

ABCD

(LAB内の全LE共通)

論理素子(LE)

論理素子(LE)

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

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

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

25

特許から見たSRAM型FPGAプログラマブル・ロジック・デバイス技術に関する特許出願技術動向調査

http://www.jpo.go.jp/old/techno/pdf/pld.pdf

Freeman特許

– LUT型FPGAの基本特許

26

特許から見たSRAM型FPGA(2)

Carter特許

– CLE(Configurable Logic Elements)の接続方法に関する特

Altera社のLUT型FPGAは,X

ILINX社に特許侵害で訴えられ,敗訴(和解)

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

27

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

28

Act1の構造

LogicModule

Antifuseスイッチ

29

1

1

1

B

0

A

C

0

OUT AB

C

0

1

0

1

0

1

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

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

30

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

EPROM(Floating-Gate MOS)の構造

MOSFET Floating-Gate MOSFET

ゲート電極を2つもつFET

P-

N+ N+

GateSource Drain

P-

N+ N+

Gate

Source Drain

Floating Gate

31

EPROMのプログラミング

Drain, Gate間に高電圧(12V)をかけて、DrainからFloating Gateに電子をジャンプさせる。

電子がFloatingゲートにたまることで、閾値が上

昇する。– 常にOFFになる

P-

N+ N+

Gate

Source Drain

Apply High Voltage

Vdd

NotProgrammed ProgrammedIDS

32

EPROMによるProgrammable Logic

Floating Gate

INOUT

EPROMの回路図

シンボル

Floating Gate IN OUT

Unprogrammed 1 0

Unprogrammed 0 1

Programmed X 1

Programmable Inverter

Programmable NOR

IN0OUT

IN1

IN2

IN3

33

EEPROMとフラッシュメモリ

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

フラッシュメモリは通常の電圧で読み書き可能

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

回)

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

– 主な応用先:» スマートメディア、メモリスティック等のメモリカード

» 携帯電話のソフトウエア格納用

34

NAND型とNOR型フラッシュメ

モリ

NOR型: 小容量,高速,ランダムアクセス可能

NAND型: 大容量,低速,消去はブロック単位

NOR型FLASH NAND型FLASH

プログラムしないと常時ONに

35

FPGAの特性分類

SRAM型のFPGAは 新のプロセス技術により、

スピード面での欠点は解消されている。– 新のものは、65nm銅配線プロセスを用いている。

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

36

銅配線プロセス

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

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

37

微細化の効果(Xillinx資料より)

90nmプロセスと,300mmウェハで,130nm, 200mmと比べて,5倍の生産性

– 価格を1/5に– 110nmは飛ばす。

ITRSのロードマップの1.5年先を行く微細化による効果

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)

集積

度の

向上

大口径化の効果

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

ウェハーの直径

集積

度の

向上

38

微細化による効果

34W 8.5W

39

微細化により筺体を小型化

SCE 久多良木社長

40

FPGAベンダ

各社とも,1980年代半ば以降に創業されたベンチャー企業(参考資料2参照)

FPGAの2大ベンダは、XILINXとALTERA– 2社で世界の5割から6割

その他のベンダ– Actel: antifuse型, Mars Path-Finderに搭載

– Lucent: PCIやATMコントローラを内蔵したFPGA– Philips, Lattice: CPLD (Complex PLD)

41

FPGAベンダの売り上げ高

0 0.5 1 1.5 2 2.5 3 3.5

LSI Logic

Agere System

Altera

Toshiba

Fujitsu

Xilinx

NEC Electronics

ST Microelectronics

IBM

Texus Instruments

2004

2003

FPGA/ASIC売り上げ高(10億ドル)

Xilinx, Alteraは,東芝,富士通,NEC等の日本の大手とほぼ同じ規

42

XILINXの製品マップ

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

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

SPARNTAN-3 SRAM 50k-5M 低価格かつ高性能

VIRTEX II SRAM 40k-8M

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

VIRTEX II Pro SRAM 200k-10M CPU内蔵( 大4つ) VIRTEX 4 SRAM 200k-10M CPU/DSP/Ethernet積載

43

ALTERAの製品マップ

ファミリ プログラム方式 ゲート数 特徴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 大規模メモリ搭載Stratix II SRAM 600k-7M 新Excalibur SRAM 100k CPUコア集積MAXII Flash 240-2.2k 高速大容量Cyclone SRAM 2k-20k ASICの置き換えCyclone II SRAM 4k-68k 90nm, 300mmウェハHardCopy II FPGAデータから作成するASIC

44

FPGAの製品展開

SRAM型FPGAは、LUTで実現する組合せ論理回路だけでなく、メモリ,PLL, 高速シリアル伝送

回路まで内蔵する。– Stratixでは, 大7Mbitメモリは、RAM, ROM, CAM(Content Addressable Memory), FIFO, 乗算器等に使用できる

さらに、CPUコアを内蔵。LSIの製造プロセス微細化のおかげで、チップ全体の1/10程度でARM, PowerPC等の32bitプロセッサが集積可能

45

FPGAのメリット、デメリット

メリット– 設計のTAT(Turn-Around Time)が短い

– 論理設計とタイミングの検証のみで動作する. (物理設計がいらない)

– 少数の製品に使用できる

– IP(Intellectual Property)が豊富

デメリット– スピードが遅い、チップ面積が大きい

– 量産時のコストが高い» 同じ設計データを用いて安く量産できるサービスもある

(Hardcopy by ALTERA, EasyPath by Xilinx)

46

ストラクチャードASICFPGAは,短納期だが,単価が高い,速度も遅い

専用のASICは,開発費が高く,納期も遅い

ストラクチャードASIC(マスタスライスLSI)– あらかじめ,チップ上にIP(部品)を組み込んでおき,

配線層のみでカスタム化する» 構成部品が論理ゲートとメモリだけのものは,単なるゲートアレイ

– 短納期,かつ単価が安い(FPGAより面積小),速度も速い(FPGAのスイッチを単なる配線に)

マスクなしで,EBによる直猫も

儲からないのか,各社撤退へ。FPGAには勝てない

47

HardcopyII

10%のコストと,半分の消費電力でFPGAをASICにFPGAとピン互換

FPGA

LUT

SWM

LUT

SWM

Mem

ory

PLL

LUT

SWM

LUT

SWM

Mem

ory

PLL

Hardcopy II

48FPGAへの書込データの作成

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が書ければ,後はほ

ぼボタンを押すだけ!!

49

CAD、FPGAベンダのツール

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

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

Mentor Graphics FPGA Advantage 統合ツール Synplicity SynplifyPro

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

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

CADベンダ

FPGAベンダ

Synopsys 論理合成ツール

50

Verilog Simulator標準的なVerilog Simulator– Cadence社 verilog-xl, ncverilog(高速なverilog simulator)

» VDECのメディアではIUS, LDVに含まれる

» 波形を見るのはsimivision– Synopsys社 vcs

» VDECのメディアでは,vcsに含まれる

– Mentor Graphics社 modelsim» VDECのメディアでは,Modelsim» XILINX, ALTERAのFPGAソフトに機能限定版

– Plagmatic C社 GPL Cver» GPLライセンスにより,フリーで利用可能

» Windows(cygwin), linux, Solaris, OS Xなどで動作

» 波形を見るのはgtkwave– Veritakwin (菅原システムズ)

» 純国産Verilogシミュレータ

» 無料で使えるCQ版もあり

51

FPGA設計(演習内容)HDLからFPGAまで

Quartus II

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

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

FPGA上の配置配線をおこなう

出力ファイル

出力ファイル

RTL記述

デバイスへ

の書込

Quartus II

FPGA搭載ボード Power Medusa MU200-EC6SFPGA: Altera社 Cyclone EP1C6Q240C8 (5980ロジックセル)

FPGA1個当たりの価格 1000円から2000円程度

52

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<=0;REGB<=0;count<=0;

add_or_sub<=0;

state<=`DECIMAL;

end

else

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<=0;REGB<=0;count<=0;

add_or_sub<=0;

state<=`DECIMAL;

end

else

HDLソース(一部)回路図