SlideShare a Scribd company logo
PEAR-LAB Utsunomiya Univ.
FPGA
2017/2/18 @ 1
PEAR-LAB Utsunomiya Univ.
1.
2. ROS FPGA
3. cReComp (creator Reconfigurable Component)
4. cReComp
5.
6. T
2017/2/18 @ 2
PEAR-LAB Utsunomiya Univ.
FPGA
•
• SLAM HW
• SLAM Simultaneous Localization and Mapping
•
•
FPGA
• FPGA (Field Programmable Gate Array)
• i LSI
• c
http://www.pirobot.org/blog/0015/
2017/2/18 @ 3
PEAR-LAB Utsunomiya Univ.
FPGA
• FPGA
• Intel Altera [1]
• FPGA [2]
• CNN FPGA [3]
• FPGA →
• × FPGA
•
• ROS Open-RTM aist, OROCOS…
•
• FPGA
[1] Intel Completes Acquisition of Altera : https://newsroom.intel.com/news-releases/intel-completes-acquisition-of-altera/
[2] . "FPGA ." Fundamentals Review 10.2
(2016), 104-112, 2016.
[3] , , , `` FPGA ’’,
, vol. 116, no. 417, RECONF2016-69, pp. 127-132, 2017 1 .
2017/2/18 @ 4
PEAR-LAB Utsunomiya Univ.
•
FPGA
• FPGA
2017/2/18 @ 5
PEAR-LAB Utsunomiya Univ.
1.
2. ROS FPGA
3. cReComp (creator Reconfigurable Component)
4. cReComp
5.
6. T
2017/2/18 @ 6
PEAR-LAB Utsunomiya Univ.
• ROS RobotOperating System
• p
c
• p
• Publish/Subscribe o i
Node
Publication Subscription
Subscriber
Publisher Topic
Massage (data) :
Node Node Node
2017/2/18 @ 7
PEAR-LAB Utsunomiya Univ.
ROS FPGA [4]
• FPGA
HW/SW
• FPGA
• ROS FPGA p
• SoC ARM FPGA
• On chip p p HW-SW
• Linux OpenCV c
ARM( ) FPGA ( )
ROS
Node_0
Topic
ROS
Node_2
ROS
Node_1
Topic
FPGA
ROS
SoC
ROS FPGA
[4] Kazushi Yamashina,Takeshi Ohkawa,Kanemitsu Ootsu andTakashi Yokota :“Proposal of ROS-compliant FPGA Component for Low- Power Robotic Systems -
case study on image processingapplication -”, Proceedings of 2nd International Workshopon FPGAs for Software Programmers,FSP2015,pp. 62-67, 2015.
2017/2/18 @ 8
PEAR-LAB Utsunomiya Univ.
ROS FPGA
•
• CPU-FPGA p p
•
• c
• I/O cp c
i
HWóSW
o
HWóSW
o
i
FPGA
ROS
i
ROS node
i
HWóSW
o
HWóSW
o
i
FPGA
ROS
i
ROS node
2017/2/18 @ 9
PEAR-LAB Utsunomiya Univ.
1.
2. ROS FPGA
3. cReComp (creator Reconfigurable Component)
4. cReComp
5.
6. T
2017/2/18 @ 10
PEAR-LAB Utsunomiya Univ.
cReComp creator for Reconfigurable Component
• FPGA ROS FPGA
• FPGA
• FPGA
c cp
• FPGA p
• HW-SW
2017/2/18 @ 11
PEAR-LAB Utsunomiya Univ.
cReComp
•
1.
2.
•
1.
• c cp
• FPGA CPU
2. FPGA
• c
2017/2/18 @ 12
PEAR-LAB Utsunomiya Univ.
cReComp ×
• o
• RTL
•
• c cp
•
• c cp
• c cp p c
•
•
•
2017/2/18 @ 13
PEAR-LAB Utsunomiya Univ.
CPU-FPGA
• Xillybus XillybusIP Core
• Linux cp c FPGA
• CPU o c i
• o I/F
For
input
FIFO
For
output
FIFO
Xillybus
IP coreCPU
full
wr_en
data
empty
rd_en
data
empty
rd_en
data
full
wr_en
data
User
Logic
AXI
bus
2017/2/18 @ 14
PEAR-LAB Utsunomiya Univ.
FPGA HW SW
• publish/subscribe message o
p
• message
• I/F message
• I/F o p
16
16
32
data_in_0 [15:0]
data_in_1 [15:0]
data_out [31:0]
o
int16 input_data_in_0
int16 input_data_in_1
int32 output_data_out
msg
device
file
32bit
device
file
I/F
xillybus_ip
write
read
publish/subscribe
o i
I/F
2017/2/18 @ 15
PEAR-LAB Utsunomiya Univ.
FPGA HW SW
• publish/subscribe message o
p
• message
• I/F message
• I/F o p
16
16
32
data_in_0 [15:0]
data_in_1 [15:0]
data_out [31:0]
o
int16 input_data_in_0
int16 input_data_in_1
int32 output_data_out
msg
device
file
32bit
device
file
I/F
xillybus_ip
write
read
publish/subscribe
o i
I/F
2017/2/18 @ 16
PEAR-LAB Utsunomiya Univ.
FPGA HW SW
• publish/subscribe message o
p
• message
• I/F message
• I/F
16
16
32
data_in_0 [15:0]
data_in_1 [15:0]
data_out [31:0]
o
int16 input_data_in_0
int16 input_data_in_1
int32 output_data_out
msg
device
file
32bit
device
file
I/F
xillybus_ip
write
read
publish/subscribe
o i
I/F
2017/2/18 @ 17
PEAR-LAB Utsunomiya Univ.
cReComp I/F
FIFO CtrlROS APP
Verilog-HDL
FIFO
FIFO
c
cReComp
o
Output
ROS-compliant FPGA component
Python
C++
HardwareSoftware
Input
• c 2 1
• Python or scrp (specification for cReComp)
• HW-SW
• c
o HDL
c
I/F
I/F
Xillybus
FIFO Xillybus_ip
2017/2/18 @ 18
PEAR-LAB Utsunomiya Univ.
cReComp I/F
FIFO CtrlROS APP
Verilog-HDL
FIFO
FIFO
c
o
ROS-compliant FPGA component
Python
C++
HardwareSoftware
Input
• I/F 2 I/F
• I/F o CPU
• I/F publish/subscribe o i DF p
• Python C++
• ROS o p
o HDL
c
I/F
I/F
Xillybus
FIFO Xillybus_ip
I/FI/F
cReComp
Output
2017/2/18 @ 19
PEAR-LAB Utsunomiya Univ.
1.
2. ROS FPGA
3. cReComp (creator Reconfigurable Component)
4. cReComp
5.
6. T
2017/2/18 @ 20
PEAR-LAB Utsunomiya Univ.
cReComp
ROS FPGA
• ROS FPGA
•
i
HWóSW
o
HWóSW
o
i
FPGA
ROS
i
ROS node
ROS
2017/2/18 @ 21
PEAR-LAB Utsunomiya Univ.
Python
adder.vC++ Python
2017/2/18 @ 22
PEAR-LAB Utsunomiya Univ.
1.
2. ROS FPGA
3. cReComp (creator Reconfigurable Component)
4. cReComp
5.
6. T
2017/2/18 @ 23
PEAR-LAB Utsunomiya Univ.
•
• 10
• cReComp PWM
p
• cReComp
•
• FPGA 1 2
• Python 1
• ROS 3
• Linux 1 3
•
•
• 5 5 1
•
o
pwm_ctl.v
2017/2/18 @ 24
PEAR-LAB Utsunomiya Univ.
a) cReComp
b) ROS FPGA HW
c) ROS
d) ROS FPGA
e)
f)
a I/F
cReComp
ROS FPGA
cReComp
ROS FPGA
2017/2/18 @ 25
PEAR-LAB Utsunomiya Univ.
• 11
• I/F e + f 36
•
• cReComp
a) cReComp
b) ROS FPGA HW
c) ROS p
d) ROS FPGA
e)
f)
Zedboard Avnet
Programmable SoC Zynq-7020 Xilinx
OS Ubuntu14.04
ROS Indigo
0 5 10 15 20 25 30 35 40
a
b
c
d
e
f
2 26
2017/2/18 @ 26
PEAR-LAB Utsunomiya Univ.
• a 16 6
•
• c 55 22
• d 23 66
0 10 20 30 40 50 60 70
a
c
d
exp1 exp2 exp3 exp4 exp5 exp6 exp7 exp8 exp9 exp10
a) cReComp
c) ROS
d) ROS FPGA
→ Python ROS
2017/2/18 @ 27
PEAR-LAB Utsunomiya Univ.
•
• a) HW SW
d) c cp
• a dT 5 4
• FPGA
a) cReComp 4.5
b) ROS FPGA HW 4.2
c) ROS 4.1
d) ROS FPGA 4.2
e) 1.9
f) 3.2
2017/2/18 @ 28
PEAR-LAB Utsunomiya Univ.
1.
2. ROS FPGA
3. cReComp (creator Reconfigurable Component)
4. cReComp
5.
6.
2017/2/18 @ 29
PEAR-LAB Utsunomiya Univ.
•
•
FPGA FPGA
cReComp
• cReComp FPGA
ROS p
•
• Xillybus FIFO
• c cp
2017/2/18 @ 30
PEAR-LAB Utsunomiya Univ.
• SCOPE 152103014
cReComp is available !
https://github.com/kazuyamashi/cReComp
COCORE
https://github.com/kazuyamashi/cocore
FPGA Linux
2017/2/18 @ 31

