Virtex-7 2000Tへの 規模デザインの構築

Virtex-7 2000Tへの
⼤規模デザインの構築
宮崎
寿郎
計測事業グループ R&D本部第2開発部
アンリツ株式会社
2015年10⽉27⽇
アンリツとは
会社概要
会社名: アンリツ株式会社(ANRITSU CORPORATION)
住所: 〒243-8555
神奈川県厚⽊市恩名5-1-1
電話: 046-223-1111
創業: 1895年(明治28年)
資本⾦: 19,052百万円(平成27年3⽉31⽇現在)
売上⾼: 98,839百万円(平成26年度:連結)
従業員数: 3,926名(連結) (平成27年3⽉31⽇現在)
789名(単独) (平成27年3⽉31⽇現在)
Virtex-7 2000Tへの⼤規模デザインの構築
2
Copyright© ANRITSU CORPORATION
アンリツとは
 オリジナル&ハイレベルな技術をもとに、世界の主要な
顧客に密着し、顧客のTTMを意識したソリューションを
提供しています。
 ⽇本、アメリカ、ヨーロッパに開発拠点を有し、要素技
術の活⽤と新技術の獲得・共有を実践しながら、グロー
バルに製品開発を⾏っています。
 研究開発活動の重要な取り組みのひとつが、標準化活
動への参画です。アンリツは、国際的な標準化団体で
あるITU-Tや3GPP次世代ネットワークフォーラムに
加わり、通信規格の標準化に取り組んでいます。
Virtex-7 2000Tへの⼤規模デザインの構築
3
Copyright© ANRITSU CORPORATION
アンリツとは
主要取扱い製品

光測定器
OTDR/光スペクトラムアナライザ

汎⽤測定器
スペクトラムアナライザ/BERTS

有線通信⽤測定器
IP測定器/SDH・SONET・OTN・EOS測定器

無線通信⽤測定器
シグナリングテスタ/エリアテスタ

ネットワークアナライザ

信号発⽣器

RF/マイクロ波⽤測定器
Virtex-7 2000Tへの⼤規模デザインの構築
4
Copyright© ANRITSU CORPORATION
プレゼンテーションの内容
Virtex-7 2000Tへの⼤規模デザインの構築
(2013〜現在)
1. 設計⽅針
2. 2000Tのデバイスアーキテクチャ
3. 既存設計思想の転換
4. パフォーマンス対策事例
5. Vivado-HLS(VHLS)によるDSP制御部の移植
6. Stacked Silicon構造の利点と注意すべき点
今後期待すること
Virtex-7 2000Tへの⼤規模デザインの構築
5
Copyright© ANRITSU CORPORATION
1. 設計⽅針
機能拡張⽤のリソース確保
 最⼤規模のFPGAを搭載(→Virtex7 2000T)
 既存回路で流⽤できるところは最⼤限利⽤
 新規設計回路はVivadoのMethodologyに沿って設計
既存機能の処理⾼速化
 DSPの処理をFPGAに移殖
