#author("2018-02-15T23:39:48+09:00","","") #author("2018-02-15T23:56:02+09:00","","") [[自分用のpukiwiki]] #contents * P1 [#lf06b971] FPGAのアーキテクチャとソフトエラー起因の可用性低下 ** 日付 [#zf67e761] 2/15 ** 主催者 [#v30578cb] たつやさん (@zerokfy) * P2 [#x9193804] ** 自己紹介 [#wf60da7f] - 名前: たつやさん (@zerokfy) - お仕事: FPGA向け論理設計・組み込みソフト設計 - 活動: インフラ勉強会で発表(2回目) FPGA向けCPU(RISCーV)開発 (進捗、ナイデス) - 興味: 最近sphinxを覚えたいなと思っている * P3 [#e76b3b73] ** 今日の目的 [#v038eef2] - FPGAのアーキテクチャ(構成)がわかる - ソフトエラーの発生メカニズムがわかる - ソフトエラー発生時の現象と対策がわかる * P4 [#h6e1c0ff] ** FPGAは無数のスイッチと素子からなる [#p0fc6ee7] FPGA:Field Programmable Gate Array - FPGA -> FPGA(内部) -> 配線接続部 -> スイッチ素子 -> SLICE or LogicElement -> LUT (本日の主役) -> FF (記憶素子) * P5 [#c7134559] ** PLUT・スイッチの使用例 [#rcc87e1a] - 論理回路 in_A -------) -------| ) out_X in_B | )---------- -------| ) -------) - FPGAでの実装 ※論理回路とFPGAでの実装回路は等価に使用できる。 * P6 [#wf81039b] ** 論理回路をまとめてLUT実装にする [#hbe5a1f9] * P7 [#rcfc1c1f] ** FPGAに回路を実装する場合 [#v9b6a8ca] * P8 [#g8d9c6ec] ** FPGAに中性子(宇宙線)が当たる →ソフトエラー [#s94a672f] * P9 [#ld0e0f6c] ** ソフトエラーからの復帰 [#s5197cf0] + 1.Partial Reconfiguration 回路の動作を止めることなく、FPGAの一部を書き直す (For玄人・・・欠点:領域境界のFF値が不定になる) * P10 [#tf375260] ** ソフトエラーからの復帰 [#sd91b275] + 2.巡回修理 動作中ずっとFLASHから書き直す 欠点:書き直し論理に命中したら救えない * P11 [#o96fbf95] ** ソフトエラーの予防 [#v96f2476] + 1.三重化論理+多数決回路 論理を三重化して多数決回路を挿入する 多数決が全員一致でなくなったら書き直し要求するなど 欠点:回路規模が3倍+α * P12 [#ab4018d0] ** ソフトエラーに強いCPLD [#y7151482] - FPGA(Field Programmable Gate Array) →揮発性メモリ(SRAM)内蔵 ソフトエラーが発生しやすい - CPLD(Complex Programmable Logic Device) →不揮発性メモリ(FLASH)内蔵 ソフトエラーが起こりにくい(SLC品) どちらも Programmable * P13 [#nb9b8dcf] ** ソフトエラーはまず起こらない [#n42514ed] - 海面高度(地表)なら意識しなくてもOK - 宇宙ステーションに納めるサーバを作るなら絶対必須 - 高可用性を求める機器(サーバ、車載ECUなど)はCPLDで - 例:Virtex7 UltraScaleシリーズでは30FIT(UG116, P30) * P14 [#t0228973] ** まとめ [#zaf58e42] - FPGAはLUTで論理回路を構成するprogrammableな素子 - ソフトエラーは宇宙線が素子に命中すると起こる問題 - FPGAは揮発性メモリ内蔵で、ソフトエラーに弱い - CPLDは不揮発性メモリ内蔵で、ソフトエラーに強い - ソフトエラーは電源再投入で直る (ことが多い)