PLD と FPGA 集積回路工学特論 1
内容 1 週目 FPGA の基礎 PLD, FPGA とは PLD, FPGA の構造 FPGA の種類 2 週目 FPGA 応用 PHS 基地局 エミュレーション技術 Reconfigurable 技術 2
PLD FPGA PLD: 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 アレイが固定 SPLD: Simple PLD» 順序回路対応 大規模 PLD FPGA:» LUT ベースのアイランド構造 CPLD: Complex PLD» プロダクトターム /LUT ベースの構造 PLA FPGA SPLD C-PLD PAL GA (MPGA) PLD 4
FPGA,PLD の歴史 参考資料 1( 次ページ ) 特許から見た プログラマブル ロジック デバイス (Programmable Logic Device:PLD) の展望 http://www.jpo.go.jp/shiryou/toushin/chousa/pdf/pld2000_1_12.p df 5
PLD の変遷 ( 参考資料 1) 6
PLD の構造 PLA, PAL Simple PLD プロダクトターム方式 : ANDアレイとORアレイ PLA, PALは組合せ論理回路主体 Simple PLDは順序論理回路 カウンタ 制御回路等 プロダクトタームの代わりに LUTのものも 7
プロダクトターム構造 FPLA: Field Programmable Logic Array バイポーラトランジスタを利用 接続したくないところのヒューズを溶断 ヒューズは抵抗を持つので, 遅い PALは, 高速化のためにOR アレイを固定化 M.J.B.Duff, Review of the CLIP Image Processing System, National Computer Conf., pp.1056-1060 (1978) 8
LUT(Look-up Table) SRAM 型 FPGA の可変論理を実現する A, B, C, D の 4 ビット入力をワード線とした 1 ビットの SRAM 入力数が増えると SRAM が大きくなる 小さいと効率が悪い これまでは 4 入力が主流 SRAMの中身を書き換えることで任意の論理を実現 (A B)&(C D) に対するLUT 真理値表をそのまま表現すればよい 9
LUT の詳細構造 大規模 LUT は RAM/ROM で実現 小規模 LUTは メモリ+マルチプレクサで実現される マルチプレクサ数は2**( 入力数 )-1 左図は 何の論理をあらわしている? 10
Complex PLD 複数の SPLD をプログラマブルスイッチにより接続 スイッチでの遅延は経路によらず一定 SPLDの数が増えるとスイッチが複雑化 11
12 ALTERA FLEX の構造 (CPLD 構造 ) プログラマブルスイッチを 2 次元化
FPGA (Field Programmable Gate Array) フィールドプログラマブルな大規模集積回路 ようは大規模な PLD CPLD とは構造が異なる» アイランド構造 LUT とフリップフロップをアレイ上に敷き詰めて その間の結線を自由に変更 13
FPGA の構造 組み替え可能な論理ブロック 論理ブロック間を接続する組み替え可能な配線 14
15 アイランド型 FPGA 構成部品 CLB (Configurable Logic Block, 論理ブロック )» LUT: 可変論理» FF: 順序回路 SB (Switch Block, 配線接続スイッチ )» 縦横の配線接続を切り替え CB (Connection Block, 入出力スイッチ )» CLB と配線を接続 Wire Track» SB 間の配線 SB CB CLB Wire Track
XILINX XC シリーズの構造 16
CLB (Configurable Logic Block) LUT 可変論理を実現する DFF 順序回路を実現する セレクタ 順序回路動作と組み合わせ回路動作を切り替える 17
可変配線 : スイッチマトリックス SRAM 型 FPGA の可変配線を実現 全結線はコスト高かつ遅延大なので, 斜めだけスイッチを配する 任意の接続が可能 1 交点あたり, スイッチ 6 個 18
スイッチマトリックスの構造 Fs( 配線当たりの接続数 )=3 の各種スイッチ構造 Disjoint: 上下左右斜め同じ番号 ( 前頁の構造 ) Universal: 上下左右は同じで斜めで一部番号を反転 Wilton: 上下左右は同じで斜めで番号を変更 19
スイッチマトリックスの詳細構造 NMOS SW Type 面積が小さいが配線容量の増大とともにスイッチの抵抗による遅延が大きくなる. 信号レベルが Vdd-Vth に Buffer Type 高速だが, 双方向にするために面積が非常に大きくなってしまう さて,NMOS SW Type の何倍くらい? Buffer Type の欠点を解消したスイッチの構造も提案されている [1] [1] G. Lemieux, D. Lewis, `Circuit Design of FPGA Routing Switches'', ACM/SIGDA International Symposium on FPGAs 1 ビット SRAM 20
特許から見た FPGA Carter 特許 2004 年に失効 CLE(Configurable Logic Elements) の接続方法 ( コネクションブロック ) に関する特許 Altera 社の LUT 型 FPGA は,XILI NX 社に特許侵害で訴えられ, 和解 2001 年,Altera は 2000 万 $ を XILINX に支払う 21
特許から見た FPGA Freeman 特許 2006 年に失効 LUT 型 FPGA の基本特許 プログラマブルなロジックセル,IOセル, セル間インタコネクト LUTによって論理を実現 メモリに構成を記憶失効に伴い LUT 型 FP GAを新たに製造 販売するベンチャー現る 22
特許切れに伴う LUT 型 FPGA 2006 年に Freeman 特許が切れたことにより LUT 型 FPGA で市場参入 SiliconBlue 社の FPGA プログラム記憶素子は SRAM, 論理は LUT TSMC 社の 65nm プロセス リーク削減のため SRAMの代わりにFF をブロックメモリとして使用 LUTをNMOSからCMOSに コンフィギュレーション記憶には one-time program 方式のNVM( 不揮発メモリ ) を集積» MOSのゲート酸化膜を絶縁破壊させることで記憶 レイアウト図 : 右端が NVM 同一チップだが IO は別途設けられている http://www.kumikomi.net/article/report/2008/20silico/01.html http://techon.nikkeibp.co.jp/article/news/20080530/152676/ 23
24 FPGA の構成記憶方式 FPGAの現在の構成 ( コンフィグレーション ) を覚えておく方法 SRAM 等の揮発性メモリに書き込む. 何度でも書き変えられる 特別なプロセス ( 製造工程 ) を必要としない コンフィギュレーションを記憶するための不揮発メモリが別途必要 EPROM, EEPROM 等の不揮発性メモリに書き込む. 電源を切っても消えない 書き込み回数は有限 電圧をかけて, アンチヒューズを短絡させる. 書きこみは一度のみ 宇宙でも安定して使える
FPGA の構成記憶方式 : SRAM SRAM ロジックと同じプロセスで製造できる 低コスト, 最新プロセスの利用 冗長度が大きい 1SRAM セル : 6Tr 電源を切ると消える ( 揮発性 ) 便利でもあり, 不便でもある BL WL BL To Switch 25
FPGA の構成記憶方式 (2) 不揮発 不揮発性メモリ : Nonvolatile Memory 一度書き込むと 電源を切っても消えない Floating Gate IN EPROM,EEPROM 特殊なプロセスを要求 冗長度は小さい 1Tr のみ プロダクトターム型 CPLD OUT >100G A B A B open Apply 16V between A and B Antifuse 小さくて高速 書き込みは一度だけ 26
Antifuse 型 FPGA (Actel Act1) プログラム可能なスイッチ : 高電圧をかけて スイッチを溶着する Fuse の反対の動作 動作時には低抵抗で高速 書き込みは一度だけ» 非常に安定 ( 宇宙でも安心 ) プログラム可能な論理 マルチプレクサベース 2 入力のさまざまな組合せ論理が実現可能 >100G A B A B open Apply 16V between A and B 27
28 Act1 の構造 Antifuse スイッチ Logic Module
A マルチプレクサによる組合せ回路 1 B 1 0 C D 1 B 1 0 0 1 OUT C A B E F 0 A 1 G H C 0 2 入力の論理すべてと 3NAND と排他論理を除く 3 入力の論理を実現 8 入力までの論理も実現 ( 一部のみ ) 入力には, 変数の正論理もしくは,0,1 29
30 シャノン展開による論理実現 B についてシャノン展開
シャノン展開による論理実現 (2) C D 0 F1 1 1 0 D 0 F2 1 F 1 1 B A 0 31
EPROM EEPROM 型 FPGA E(E)PROM: Electric(-Erasable) Programmable ROM 電気的に書きこみ ( と消去 ) のできる ROM EPROM(Floating-Gate MOS; FGMOS) の構造 MOSFET Floating-Gate MOSFET ゲート電極を 2 つもつ FET 32
FGMOS のプログラミング Drain, Gate 間に高電圧 (12V) をかけて Drain から Floating Gate に電子をジャンプさせる 電子が Floating ゲートにたまることで 閾値が上昇する 常に OFF もしくは ON になる 33
FGMOS による Programmable Logic Floating Gate Floating Gate MOS の回路図シンボル IN0 OUT IN OUT Floating Gate IN OUT Unprogrammed 1 0 Unprogrammed 0 1 Programmed X 1 IN1 IN2 IN3 Programmable Inverter Programmable NOR 34
EEPROM とフラッシュメモリ フラッシュメモリ (Flash Memory): EEPROM は高電圧をかけて書きこまないといけないが フラッシュメモリは通常の電圧で読み書き可能 書きこみも数万回可能 (EEPROM は数回 ) 書きこみはバイト単位で可能»NAND 型 : 消去はセクタ単位でしかできない 1Mb Flash Memory の場合 1 セクタはアドレス 10 ビット分 (1024 ビット )»NOR 型 : 消去もバイト単位で可能 主な応用先 :» スマートメディア メモリスティック等のメモリカード» 携帯電話のソフトウエア格納用 35
NAND 型と NOR 型フラッシュメモリ NOR 型 : 小容量, 高速, ランダムアクセス可能 NAND 型 : 大容量, 低速, 消去はブロック単位 プログラムしないと常時 ON に NOR 型 FLASH NAND 型 FLASH 36
多値記憶フラッシュメモリ 0, 1 ではなく 0, 0.33, 0.66, 1 の 4 種類の電圧レベルを記憶 Tr の閾値を 4 レベルに変化 多値の判断のため 読み出しは遅い 型番の MLC (Multi Level Cell), SLC で区別可能 ISSCC2008 で発表された 4Gb 多値フラッシュメモリ 37
FPGA の特性分類 プログラム方式 再書込 不揮発性 動作速度 冗長度 SRAM 遅い 速い 大 EPROM 中 中 EEPROM 中 中 アンチヒューズ 速い 小 SRAM 型の FPGA は最新のプロセス技術により スピード面での欠点は解消されている 最新のものは 45nm 銅配線プロセス http://www.altera.co.jp/corporate/news_room/releases/pro ducts/nr-stratix-iv-hardcopy-iv.html テクノロジーノード : メタルのハーフピッチ ( メタル配線の中心間距離の半分 ) 45nm はハーフピッチ 40nm はトランジスタのゲート長 38
39 銅配線プロセス 銅配線の威力 銅配線の断面写真 アルミニウムの抵抗率は銅の 1.6 倍
微細化の効果 (Xillinx 資料より ) 90nm プロセスと,300mm ウェハで,130nm, 200mm と比べて,5 倍の生産性 価格を 1/5 に 110nm は飛ばす ITRS のロードマップの 1.5 年先を行く 微細化による効果 大口径化の効果 集積度の向上率 2.50 2.00 1.50 1.00 0.50 0.00 2.09 1.60 1.29 1.34 1.33 220 190 150 130 90 プロセステクノロジ (nm) 集積度の向上率 4.50 4.00 3.50 3.00 2.50 2.00 1.50 1.00 0.50 0.00 4.00 2.25 2.25 1.78 100 150 200 300 ウェハーの直径 40
微細化による効果 34W 8.5W 41
42 微細化により筺体を小型化 SCE 久多良木社長
43 FPGA ベンダ 各社とも,1980 年代半ば以降に創業されたベンチャー企業 ( 参考資料 2 参照 ) FPGA の 2 大ベンダは Xilinx と Altera 2 社で世界の 5 割から 6 割 日本では Altera, 米国では Xilinx が強い その他のベンダ Actel: antifuse 型, Mars Path-Finder に搭載 Lucent: PCI や ATM コントローラを内蔵した FPGA Philips, Lattice: CPLD (Complex PLD) 現在のベンダリスト» http://www.fpgacentral.com/vendor/directory?filter0=3
FPGA ベンダの売り上げ高 Texus Instruments IBM ST Microelectronics NEC Electronics Xilinx Fujitsu Toshiba Altera Agere System 2004 2003 Xilinx, Altera は, 東芝, 富士通, NEC 等の日本の大手とほぼ同じ規模 LSI Logic 0 0.5 1 1.5 2 2.5 3 3.5 FPGA/ASIC 売り上げ高 (10 億ドル ) (Gartner 調査データより ) 44
FPGA の製品展開 SRAM 型 FPGA は LUT で実現する組合せ論理回路だけでなく メモリ,PLL, 高速シリアル伝送回路, DSP, Ethernet コントローラまで内蔵する Virtex-5 では 最大 18Mbit メモリは RAM, ROM, CAM(Content Addressable Memory), FIFO, 乗算器等に使用できる さらに CPU コアを内蔵 LSI の製造プロセス微細化のおかげで チップ全体の 1/10 程度で ARM, PowerPC 等の 32bit プロセッサが集積可能 45
FPGA 内のメモリ FLEX 10K の内蔵メモリ (Embedded Array Block) 大規模 SRAM に付加回路 通常のLUTでは実現不可能な論理を実現 同期 SRAM, 非同期 SRAM, FIFO, デュアルポートRAM, CAM 大規模なLUTとしても利用可 乗算器 : 9ビット入力 (5bit 4bit), 9ビット出力 46
CAM RAM: Random Access Memory アドレスを入力すると 内容が出てくる CAM: Content Addressable Memory 内容を入力すると アドレスが出てくる CAM の主な用途 ネットワーク系 :»ARP テーブル» ルーティング, スイッチング情報 MAC アドレスと IP アドレスの変換 47
48 CAM の構造 W b0 B 0 A=1 A=0 A A 1 b1 B searching word Match CAM Priority Encoder Match Match Match C Match CAM memory cell C=0 SRAMセルに入力データとの比較用トランジスタを付加 一致したMatchの最上位アドレスを出力 Address
CAM の用途 MAC アドレス 00:50:56:01:00:00 から IP アドレス (130.54.X.X) へ MAC アドレスからスイッチングハブのポート番号へ CAM RAM Address Data Address Data 00:80:45:10:C6:9C 00000000 00000001 00:50:56:01:00:00 00:80:45:10:C6:9C 00000000 00000001 1 4 1 4 Log W オーダー MAC Address Port Number 49
50 FPGA のメリット デメリット メリット 設計の TAT(Turn-Around Time) が短い 論理設計とタイミングの検証のみで動作する. ( 物理設計がいらない ) 少数の製品に使用できる IP(Intellectual Property) が豊富 デメリット スピードが遅い チップ面積が大きい 量産時のコストが高い» 同じ設計データを用いて安く量産できるサービスもある (Hardcopy by ALTERA)
ストラクチャード ASIC FPGA は, 短納期だが, 単価が高い, 速度も遅い 専用の ASIC は, 開発費が高く, 納期も遅い ストラクチャード ASIC( マスタスライス LSI) あらかじめ, チップ上に IP( 部品 ) を組み込んでおき, 配線層のみでカスタム化する» 構成部品が論理ゲートとメモリだけのものは, 単なるゲートアレイ 短納期, かつ単価が安い (FPGA より面積小 ), 速度も速い (FPGA のスイッチを単なる配線に ) マスクなしで,EB による直猫も 儲からないのか, 各社撤退へ FPGA には勝てない 51
HardcopyII by Altera FPGA LUT LUT HardcopyII SWM SWM Memory Memory PLL PLL LUT LUT SWM SWM FPGA の構造をそのままで, ストラクチャード ASIC 化 10% のコストと, 半分の消費電力で FPGA を ASIC に FPGA とピン互換 52
アナログ回路搭載 FPGA (Actel 社 ) Fusion が備える主な回路は, 論理回路やソフト タイプ CPU コアなどを実装するための FPGA ブロックのほか,A-D 変換器や入出力回路といったアナログ回路, データ格納用のフラッシュ メモリ, クロック信号を生成するための発振器である http://techon.nikkeibp.co.jp/article/news/20051212/111532/ 53
FPGA の設計法 A B nand2 C HDL module nand_g(c,a,b); input A,B; output C; assign C=~(A&B); endmodule 通常の LSI と同じ設計手法を取る LUT を直接設計するわけで はない FPGA の配置配線は各 FPGA ベンダ配布のツールにより行う HDL が書ければ, 後はほぼボタンを押すだけ!! module nand_g(c,a,b); input A,B;output C; nand2 I0(C,A,B); endmodule LE FPGA LSI CAD FPGA 54
55 CAD FPGA ベンダのツール CAD ベンダ Mentor Graphics FPGA Advantage 統合ツール Synplicity SynplifyPro 論理合成ツール FPGA Compiler II Synopsys WorkView Office 回路図エントリ FPGA ベンダ ALTERA Quartus II 回路図エントリ, 論理合成 XILINX ISE 回路図エントリ, 論理合成 Actel Libero IDE 回路図エントリ, 論理合成 Synplicity 社は先日 Synopsys 社に買収された 各社 FPGA の無償ツールあり 大学向けのプログラムもあり See http://www. ベンダ名.com/
FPGA 設計 HDL から FPGA まで Quartus II 出力ファイル RTL 記述から回路への論理合成 RTL 記述 Quartus II 出力ファイル circuit.sof,pof FPGA 上の配置配線をおこなう SRAM オブジェクトファイル のデ書バ込イスへ FPGA 搭載ボード Power Medusa MU200-APを使ったデモビデオ 56
HDL から回路図へ ( 論理合成 ) module calc(decimal,plus,minus,equal,clk,rst,ce,sign,overflow,out); module calc(decimal,plus,minus,equal,clk,rst,ce,sign,overflow,out); input [9:0] decimal; input [9:0] decimal; input CLK,CE,RST,plus,minus,equal; input CLK,CE,RST,plus,minus,equal; output sign,overflow; output sign,overflow; output [6:0] out; output [6:0] out; wire [3:0] d; wire [3:0] d; wire [8:0] alu_out; wire [8:0] alu_out; reg [1:0] state; reg [1:0] state; reg [8:0] REGA, REGB; reg [8:0] REGA, REGB; reg [1:0] count; reg [1:0] count; reg add_or_sub; reg add_or_sub; assign d=dectobin(decimal); assign d=dectobin(decimal); always @(posedge CLK or negedge RST) always @(posedge CLK or negedge RST) begin begin if(!rst) if(!rst) begin begin REGA<=0;REGB<=0;count<=0; REGA<=0;REGB<=0;count<=0; add_or_sub<=0; add_or_sub<=0; state<=`decimal; state<=`decimal; end end else else HDL ソース ( 一部 ) 回路図 57
FPGA 搭載ボード FPGA 単体を買ってきても何もできないので FPGA を搭載したボードが多数販売されている 三菱電機マイコン機器ソフトウエア Power Medusa FPGA つきの本 (1 万円 ) 58
FPGA 応用 集積回路工学特論 59
60 内容 FPGA の用途 少量多品種 PHS の基地局 エミュレーション リコンフィギャラブルコンピュータ» 並列化の効果 Amdahl の法則 CPU コア内蔵 FPGA 真のリコンフィギャラブルコンピュータ» DRAM 内蔵 自律的再構成 Memristor を使った新構造 FPGA レポート課題
FPGA の用途 少量多品種分野 ASIC の置き換え PC の拡張カード 短期間での開発 いち早く市場に投入 ネットワーク分野 携帯電話» ソフトウエアだけでなく ハードウエアも変更できる プロトタイプ分野 ( エミュレーション ) LSI の機能検証» ソフトウエアによるシミュレーションでは速度が追いつかない リコンフィギャラブルハードウエア ハードウエアを用途に応じてその都度自由に変更 61
Makimoto s Wave 10 年ごとに, 標準化, カスタム化の波が交互に繰り返す 現在は,Field Programmability による標準化の波の途中 ( もう終わりかけか ) From Electronics Weekly (U.K.) in 1991 62
Why Programmability Non Recurrent Engineering プロセスの微細化による, マスクコスト (NRE) の上昇 数が出ないと, 初期コストが回収できない 1995 2000 2005 数 (k) 50 100 300 ゲート数 (k) 50 100 300 MHz 50 100 300 FPGA と ASIC の分岐点となるパラメータ 設計生産性の低下 テスト ( 検証 ) が大変 微細プロセスでは, 規則的な構造が先行して製造しやすい SRAM 型 FPGA に有利!! 63
レイアウトと現実のチップ (1.2um プロセス ) 京都大学越智先生より提供 64
Why Programmability(2) 製品のライフサイクルが短い 何らかのプログラム性がないとだめ 発売してから機能追加 修正» ダビング 10 への対応 例 : 発売時からの価格 ビデオデッキ : ( レンタルビデオ : 80 年 )» 75 年発売 : 22.9 万, 85: 10 万円,03: 1.5 万 (10 年で半分 ) CD プレイヤ : ( レンタル CD: 85 年 )» 82 発売 : 16.8 万,85: 7 万円,03: 5 千円 (3 年で半分 ) DVD プレイヤ : ( レンタル DVD: 00 年 )» 96 発売 : 8 万円,03: 1 万円, 07 年 3 千円 プラズマテレビ» 04 年 1 万円 / インチ» 07 年 5 千円 / インチ 従来の製品の売れ方 : 3-5 年スパン デジタル化により 価格下落のペースが速くなった! 最近の売れ方 : 1 年程度で急激に立ち上がり, たち下がる 65
FPGA の応用先 http://www.fpga.co.jp/nyumon2.html プレステ用 エモーション エンジン Canopus 社ビデオ出力ボード Altera 社 Cyclone 新幹線電光掲示板 SONY の薄型テレビ用基板 66
ポータブル機器への応用 ザイリンクスは, シャープがウィルコム向けに開発 製造している携帯情報端末 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/ 67
携帯電話 (PHS) の基地局への応用 DDI ポケットの PHS 基地局 1995 年のサービス開始から,2003 の Air- H(128kbps 定額サービス ) まで, 基地局のハードを物理的に交換せずに, 更新 97/4 32k, 99/7 64k, 01/6 パケット, 01/8 つなぎ放題 基地局 16 万, 人口カバー率 93% FPGA をまさに Field( 設置場所 ) においたままコンフィグレーションを変更する リモートで ハードウエアの変更可能 68
サービス変更例 32kbps 音声 : レート変換により 64kbps の ISDN に変換 32kbps データ : 64k の ISDN 信号の 8bit データのうち,4 ビットだけを使って伝送 64kbps データ : 無線部は,32k を 2 本束ねる 有線部は, 32kbps で空いていた 4bit にデータを入れる パケット通信 : 下位レイヤだけでなく, 上位レイヤも基地局で処理 アダプティブアレイアンテナ : 電波の指向性を高める すべて, 基地局内の FPGA のコンフィグレーションの変更で対応他社は対応できず 回線交換方式のつなぎ放題 (@FreeD) ウィルコム以外は撤退! 69
70 F1 マシンにも利用されている ザイリンクス Virtex FPGA が F1 マシンの性能アップに貢献 BMW ウィリアムズ F1 チームの躍進を FPGA テクノロジがサポートプログラマブルロジックソリューションの世界的リーダであるザイリンクス社は BMW Williams ( ウィリアムズ ) F1 マシンの性能アップに貢献している ザイリンクスは BMW ウィリアムズとの技術提携で FPGA テクノロジとヴィークルコントロールモジュール (VCM) に対するサポートサービスを提供している VCM は ギアボックス ディファレンシャル トラクションコントロール 加速器およびテレメトリなどで構成 ザイリンクスの最先端テクノロジをフルに活用しながら BMW ウィリアムズの次世代 VCM 設計グループが設計したもので 2003 年のマシン FW25 の重要な要素部分を制御するために使用されている BMW ウィリアムズが参加する F1 グランプリの最終戦は 10 月 12 日 ( 日 ) に三重県の鈴鹿サーキットで決勝が行われる ザイリンクスの Virtex-E XCV600E FPGA が F1 マシンの各部に取り付けられた多数のセンサからのデータを収集して空気力学 エンジン ギアボックス タイヤ ホイールなどの性能を監視するために使用されている VCM はテレメトリリンクを通じてこのセンサデータをピットレーンに送信する チップ搭載機能の拡充と低消費電力化を達成したザイリンクスの最先端テクノロジによる VCM ユニットが VCM のサイズと重量を大幅に削減し F1 マシンの飛躍的な性能アップを実現した http://japan.xilinx.com/japan/j_prs_rls/ design_win/03137formulaone_grandp rix_j.htm より
エミュレーション シミュレーション : ソフトウエアによる検証 エミュレーション : ハードウエアによる検証 エミュレータ 携帯電話等のシステム全体を検証する場合 シミュレーションでは遅すぎて使い物にならない シミュレーション : 数 Hz から数 khz でしか動作しない エミュレーション : 数 MHzから数 10MHzで動作 20MHzで動作する携帯電話の動画 1 秒分にかかる時間» 2kHz: 10000 秒 (3 時間弱 )»2MHz: 10 秒 71
商用エミュレータ Quickturn がもっとも有名 We found a Silicon killer bug the first day using Mercury. Ten seconds with Mercury is equivalent to 4 days of simulation. ( 同社ホームページより ) 4 日 (345000 秒 ) が 10 秒 エミュレータ専用 FPGA を開発 値段は数億円 某社 FOMA 端末用 MPEG4 LSI でも使用 エミュレータ筐体 72
Quickturn Emulation System エミュレータの構成 Control Processor SCSI Bus Logic analyzer stimulus generator In-circuit interface SUN WS Custom LSI Custom LSI(ASIC, Application Specific IC) と FPGA アレイを用いて動作する 73
ハイパーキューブネットワーク 初期の製品 (RPM) は Xilinx XC シリーズ FPGA をハイパーキューブ接続 ハイパーキューブ (2 進 n キューブ ) ネットワーク 2 n 個のターミナルを持つ ネットワーク数は? 各ターミナルは ハミング距離 1 のターミナルと接続されている 0110 0111 1110 1111 PC ボードのコストが非常に高い 0100 0000 0010 0001 0101 0011 1000 1100 1010 1001 1101 1011 74
Quickturn Emulation System(2) エミュレータ専用 FPGA 市販の FPGA がエミュレーション向きではないので専用に開発 New Custom FPGA Technology The centerpiece of the new Mercury Plus emulation system is a new technology based on custom FPGAs optimized for emulation. Higher performance and capacity has resulted from a shift from standard FPGAs to a silicon architecture optimized for emulation. The new architecture was designed to be highly scalable for increased capacity, to incorporate special on-board debugging logic, and to provide for much higher speed and predictable interconnection routing as compared to commercial FPGAs. These advantages combine to create a system that delivers significantly faster turn-around time and overall designer productivity. 75
エミュレータの問題点 複数の FPGA にまたがって回路が構成される 切り分けが難しい 動作速度が落ちる 配置配線に時間がかかる» 平日に開発した HDL を週末をかけて検証する すぐに陳腐化する 回路技術の進歩により FPGA LSI ともに大規模化 それほど大きくない回路なら ひとつの FPGA にシステムのほぼすべてが載る SoC の検証には, システムレベル検証を使うことも» チップができる前に, どうやってソフトウエアまで含めたシステム全体をデバッグするか 76
最新のエミュレータ EDA 大手の Cadence 社が Quickturn を買収し 論理シミュレータと論理エミュレータを統合 FPGA ベースではなく 新規に専用 SoC を開発 論理エミュレータを使って論理シミュレーションを高速化する 77
Palladium 専用 LSI 90nm プロセスにて 768 個のプロセッサを集積した専用 LSI を新規に開発 LSI2 個と 16MB DRAM を 8 個集積した MCM( マルチチップモジュール ) を多数搭載 FPGA ではない 1600 万ゲート対応の Palladium は MCM を 36 個搭載 36*768=27648 プロセッサ 価格は 1 億 6 千万 (530 万ゲート ) 1 チップあたり 1000 万? URL http://techon.nikkeibp.co.jp/members/news/20041029/106229/ 78
リコンフィギャラブルハードウエア Reconfigurable Hardware Configurable: 構成可能, Reconfigurable: 再構成可能 短い時間でその構成を自律的 他律的に目的に応じて変化させるハードウエア FPGA の応用範囲としての主な研究分野 用途に応じて 最適なハードウエアを考察する プロセッサとの通信路の速度がボトルネックになり思った通りの性能が出ない Configuration を変更するための時間も馬鹿にならない 79
80 Reconfigurable Systems 3 つの使用形態
81 Coprocessor Type CPU のシステムバスに直結 i386 時代の FPU のようなもの パフォーマンスは最高 ただし それでも通信遅延は無視できない CPU 側に Coprocessor を制御する特別の回路が必要 汎用プロセッサそのままでは利用できない 専用の命令コードが必要 IP Flex 社の DAP/DNA が有名 ( 別添 STARC 教材 )
82 Attached Processing Unit Type Standalone Processing Unit Type もっともポピュラーなタイプ メモリ空間の一部にマッピング 専用の命令は不要 Attached Proc. Unit: キャッシュメモリのすぐ外側 Standalone Proc. Unit: PCI バスに刺す拡張カード CPU から遠いので通信遅延が非常に大きい CPU より 40 倍速くても 通信が 40 倍遅ければ意味がない CPU との通信量が少なく 計算量が大きいアプリケーション向き MPEG の動き補償等
並列化の効果 リコンフィギャブルハードウエアのアプリケーションのほとんどは並列処理 直列 (Sequential) 処理では 汎用 CPUには勝てない 並列システムを開発している間に汎用 CPUがどんどん性能向上する Amdahlの法則により律速される 83
Amdahl の法則 n% を m 倍高速化すると全体の処理速度は? 100-n% 以下には絶対ならない 全体の 20% を並列化しても 処理速度は 4/5 以下にはならない 84
並列化の効果 (2) 下記のような構成の計算機を考える Pentium III 1GHz cache 256k SDRAM 100MHz SDRAM 100MHz PCI 33MHz Standalone Processing Unit 100MHz Attached Processing Unit FPGA 100MHz FPGA 100MHz 85
a 00 a 01 a 02 a 03 a 04 a 05 a 06 a 07 a 10 a 11 a 12 a 13 a 14 a 15 a 16 a 17 a 20 a 21 a 22 a 23 a 24 a 25 a 26 a 27 a 30 a 31 a 32 a 33 a 34 a 35 a 36 a 37 a 40 a 41 a 42 a 43 a 44 a 45 a 46 a 47 a 50 a 51 a 52 a 53 a 54 a 55 a 56 a 57 a 60 a 61 a 62 a 63 a 64 a 65 a 66 a 67 a 70 a 71 a 72 a 73 a 74 a 75 a 76 a 77 x 00 x 01 x 02 x 03 x 04 x 05 x 06 x 07 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x 17 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 30 x 31 x 32 x 33 x 34 x 35 x 36 x 37 x 40 x 41 x 42 x 43 x 44 x 45 x 46 x 47 x 50 x 51 x 52 x 53 x 54 x 55 x 56 x 57 x 60 x 61 x 62 x 63 x 64 x 65 x 66 x 67 x 70 x 71 x 72 x 73 x 74 x 75 x 76 x 77 ± 00 ± 01 ± 02 ± 03 ± 04 ± 05 ± 06 ± 07 ± 10 ± 11 ± 12 ± 13 ± 14 ± 15 ± 16 ± 17 ± 20 ± 21 ± 22 ± 23 ± 24 ± 25 ± 26 ± 27 ± 30 ± 31 ± 32 ± 33 ± 34 ± 35 ± 36 ± 37 ± 40 ± 41 ± 42 ± 43 ± 44 ± 45 ± 46 ± 47 並列化の効果 (3) DCT 離散コサイン変換 (DCT) を対象として CPU, FPGA での処理時間を考察 各要素は 1 バイト 1 要素毎に 8 回の乗算と 7 回の加算 1 0 B 1 C 0 B C C B B B B C C B C B C C B C B B B C C B C B C B B B C C B C C B B C C B B C C B C C B C C B @ A B A C @ 0 B 1 C B B C C B B C B C B = C B C B C B C B @ 50 ± 51 ± 52 ± 53 ± 54 ± 55 ± 56 ± 57 ± 60 ± 61 ± 62 ± 63 ± 64 ± 65 ± 66 ± 67 ± 70 ± 71 ± 72 ± 73 ± 74 ± 75 ± 76 ± 77 ± A C 86
1 100MHz =480ns 32bit=8bit 1 = 1920ns 1GHz 1 1GHz 1 = 480ns 4 87 並列化の効果 (4) Pentium 上で の演算時間 Pentium III w/o MMX Memory R/W 64element 3arrays 2400ns (8 + 7) 64elem: 2clock=instruction Pentium III MMX Memory R/W 480ns 960ns (8 + 7) 64elem: 2clock=instruction MMX (MultiMedia extention): 64bit のレジスタを 8bit 8, 16bit 4, 32bit 2 の並列 (SIMD) 演算に利用する
1 =1200ns 8 1 33MHz =1440ns 32bit=8bit 1 =150ns 64 並列化の効果 (5) FPGA 上での 演算時間 Attached Proc. Memory R/W 480ns 8 : 1680ns (8 + 7) 64elem: 1clk:=inst: 1 100MHz Standalone Proc. Memory R/W 64element 3arrays 64 : 1590ns (8 + 7) 64elem: 1clk:=inst: 1 100MHz 4 並列の MMX Pentium には勝てない!! メモリ転送量の少ないアプリケーションを探さないと駄目 消費電力で勝負? 並列化で電圧を下げる 88
GPU を使った並列計算 画面描画に使う GPU (Graphic Processing Unit) を使った並列計算 手軽な並列計算手法として 着目を浴びる GPU は画面描画の処理を並列に行い 高速に 3D グラフィックスを処理 Nvidia 社 CUDA C++ を拡張したアプリケーション開発環境 Windows, Linux, Mac OS X で利用可能 89
System On Programmable Chip (Device) FPGA の大規模化により FPGA の上にシステム全体が載せられる 150 万ゲート相当の FPGA XILINX 社 FPGA は最大 33 万ロジックセル (6 入力 LUT+FF) FPGA の上に CPU(RISC コア ) そのものが搭載される ARM, Power-PC 等 RISCコアは チップ全体の数 % 程度 CPU と外部ハードウエア (on FPGA) を用いたシステムを FPGA 上に実現 90
XILINX Web セミナー資料より抜粋 91
CPU と FPGA の融合 CPU と FPGA の間のチップ間通信が Reconfigurable Hardware( 並列計算 ) のボトルネック CPU と FPGA を同じチップ上に集積すれば すべてが解決する バス幅を大きく取れる Altera, Xilinx ともに RISC プロセッサを集積した FPGA を開発 Xilinx VirtexI4, 5: PowerPC Altera Excalibur: ARM ( すでに製造中止 ) 92
CPU 内蔵 FPGA 32 ビットの組み込みプロセッサ (ARM) のハード IP を内蔵 CPU の面積はチップのごく一部 ハードソフトを含んだシステムを実装可能 Altera 社の Excaliber のチップ写真 93
94 汎用 RISC CPU 集積化の効果 CPU と FPGA の間の配線リソースが豊富 バスの幅が太くできる LSI 内部で接続されているので高速 汎用プロセッサなので ツールやソフトウエア資産が豊富 プロセッサ自体は動作する ソフト IP だと, 所望の周波数で動作しない可能性もある
ハードマクロ (IP) とソフトマクロ (IP) PowerPC, ARM の CPU コアは あらかじめ作りこんだハードマクロ (Hard IP(Intellectual Property)) FPGA の LUT で実現する CPU コアも提供 ソフトマクロ 機能をある程度カスタマイズできる Nios Altera の提供するソフトコア CPU uclinux ( 組み込み用 ) も動作する Tensilica の Xtensa 命令拡張可能な組み込みプロセッサ PicoBlaze Xilinx 社の 8 ビットマイクロコントローラ LCD の制御等のハードウエアでは書きにくい処理を実行するために使用される 95
真の Reconfigurable Computing の ためには Configuration の早期入れ替えが必要 現状は シリアルに外部から Configuration を入れている Altera Flex10k30( 30,000 ゲート相当 ) のコンフィグレーション RAM 容量は 14432byte 14432*8bit/115,200kbps= 約 1 秒 複数のコンフィグレーションを内部に格納 Dynamic Reconfigurable Processor 外部からではなく 内部のみで自律的に変更 96
Dynamically Reconfigurable Processor(DRP) DRP Core (variable array size) 動的構成プロセッサ (Dynamically Reconfigurable Processor) => DRP Mem Mem Mem Mem Mem Mem Mem PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE Mem PE PE PE PE PE PE PE PE State Transition Controller Mem Mem Mem Mem 2 次元 PE アレイ用いて専用データパスを構成し H/W 並の処理速度 複数の専用データパス構成情報を動的に切り替えることによりS/W 並みの柔軟性 C によるプログラミング NEC の Cyber を応用 Mem Mem Mem Mem Dynamic Reconfiguration PE PE PE PE PE PE PE PE Array of processing elements (PEs) and memories (Mems) PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE Mem Mem Mem Memory Bus Mem Logic Datapath Plane 1 Datapath Plane 2 Datapath Plane 3 Function Unit Mem Mem Mem Mem 97
動的再構成98 DRP Mem Mem Mem Mem Mem Mem Datapath Plane for State C0 PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE Mem Mem データパスの動的再構成を制御する有限状態マシン Mem Mem for C1 for C2 for C3 PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE Mem Mem Mem Mem Mem Mem PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE Mem C0 C1 C2 C3 Datapath Plane for State C0 Mem for C1 for C2 for C3 Mem Mem Mem Mem Mem Mem 各状態に応じたデータパス 各データパスに応じたメモリ構成 (FIFO/table/ scratch-pad 等 ) 構成面を複数もち,1 クロックで切り替え可
DRP の応用 ハードウエアはすべて同じ時間軸で切り替える 入力データ AES 3DES MD5 SHA-1 動的再構成 出力データ ( タスクの選択 ) 制御 Compress 多面のデータパス 異なるアルゴリズムに応じてデータパスを切り替えて処理 99
VME(Virtual Mobile Engine) SONY が世界ではじめて民生品に, 応用した動的再構成技術 動的再構成により, 消費電力を大幅に削減 CDプレイヤで連続 150 時間再生可能 SO905i, 906iにも採用»90Xi で唯一 MP3 が聞ける! 100
101 PSP 自社開発専用 LSI
PSP のメイン LSI(VME を内蔵 ) 102
Memristor を用いた新しい FPGA Memristor 抵抗 容量 インダクタに次ぐデバイス 1971 年に理論的予言 2004 年 NEC, 2008 年 HPにより Memristorとなるデバイス 抵抗 : 電流を電圧に変換 容量 : 電荷量を電圧に インダクタ : 電流を磁束に Memristor: 電荷量を磁束に» 総電荷量に比例して抵抗が変化する http://www.spectrum.ieee.org/may08/6207 103
Nanoswitch by NEC 配線だけでプログラム可能な技術 Memristor の一種 物質材料研究機構の研究成果を NEC が製品化を目指して開発中 科学的な反応を利用 T. Sakamoto, S. Kaeriyama, H. Sunamura, M. Mizuno, H. Kawaura, T. Hasegawa, K. Terabe, T. Nakayama, and M. Aono, "A nonvolatile programmable solid electrolyte nanometer switch," IEEE International Solid- State Circuits Conference, vol. XVII, pp. 290-291, February 2004. 数年後には, 実用化? 信頼性の問題などで難しい 104
原子スイッチ 原子を真空ギャップに析出させる LSI の応用では, 接合型 ( ギャップ無し ). Cu2S Ag Ag2S nm Pt Ag Ag + Ag + e - e - Ag Ag + + e - Ag + + e - Ag 105
106
2F F= メタルのハーフピッチ ( メタル配線 + 配線間隔 )/2 107
LSI の最上部に作りこんでいる 108
FPGA はほとんどスイッチの固まり! 109
110 まとめ FPGA は LSI の大規模化とともに その用途を広げてきた FPGA の主な種類 by Configuration の格納法 SRAM EEPROM, EPROM Antifuse SRAM 型 FPGA の構成要素 プログラム可能な配線 プログラム可能な論理 LUT EEPROM 型 FPGA フローティングゲート MOS を用いて論理を実現 Antifuse 型 FPGA マルチプレクサで論理を実現
111 まとめ 論理だけでなく メモリまで FPGA 内に搭載 RAM, CAM, 乗算器 FPGA のメリット デメリット TAT が短い 物理設計が不要 量産時のコストが高い ストラクチャード ASIC FPGA の設計手法 LUT を直接設計するわけではない LSI と同じ手法を取る 開発ツールはほとんどただで手に入る
まとめ FPGA の応用先 少量多品種 携帯電話の基地局 エミュレーション リコンフィギャラブルハードウエア FPGA を用いれば ソフトウエア ファームウエアだけでなくハードウエアも製品出荷後に Online で変更可能 エミュレーション :100 万ゲートを超える FPGA を用いると 複数の FPGA でシステム全体を模擬できる シミュレーションに比べて高速 (100 倍から 1000 倍 ) 112
まとめ リコンフィギャラブルハードウエア CPU からの距離 データ転送レートにより パフォーマンスが制約 並列化を行っても 限界がある Amdahl の法則 CPU 混載 FPGA LSI の大規模化により CPU はほんの数 % で実現 LSI と FPGA の距離が近い ハードコアだけでなく ソフトコアも 真のリコンフィギャラブルハードウエア コンフィギュレーション時間の短縮 複数コンフィギュレーションの格納 自律的な再構成, 動的な再構成 (Dynamic Reconfiguration) 113
レポート課題 :: 期限 7/23( 水 ) SRAM 型 FPGA による順序回路設計 Modulo n アップカウンタ 0 から n-1 までカウントアップして また 0 まで戻るカウンタ n=7 の場合を設計する XILINX FPGA を簡単化した構造を用いる マルチプレクサによる論理式の実現 ACT1 のマルチプレクサを用いて 任意の論理式を実現してみる STARC 教材 86 ページ演習問題 (1) Memristor に関して調査し その応用先を考えよ 授業の感想 ( 必須 ) 114
SRAM 型 FPGA による回路設計 下記の構造で modulo7 アップカウンタを設計 NAND, NOT ゲート, DFF を用いた通常の設計と比較する 115
トランジスタ数の比較 下記の表を参考に求める 1: FPGA LUT DFF (1 ) 100 24 8 400 DFF NAND NOT 24 2 2 116
117 マルチプレクサによる論理式の 実現 ( 単純な論理 ) 学生番号の下 1 桁により課題を変える SA 2: A0 A1 0 1 0 1 A B B0 B1 0 1 S0 1 0,5 A B 1,6 A + B 2,7 A + B 3,8 A Φ B 4,9 A Φ B OUT SB S1
マルチプレクサによる論理式の実 現 ( 複雑な論理 ) SA A0 0 A1 1 0 OUT B0 0 1 B1 SB 1 S0 S1 118
商用エミュレータ (2) Aptix 汎用 FPGA とスイッチ専用 FPGA(FPIC) を組み合わせたエミュレータ 論理は汎用の FPGA が使えるので比較的安価 (1 千万円代 ) ボード上に FPGA モジュールを挿す 119
Field Programmable Interconnect Chip 多点間の任意の配線を実現するための専用 FPGA 論理は全く含んでいない 通常のFPGAでもほぼ同じことができるが FPICはI/Oピンの数が多く IOピン間の遅延が小さい 専用品なのでコスト高 IO Pin Programmable Interconnection 120
121 エミュレーションの流れ エミュレーション用のプロトタイプを作る Original Design Design translation Prototype Synthesis Prototype build/debug Prototype Prototype design Prototype implementation Real gates and wires