fpgaの処理をソフトウェアコンポーネント化する設計ツールcrecompの高機能化の検討...

27
PEAR-LAB Utsunomiya Univ. FPGA =\ !+'5-6)5'?ol$62 cReComp }Wi?Um ņÅō y± ū yŀİ Đţō ŝÐċy¬y¬ëè¬ĨĻņ 2016/9/8 RECONFĤy¬ 1

Upload: kazushi-yamashina

Post on 15-Jan-2017

476 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

FPGA�=\�!+'����5-6)5'?��ol$62cReComp�}Wi?�Um

2016/9/8 RECONF 1

Page 2: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

dehS

• ©`"gáÖcÓ]QFI%"�¨••

• ÅÁ³�{��m�®½�"��"�']QFI%"FPGAÂo0«¤

•• HW-SW FPGA•• →ROS (Robot Operating System)

2016/9/8 RECONF 2

Page 3: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

ROS~Robot Operating System�

• ]QFI��1PZ:�>X^0�k�-�'"CNI451PYFIN6�T

••• 3,000

• |�VH[�Publish/SubscribeUFB�?^9

2016/9/8 RECONF 3

;^R�K^I

Publication Subscription

SubscriberPublisher

Topic

Service invocation

msg

Massage (data)

P]B@n·"£f��Å�→>@GT%"�®Ï��¸Ý�­Þ

;^R�K^I

Page 4: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

• FPGA0ROS>@GT%­Þ!Âo�-�'">@GT• Publish/Subscribe• FPGA

• HW-SW"H�D|�0¿�3^D�N53@�¶���k;@I_

ROSZNFPGA�5-6)5'[1]

2016/9/8 RECONF 4

[1] Kazushi Yamashina, Takeshi Ohkawa, Kanemitsu Ootsu and Takashi Yokota : “Proposal of ROS-compliant FPGA Component for Low- Power Robotic Systems - case study on image processing application -”, Proceedings of 2nd International Workshop on FPGAs for Software Programmers, FSP2015, pp. 62-67, 2015.

FPGA½�yË

(W�=]?F8)

CNI451CPU

CNI4513^D�N53@

L�J4513^D�N53@

L�J451FPGA

ROS1PZ:�>X^

|�Ë

|�Ë

ROS

ROS

Topic

Topic

;^R�K^I��3^D�N53@

Page 5: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

deba

• FPGA cReComp

• cReComp

2016/9/8 RECONF 5

Page 6: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

• FPGA ROS FPGA

• HW-SW;^R�K^I��3^D�N53@

• HW

cReComp~creator Reconfigurable Component�[2]

2016/9/8 RECONF 6

[2] 2016/9/22 k��u Kazushi Yamashina, Takeshi Ohkawa, Kanemitsu Ootsu, Takashi Yokota, “cReComp: Automated Design Tool for ROS-Compliant FPGA Component”, IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC-16)

Page 7: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

ROSZNFPGA�5-6)5'�D[����,1#'+�6.

• Programmable SoC CPU FPGA• Zynq-7000 Xilinx CycloneV Altera

•• FPGA• HW-SW•• CPU• HW-SW

• HW-SW

2016/9/8 RECONF 7

Page 8: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

cReComp��5"6+�� ]L/&2

2016/9/8 RECONF 8

• o{• HDL•• scrp

(specification for cReComp )д• Pythonд

• b{• (HDL)•

(C++)• ROS msg

• �uä�•• SW HW • HW SW ••

HW I/FSW I/FROS

*.v

ROS FPGA

*.cpp

H�D|�

�u§Õ

y˧Õ( )

;^R�K^I�� I/F"l�

cReComp

|�Ë|�Ë

*.scrp or *.py

*.v

|�Ë!���Xillybus Xillinux Xillybus IP core

*.msg

Page 9: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

y`>T�scrp�_��5-6)5'?• scrp (specification for cReComp)

1. cReComp2.

r_cycle_32 1 →32bit FIFO SW 1

•• cReComp

•• Verilog-HDL•

2016/9/8 RECONF 9

G^P\�Il� �u§Õ ;^R�K^

I��c

cReComp0����kN]�

Page 10: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

%5,36']LWi

2016/9/8 RECONF 10

G^P\�Il�qW�=]?F80�u

G^P\�Il� �u§Õ

W�=]?F8"ob{R�I§Õ

Page 11: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

cReComp�ol]^K�p;D|[3]• �Ìw­• cReComp

scrp

• ÈÌe6¢"�k�Ì• FPGA 3 • C++ 1 6 • Linux 1 3

• iß1. cReComp2. Scrp3.

( )

• תp�• 5

(5�Þ���4�))Þ���3�â|�2�))É���1�É��)

••

2016/9/8 RECONF 11

0:000:020:050:080:110:140:170:20

1

2

3

4

5

cReComp Scrp

