本日最終日
[ Keynote ]
65nm FPGA: SEU が減るらしい。
45nm (2008, V6) → 32nm (2010, V7)
Problems and Issues:
12-layer chip, 10-layer pkgg, 16-layer PCB, 2V/ns transitions.
Signal integrity とか decoupling が問題
Source-to-Drain leakage is dominant in high temp., Gate leakage is dominant at 25˚C.
V5 family members:
– LX: Logic + parallel I/O (currently available)
– LXT: Logic + serial I/O
– SXT: DSP + serial I/O
– FXT: PPC + fastest serial I/O
LXT/SXT は low power transceiver を搭載。up to 3.2Gbps.
6-input LUT: LUT4 に比べると面積は15%増。だけど、もっと中身が入るぜ。
LUT6 を4つで、Quad-port memory を作ったりとか、16-State FSM in one CLB とか。
BlockRAM には、byte write capability がつきました。
DSP block: 25×18 MULT + 論理演算もいろいろ。cascade もできる。
DCM に加えて PLL も載った。ジッタを抑えるのに PLL のほうがいい.
クロックは3種類。I/O clock (710MHz), global clock (550MHz), regional clock (300MHz).
Package: 2nd generation “Sparse Chevron”
I/O はかならず電流帰還パスに隣接。
[ W1.C: DR ]
Minimizing Communication Cost for Reconfigurable Slot Modules
ESM: Erlangen Slot machine
FPGA 上にモジュールを配置して、隣接するものは直接、しないものはRMB (reconfigurable なんとか bus) で接続する。bus は、セグメント数とビット幅を変えることができるわけだが、モジュールをどう配置して、どこにこのインタフェイスをくっつけるか、を最適化するところが NP hard な問題であり、これを線形計画法で解く。配置をきめたら、モジュールにインタフェイス部をくっつけてほげほげするわけだな。
Erlangen Pong Machine というゲーム機を作って検証してたりする。黄色い筐体に昔のインベーダーゲームみたいな画面で、かわいい。むふ。
Executing Hardware Tasks on Dynamically Reconfigurable Devices Under Real-Time Conditions
FPGA で real-time task をやる。full reconfiguration しかしないので、どんな FPGA でもおっけい。外部の CPU を使ってタスク管理する方法と、FPGA だけでなんとかする方法と。ちゃんと、FPGA 単体でもタスクの preemption とか save/restore ができるようになっておるぞ。
制御機構が使う面積は 9 tasks / 3 servers で、10% くらい。制御機構もふくめて reconfigure されるのはもったいないので、そこだけ残して partial reconfiguration するようにしたいぜー、ということだそうだ。スケジューラとして soft processor を載せるのもいいよね。
Preemption するタイミングとかは静的にきめてるの? → dynamic だよーん。
A Layer Model for Systematically Designing Dynamically Reconfigurable Systems
FPGA 上で動的にタスクの placement/deplacement/defragment を行う。
REPLICA2Pro filter というのを作っており、こいつを使うと bitstream をいじって、task relocation をすることができる。すっげー!
ボードはRAPTOR2000.
[ W2.B: Multicontext ]
A Context Dependent Clock Control Mechanism for Dynamically Reconfiguranle Processors
ふんがさん。
電力どうやって計った? → power profiler (compiler の) なので、ほんとに正確かどうかはわからない。
コンテキストスイッチングは全体?それとも部分ごとにするのか?
各セルのクロックは独立にかえられる?
A Multi-Context Pipelined Array for Embedded Systems
DSP とかやる用のデバイス:PiCoGA (Pipelined Configurable Gate Array)
dynamically reconfigurable, fixed frequency, fine grained, programmable with C.
Griffy-C というので書いて、DFG を作ったりするんだそうだ。こういうコンパイラとか作るのって、スゲエ大変なんじゃないかと思うんだけど、けっこういろんなところで作ってるから、そうでもないのかね?
PiCoGA-II という奴は、XiRisc という µP に integrate されており、130nm, 6ML なプロセスでできている。166MHz (たぶん) で動作し、Vitrex-II の 50% 増しくらいのスピード。Computational density は2倍くらい。ふうむ、いいですね。
ぱいぷれんちとの違いは? → embedded であることと、制御系が違う。わしらのは context switch が global (っていってたよな?) 。あと、fine-grained だ。
Configuration Scheduling for Conditional Branch Execution onto Multi-Context Reconfigurable Architectures
使ってるハードウェアは MorphoSys.
if-then な感じの条件分岐 (分岐の前後で実行されるものは同じ操作ではない) と、loop な感じの条件分岐 (うまくいけば、分岐の前後で同じものがぐるぐる) の2種類を想定。
taken / not taken がわかる前にとりあえず投機実行しちゃう感じ?
分岐予測アルゴリズムは使ってる? → つかってない