Virtex-7 2000Tへの⼤規模デザインの構築
6
Copyright© ANRITSU CORPORATION
2. 2000Tのデバイスアーキテクチャ
Virtex-7 2000Tへの⼤規模デザインの構築
7
Copyright© ANRITSU CORPORATION
Introducing Stacked Silicon Interconnect (SSI)
Microbumps
•
•
•
Access to power / ground / IOs
Access to logic regions
Leverages ubiquitous image sensor micro-bump technology
Passive Silicon Interposer (65nm Generation)
•
•
4 conventional metal layers connect micro bumps & TSVs
No transistors means low risk and no TSV induced performance degradation
Through-silicon Vias (TSV)
•
•
•
Only bridge power / ground / IOs to C4 bumps
Coarse pitch, low density aids manufacturability
Etch process (not laser drilled)
Side-by-Side Die Layout
•
•
28nm FPGA SLR
28nm FPGA SLR
Minimal heat flux issues
Minimal design tool flow impact
28nm FPGA SLR
Microbumps
28nm FPGA SLR
New!
Silicon Interposer
Through‐Silicon Vias Package Substrate
C4 Bumps
BGA Balls
Page 8
© Copyright 2012 Xilinx
SSI Layout
Multiple identical, adjacent Super
Logic Regions (SLRs)
Columns of similar resources aligned
on all SLRs
Logic-to-logic connections cross
between SLRs over the passive
interposer
– No requirement for signals
travelling between SLRs to go
through I/O
CLB,
BRAM, DSP
Page 9
HR (3.3V)
I/O
HP (1.8V)
I/O
CMT
GTP
© Copyright 2012 Xilinx
GTX
GTH
CFG, AES,
XADC
Clock
Routing
What’s in a Single SLR?
SLR used in Virtex-7 T
– 7V2000T
SLR used in Virtex-7 XT/HT
– 7VX1140T
– 7VH580T, 7VH870T
Virtex-7 T SLR
Virtex-7 XT/HT SLR
Logic Cells
488,640
284,800
Slices
76,350
44,500
Block RAMs
323
470
DSP Slices
540
840
6
6
I/O
300
300
Transceivers
12
24
13,720
10,800
Clock Regions/MMCMs
# Interconnect between SLRs
CLB,
BRAM, DSP
Page 10
HR (3.3V)
I/O
HP (1.8V)
I/O
CMT
GTP
© Copyright 2012 Xilinx
GTX
GTH
CFG, AES,
XADC
Clock
Routing
Connections between SLRs
Super Long Lines (SLL) cross from SLR, over interposer, to SLR
–
–
–
–
SLLs start and end at interconnect tiles adjacent to every CLB
Each SLL connects 51 CLBs away
49 SLLs per interconnect column
Either 10,800 or 13,700 total SLLs between adjacent SLRs
SLR
49
Interposer
SLR
Page 11
© Copyright 2012 Xilinx
Super Long Lines
• Super Long Lines
– Connect adjacent SLRs
• Vertical 12 Long Lines
– Shared routing resource
– Span 12 interconnect tiles
– The SLL connects to the
center of the VL12
– Allows three entry points for
SLR crossing without
additional routing
SLR
Interposer
SLR
Page 12
• Vertical Long Lines close to
SLR boundary U-turn
© Copyright 2012 Xilinx
3. 既存設計思想の転換
3-1)リセット系統の⾒直し
3-2) レイアウトを意識した構造設計
3-3)ツールの⾃由度を適切に制限
Virtex-7 2000Tへの⼤規模デザインの構築
13
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-1) リセット系統の⾒直し(1/6)
既存の設計思想
●FPGA全体リセットを搭載
 全てのalways⽂に⾮同期の負論理リセットを記述
 レジスタ設定値も負論理リセットですべて初期化
 上記を前提とした制御仕様
負論理リセット線をGlobalラインに載せて配線リソースへの影響に対応
From制約またはThrough制約により上記リセットラインをTIGに設定
Virtex-7 2000Tへの⼤規模デザインの構築
14
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-1) リセット系統の⾒直し(2/6)
 問題点
FFのResetポートは正論理のため、負論理リセット記述をすると
インバータが介⼊(既知)
reset_n
R
LUTリソースを使⽤して⾃動的にインバータが付加
Virtex-7 2000Tへの⼤規模デザインの構築
15
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-1) リセット系統の⾒直し(3/6)
always @ (posedge clk, negedge bufg_arst_n)
if (!bufg_arst_n)
d0 <= 0;
※synthesis @ Vivado 2015.2 (defaults)
:
omission
 負論理を正論理にするインバータ(LUT1)が挿⼊
 配線がグローバル配線⇒ローカル配線になる
 膨⼤なローカル配線リソースを消費
Virtex-7 2000Tへの⼤規模デザインの構築
16
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-1) リセット系統の⾒直し(4/6)
Case1)CEの代わりに意図しないリセット回路が⽣成
always @ (posedge clk)
if (valid) begin
wr_enable <= 1;
wr_data <= data;
wr_address <= address;
end else begin
wr_enable <= 0;
wr_data <= 0;
wr_address <= 0;
end
 write data/addressをelse条件で0にしてしまいがち
 同期リセットと⾒なされる
Virtex-7 2000Tへの⼤規模デザインの構築
17
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-1) リセット系統の⾒直し(5/6)
Case 2)意図しないリセット回路は⽣成されない
always @ (posedge clk)
if (valid) begin
wr_enable <= 1;
wr_data <= data;
wr_address <= address;
end else begin
wr_enable <= 0;
wr_data <= wr_data ;
wr_address <= wr_address ;
end
 LatchにすればvalidがCEに直接接続されるようになる
 複雑な回路では、意図しない⽣成回路がパフォーマンス対策で