()

(5 1 )

Zedboard AvnetProgrammable SoC Zynq-7020 Xilinx ARM 666MHzOS xillinux-1.3 Ubuntu12.04ROS groovy

Parallax PING Ultrasonic Distance Sensor

FPGA42h

[3] FPGA ROS ,” 60 , 2016.

Þ

É

Page 12: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

j|gD|��Iq{

• scrp0����u§Õ!���• scrp 27 385• 17h• ¾æ qt���,��kÒ¼0}�-• scrp• scrp

2016/9/8 RECONF 12

Page 13: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

oCnu�EQ�B7��

• Python• Python• for

•scrp••

2016/9/8 RECONF 13

Page 14: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

Python�%5,36']L

2016/9/8 RECONF 14

§Õ!¶� Y3OYZ#g�v!3^R�I

veriloggen[4]!*��W�=]?F80¥å

W�=]?F8!z�-¦�0��8Y@0g�l�

[4] , “Python ,” , RECONF2015-36, pp.21-26, 2015.

ÄÀ"UCFJ(�"¡!§Õ�.-

Page 15: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

Python�_�oCnu:

2016/9/8 RECONF 15

�uw­0�°�-8Y@"7O?58I

UCFJÙ$b���u

|�[�[!z�-�u

python file_name.py;^R�K^I��c;S^J

Page 16: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

scrp�%5,36']L

2016/9/8 RECONF 16

W�=]?F8!z�-¦�

�u!¯��ux HN6[I�u#§Õ�&

Page 17: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

scrp�OXVwkc�

2016/9/8 RECONF 17

 Øs  Ør

Î0�u�-�ux�/�+ ���

�ux"¢s0j¬����~²!O]F8ÃÊ0���

crecomp -b sensor_ctl.scrp;^R�K^I��c;S^J

Page 18: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

}9AL�06�4�#���5-6)5'?

•• FPGA018BY\�D���¯����HLS

• FPGA I/F RTL

•→

• SSRC fir_ssrc• Vivado HLS 14.04 Xilinx• cReComp 1.4.4

2016/9/8 RECONF 18

Page 19: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

�5-6)5'?��fF

2016/9/8 RECONF 19

m�f�

C++

Verilog-HDL

•• din_V_empty_n, dout_V_full_n• SSRC• ap_start, ap_ready

���88c2099±Ñ�¡"§ÕÍ�44c�900±Ñ

;^R�K^I�"�'"�u§Õ

Page 20: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

]L��5-6)5'

2016/9/8 RECONF 20

statemachine

16din_V_dout

dout_V_full_n

ap_startdin_V_empty_n

fir_top.v

input:19bit

output:40bitdout_V_din

fir_ctl.vfir_ctl.cpp

dout_V_write

cReComp

;^R�K^I�� I/F"l�

�u§Õ

Vivado HLS14.04

fir_ssrc( FIFO

10 )

• Zedboard• SW 10 10 →•

m�f�

Zedboard AvnetProgrammable SoC Zynq-7020 XilinxOS xillinux-1.3 Ubuntu12.04ROS groovy

C�@;�JÍfir_ctl.v 301c6813±Ñfir_ctl.cpp 149c3501±Ñ

Page 21: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

�5-6)5' ���RzlY��*6(���x

2016/9/8 RECONF 21

SsrcN2[D All Available

FF 226 7968 106400

LUT 323 5669 53200

L�J451Í

ROSµàFPGA;^R�K^I

Topic Topic

sample_input sample_output

•• gettimeofday()• FPGA Vivado Simulator Vivado 14.04• 3.7 ms• → 6.0 ms

;^R�K^I!��-¹��qt

1.0 ms 0.9 ms

3.8 ms

FPGA → → 0.69 μsHW-SW 3.7 ms

ROS"|�qtmsg<3A�19 byte

Page 22: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

����8H�q{

• ROS FPGAcReComp

• cReComp

••

•→ 10

2016/9/8 RECONF 22

7�PC�@���agit clone https://github.com/kazuyamashi/cReComp.git

pip install crecomp

Page 23: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

rt

” SCOPE 152103014

2016/9/8 RECONF 23

Page 24: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

FPGA�=\�!+'����5-6)5'?��ol$62CRECOMP�}Wi?�Um

*

2016/9/8 RECONF 24

Page 25: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

cReComp�]L��5"6+�� ~�6(:�

2016/9/8 RECONF 25

L�J451 CNI451

W�=]?F8%"Ô�W�=]?F8"3^@D^@

@G�IS>^�l��.-

Page 26: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

fir_ssrc G��oCnu

2016/9/8 RECONF 26

Page 27: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討

PEAR-LAB Utsunomiya Univ.

FIFO��<@����5 J�ROS msg+��2�]L

2016/9/8 RECONF 27

• ROS *.msg

•• bit•

msg