openpiton+ariane: the risc-v hardware research...

Post on 23-Aug-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OpenPiton+Ariane: The RISC-V Hardware Research Platform

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 Terminal (MAC)

10

11

Setting Up Terminal

12

• Find serial device:– Windows: Device Manager– Linux: /dev/

• Unplug/Plug back USB cable to determine the right one

Setting Up Terminal (Windows, Linux)

13

Serial Line: /dev/ttyUSBX or COMX, where X is a number depending on your systemSpeed: 115200

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

19

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

20

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

21

Running protosyn

…more options are in FPGA manual

23

Example protosyn run

25

FPGA Flow Runtimes

• System including DDR controller

– ~1 hour including IP generation

– ~40 mins excluding IP generation

26

FPGA Flow Outputs

27

FPGA Flow Outputs

28

FPGA Flow Outputs

29

Hands-on with FPGA

34

Setting up Your FPGA Board

GO!35

Booting Linux on OpenPiton+Ariane

36

Booting Linux on OpenPiton+Ariane

37

Booting Linux on OpenPiton+Ariane

38

Booting Linux on OpenPiton+Ariane

39

Network Setup

40

Use the MAC from your board

Network Setup

41

Use the MAC from your board

Network Setup

42

Use the MAC from your board

Running Tetris on OpenPiton+Ariane

43

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

44

Challenge Each Other!

45

• 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!

top related