意図通りの効果を得られない要因になりやすい
Virtex-7 2000Tへの⼤規模デザインの構築
18
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-1) リセット系統の⾒直し(6/6)
--まとめ--
 リソース使⽤率が⾼くなると如実に悪影響が浮き彫りになる
 回路が増えてからリセット系統を⾒直すのは⾮常に⼤変
 ⾮同期リセット配線遅延が⼤きいため
既存設計回路にて⾮同期設計に考慮が⾜りない箇所があると
のきなみ⾮同期バグとして表⾯化
負論理リセットはすべて正論理に変更(新規設計は正論理同期リセット)
不要なリセット回路の削減
慎重なリセット系統の再設計および再確認
Virtex-7 2000Tへの⼤規模デザインの構築
19
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-2) レイアウトを意識した構造設計(1/4)
とりあえずRTL記述して、レイアウトはあとで。。。。
と考えていると⼤きな⼿戻り作業が発⽣
たとえばDSPとの接続を例にとると
DSP
FPGA
EMIF Bus
Data(InOut):64bit
Address:20bit
CE、WR etc..
Virtex-7 2000Tへの⼤規模デザインの構築
20
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-2) レイアウトを意識した構造設計(2/4)
SLR3
レイアウトを意識しないと
DSP IF
Func1
Setting
SLR2
Registers
EMIF Bus
IFF
/
OFF
Input/Output
Timing
Requirement
RAMs
&
Read
Registers
RAMs
Func2
SLR1
Func3
SLR0
SLL浪費
SLRまたぎの配線遅延⼤
Virtex-7 2000Tへの⼤規模デザインの構築
21
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-2) レイアウトを意識した構造設計(3/4)
レイアウトを意識すると
DSP IF
Func1
SLR3
Func1
FF
EMIF Bus
FF
IFF
/
OFF
Input/Output
Timing
Requirement
DSP IF
Func2-1
SLR2
FF
Func2-1
Func2
FF
FF
FF
DSP IF
Func2-2
Func2-2
SLR1
FF
FF
DSP IF
Func3
SLL数、SLRをまたぐ箇所を
構造設計上で明確にする
SLR0
Func3
Virtex-7 2000Tへの⼤規模デザインの構築
22
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-2) レイアウトを意識した構造設計(4/4)
--まとめ--
レイアウト設計を後回しにしたことにより発⽣する追加作業
 DSP IFからIFF/OFF部分を切り取る
→モジュール階層が変わることによるXDC記述の修正等の併発
 DSP IFを4つに分ける
→アドレスマップの整理が伴う可能性も有り
 Func2の分離位置を決定し、SLRをまたぐ箇所にFF追加
→レイテンシが変わることによるTiming設計の⾒直し
→モジュール階層が変わることによるXDC記述の修正等の併発
構造設計にレイアウト設計を含める
Virtex-7 2000Tへの⼤規模デザインの構築
23
Copyright© ANRITSU CORPORATION
3. 既存設計思想の転換
3-3) ツールの⾃由度を適切に制限する
この中はツールに任せる
レイアウト設計した粒度で
keep hierarchy!!
SLR2
Func2-1
out1
モジュールのIFを制御することで、
ツールの最適化を制限
out2
Out2_1
Out1_1
SLR間のFFにもっていくところまでは
各モジュール内でツールによる最適化
★ただし、最適化に有効なRTLとしておく
FFs
FFs_1
FFs
FFs_1
in1
レイアウト設計した粒度の
モジュール間接続は、
なるべくツールに頼らずRTLで最適化
in1_1
in2
Func2
SLR1
その他はRTLで最適化
in2_1
Func2-2
この中はツールに任せる
★レジスタ複製等をRTLで記述
Virtex-7 2000Tへの⼤規模デザインの構築
24
Copyright© ANRITSU CORPORATION
4. パフォーマンス対策事例
4-1) Synthesis段階でのRTL最適化
Number of Endpoints
Implementの最適化でクリティカルパスが隠ぺいされる !!



