• 検索結果がありません。

実装

N/A
N/A
Protected

Academic year: 2021

シェア "実装"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)

高知工科大学 システム工学群 電子工学専攻 卒業研究報告要旨

粗粒度再構成可能アーキテクチャの

FPGA

実装

1150147

毛利 真崇(密山研究室)

1

はじめに

LSI

設計において,

FPGA

Field Programmable Gate Ar- ray

)を用いたプロトタイピングによる機能検証は極めて 重要なプロセスである.粗粒度再構成可能アーキテクチャ

(Coarse-Grained Reconfigurable Architecture: CGRA)の開 発においても同様に,FPGA を用いたプロトタイピングの 要求が高い.しかし,

FPGA

上に

CGRA

を実現する場合,

組み合わせループが基本セル間に多数発生し得るため,コ ンパイル処理に膨大な時間を要する.先行研究

[1]

では,セ ル間でループ構造が発生しないようデータのやり取りを片 方向に制限しているため,厳密にはプロトタイプとはいえ ない.そこで本研究では,ループ構造に起因する諸問題の 解決方法を提案する.また,複数の

FPGA

に分割して実装 することで,実装可能な回路規模を拡大させる手法につい て検討を行う.

2

再構成可能アーキテクチャ

本研究で対象とする

CGRA

を図

1

に示す.CGRA は,基 本セルのアレイ構造で構成され,基本セルは演算部と配線 部で構成される.演算部は,

16bit ALU

Arithmetic Logic Unit

),入力選択用

16

入力

MUX

,バイパス可能なレジス タを持つ.配線部は

18

入力

MUX

で構成され,

ALU

の出 力先と隣接セル間の接続構造を切り替える.

₇⟬㒊

㓄⥺㒊 ᇶᮏ

䝉䝹

'Z

Dhy Z'

Dhy Dhy

>h

1:

対象

CGRA

の概要

3 CGRA

FPGA

実装における問題の抽出

プロトタイピング用

FPGA

ボードとして,

Terasic

DE2- 115(Cyclone IV)を用いた.設計環境として,Intel Core-i7

クアッドコア

4.0GHz,32GB RAM,Winsows7

を搭載する

PC

上で,

Quartus II v13.1.4

を用いた.論理合成時に複数 の基本セル同士で回路が意図せず最適化されることを防ぐ ため,基本セル毎に

Design Partition

を設定した(手法

1).

CGRA

RTL

記述をコンパイルすると,図

2

に示すような 潜在的なループ構造が多数検出され,コンパイル処理に約

28

時間という膨大な時間を要した.このため,コンパイル 時の潜在的ループ構造に起因する問題の解決が不可欠であ るとわかる.

また,1 つの基本セルの実装に必要な

LE

数は

4,369

で あり,FPGA 全体の約

4%を占める.すなわち今回用いた FPGA

では理論上でも最大で

5x5

個の基本セルまでしか搭 載できず,実際はさらに少なくなる.このため実用的なア レイサイズの

CGRA

FPGA

に実装するには,この問題の 解決が不可欠であることがわかる.

2:

ループ構造の例 図

3:

セル間レジスタ挿入

4

組み合わせループの解決

ループ構造を解決する手法として,開発ツールのコンパ イルオプションを変更し,組み合わせループ構造を無視し てコンパイルを行う手法(手法

2

)ならびに,基本セル間 にレジスタを挟むことで,強制的に組み合わせループを抑 制する手法(手法

3

)を検討した.両手法を適用し,演算 粒度,アレイサイズを変えてコンパイルを行った.16bit 粒 度の

2x2

セルアレイの場合のコンパイル時間を表

1

に示す.

手法

2

では,論理合成の時間は短縮し,全体のコンパイル時 間を

37%

削減できたが,配置配線以降の処理時間に変化は 見られなかった.一方,手法

3

では,手法

1

に対して

99%

以 上削減することができた.

1:

コンパイル時間の比較 コンパイル時間(分)

A&S* Fitter Others Total

手法

1 1,091 474 94 1,659

手法

2 478 475 96 1,049

手法

3 1 2 1 4

*Analysis & Synthesis

5

回路規模の解決

100x100

といった実用的なアレイサイズの

CGRA

FPGA

に実現するため,複数の

FPGA

CGRA

を分割実装する手 法を提案した.本研究では,

2

枚の

FPGA

に基本セルアレイ を実装し,

FPGA

間を直接接続することでホモジニアスな

CGRA

2

つの

FPGA

にまたがって実装した.さらに,多 数の

FPGA

を接続するために,ボード間接続に起因する遅 延を測定し,接続する際に考慮すべき制約を明らかにした.

6

まとめ

FPGA

を用いた

CGRA

のプロトタイプ設計手法について 検討した.

CGRA

が潜在的にもつループ構造に起因するコ ンパイル時間の増大ならびに,

FPGA

の回路規模の制約に 対して,その解決法を提案した.今後は,複数の

FPGA

を 接続する場合の,クロック供給方法について検討し,ボー ド間で同期をとる手法を検討する.

参考文献

[1]

小川裕喜

,

尼崎太樹

,

飯田全広

,

久我守弘

,

末吉敏則

,

仮想

CGRA

への

Java

ソフトウェアのマッピングと

FPGA

実装,

電子情報通信学会技術報告

RECONF2013-47, pp. 45-50, 2013

11

参照

関連したドキュメント

実装システムの構成について以下に述べる.P2P プロトコルを実装する携帯電話には Bluetooth モジ ュールを外付けした試作端末を用いた.本試作端末

Java ベースの FPGA 向け高位合成処理系の実装と活用事例 三好 健文 イーツリーズ・ジャパン/わさらぼ

Android 端末における Java 実行の高速化をはかるために,FPGA によるアクセラレータを実装し, ハードウェア実行可能な Java

多くの学生は,いざプログラムを書き始めると,アル

検出プログラムを GENESIS を用いて FPGA 上で実行した 際の実行時間,CPU 上での OpenCV が備える FAST アルゴ

本稿ではオブジェクト指向スクリプト言語 Ruby を高速に実行するための処理系である YARV: Yet Another

概要:筆者は ACM UIST 2015 で Yumer らが発表した論文、“Procedural Modeling Using

アプリケーションの実装,評価 まず第 1 に,FPGA を介してストレージと 通信を接続する専用ハードウェアを実装する.