More Related Content

What's hot

CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016] CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016]
IO Visor Project
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-Industrial
Clay Flannigan
 
CAMERA metagenomic annotation pipeline
CAMERA metagenomic annotation pipelineCAMERA metagenomic annotation pipeline
CAMERA metagenomic annotation pipeline
Brett Whitty
 
Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录
insight-labs
 

What's hot (20)

Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet Filters
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
Kernel development
Kernel developmentKernel development
Kernel development
 
CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016] CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016]
 
Erlang os
Erlang osErlang os
Erlang os
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-Industrial
 
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBDebugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
 
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgrades
The FE-I4 Pixel Readout System-on-Chip  for ATLAS Experiment UpgradesThe FE-I4 Pixel Readout System-on-Chip  for ATLAS Experiment Upgrades
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgrades
 
Mon Acc Ccr Workshop
Mon Acc Ccr WorkshopMon Acc Ccr Workshop
Mon Acc Ccr Workshop
 
YOW2021 Computing Performance
YOW2021 Computing PerformanceYOW2021 Computing Performance
YOW2021 Computing Performance
 
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
 
PyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deploymentPyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deployment
 
CAMERA metagenomic annotation pipeline
CAMERA metagenomic annotation pipelineCAMERA metagenomic annotation pipeline
CAMERA metagenomic annotation pipeline
 
Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录Defcon 2011 network forensics 解题记录
Defcon 2011 network forensics 解题记录
 
