1 of 39

OpenROAD Installation

May 13, 2023

STEAM Clown ™ Productions

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

2 of 39

Teachers: Before You Present

  • Update the Canvas Links, or Delete the bullets linking to Canvas links (Typically Labs)

2

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

3 of 39

Licensing & Attribution

My Open Source Philosophy - I have come to realize that I’m really not competing with other teachers. Maybe I have some local competition, �but in reality, if a student is not coming to my class or my school, then I’m not competing with other teachers in any way… If you work more than a �District away, then we really are not competitors. Let's Share... Collaborate... Help each other... I, and you, may have sweat blood and tears developing a lesson plan, a lab, or presentation… There is an ENORMOUS unpaid value there… I get that… I don’t begrudge teachers who are trying to sell their collateral… I’m just saying that is not what I’m going to do. This is my plan… I’m going to share virtually everything I develop. Join Me!!! See More

CC BY-NC-SA 4.0

https://creativecommons.org/licenses/by-nc-sa/4.0/

https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode

GNU Public License & EUPL (European Union Public Licence)

Any included or linked Programming Code Is licensed under GNU General Public License v3.0 & and / or licensed under EUPL 1.2 or later

See the Appendix for Additional Licensing & Attribution Information

3

Please maintain this slide with any modifications you make:

This content is licensed as Open Source / Creative Commons: A Specific use license has been provided by both STEAM Clown, and The OpenROAD Foundation.

Much of the content in these slides is a Re-Telling of material provided by �The OpenROAD Foundation and the Teams over at UC San Diego (prime), Precision Innovations, U. Michigan, U. Minnesota, Arizona State U., Arm, Qualcomm. I have modified the material some, to work better for my Mechatronics Engineering class and other High School STEAM Classes.

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

4 of 39

Sponsorship Page

I would like to thank <Your Company or Organization Here> for their generous support of my classroom and curriculum development. <Your Company or Organization Here> has <Your value proposition, call to action, & related content and message>

(If you would like to sponsor this presentation, please contact TopClown@STEAMClown.org )

4

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

5 of 39

