Author
xcell-journal-japanese
View
253
Download
16
Embed Size (px)
DESCRIPTION
本号のカバーストーリーでは、1993 年の人気ビデオゲーム Doom を利用して、Zynq UltraScale+ MPSoC 上での Xen ハイパーバイザーと QEMU エミュレーターの動作を検証しています。
SOFTWARE
SOFTWARE SOLUTIONS FOR A PROGRAMMABLE WORLD
3 2016
Zynq MPSoC Doom
AMP SoC
:
japan.xilinx.com/xcell
SOFTWARE
Letter from the Publisher
japan.xilinx.com/xcell/
2016 Xilinx, Inc. All Right Reserved.
XILINX Xcell Xilinx
Xilinx, Inc.
Xilinx, Inc.
30 FPGA Verilog VHDL C/C++ OpenCL SDSoCSDAccelSDNet SDx MathWorks (MATLAB Simulink)National Instruments (LabVIEW LabVIEW FPGA)Topic Embedded Products (Dyplo)
Embedded World Topic Zynq-7000 SoC Dyplo Dyplo (Dynamic Process Loader ) Zynq-7000 SoC Zynq-7000 SoC Xcell Daily blog (Zynq-7000 SoC / Topic Embedded Dyplo )
SDSoC SDx MathWorks National Instruments Topic Embedded
Mike Santarini Xcell Journal 8 Mike Santarini Santarini Santarini
Mike Santarini
Steve Leibson [email protected] +1-408-879-2716
Diana Scheben
Scott Blair
/ Teie, Gelwicks & Assoc.
Xcell Software Journal 3
2016 6 14
Xilinx, Inc 2100 Logic Drive San Jose, CA 95124-3400
141-0032 1-2-2 4F
!!
FPGA
FPGA/SoC
FPGA/SoC
FPGA FPGA FPGA
FPGA
FPGA FPGA
30! FPGA
Artix-7 FPGA ARTY
AMBA AXI4
FPGA PlanAhead 1 2 3
All Programmable
All Programmable
Zynq SoC
Zynq All Programmable SoCAnybus IP
15! FPGA
http://japan.xilinx.com/webseminar/
All Programmable FPGA SoC 3D IC
Zynq-7000 SoC
UltraScale
28nm 7 FPGA
FPGA/SoC
VIEWPOINTLetter from the Publisher 2
COVER STORYZynq MPSoC Doom
6
20
CONTENTS
32016
XCELLENCE IN SDR20
XCELLENCE WITH LINUXAMP SoC 28
XCELLENCE IN EMBEDDED DEVELOPMENT34
XCELLENCE IN CLOUD COMPUTING : 40
28
4034
38
Running Doom on the Zynq MPSoC
Zynq MPSoC Doom Zynq UltraScale+ MPSoC Xen
Zach PfefferDirector of Embedded Software Development Xilinx,[email protected]
Edgar Iglesias Sr. Staff Software Engineer Xilinx, Inc. [email protected]
Alistair FrancisSoftware Engineer Xilinx, [email protected]
Nathalie Chan King ChoyStaff Software Engineer Xilinx, [email protected]
Rob Armstrong Jr.Embedded Specialist Field Application Engineer Xilinx,[email protected]
XCELL SOFTWARE JOURNAL: COVER STORY
6
DornerWorks Zynq Ultrascale+
MPSoC Xen Project
1993
Doom
Xen
QEMU ( Quick
Emulator) Zynq UltraScale+ MPSoC
Doom
()
Doom
Zynq UltraScale+ MPSoC QEMU
Xen Doom
Zynq UltraScale+ MPSoC
7
RegisterARegisterBRegisterC
UserProgramCounterRegister-SuperSuperProgramCounter
ADD Register3 Register1 Register2 Register1
Register2 Register3
(Register3 = Register1 + Register2)
MOVTO Register2 Register1 Register1
Register2
MOVFROM Register2 Register1 Register1
Register2
ENTERSUPER SUPER
EXITSUPER SUPER USER
USER USER
RegisterSuper
SuperProgramCounter ()
EXITSUPER
USER (
0x0000_0100 0x0FFF_FFFF)
USER
SUPER RegisterSuper
SuperProgramCounter
EXITSUPER
ENTERHYPER ()
SUPER
(0x0000_0000 0x7FFF_ FFFF)
SUPER
ENTERSUPER SUPER
EXITSUPER
USER
USER
(OS)
SUPER USER
OS OS USER
1
EXITSUPER USER
SUPER
USER
ENTERSUPER USER
SUPER
1
USER OS
USER
SUPER USER SUPER
USER
USER
SUPER
1
HYPER
HYPER (RegisterA
RegisterBRegisterCUserProgramCounterRegisterSuper
SuperProgramCounter) 2 (RegisterHyper
HyperProgramCounter) HYPER
XCELL SOFTWARE JOURNAL: COVER STORY
8
ADD Register3 Register1 Register2 Register1
Register2 Register3
(Register3 = Register1 + Register2)
MOVTO Register2 Register1 Register1
Register2
MOVFROM Register2 Register1 Register1
Register2
MOVTOPHYS Register2 Register1 Register1
Register2
MOVFROMPHYS Register2 Register1 Register1
Register2
ENTERSUPER SUPER
EXITSUPER SUPER USER
ENTERHYPER HYPER
EXITHYPER HYPER
SWITCHSUPER RegisterHyper RegisterHyper
SUPER
SUPER USER
HYPER
SUPER
HYPER 1
SUPER
HYPER
SWITCHSUPER RegisterHyper
HYPER
EXITHYPER SUPER
SUPER
SUPER
SUPER
1 SWITCHSUPER
RegisterHyper
HYPER SUPER
SUPER
OS OS USER
OS (Windows Linux )
1 20 Linux
OS
OS 1 OS
HYPER
OS HYPER
OS OS
USER SUPER
SUPER HYPER
USER 4 (RegisterA
RegisterBRegisterCUserProgramCounter) 4
(ADDMOVTOMOVFROMENTERSUPER)
USER 0x0000_0100
0x0FFF_ FFFF
SUPER RegisterSuper
SuperProgramCounter EXITSUPER
ENTERHYPER SUPER
0x0000_0000 0x7FFF_FFFF
HYPER
RegisterHyper HyperProgramCounter
SWITCHSUPER EXITHYPER
HYPER
(0x0000_0000 0xFFFF_FFFF)
( 2) HYPER
ARM ARM
ARM ARM
9
1 ARM
Zynq UltraScale+ MPSoC 4 ARMv8-A
( 3) 1 ARM Cortex-A53
ARM
ARM
(ARMv8-A)
(Cortex-A53)
ARMv8 4 (
: ARM (D1-1404))
1. 0 (EL0) :
2. 1 (EL1) : OS
3. 2 (EL2) :
XCELL SOFTWARE JOURNAL: COVER STORY
Physical Memory
0x0001
0x0203
0x0607
0x0809
0x0A0B
0x0C0D
0x0E0F
0x0000
....
....
Memory SUPERmode sees
0x0001
0x0203
0x0607
0x0809
....
Address0x0000_00000x0000_0004
Processor
Mode
0x7FFF_FFF80x7FFF_FFFC
Hyper
Before
Physical Memory
0x0001
0x0203
0x0607
0x0809
0x0A0B
0x0C0D
0x0E0F
0x0000
....
....
Memory SUPERmode sees
0x0A0B
0x0C0D
0x0E0F
0x0000
....
Address0x0000_00000x0000_0004
Processor
Mode
0x7FFF_FFF80x7FFF_FFFC
Hyper
After
1 HYPER SWITCHSUPER RegisterHyper
10
4. 3 (EL3) :
ARM (D1-1404)
EL0 : EL1 : OS
() EL2 :
EL3 :
ARMv8 EL0 EL2
USER EL0SUPER EL1HYPER
EL2 ARM 4 (EL3)
EL3
EL0 EL1
EL3
EL3 EL0
EL2
ARMv8 EL3 (
)
ARM ARMv8-A
EL1
SVC (Supervisor Call)EL2
HVC (Hypervisor Call)EL3
SMC (Secure Monitor Call)
3 0 65,555
216
SVC SWITCHSUPER
HVC SWITCHHYPER
0x0000_0000
0x0000_00FF
0x0000_0100
0x0FFF_0FFF
ADDMOVTO
MOVFROMENTERSUPER
RegisterA
RegisterB
RegisterC
UserProgramCounter
0x1000_0000
0x7FFF_FFFF
0x8000_0000
0xFFFF_FFFF
....
....
....
....
USER
USER
SUPER
HYPER
EXITSUPERENTERHYPER
RegisterSuper
SuperProgramCounter
SUPER
MOVTROPHYSMOVFROMPHYS
EXITHYPERSWITHCHSUPER
RegisterSuper
SuperProgramCounter
HYPER
2
11
USER (EL0)
SUPER (EL1)
USER
1 EL0
EL1 OS
C
malloc() mmap()
sbrk() OS
ARMv8-A Linux
SVC
EL1 OS
OS (
)
Zynq UltraScale+ QEMU
Doom
Zynq UltraScale+ MPSoC Xen
XCELL SOFTWARE JOURNAL: COVER STORY
ARMv8-A
ARM Cortex-R5
Programmable Logic
Processing System
NEON
Floating Point Unit
32 KBI-Cachew/Parity
32 KBD-Cachew/ECC
MemoryManagement
Unit
EmbeddedTrace
Macrocell 1 2
GIC-400 SCU CCI/MMU 1 MB L2 w/ECC
3 4
ARMv7R
GIC
Vendor FloatingPoint Unit
Memory ProtectionUnit
1 2
1 2128 KB
TCM w/ECC32 KB I-Cache
w/ECC32 KB D-Cache
w/ECC
DDR4/3/3LLPDDR4/3
32/64 bit w/ECC
256 KB OCMwith ECC
Memory
SystemManagement
Power Management
FunctionalSafety
Platform Management Unit
Configuration andSecurity Unit
Config AESDecryption,
AuthenticationSecure Boot
Voltage TempMonitor
TrustZone
Graphics Processing UnitARM Mali-400 MP2
GeometryProcessor
PixelProcessor
Memory Management Unit
64 KB L2 Cache
SystemFunctions
Multichannel DMA
TimersWDT, Resets
Clocking & Debug
DisplayPort v1.2a
USB 3.0
SATA 3.1
PCIe 1.0/2.0
PS-GTR
General ConnectivityGbE
USB 2.0CAN
UARTSPI
Quad SPI NORNAND
SD/eMMC
High-speedConnectivity
Storage & Signal Processing
Block RAM
UltraRAM
DSP
High-speed Connectivity
GTH
GTY
100G EMAC
General-purpose I/O
High-performance HDIO
High-density HDIO Interlaken
Video CodecH.265/H.264
System Monitor
3 Zynq UltraScale+ MPSoC
12
Zynq UltraScale+
MPSoC
http://www.wiki.xilinx.com/
Doom+on+Xen+Demo
(rootFS)
PetaLinux
rootFS Linux
(
) rootFS
Buildroot PetaLinux 2
Buildroot rootFS
Doom PetaLinux rootFS
Buildroot
Buildroot Linux rootFS
make menuconfig
(Linux
) Buildroot
PrBoom (PrBoom
Doom GNU General Public License [GPL]
PrBoom Doom
)Buildroot Xen
Xen
XenXen
Xen
PetaLinux
PetaLinux FPGA
SoC Linux
petalinux-build petalinux-
boot petalinux-build
petalinux-boot
(+ ) QEMU
PetaLinux
PetaLinux Tools
Documentation Reference Guide (v2015.4)(UG1144)
Linux
UG1144 (v2015.4)
PetaLinux
PetaLinux v2015.4
1 : rootFS rootFS
doom_demo.tar.gz
http://www.wiki.xilinx.com/Doom+on+Xen+Demo
$ cd
$ tar -xzf doom_demo.tar.gz && cd doom_demo
1
(1 Dom0 1 DomU )
PrBoom rootFS
rootFS Linux
v4.3
$ git clone -b v4.3 https://github.com/torvalds/linux.git
Buildroot Buildroot
$ git clone https://git.buildroot.net/buildroot && cd buildroot
Buildroot
13
$ make menuconfig
[Target options] [Target Architecture] [AArch64
(little endian)]
[Target packages] [Games] [prboom] [*]
[Target packages] [Games] [shareware Doom WAD
file] [*]
$ make # ()
PrBoom targetfs
buildroot ./output/
target/
$ for i in $(find ./ -name *oom*); do cp ${i} /doom_demo/targetfs/${i}; done
Buildroot 1
doom_demo
$ make # Build the host and guest rootFS. ()
:
(Enter )
2: ARM Trusted Firmware (ATF)Linux
rootFS
PetaLinux
ZCU102
PetaLinux QEMU MPSoC
PetaLinux UG1144
(2015.4) AR#66249 japan.xilinx.com
ZCU102 BSP ( )
$ cd $ petalinux-create --type project -s / Xilinx-ZCU102-v2015.4-final.bsp --name doom_demo_zynqMP
/doom_demo_zynqMP PetaLinux
PetaLinux PetaLinux
$ cd /doom_demo_zynqMP
$ petalinux-build
xen-overlay.dtsi (subsystems/linux/configs/device-
tree/xen-overlay.dtsi)
dom0
reg = ;
reg = ;
chosen
xen,xen-bootargs = console=dtuart dtuart=serial0 dom0_
mem=512M bootscrub=0 maxcpus=1 time r_slop=0 ;
xen,xen-bootargs = console=dtuart dtuart=serial0 dom0_
mem=512M bootscrub=0 maxcpus=4 timer_slop=0 ;
chosen
xen,dom0-bootargs = console=hvc0 earlycon=xen
earlyprintk=xen maxcpus=1 ;
xen,dom0-bootargs = rdinit=/bin/sh console=hvc0
earlycon=xen earlyprintk=xen maxcpus=4 ;
zynqmp.dtsi (subsystems/linux/configs/device-
tree/zynqmp.dtsi)
XCELL SOFTWARE JOURNAL: COVER STORY
14
uart0
compatible = cdns,uart-r1p12 ;
compatible = cdns,uart-r1p8 , cdns,uart-r1p12 ;
Xen
$ dtc -I dts -O dtb -i ./subsystems/linux/configs/device-tree/ -o ./images/linux/xen.dtb ./subsystems/linux/configs/device-tree/xen.dts
PetaLinux rootFS
rootFS
PetaLinux PrBoom
rootFS Xen Xen
xen.ub
$ rm /doom_demo_zynqMP/images/linux/Image && rm /doom_demo_zynqMP/images/linux/xen.ub
$ cp /doom_demo/Image /doom_demo_zynqMP/images/linux/Image && cp /doom_demo/xen.ub /doom_demo_zynqMP/images/linux/xen.ub
u-boot
$ petalinux-boot --qemu --u-boot --qemuargs=-net nic -net nic -net nic -net nic -net user,net=192.1
68.129.0,dhcpstart=192.168.129.50,host=192.168.129
.1,hostfwd=tcp:127.0.0.1:5900-192.168.129.50:5900
> setenv serverip 192.168.129.1
> tftpb 4000000 xen.dtb; tftpb 0x80000 Image; tftpb
6000000 xen.ub; bootm 6000000 - 4000000
# /boot.sh
# /xen-doom.sh 1
3 : Virtual Network Computing (VNC)
QEMU localhost:5900
Doom ( :
5900 Doom
QEMU hostfwd
[
5901 5902]
)
Doom
Doom
Xen Zynq MPSoC Xen (Xcell
Journal 93 ) 1
2 OS
Xen 1 ( 4)
()
Xen
Dom0
DomU
Dom0 Xen
Xen CPU
1 CPU
Dom0
(
)Dom0 (PV)
Xen
DomU
OS Dom0 PV
DomU 1
(
15
) 1 PV
PV OS (Linux)
PV (
QEMU )
Dom0 (
)
Xen Xen (xen-tools
)
xen-tools xl
xl create
VNC
(VFB)
xl Dom0
( 1 1 )
Doom VM
# Guest name
name = guest1
# Kernel image to boot
kernel = /boot/Image
# Kernel command line options
XCELL SOFTWARE JOURNAL: COVER STORY
Dom0 DomU
Xen
Hardware
PV front endsPV back ends
HW drivers
DomU
PV front ends
DomU
PV front ends
4 Xen 1 Xen ( : Xen ARM with Virtualization Extensions)
16
extra = console=hvc0 rdinit=/doom.sh
# Initial memory allocation (MB)
memory = 56
# Number of VCPUS
vcpus = 1
vfb = [ type=vnc, vnclisten=0.0.0.0 ]
Xen
3 ( 5)
()
Linux
Linux
(Dom0)
(DomU)
Xen Bus VirtIO 2
1
Speed Device Sharing Security
Emulated Slow Yes Yes
Paravirtualized Medium Yes Yes
Pass-through Fast No Yes (but only if you have an SMMU*)*System Memory Management Unit
5
17
XCELL SOFTWARE JOURNAL: COVER STORY
Dom0
Model of ARM Cortex-A53
DomU0 DomU1
Virtualizationcode
Virtualizationcode
PrBoom(Doom)
VNCServer
VNCServer
net
Linux Kernel Linux Kernel
GIC SMMU GenericTimers
Buffer
Buffer
UART Xen (EL2)
EL1
EL0
Zynq MPSoC Hardware
SDL
libSDL(1.2)
/dev/fb0xen-fbfront
PrBoom(Doom)
Linux Kernel
SDL
libSDL(1.2)
/dev/fb0xen-fbfront
VNC ViewerVNC Viewer
6 : QEMU x86 PetaLinux
18
Zynq UltraScale+ MPSoC Doom
( 6)
Cortex-A53 4 ARMv8
EL2 (Dom0
DomU) EL0/EL1 DomU
Linux Doom (PrBoom)
Doom Simple Direct Media Layer (SDL)
SDL () SVC
Dom0
() HVC
Xen Bus VirtIO Dom0
Dom0
VNC
VNC
QEMU
PetaLinux Zynq
UltraScale+ MPSoC
Xilinx GO
URLhttp://japan.xilinx.com/about/app-download.html
19
Software-Defined Radio from Concept to Deployment
Avnet PicoZed SDR
XCELL SOFTWARE JOURNAL: XCELLENCE IN SDR
20
Robin GetzDirector of Engineering, Global Alliances GroupAnalog Devices, [email protected]
Luc LangloisDirector, Global Solutions TeamAvnet Electronics [email protected]
(SDR) Avnet PicoZed SDR RF (SOM) SDR 70MHz 6.0GHz 2x2
PicoZed SDR Analog Devices AD9361 RF Agile Transceiver Z-7035 Zynq-7000 All Programmable SoC [1] () ARM Cortex-A9 / PicoZed SDR
PicoZed SDR Radio-In-The-Loop
PicoZed SDR RF MathWorks Avnet Analog Devices MathWorks PicoZed SDR [2]
21
MathWorks System object MATLAB Zynq PicoZed SDR RF SDR System object Radio-In-The-Loop (RITL) PicoZed SDR MATLAB/Simulink ( 1)
System object MATLAB ( Simulink ) System object System object MathWorks Zynq Communications System Toolbox PicoZed SDR
RF AD9361 2 AD9361 2.5GHz 1 / (Msps) PicoZed SDR System object
Libiio Analog Devices PicoZed SDR SOM
AD9361 Linux I/O (IIO) Libiio [3, 4] (GNU Lesser General Public License V2.1)
3
XCELL SOFTWARE JOURNAL: XCELLENCE IN SDR
1 System object PicoZed SDR
22
Linux sysfs Linux CC++Python PicoZED SDR
IIO (iiod) (LinuxOS XWindows) MATLAB/Simulink [5]GNURadio [6] IIO Oscilloscope [7] GUI
(QPSKQAMOFDM ) (MAC) MATLABSimulink GNURadio
Libiio PicoZED SDR Libiio ( 8Msps) () (61.44Msps) ( 1 ) PHY HDL/C
PicoZED SDR /
PicoZed SDR Radio-In-The-Loop HDL/C IP () MATLAB Simulink PicoZed
2 PicoZed SDR MATLAB System object
23
SDR Avnet 2
MathWorks HDL Coder /Zynq SoC ( 4) ARM AMBA AXI4 AXI4-Lite AXI4 AXI4-Lite AXI4-Stream IP MathWorks HDL Workflow Advisor IP
Vivado (IDE) IP [8] HDL Workflow Advisor IP Vivado IDE SoC
MathWorks Embedded Coder C/C++ Zynq SoC ARM Linux HDL IP AXI (AXI )
XCELL SOFTWARE JOURNAL: XCELLENCE IN SDR
Client Applicationon Linux
Client Applicationon Windows
IIOD Daemon Server
Libiio/Linux
High-level API
Localback end
Networkback end
Network Link
Libiio/Windows
High-level API
Network back end
Linux Kernel
IIO devices
3 Libiio API
24
ARM
IIO OscilloscopeADI IIO Oscilloscope (osc) Linux
Linux IIO 4 ( ) IIO
osc LinuxWindowsOS X osc HDMI PC PicoZed SDR FMC Linux osc Windows
5 PicoZED SDR 2 (I/Q) FFT
PicoZED SDR osc (1)
> git clone https://github.com/analogdevicesinc/iio-oscilloscope.git
> cd iio-oscilloscope
> git checkout origin/master
(2)
[email protected]:~/iio-oscilloscope$ make
[email protected]:~/iio-oscilloscope$ sudo make install
( 1GHz ARM Cortex-A9 1 DDR3 SDRAM) Zynq SDR SOM
PicoZed SDR
MATLAB and SimulinkAlgorithm and System Design
HDL IP CoreGeneration
Embedded SystemTool Integration
SW Interface Model Generation
FPGA Bitstream SW Build
SoC Platform
4 MathWorks /
5 ADI IIO Oscilloscope
25
Zynq SoC SDSoC
Avnet ON PYTHON-1300 SXGA (1,280 x 1,024 ) 1 210 ON Semiconductor PYTHON-1300 [9] Avnet () PicoZed SDR Zynq SoC Video4Linux2 API (V4L2) Avnet Linux ( 6)V4L2
DMA Avnet Vivado IP HDL IP () Linux V4L2 Linux
Avnet PicoZed SDR SDR
1. PicoZed SDR 2. MATLAB 3. libiio 4. analogdevicesinc/libiio GitHub5. IIO System Object6. GNU Radio7. IIO Oscilloscope8. ADI HDL 9. Avnet ON PYTHON-1300-C
XCELL SOFTWARE JOURNAL: XCELLENCE IN SDR
6 Avnet ON PYTHON-1300 V4L2
26
ASIC
() TEL (03) 5792-8210 [email protected]() TEL (045) 477-2001 [email protected] 2016 Xilinx, Inc. All rights reserved.
AMP up Your Next SoC Project
AMP SoC Scott McNuttSenior Software EngineerDesignLinx Hardware Solutions, [email protected]
XCELL SOFTWARE JOURNAL: XCELLENCE WITH LINUX
28
OS Linux
go to (RTOS) Linux
(AMP) RTOS Linux
(SoC) CPU I/O Zynq-7000 All Programmable SoC ARM Cortex-A9 ( MACUSBDMASD/MMCSPICAN ) Linux/RTOS AMP SoC
AMP PCI Linux RTOS 2 1 PCI AMP () ( ) Linux/RTOS AMP
29
AMP Linux AMP Linux
Linux Linux
(UP) (SMP) 2 UP AMP 2
SMP 1 ( 1) SMP
AMP UP SMP
(remoteproc)
( ) AMP Linux remoteproc 1 SMP 2 AMP SMP
RTOS
XCELL SOFTWARE JOURNAL: XCELLENCE WITH LINUX
Core 0 Core 1
Logic
Linux (SMP)
Standard I/O
Internal Interconnect
1 SMP
Core 0 Core 1Remote Processor
Logic
Linux (SMP) RTOS
Standard I/O
Internal Interconnect
2 Linux SMP AMP
30
( RTOS ) ELF (Executable and Linkable Format) RTOS PCI RTOS
Linux
Linux
1
I/O
(VDEV) VDEV Linux VDEV
Linux I/O VDEV VDEV
(rpmsg)
Linux I/O
Linux rpmsg
rpmsg
rpmsg service dlinx-h323-v1.0
Linux SMP AMP SMP 1
31
Linux remoteproc rpmsg
DesignLinx Hardware
Solutions Linux FreeRTOS rpmsg AMP
PCB SoC Linux
() () PCB SoC
XCELL SOFTWARE JOURNAL: XCELLENCE WITH LINUX
P(RTOS)
Control CPU(RTOS)
P(RTOS)
P(RTOS)
P(RTOS)
PCB
SoC
P
Core 0
P P P
Core 1
3 PCB SoC
32
SoC ( 3) PCB SoC
3 PCB Zynq-7000 AP SoCARM 1 CPU
( MicroBlaze ) 1 ARM Linux SMP ( 4)
Linux ARM ( ) Linux (Wi-FiBluetooth) ( FTPSSHSNMP) (DOSNFScramfs ) (PCIeSPIUSBMMC)
SoC
AMP SoC
UltraScale+ MPSoC 64 ARM Cortex-A5332 ARM Cortex-R5 (GPU) () Linux
Linux/RTOS AMP DesignLinx Hardware Solutions DesignLinx / FPGA
Core 0(Linux SMP)
Logic Core 1(RTOS)Standard
I/O
Internal Interconnect
Internal Interconnect
Soft CoreP
Soft CoreP
Soft CoreP
Soft CoreP
CustomLogic
CustomLogic
CustomLogic
CustomLogic
4 SoC
33
A Recipe for Embedded Systems
XCELL SOFTWARE JOURNAL: XCELLENCE IN EMBEDDED DEVELOPMENT
34
Adam Taylor Chief Engineer [email protected]
3 / (EMI EMC)
35
( 1)
1.
2.
3.
4.
5.
6. 1
SHALL ()
SHOULD ()
XCELL SOFTWARE JOURNAL: XCELLENCE IN EMBEDDED DEVELOPMENT
Customer System Subsystem(Equipment)Device(FPGA)
Requirements Flow Down & Reviews SRR, SDR, PDR
Verification and Compliance & Reviews CDR, MRR, TRR, TRB, DRB
SRR = System Requirement ReviewSDR = System Design ReviewPDR = Preliminary Design ReviewCDR = Critical Design Review
MRR = Manufacturing Review TRR = Test Readiness ReviewTRB = Test Review Board DRB = Delivery Review Board
1
36
() 1
1 (TRL) (TRL 1) (TRL 9) 9 TRL
TRL TRL TRL TRL /
IsolatingDC/DC
IntermediateVoltage
IP Voltage SwitchingRegulator
SwitchingRegulator
SwitchingRegulator
LinearRegulator
Reset Reset
I/O Voltage
Core Voltage
2
37
I/O
() FPGA/SoC
1
FPGA/SoC ARM AMBA Advanced Extensible Interface (AXI)
(COTS) COTS
1 AC/DC DC/DC 2
FPGA
1 (1 )
1
SRAM FPGA
XCELL SOFTWARE JOURNAL: XCELLENCE IN EMBEDDED DEVELOPMENT
38
() (ICD)
1
( )
1
3 1 2 (GND)
EMC ICD
1. FPGA Xcell Journal 8182 34 40
2. Xcell Journal 85 38 41
3. Design Reliability: MTBF Is Just the BeginningXcell Journal 88 38 43
Signal 1
Signal 2
Signal 1
Signal 2
GND GND
3 1
39
Next Disruptive Digital Business Model Innovation: Neuroplastic Clouds
:
FPGA IaaS
Francesc FonsDr.-Ing, MBAESADE Business School, Barcelona, [email protected]
XCELL SOFTWARE JOURNAL: XCELLENCE IN CLOUD COMPUTING
40
IaaS (Infrastructure as a Service) IaaS (QoS) DNA FPGA
10
41
IT IT
FPGA
SoC IaaS (FPGA) / ( 1)
XCELL SOFTWARE JOURNAL: XCELLENCE IN CLOUD COMPUTING
1
Client
Client
Client Client
Internet/Ethernet
Client
Data Center Server
Neuroplastic Cloud
SW application
HW accelerators
HW crypto
HW firewall
CPUDOMAIN
FPGADOMAIN
1
42
/
FPGA FPGA Microsoft IBM Intel Qualcomm Baidu FPGA FPGA
FPGA ( QoS )
() () ( ) 3
HPC (HPC)
HPC HPC HPC
HPC HPC ()
QoS
43
(SME) HPC ( ) HPC
FPGA FPGA FPGA
IT IaaS ( ) QoS
FPGA /
FGPA 1 FPGA CPU
FPGA
FPGA ()
XCELL SOFTWARE JOURNAL: XCELLENCE IN CLOUD COMPUTING
44
QoS
ID
IaaS FPGA FPGA
FPGA IC (PUF) FPGA (TRNG)
AES (Advanced Encryption Standard) (ECC) (XOR ) CPU FPGA AES
() () ()
45
(RoT)
Google Project Vault ( microSD )FPGA Microsoft Azure SmartNIC ( CPU )Catapult Project (Microsoft FPGA Bing )Bitfusion Cloud Adaptor ( FPGA ) FPGA Kintex UltraScale FPGA Zynq Ultrascale+ MPSOC
FPGA
FPGA CPU GPU
FPGA
FPGA
FPGA
IT IT
FPGA
CPU
XCELL SOFTWARE JOURNAL: XCELLENCE IN CLOUD COMPUTING
46
FPGA E-Learning I/O Architecture Wizard Foorplan Editor
VHDL
VHDL
Verilog System Verilog
Verilog
Vivado
VivadoFPGA
System Verilog
VivadoFPGA
7
Chip Scope Pro
FPGA
AMS
IO
SimlinkMathWorks
C : Vivado HLS
SystemGenerator DSP
DSP
Zynq
Zynq
Zynq
Vivado FPGA
Linux
/ Web
www.avnet.co.jp/training.aspx
www.shinko-sj.co.jp/xilinx/traning/index.html
www.paltek.co.jp/seminar/index.htm
www.hdlab.co.jp/web/x500x/
Japan.xilinx.com/training/
Xcell Journal Daily Blog Xcell Journal
Daily Blog
Recent
: www.forums.xilinx.com/t5/Xcell-Daily/bg-p/Xcell
Xcell Journal
Xcell Daily Blog
All Programmable Smarter System
AMDARMHuaweiIBMMellanoxQualcomm CCIX (Cache Coherent Interconnect for Accelerators)
UltraScale+ All Programmable 3D-on-3D HBM 10 Nutaq LTE : Matlab LTE System Toolbox 16 MIMO FPGA PicoSDR 8x8 Amiga 2000 2016 Spartan-6 FPGA MicroBlaze SWAP-C ()