openpiton+arianein action - princeton...

27
OpenPiton+Ariane in Action Princeton University and ETH Zürich http://openpiton.org http://pulp-platform.org

Upload: others

Post on 14-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

OpenPiton+Ariane in Action

Princeton University and ETH Zürich

http://openpiton.orghttp://pulp-platform.org

Page 2: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

FPGA Prototyping

2

Page 3: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Comparison of Supported BoardsDevelopment Board,

FPGA name,Part

Core Clock(1 core)

Max# of Cores(with FPU)

DDR Type,Size,

Data Width

Price (nonacademic/

academic)

Xilinx VC707Virtex-7

XC7VX485T-2FFG1761C60 MHz 3

DDR31 GB

64 bits$3,495

Digilent Genesys2Kintex-7

XC7K325T-2FFG900C67 MHz 2

DDR31GB

32 bits

$999/$600

Digilent NexysVideoArtix-7

XC7A200T-1SBG484C30 MHz 1

DDR3512MB16 bits

$490/$250

Digilent Nexys 4 DDRArtix-7

XC7A100T-ACSG324C30 MHz 1^

DDR2128MiB16 bits

$320/$160

Xilinx VCU118 *Virtex UltraScale+

XCVU9P-L2FLGA2104E100MHz 8

DDR42GB

64bits$6,995

4* experimental ^ no FPU, peripheral IP (test runs from BRAM)

Page 4: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Prototype Architecture

Ariane Core

DRAMSDHCUART

Switches, LEDs

Ethernet

Digilent Genesys2

5

Wishbone SD Master*:• Up to 32GB SD/SDHC cards• Storage for OS/tests

UART:• Terminal I/O• Loading of assembly test(DMW - Direct Memory Write from a host)

DDR controller*:• Xilinx’s MIG IP core• Configurable data width• Used as main memory

*optional

Ethernet controller*:• Xilinx’s Ethernet Lite MAC IP Core• Driver from Linux kernel• 100 Mb/s

JTAG P-M

esh

Cros

sbar

Page 5: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Setup for Hands-on with FPGA

9

Page 6: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Setting up Your FPGA Board

GO!14

Page 7: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Suggested ConfigurationsBRAM_TEST SD with OS

+ EthUART DMW

to DDRBRAM with hardwired

test

DRAM memory controller

SD card controller

UART 16550

Ethernet Lite MAC

UART support fortest streaming

20

Page 8: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Tools• protosynAll encompassing tool for creation of FPGA project and generating programming file

• pitonstreamTool for running assembly tests on FPGA

Sources are located at piton/tools/src/proto/

pitonstreamboard type, asm test list .ustr

protosynboard type, design, config opt.xpr

.bit

21

Page 9: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

protosyn Flow

bram test?

*.v.pyv -> *tmp.v

sims build

sims run

RTL

mapping test to BRAM

create project?

mem.imagesims.log

test_proto.coe

project creation .xpr

synthesis

mapping, placing, routing, bitstream generation, STA

NO

YES

implement?

YES

NO

IP cfg (.xci),constraints (.xdc),defines

YES

NO

.xpr

.bit,

.ltx

LegendControl FlowData Flowpyv preprocessorSims scriptVivadoinput/output filesflow step conditions

22

Page 10: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Running protosyn

…more options are in FPGA manual

24

Page 11: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Example protosyn run

26

Page 12: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

FPGA Flow Runtimes

• System including DDR controller

– ~1 hour including IP generation

– ~40 mins excluding IP generation

27

Page 13: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

FPGA Flow Outputs

28

Page 14: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

FPGA Flow Outputs

29

Page 15: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

FPGA Flow Outputs

30

Page 16: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Hands-on with FPGA

35

Page 17: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Booting Linux on OpenPiton+Ariane

• ls /dev/ttyUSB*

• screen /dev/ttyUSB0 115200

36

Page 18: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Booting Linux on OpenPiton+Ariane

37

Page 19: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Booting Linux on OpenPiton+Ariane

38

Page 20: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Booting Linux on OpenPiton+Ariane

39

Page 21: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Booting Linux on OpenPiton+Ariane

40

Page 22: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Network Setup

41

Use the MAC from your board

Page 23: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Network Setup

42

Use the MAC from your board

Page 24: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Network Setup

43

Use the MAC from your board

Page 25: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Running Tetris on OpenPiton+Ariane

44

Page 26: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Browse pulp-platform.org and openpiton.orgon OpenPiton+Ariane

45

Page 27: OpenPiton+Arianein Action - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/wosh19/... · 2019-06-18 · BRAM_TEST SD with OS + Eth UART DMW to DDR BRAM with

Challenge Each Other!

46

• Vitetris Netplay (credits @Victor Nilsson)

• First player needs to wait for connection- ./tetris –listen <port>

• Second player has to connect to specific IP of opponent- ./tetris- Select Netplay- Enter <hostname or IP : port>

• Play!