Negative SlackまたはSlackが⼩さいpathの改善(Slack Histogram)
Logic Levelは200MHzドメインで4段以下(1段1ns + 1nsマージン)
Fan-outの削減(RTL Replicationとmax_fanout制約の併⽤)
Endpoint Max Slacks(ns)
Slack Histgram
Virtex-7 2000Tへの⼤規模デザインの構築
25
Copyright© ANRITSU CORPORATION
4. パフォーマンス対策事例
4-2)配置/配線の分散化(1/3)
Horizontal Routing congestion per CLB
 各Func間のデータは、
CommonRAMで仲介する。
Func 1
 各Funcは、複数のデータ種別を
CommonRAMとやり取りする
Func 2
Func 4
Func 3
 各Funcのデータの⼊出⼒ポートが、
おおよそのCommonRAM領域の
⼊出⼒ポート位置を決定する。
⽩い⽮印の出所が、
CommonRAM領域内での
そのデータ種別の流れを決める
Common
RAM
あるひとつのデータ種別の流れ
Virtex-7 2000Tへの⼤規模デザインの構築
26
Copyright© ANRITSU CORPORATION
4. パフォーマンス対策事例
4-2)配置/配線の分散化 (2/3)
Horizontal Routing congestion per CLB
 流れ変えたいデータ種別について
データの出所のFFを配置固定
Func 1
Func 2
FF⽤のPblock追加
Func 4
Func 3
Common
RAM
あるひとつのデータ種別の流れ
Virtex-7 2000Tへの⼤規模デザインの構築
27
Copyright© ANRITSU CORPORATION
4. パフォーマンス対策事例
4-2)配置/配線の分散化 (3/3)
この違いが結果には⼤きく影響する!!
before
after
Func 1
Func 2
Func 4
Func 3
Common
RAM
Virtex-7 2000Tへの⼤規模デザインの構築
28
Copyright© ANRITSU CORPORATION
4. パフォーマンス対策事例
4-3)最後はWNSを根気強く対処



まずはPlace後のWNSで対処(なるべく上流⼯程で対処)
Directiveを振っても発⽣頻度の⾼いPathから対処(絶対悪)
IP内のLogic Levelが問題の場合は迷わず⾃作化(決断⼒)
参考)AXI系IPは機能的にはExcellentだが、パフォーマンスに悪影響
(AXI IF IP、AXI Interconnectは経験済み)
Placed
implementation
impl1
impl2
impl3
impl4
impl5
impl6
impl7
impl8
WNS path
source
Destination
-0.671 gw_pdcp_top/tx_pdcp
gw_pdcp_top/tx_pdcp
-2.121 Log_Memory_Control_inst/ddr3if
comram_logger_top/axi_if
-0.377 log_dsp_agw_adr_reg_1d_reg[12]
log_dsp2_if_inst/adr_1d_reg[12]
-0.714 Log_Memory_Control_inst/ddr3if
comram_logger_top/axi_if
-2.470 comram_logger_top/wdata_line_if
comram_logger_top/wdata_line_if
-1.270 comram_logger_top/comram_arbiter
comram_logger_top/comram_arbiter
-1.846 Log_Memory_Control_inst/ddr3if
comram_logger_top/axi_if
-0.493 rlc_top/tx_rlc_top
rlc_top/tx_rlc_top
WNS
Virtex-7 2000Tへの⼤規模デザインの構築
29
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植例
5-1)VHLSでの移植に⾄った経緯
5-2) VHLS適⽤例
5-3) 使い始めのつまづき例
5-4) 使⽤する上でのポイント
5-5) VHLSとは。。
Virtex-7 2000Tへの⼤規模デザインの構築
30
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-1)VHLSでの移植に⾄った経緯
 DSPでの処理を⾼速化したい
 Cの処理をFPGAに移植が
FPGA設計から⾏っている時間がない
 インタフェースが単純な機能
 ⼊⼒は「パラメータ」と「スタート」のみ
 出⼒は「演算結果」のみ
 VHLSの試験的使⽤に適合
 VHLSのメリットに期待
 ⾼速なCシミュレーション
 最適化による省リソース化
 Verilog設計期間の削減
 FPGA作業者の負荷分散
Virtex-7 2000Tへの⼤規模デザインの構築
31
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS) によるDSP制御部の移植
5-2) VHLS適⽤例(1/3)
 処理概要
 3GPPの規格 TS36.321に従って帯域にチャネルを割り当てる
CH0 CH1
Priority
Setting
CH2 CH4
VHLS
全帯域分の箱
Virtex-7 2000Tへの⼤規模デザインの構築
32
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-2) VHLS適⽤例(2/3)
 Cソース規模
