fpgaの処理をソフトウェアコンポーネント化する設計ツールcrecompの高機能化の検討...
TRANSCRIPT
![Page 1: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/1.jpg)
PEAR-LAB Utsunomiya Univ.
FPGA�=\�!+'����5-6)5'?��ol$62cReComp�}Wi?�Um
2016/9/8 RECONF 1
![Page 2: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/2.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/3.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/4.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/5.jpg)
PEAR-LAB Utsunomiya Univ.
deba
• FPGA cReComp
• cReComp
2016/9/8 RECONF 5
![Page 6: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/6.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/7.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/8.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/9.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/10.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/11.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/12.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/13.jpg)
PEAR-LAB Utsunomiya Univ.
oCnu�EQ�B7��
• Python• Python• for
•
•scrp••
2016/9/8 RECONF 13
![Page 14: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/14.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/15.jpg)
PEAR-LAB Utsunomiya Univ.
Python�_�oCnu:
2016/9/8 RECONF 15
�uw0�°�-8Y@"7O?58I
UCFJÙ$b���u
|�[�[!z�-�u
python file_name.py;^R�K^I��c;S^J
![Page 16: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/16.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/17.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/18.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/19.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/20.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/21.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/22.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/23.jpg)
PEAR-LAB Utsunomiya Univ.
rt
” SCOPE 152103014
2016/9/8 RECONF 23
![Page 24: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/24.jpg)
PEAR-LAB Utsunomiya Univ.
FPGA�=\�!+'����5-6)5'?��ol$62CRECOMP�}Wi?�Um
*
2016/9/8 RECONF 24
![Page 25: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/25.jpg)
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の高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/26.jpg)
PEAR-LAB Utsunomiya Univ.
fir_ssrc G��oCnu
2016/9/8 RECONF 26
![Page 27: FPGAの処理をソフトウェアコンポーネント化する設計ツールcReCompの高機能化の検討](https://reader031.vdocuments.pub/reader031/viewer/2022030303/587b01071a28ab93488b6775/html5/thumbnails/27.jpg)
PEAR-LAB Utsunomiya Univ.
FIFO��<@����5 J�ROS msg+��2�]L
2016/9/8 RECONF 27
• ROS *.msg
•• bit•
msg