fpga prototyping - princeton...

84
Getting to Work with OpenPiton Princeton University OpenPit http://openpiton.org

Upload: others

Post on 28-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Getting to Work with OpenPiton

Princeton University

OpenPit

http://openpiton.org

Page 2: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Prototyping

2

Page 3: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Supported Development Boards

Boards supported by toolchain:

Xilinx VC707

Digilent Genesys2

Digilent NexysVideoDigilent Nexys4DDR** doesn’t have DDR controller and FPU

3

Page 4: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Comparison of Supported Boards

Development Board,FPGA name,

Part

Core Clock(1 core)

Max# of Cores

DDR Type,Size,

Data Width

Price (nonacademic/

academic)

Xilinx VC707Virtex-7

XC7VX485T-2FFG1761C67 MHz 4

DDR31 GB

64 bits$3,495

Digilent Genesys2Kintex-7

XC7K325T-2FFG900C50 MHz 2

DDR31GB

32 bits

$1,299/$600

Digilent NexysVideoArtix-7

XC7A200T-1SBG484C29 MHz 1

DDR3512MB16 bits

$490/$250

Digilent Nexys 4 DDRArtix-7

XC7A100T-ACSG324C29MHz 1

DDR2128MiB16 bits

$320/$160

4

Page 5: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Prototype Architecture

OpenPitonCore

DRAM

SD Master

UART

Switches, LEDs

ETH IO_C

TRL_

TOP

Digilent Genesys2

5

Page 6: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

6

Page 7: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

DRAM

6

Page 8: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

SD

DRAM

6

Page 9: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

UART

SD

DRAM

6

Page 10: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

UART

SD

DRAM

6

Page 11: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

UART

SD

DRAM

ETH

6

Page 12: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

I/O Interfaces

Wishbone SD Master*:• Up to 2GB SD (microSD) cards• Storage for HV/OS/tests

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

DDR controller*:• Xilinx’s MIG 7 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

To/From OpenPiton core

7

Page 13: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Demo

8

Page 14: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setup for Hands-on with FPGA

9

Page 15: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

10

Page 16: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

10

Page 17: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

10

Page 18: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

10

Page 19: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

10

Page 20: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

10

Page 21: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Setting up Your FPGA Board

GO!

10

Page 22: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Booting Linux

11

Page 23: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Booting Linux

11

Page 24: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Linux Boot

12

Page 25: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Linux Boot

After ~4 min

12

Page 26: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Coffee Break

13

Page 27: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Linux Boot

14

Page 28: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Hands on: Login to the System

15

Page 29: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Hands on: Login to the System

15

Page 30: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Suggested Configurations

BRAM_TEST SD with OS + Eth

UART DMWto DDR

BRAM with hardwired test

DRAM memory controller

SD card controller

UART 16550

Ethernet Lite MAC

UART support fortest streaming

16

Page 31: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Suggested Configurations

BRAM_TEST SD with OS + Eth

UART DMWto DDR

BRAM with hardwired test

DRAM memory controller

SD card controller

UART 16550

Ethernet Lite MAC

UART support fortest streaming

16

Page 32: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Tools

• protosyn

All encompassing tool for creation of FPGA project and generating programming file

• pitonstream

Tool 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

17

Page 33: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

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 (.cdc),defines

YES

NO

.xpr

.bit,

.ltx

LegendControl FlowData Flowpyv preprocessorSims scriptVivadoinput/output filesflow step conditions

18

Page 34: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

19

Page 35: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

Put a MAC from your board!

19

Page 36: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

Put a MAC from your board!

19

Page 37: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

Put a MAC from your board!

19

Page 38: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Running protosyn

…more options are in FPGA manual

20

Page 39: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Running protosyn

…more options are in FPGA manual

20

Page 40: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Running protosyn

…more options are in FPGA manual

20

Page 41: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Running protosyn

…more options are in FPGA manual

20

Page 42: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 43: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 44: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 45: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 46: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 47: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 48: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example protosyn run

21

Page 49: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Runtimes

• System including DDR controller

– ~1.5 hour including IP generation

– ~40 mins excluding IP generation

22

Page 50: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 51: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 52: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 53: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 54: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 55: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 56: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 57: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

23

Page 58: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

24

Page 59: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

24

Page 60: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

24

Page 61: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

24

Page 62: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

25

Page 63: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

25

Page 64: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

25

Page 65: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

FPGA Flow Outputs

25

Page 66: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

26

Page 67: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

Put a MAC from your board!

26

Page 68: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

Put a MAC from your board!

26

Page 69: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Bringing up Network

Put a MAC from your board!

26

Page 70: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example pitonstream Run

27

Page 71: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example pitonstream Run

27

Page 72: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example pitonstream Run

27

Page 73: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Example pitonstream Run

27

Page 74: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Writing OS Image to SD Card

28

Page 75: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Writing OS Image to SD Card

28

Page 76: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Writing OS Image to SD Card

29

Page 77: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Writing OS Image to SD Card

30

Page 78: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Writing OS Image to SD Card

30

Page 79: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Hands-on with FPGA

31

Page 80: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Running Tetris on OpenPiton

32

Page 81: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Running Tetris on OpenPiton

32

Page 82: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Browsing OpenPiton web page onOpenPiton

33

Page 83: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Browsing OpenPiton web page onOpenPiton

33

Page 84: FPGA Prototyping - Princeton Universityparallel.princeton.edu/openpiton/tutorial_slides/hpca17/openpiton-hpca17-fpga.pdfFPGA name, Part Core Clock (1 core) Max # of Cores DDR Type,

Browsing OpenPiton web page onOpenPiton

33