Resources & Materials Needed

  • Linux (PC, Laptop
    • Recommended 4 core and 16M ram
    • Ubuntu or Debian Linux (I use Ubuntu)
  • Each lesson will have specific items needed to complete the labs and tasks

5

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

6 of 39

Objective, Overview, & Introduction

  • In this lesson you are going to learn the steps to create your first Open ROAD project. You will execute the following steps:
    • Install or upgrade a Linux image on a computer or setup a virtual machine
    • Run the setup scripts (An automated shell setupOpenROAD.sh will be provided to do most of the heavy lifting)
    • Setup the Visual Studio Code tools
    • Validate your install is good and completed without errors

6

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

7 of 39

What You Will Know...

Prior Knowledge & Certifications

  • It helps to know Verilog and other basic Logic design

What You Will Know & Be Able To Do

  • Understand the Install scripts
  • Run and setup a valid OpenROAD project
  • Be able to verify that your installation project image is correct
  • Be ready to start your first project

7

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

8 of 39

How You Will Be Measured

  • You will show the ability to explain the key lesson concepts
  • Answer a few Quiz questions
  • Demonstrate your understanding of the concepts through hands on lab activities

8

Skills Based LABS

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

9 of 39

Essential Questions

  • Why are OpenSource project so hard to install?

9

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

10 of 39

New Words or Concepts...

  • OpenROAD
  • Shell Scripts
  • build
  • source (sourcing an environment)
  • log files

10

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

11 of 39

When You See:👉 Try This:

  • You will have many opportunities to try out and expand your skills. Take these opportunities.

11

print("Hisssssssssss")

Try This 👉

Try This

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

12 of 39

Linux Setup

12

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

13 of 39

Do You Need To Build A Clean Linux Build?

If you are going to build a clean Linux build, consider using the following steps:

13

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

14 of 39

Building the OpenROAD Linux Setup

14

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

15 of 39

Where to Start - OpenROAD

You can explore the OpenROAD site, but come back in a few minutes and follow the steps in the next slides

TheOpenROADProject.org

15

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

16 of 39

OpenROAD Project Build Setup

16

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

17 of 39

OpenROAD Setup Slides

  • Talk about linux project directories
  • run setup shell scripts
  • verify that build was successful (Proof?)

17

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

18 of 39

OpenROAD Setup Build Shell Script

https://raw.githubusercontent.com/jimTheSTEAMClown/HighSchoolCourses/main/OpenROAD_Build_Setup_Script.sh

18

Before you just blindly run this script, let's discuss the commands and what they are doing.

You want to have a bit of context.

Update the script and validate a few times

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

19 of 39

Before You Do Anything…

$ cd�$ pwd�$ sudo apt-get update�$ sudo apt-get upgrade -y

19

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

20 of 39

Create a OpenROAD Flow Scripts Directory

$ mkdir -p -m 744 ORFS�$ ls -l�$ cd ORFS�$ pwd�$ ls -l

20

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

21 of 39

Clone the OpenROAD project build

$ git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts

$ ls -l

  • See the OpenRoad scripts directory�that has been created
  • Next you will install the OpenROAD project

21

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

22 of 39

Install & Build The OpenROAD Project

$ cd OpenROAD-flow-scripts�$ sudo ./setup.sh�$ ./build_openroad.sh --local

22

These scripts setup and build the project directories. When done, you should have all the files and directories to build an OpenROAD project.

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

23 of 39

Verifying the Project Build

$ source ./env.sh�$ yosys -help�$ openroad -help�$ cd flow�$ make

23

The make command runs the project build RTL-GDSII generation for a default design gcd with nangate45 pdk

The Makefile in the flow directory, has different projects commented out. The default design project that will run is:

DESIGN_CONF ?= ./designs/nangate45/gcd/config.mk

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

24 of 39

GUI View Of The Default nangate45 pdk

$ make gui_final

24

If you got this far, you have verified a successful build of an OpenROAD RTL-GDSII generation project

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

25 of 39

Next?

Project Directory Overview

25

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

26 of 39

Summary

Congratulations, You have build an OpenROAD Project and now can explore the example design directory structure

Dig Deeper:

26

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

27 of 39

Let's Check Your Understanding

27

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

28 of 39

Review & Application

LAB & Quiz Time

28

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

29 of 39

Thank You…

Questions?

29

Jim Burnham (AKA STEAM Clown)

  • Mechatronics Engineering Instructor at Silicon Valley Career Technical Education (SVCTE)
  • Engineering Teacher, Curriculum Developer, Workshop & Conference Presenter
  • LinkedIn - https://www.linkedin.com/in/jim-burnham-2243018/
  • Top Clown at TopClown@STEAMClown.org
  • Mechatronics Engineering Instructor (AKA Fire Breathing Robots)
  • Want to Support a Teacher? - Here Is How Can You Help

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

30 of 39

Reference Slides

30

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

31 of 39

Education Standards

  • California's 2013 CTE Standards
  • Next Generation Science Standards
  • California Math Common Core Standards
  • California English Common Core Standards
  • California History-Social Science Standards
  • California English Language Development Standards
  • Next Generation Science Standards (1)
  • California's 2013 CTE Standards (2)
  • Related Instructional Objectives (SWBAT...)

31

31

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

32 of 39

32

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

33 of 39

Linux Setup Virtual machine Setup?

33

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

34 of 39

Virtual Machine specific Linux Setup Slides

  • Talk about the whole flow
  • Review the build shell script
    • What is installed and was not part of a clean Linux installation
  • Run the script
  • Verify that all the tools are there

34

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

35 of 39

Appendix

35

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

36 of 39

Licensing & Attribution

Resources, Sourcers, and Attribution:

  • xx

CC BY-NC-SA 4.0

https://creativecommons.org/licenses/by-nc-sa/4.0/

https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode

GNU Public License & EUPL (European Union Public Licence)

Any included or linked Programming Code Is licensed under GNU General Public License v3.0 & and / or licensed under EUPL 1.2 or later

36

Please maintain this slide with any modifications you make:

This content is licensed as Open Source / Creative Commons: A Specific use license has been provided by both STEAM Clown, and The OpenROAD Foundation.

Much of the content in these slides is a Re-Telling of material provided by �The OpenROAD Foundation and the Teams over at UC San Diego (prime), Precision Innovations, U. Michigan, U. Minnesota, Arizona State U., Arm, Qualcomm. I have modified the material some, to work better for my Mechatronics Engineering class and other High School STEAM Classes.

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

37 of 39

Image Reference & Sources

  • nn

37

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

38 of 39

What To Fix, Add, Or Change

Presentation Planning:

38

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.

39 of 39

Key: 📰 Slides / Audio 🎧 / 📽️▶️ Video/YouTube / 🎧▶️📽️ Audio/Video / ✨ Resources / 🖼️ Tutorial / 📖 Reading Activity / 📝 Writing Activity / 📖 📝 Reading/Writing / 📟 Coding / 🛠️ LAB Activity / 🚀 Quiz / 🔎 Review / ✔️ Mastery Check / ✍️ Sign Up /🍕 Extra Credit / 🕸️ Web Links / 👩🏽‍🎓🧑🏽‍🎓🧑🏿‍🎓👩‍🏫 Class / 🏵️📜📃 Certificate

/🧟 Review / 🦾 Practice / 🆙Level Up / 🎚️🦑📤🎯 🚧 - 🦑 Special Project -

Assignment Type: ⚓ Establishing (Minimum Standard) / ⛏️ Developing (Digging Deeper) / 💎 Aspiring (Putting It Together)

This is an ⚓ Establishing Assignment (Minimum Standard) - "Everyone Do" Assignment

This is an ⛏️ Developing (Digging Deeper) - "Everyone Should Do, To Stretch" Assignment

This is an 💎 Aspiring (Putting It Together) - "When you have done the ⚓ Establishing and⛏️ Developing" Assignment

  • 🚀 Formative Quiz - 🔎 Review
  • 🚀 Quiz -🔀 Mastery Path
  • 🚀 Summative Quiz -✔️ Skills Mastery Check
  • 🚀 Formative Quiz -
  • 8.1.0.3.2.4 - Python - Ch 3 - Functions - Quiz #2 -Built-In Functions - 🚀 Formative Quiz
  • 🚀 Quiz -🔀 Mastery Path -
  • 8.1.0.3.3.1 - Python - Ch 3 - Functions - Mastery Quiz #1 - 🚀 Quiz -🔀 Mastery Path
  • 🚀 Summative Quiz -✔️ Skills Mastery Check -
  • 8.1.0.3.3.1 - Python - Ch 3 - Functions - Skills Mastery Check Quiz #1 - 🚀 Summative Quiz -✔️ Skills Mastery Check

39

© Copyright - STEAM Clown TM

Creative Commons Licenses - BY-NC-SA 4.0

STEAM Clown TM Productions

Distribution Statement A - Approved for public release; distribution unlimited.