OpenPiton+Arianein Action - Princeton...

Preview:

Citation preview

OpenPiton+Ariane in Action

Princeton University and ETH Zürich

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

FPGA Prototyping

2

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)

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

Setup for Hands-on with FPGA

9

Setting up Your FPGA Board

GO!14

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

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

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

Running protosyn

…more options are in FPGA manual

24

Example protosyn run

26

FPGA Flow Runtimes

• System including DDR controller

– ~1 hour including IP generation

– ~40 mins excluding IP generation

27

FPGA Flow Outputs

28

FPGA Flow Outputs

29

FPGA Flow Outputs

30

Hands-on with FPGA

35

Booting Linux on OpenPiton+Ariane

• ls /dev/ttyUSB*

• screen /dev/ttyUSB0 115200

36

Booting Linux on OpenPiton+Ariane

37

Booting Linux on OpenPiton+Ariane

38

Booting Linux on OpenPiton+Ariane

39

Booting Linux on OpenPiton+Ariane

40

Network Setup

41

Use the MAC from your board

Network Setup

42

Use the MAC from your board

Network Setup

43

Use the MAC from your board

Running Tetris on OpenPiton+Ariane

44

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

45

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!

Recommended