ファイル名
txmac_prtz_core.cpp
txmac_prtz_core.h
全ステップ数
種類
cpp
h
総ステップ数
1246
99
1345
実ステップ数 コメント[%]
532
29.9
72
13.4
604
28.7
Virtex-7 2000Tへの⼤規模デザインの構築
33
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-2) VHLS適⽤例(3/3)
 ブロック図
VHLSでは“Start”と“Done”が⾃動⽣成
条件分岐のないStreaming的な処理のアクセラレータに適している
制御
DSP
制御部
(Verilog)
Start
Data
Done
Valid
制御部
(VHLS)
Parameter
Virtex-7 2000Tへの⼤規模デザインの構築
34
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-3) 使い始めのつまづき例
⾼位合成が終了しない
 複雑なCソースは⾼位合成に不向き
(対策)Cソースを変更
 構造体をばらして総メンバー数を削減
 なるべく単純な記述
論理合成(Vivado Synthesis)が終了しない
 Memoryを100GByte以上消費 →HDDにスワップ
 RAMのリセットに問題発覚
 RAMにまでリセットをかける設定だと論理が膨⼤になる
(対策)リセット設定を変更
Solution Settings画⾯でリセットを設定できる。
none(なし), control, state, all(FF,RAM全リセット)
でallを選択するのは危険。
Virtex-7 2000Tへの⼤規模デザインの構築
35
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(1/7)
 論理合成後でパフォーマンスを評価
 ステートマシンが深くなるようなC記述をすると
VHLSのEstimated Timingが当てにならなくなる
Ex)Estimated Timingに⼤きなずれがある例
⾼位合成後
論理合成後
・⾼位合成後で悪く⾒積もられている
・論理合成後ではTiming met
・逆の場合もある
Virtex-7 2000Tへの⼤規模デザインの構築
36
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(2/7)
 必ずフィッティング
 書いた通りにレイテンシ増加
for⽂で100回し →for⽂内の処理段数×100clkのレイテンシ
 パイプライン化と並列化の概念が必要
ソフトウェア技術者が何も学ばずVHLSを使うのはNG
Ex)レイテンシ削減例
ap_uint<5> table[32],
#pragma HLS array_partition variable=table dim=1
//※上記pragmaは配列をレジスタにしている。
for(i=0 ; i<32 ; i++) {
#pragma HLS unroll
table[i] = 0x1f;
}
unrollをつけないと、
32clockかけてレジスタ初期化
つければ1clockで初期化
Virtex-7 2000Tへの⼤規模デザインの構築
37
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(3/7)
 if⽂/case⽂の分岐内で同じ処理を複数個記述しない
 同じ回路が分岐数分複製
 ソースコードでの明⽰的な共有記述が必要
Ex) 記述例(NG)
Ex) 記述例(OK)
if(a>b) {
*flg_a = 1;
ret = in1 * in2;
}
else {
*flg_b = 1;
ret = in1 * in2;
}
if(a>b) {
*flg_a = 1;
}
else {
*flg_b = 1;
}
ret = in1 * in2;
算術演算の記述はまとめる
Virtex-7 2000Tへの⼤規模デザインの構築
38
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(4/7)
 ⼤規模デザインの⾼位合成は避ける
 カット&トライのインターバルが⻑くなる
 ⾼周波数で動かす場合は特に以下の点に注意
 関数の細分化
 inline化を抑制するpragma
 ダブルポインタは使⽤しない
Ex)inline化抑制の記述例
inline化を抑制
ap_uint<1> func1( 〜略〜 )
{
#pragma HLS INLINE off
#pragma HLS INTERFACE port=return register
更にパフォーマンスを気にするなら
〜略〜
関数(module)出⼒に明⽰的にFFを
}
⼊れる。
Virtex-7 2000Tへの⼤規模デザインの構築
39
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(5/7)
 データラインが条件分岐するようなデザインには適⽤しない
VHLS
処理1
セレクター
処理2
セレクター
処理4
処理3
Virtex-7 2000Tへの⼤規模デザインの構築
40
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(6/7)
 Streaming処理となる粒度まで分割し、Verilogで間をつなぐ