An Essential Relationship between Real-time and Resource Partitioning
An Essential Relationship between Real-time and Resource PartitioningAn Essential Relationship between Real-time and Resource Partitioning
An Essential Relationship between Real-time and Resource Partitioning
 
SuperAGILE Standard Orbital data Analysis pipeline
SuperAGILE Standard Orbital  data Analysis pipelineSuperAGILE Standard Orbital  data Analysis pipeline
SuperAGILE Standard Orbital data Analysis pipeline
 
uRock @ Jserv Course Final
uRock @ Jserv Course Final uRock @ Jserv Course Final
uRock @ Jserv Course Final
 
Track Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 TriggerTrack Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 Trigger
 
Why my network does not work? Networking Quiz 2017
Why my network does not work? Networking Quiz 2017Why my network does not work? Networking Quiz 2017
Why my network does not work? Networking Quiz 2017
 

Similar to FPGAを用いた処理のロボット向けコンポーネントの設計生産性評価

これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
goccy
 

Similar to FPGAを用いた処理のロボット向けコンポーネントの設計生産性評価 (20)

20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen
 
FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...
FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...
FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...
 
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
 
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
 
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U TranslationIETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
 
Low Overhead System Tracing with eBPF
Low Overhead System Tracing with eBPFLow Overhead System Tracing with eBPF
Low Overhead System Tracing with eBPF
 
2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROS
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
 
Shantanu's Resume
Shantanu's ResumeShantanu's Resume
Shantanu's Resume
 
carrow - Go bindings to Apache Arrow via C++-API
carrow - Go bindings to Apache Arrow via C++-APIcarrow - Go bindings to Apache Arrow via C++-API
carrow - Go bindings to Apache Arrow via C++-API
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA acceleration
 
Shantanu's Resume
Shantanu's ResumeShantanu's Resume
Shantanu's Resume
 
LAS16-101: Efficient kernel backporting
LAS16-101: Efficient kernel backportingLAS16-101: Efficient kernel backporting
LAS16-101: Efficient kernel backporting
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM Performance
 
SDAccel Design Contest: Intro
SDAccel Design Contest: IntroSDAccel Design Contest: Intro
SDAccel Design Contest: Intro
 
FPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and HowFPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and How
 
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
 

Recently uploaded

ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
AbrahamGadissa
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdf
Kamal Acharya
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

Peek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfPeek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdf
 
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and VisualizationKIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
 
Introduction to Casting Processes in Manufacturing
Introduction to Casting Processes in ManufacturingIntroduction to Casting Processes in Manufacturing
Introduction to Casting Processes in Manufacturing
 
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdf
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdf
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
retail automation billing system ppt.pptx
retail automation billing system ppt.pptxretail automation billing system ppt.pptx
retail automation billing system ppt.pptx
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
 

