openpiton with risc-v cores a hands-on tutorial with the ... · princeton university and eth...

14
Princeton University and ETH Zürich http://openpiton.org http://pulp-platform.org OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore Processor

Upload: others

Post on 23-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Princeton University and ETH Zürich

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

OpenPiton with RISC-V CoresA Hands-On Tutorial with the

Open Source Manycore Processor

Page 2: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Introduction

2

Page 3: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

What to download?

• RTL, scripts, documentation, FPGA disk images & FPGA bit files:– Download from http://openpiton.org

• OpenPiton GitHub:– https://github.com/PrincetonUniversity/openpiton.git

• Ariane GitHub:– https://github.com/pulp-platform/ariane

• Linux kernel for OS development:– https://github.com/pulp-platform/ariane-sdk

3

Page 4: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Environment setup - Tools

• All other tool versions are listed on http://openpiton.org4

Category Tool/Platform Tested VersionOS Ubuntu 16.04, 18.04

Red Hat 6.6, 7Simulator Synopsys VCS vcs_mx_L-2016.06

Mentor ModelSim 10.6bVerilator 4.014

FPGA Xilinx Vivado 2018.2ASIC Synopsys Design Compiler syn_I-2013.12-SP4

Synopsys IC Compiler icc_I-2013.12-SP4

Page 5: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Environment setup - Paths

1. Source required tool scripts– VCS, Vivado, etc

2. $PITON_ROOT– Should point to the root directory of your piton install

3. $PITON_ROOT/piton/ariane_setup.sh– Sets initial OpenPiton+Ariane environment variables

4. $PITON_ROOT/piton/ariane_build_tools.sh– Builds RISC-V tools, compiles tests

5

Page 6: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Hands-on: Import VM

6

• 1)

• 2)

Page 7: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Hands-on: Import VM

7

Page 8: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Hands-on: Environment setup

1. Start VM and log in1. Username: openpiton2. Password: openpiton

2. Open LXTerm on Desktop3. cd $PITON_ROOT4. source $PITON_ROOT/piton/ariane_setup.sh

8

Page 9: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Where is everything?

10

Page 10: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

$PITON_ROOT

• piton/– Aliased to $DV_ROOT– Home to RTL, tools, assembly tests

• build/– Aliased to $MODEL_DIR– Temporary build files, files from FPGA flow

• docs/– Documentation as seen on http://openpiton.org

11

Page 11: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

piton/

• design/– Top level of the RTL module tree– Structure follows verilog module hierarchy– Ariane submodule located under: piton/design/chip/tile/ariane

• tools/– Home to all simulation, synthesis, FPGA tools

• verif/– Location for all verification-related files

12

Page 12: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Useful Paths

• Where’s the RTL?– piton/design/*/rtl/

• Where are the assembly test cases?– piton/verif/diag/assembly/

• Where are the module-agnostic backend scripts?– FPGA: piton/tools/src/proto/– ASIC: piton/tools/synopsys/

• Where are the module-specific backend scripts?– FPGA: piton/design/*/xilinx/– ASIC: piton/design/*/synopsys/script/

13

Page 13: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

What can I do with OpenPiton+Ariane?

• Simulation• ASIC Synthesis & Backend• FPGA Synthesis & Backend• Validation• Configuration• OS Development

14

Page 14: OpenPiton with RISC-V Cores A Hands-On Tutorial with the ... · Princeton University and ETH Zürich OpenPiton with RISC-V Cores A Hands-On Tutorial with the Open Source Manycore

Documentation

• Microarchitecture Specification– Specification of uncore microarchitecture

• Simulation Manual– How to use, add to simulation infrastructure

• Synthesis and Back-end Manual– Details infrastructure, how to run flows, porting

• FPGA Prototype Manual– Details infrastructure, implementation, porting

15