Verilog
VHLS
Verilog
VHLS
処理1
VHLS
セレクター
処理2
セレクター
処理4
VHLS
処理3
Virtex-7 2000Tへの⼤規模デザインの構築
41
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-4) 使⽤する上でのポイント(7/7)
オプション(pragma)のつけ⽅やちょっとしたC記述の変更で
リソースとレイテンシのトレードオフが容易
Verilog処理
VHLS処理
for loop
ch#1処理
ch#2処理
Verilog→C
chX処理
ch#37処理
時分割処理化によるリソース削減をVHLSで実施
Virtex-7 2000Tへの⼤規模デザインの構築
42
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-5) VHLSとは。。 (1/2)
 メリット
 Cでの⾼速なシミュレーション
 「リソース」と「レイテンシ」のトレードオフが容易
 設計が簡単(タイミング設計不要) → バグ減少 → 品質向上
 デメリット
 ⼤規模デザインの設計が難しい
 タイミングクロージャが達成できない時はパフォーマンス出しに時
間がかかる
 verilogで書いた時よりリソースを多く使う傾向がある
Virtex-7 2000Tへの⼤規模デザインの構築
43
Copyright© ANRITSU CORPORATION
5. Vivado-HLS(VHLS)によるDSP制御部の移植
5-5) VHLSとは。。 (2/2)
VHLSはC→RTLの魔法のツールではない
 良くも悪くもCで書いた通りにRTLが⽣成
 directiveを付加しなければシングルタスクでレイテンシ⼤
 intで書けば32bitのレジスタ
 乗算をif/elseで2箇所にかけば、乗算器が2つインスタンス
 優れたソフトウェアエンジニアが適任とは限らない
 FPGAの知識が必要
 FPGAエンジニアのほうが早く使いこなせるのかもしれない
 使い⽅さえ間違えなければ⾮常に有効なツール
Virtex-7 2000Tへの⼤規模デザインの構築
44
Copyright© ANRITSU CORPORATION
6. Stacked Silicon構造の利点と注意すべき点
●ひとつの⼤きなデバイスだととらえると
・⾮常に痛い⽬を⾒る
●内部接続された複数のデバイスとしてとらえると
・プリント板上に複数個搭載した場合と⽐較して
柔軟性やIF設計へのメリットは計り知れない
●⼤規模がゆえにツールの処理能⼒を超えているかも。。
・ツールの最適化に制限をかける(ツールの負荷を抑える)
・RTLで最適化するところと、ツールに任せるところ
・Optimizationの繰り返し実⾏
★1回の実⾏で最適化できるパス数が決められているため
Virtex-7 2000Tへの⼤規模デザインの構築
45
Copyright© ANRITSU CORPORATION
今後期待すること(1/2)
消費電⼒
消費電⼒は現状で限界に近い
より⼤きなデバイス規模になっても消費電⼒は上げられない
デバイスの進化にどこまで期待できるのか
Power Optimizationの有効活⽤(適⽤例はどの程度?)
独⾃の低消費電⼒設計
Partial Re-Configuration
SLR毎のPartial Re-Configuration(適⽤例はどの程度?)
SLR単位より柔軟な領域設定
複数の機能をあたかも全搭載しているような使⽤感
Partial Re-Compile
SLR毎のPartial Re-Compile(未だ実現できていない)
⼀度できたネットリストは⼆度とコンパイル不要
Virtex-7 2000Tへの⼤規模デザインの構築
46
Copyright© ANRITSU CORPORATION
今後期待すること(2/2)
Vivado Version Upについて
Version Upにかかる⼯数が無視できないレベルの場合が多い
IPのPort名の変更は、Userにとっては⼤きな追加⼯数となる
(⼤⽂字→⼩⽂字、VHLSでのポート命名規則の変更 etc..)
IPのスリム化
不要な機能をdisableするほどパフォーマンスが向上するIP構造
→少なくともAXI関連のIPについてはLogic Levelが深すぎる
Vivado-HLS
精度の⾼いEstimated Time
→⼤規模デザインへの適⽤を可能としてほしい
Virtex-7 2000Tへの⼤規模デザインの構築
47
Copyright© ANRITSU CORPORATION
謝辞
本開発につき多⼤なサポートを提供してくださった、
ザイリンクス株式会社様および株式会社PALTEK様および
ご助⼒いただいた皆様に⼼より御礼申し上げます。
Virtex-7 2000Tへの⼤規模デザインの構築
48
Copyright© ANRITSU CORPORATION