FPGAを用いた処理のロボット向けコンポーネントの設計生産性評価

  • 2. PEAR-LAB Utsunomiya Univ. 1. 2. ROS FPGA 3. cReComp (creator Reconfigurable Component) 4. cReComp 5. 6. T 2017/2/18 @ 2
  • 3. PEAR-LAB Utsunomiya Univ. FPGA • • SLAM HW • SLAM Simultaneous Localization and Mapping • • FPGA • FPGA (Field Programmable Gate Array) • i LSI • c http://www.pirobot.org/blog/0015/ 2017/2/18 @ 3
  • 4. PEAR-LAB Utsunomiya Univ. FPGA • FPGA • Intel Altera [1] • FPGA [2] • CNN FPGA [3] • FPGA → • × FPGA • • ROS Open-RTM aist, OROCOS… • • FPGA [1] Intel Completes Acquisition of Altera : https://newsroom.intel.com/news-releases/intel-completes-acquisition-of-altera/ [2] . "FPGA ." Fundamentals Review 10.2 (2016), 104-112, 2016. [3] , , , `` FPGA ’’, , vol. 116, no. 417, RECONF2016-69, pp. 127-132, 2017 1 . 2017/2/18 @ 4
  • 6. PEAR-LAB Utsunomiya Univ. 1. 2. ROS FPGA 3. cReComp (creator Reconfigurable Component) 4. cReComp 5. 6. T 2017/2/18 @ 6
  • 7. PEAR-LAB Utsunomiya Univ. • ROS RobotOperating System • p c • p • Publish/Subscribe o i Node Publication Subscription Subscriber Publisher Topic Massage (data) : Node Node Node 2017/2/18 @ 7
  • 8. PEAR-LAB Utsunomiya Univ. ROS FPGA [4] • FPGA HW/SW • FPGA • ROS FPGA p • SoC ARM FPGA • On chip p p HW-SW • Linux OpenCV c ARM( ) FPGA ( ) ROS Node_0 Topic ROS Node_2 ROS Node_1 Topic FPGA ROS SoC ROS FPGA [4] Kazushi Yamashina,Takeshi Ohkawa,Kanemitsu Ootsu andTakashi Yokota :“Proposal of ROS-compliant FPGA Component for Low- Power Robotic Systems - case study on image processingapplication -”, Proceedings of 2nd International Workshopon FPGAs for Software Programmers,FSP2015,pp. 62-67, 2015. 2017/2/18 @ 8
  • 9. PEAR-LAB Utsunomiya Univ. ROS FPGA • • CPU-FPGA p p • • c • I/O cp c i HWóSW o HWóSW o i FPGA ROS i ROS node i HWóSW o HWóSW o i FPGA ROS i ROS node 2017/2/18 @ 9
  • 10. PEAR-LAB Utsunomiya Univ. 1. 2. ROS FPGA 3. cReComp (creator Reconfigurable Component) 4. cReComp 5. 6. T 2017/2/18 @ 10
  • 11. PEAR-LAB Utsunomiya Univ. cReComp creator for Reconfigurable Component • FPGA ROS FPGA • FPGA • FPGA c cp • FPGA p • HW-SW 2017/2/18 @ 11
  • 12. PEAR-LAB Utsunomiya Univ. cReComp • 1. 2. • 1. • c cp • FPGA CPU 2. FPGA • c 2017/2/18 @ 12
  • 13. PEAR-LAB Utsunomiya Univ. cReComp × • o • RTL • • c cp • • c cp • c cp p c • • • 2017/2/18 @ 13
  • 14. PEAR-LAB Utsunomiya Univ. CPU-FPGA • Xillybus XillybusIP Core • Linux cp c FPGA • CPU o c i • o I/F For input FIFO For output FIFO Xillybus IP coreCPU full wr_en data empty rd_en data empty rd_en data full wr_en data User Logic AXI bus 2017/2/18 @ 14
  • 15. PEAR-LAB Utsunomiya Univ. FPGA HW SW • publish/subscribe message o p • message • I/F message • I/F o p 16 16 32 data_in_0 [15:0] data_in_1 [15:0] data_out [31:0] o int16 input_data_in_0 int16 input_data_in_1 int32 output_data_out msg device file 32bit device file I/F xillybus_ip write read publish/subscribe o i I/F 2017/2/18 @ 15
  • 16. PEAR-LAB Utsunomiya Univ. FPGA HW SW • publish/subscribe message o p • message • I/F message • I/F o p 16 16 32 data_in_0 [15:0] data_in_1 [15:0] data_out [31:0] o int16 input_data_in_0 int16 input_data_in_1 int32 output_data_out msg device file 32bit device file I/F xillybus_ip write read publish/subscribe o i I/F 2017/2/18 @ 16
  • 17. PEAR-LAB Utsunomiya Univ. FPGA HW SW • publish/subscribe message o p • message • I/F message • I/F 16 16 32 data_in_0 [15:0] data_in_1 [15:0] data_out [31:0] o int16 input_data_in_0 int16 input_data_in_1 int32 output_data_out msg device file 32bit device file I/F xillybus_ip write read publish/subscribe o i I/F 2017/2/18 @ 17
  • 18. PEAR-LAB Utsunomiya Univ. cReComp I/F FIFO CtrlROS APP Verilog-HDL FIFO FIFO c cReComp o Output ROS-compliant FPGA component Python C++ HardwareSoftware Input • c 2 1 • Python or scrp (specification for cReComp) • HW-SW • c o HDL c I/F I/F Xillybus FIFO Xillybus_ip 2017/2/18 @ 18
  • 19. PEAR-LAB Utsunomiya Univ. cReComp I/F FIFO CtrlROS APP Verilog-HDL FIFO FIFO c o ROS-compliant FPGA component Python C++ HardwareSoftware Input • I/F 2 I/F • I/F o CPU • I/F publish/subscribe o i DF p • Python C++ • ROS o p o HDL c I/F I/F Xillybus FIFO Xillybus_ip I/FI/F cReComp Output 2017/2/18 @ 19
  • 20. PEAR-LAB Utsunomiya Univ. 1. 2. ROS FPGA 3. cReComp (creator Reconfigurable Component) 4. cReComp 5. 6. T 2017/2/18 @ 20
  • 21. PEAR-LAB Utsunomiya Univ. cReComp ROS FPGA • ROS FPGA • i HWóSW o HWóSW o i FPGA ROS i ROS node ROS 2017/2/18 @ 21
  • 23. PEAR-LAB Utsunomiya Univ. 1. 2. ROS FPGA 3. cReComp (creator Reconfigurable Component) 4. cReComp 5. 6. T 2017/2/18 @ 23
  • 24. PEAR-LAB Utsunomiya Univ. • • 10 • cReComp PWM p • cReComp • • FPGA 1 2 • Python 1 • ROS 3 • Linux 1 3 • • • 5 5 1 • o pwm_ctl.v 2017/2/18 @ 24
  • 25. PEAR-LAB Utsunomiya Univ. a) cReComp b) ROS FPGA HW c) ROS d) ROS FPGA e) f) a I/F cReComp ROS FPGA cReComp ROS FPGA 2017/2/18 @ 25
  • 26. PEAR-LAB Utsunomiya Univ. • 11 • I/F e + f 36 • • cReComp a) cReComp b) ROS FPGA HW c) ROS p d) ROS FPGA e) f) Zedboard Avnet Programmable SoC Zynq-7020 Xilinx OS Ubuntu14.04 ROS Indigo 0 5 10 15 20 25 30 35 40 a b c d e f 2 26 2017/2/18 @ 26
  • 27. PEAR-LAB Utsunomiya Univ. • a 16 6 • • c 55 22 • d 23 66 0 10 20 30 40 50 60 70 a c d exp1 exp2 exp3 exp4 exp5 exp6 exp7 exp8 exp9 exp10 a) cReComp c) ROS d) ROS FPGA → Python ROS 2017/2/18 @ 27
  • 28. PEAR-LAB Utsunomiya Univ. • • a) HW SW d) c cp • a dT 5 4 • FPGA a) cReComp 4.5 b) ROS FPGA HW 4.2 c) ROS 4.1 d) ROS FPGA 4.2 e) 1.9 f) 3.2 2017/2/18 @ 28
  • 29. PEAR-LAB Utsunomiya Univ. 1. 2. ROS FPGA 3. cReComp (creator Reconfigurable Component) 4. cReComp 5. 6. 2017/2/18 @ 29
  • 30. PEAR-LAB Utsunomiya Univ. • • FPGA FPGA cReComp • cReComp FPGA ROS p • • Xillybus FIFO • c cp 2017/2/18 @ 30
  • 31. PEAR-LAB Utsunomiya Univ. • SCOPE 152103014 cReComp is available ! https://github.com/kazuyamashi/cReComp COCORE https://github.com/kazuyamashi/cocore FPGA Linux 2017/2/18 @ 31