Skip to content

jimTheSTEAMClown/HighSchoolCourses

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HighSchoolCourses

Digital Logic Fundamentals - Introduction To Logic & Logic Systems

This is a set of High School Course Modules for teaching Digital Logic, and Introduction to Chip making and the process to go from Logic, to RTL to GDS-II with the OpenROAD and OpenLANE process.

Unit Topics, Modules & Lessons The following modules will have a set of Lessons. Each Lesson will have 📰 Lecture Slides, will be acompanied by a 🖼️ Tutorial, 🛠️ LAB Activity, and links to ✨ Resources. ALso each Lesson, will have 📖 📝 Reading/Writing, 🚀 Quiz, 🔎 Review and ✔️ Mastery Check assignments. The Lecture Slides and Tutorials will be linked to Google slides and docs, where as the assignments (📖 📝 Reading/Writing, 🚀 Quiz, 🔎 Review and ✔️ Mastery Check assignments) will be hosted in a Canvas LMS class Archive.

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

Source Links and Intermediate Builds: The current location of most of the source files are on Jim The STEAM Clowns Google Mechatronics - Digital Logic Site, where there is additional links to Google Slides, Docs and Canvas LMS class Labs and Assignments.

Note To Future Teacher:

How To Use This Beta / Early Access

This material is a work in progress. It's also a collaborative effort. If you want to connect, work on some of these modules, make edits, add your own content, please connect with Ji Burnham (AKA jim The STEAM CLown) at TopClown@STEAMClown.org

The goal is to have a set of lessons, that scaffold and have students ready to learn about the RTL2GDS chip flow. I'm expecting that many of your students will need to learn about logic gates in general, and probably more about higher level structures/macros like Counters and Shift Registers… All of these lessons still need to be finalized, and this initial goal (Targeting DAC July 2023) is to have the specific OpenROAD Introduction, Tools and Project installed correctly and the ability to run some verification scripts on a Default build of the GCD (Greatest Common Divisor) design. Lastly we have a "Add Your Own Verilog" Design presentation. Stay tuned for all the follow-on Lessons to do a deeper dive into the Synthesis flow, layout, Timing optimization, etc. Like I said, get involved if you would like to contribute.

Modules

✨ Digital Logic Introduction

(Target release: Nov 2023-Feb 2024) This is a Module focused on the introduction of Digital Logic Gates and Flip/Flops. It will cover: Digital Logic Introduction, Binary Numbering systems, How Transistors make Gates, Basic logic gates like AND, OR, INV, NAND, NOT, XOR, and XNOR, Combinational Logic circuits, Multiplexers, Decoders and Encoders, Adding and Accumulators, Latches and Flip/Flops, Shifting and Counting

Modules deliverables will include: (about 4 hours of 30 min Lectures & 8+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀

Topics:

  • Digital Logic Introduction
  • Transistor & Semiconductor Introduction
  • Logic Gates Introduction
  • Digital Logic Gates & Flip/Flops - AND'ing and OR'ing the World
  • Multiplexer, Decoders, Encoders, Adding, Accumulating, & Counting

✨ Digital Logic - 555 Timer (Kinda Digital, Kinda Analog)

(Target release: Nov 2023-Feb 2024) This is a Module about focused on 555 timers and how they generate Pulse, Astable, Monostable, Bistable (flip-flop) and Schmitt trigger (inverter) mode.

Modules deliverables will include: (about 2 hours of 30 min Lectures & 4+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀

Topics:

  • 555 Introduction and Timer Labs

✨ Digital Logic - Meet A Few More Chips - Counting, Shifting, and Math

(Target release: Nov 2023-Feb 2024) This is a Module about focused on The different ways to count, and shift. It will also focus on more complex chips like an ALU doing math.

Modules deliverables will include: (about 2 hours of 30 min Lectures & 4+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀

Topics:

  • Counters, Shift, and ALU

✨ Digital Logic - VHDL/Verilog Introduction:

(Target release: Nov 2023-Feb 2024) This is a Module focused on the relationship between schematic and text based description. it will explore VHDL and Verilog implementations ot some of the logic studied in previous modules.

Modules deliverables will include: (about 2 hours of 30 min Lectures & 4+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀

Topics:

  • Digital Logic - VHDL/Verilog Introduction
  • VHDL/Verilog Build some of the same logic Schematic circuits using VHDL/Verilog

✨ Digital Logic - RTL-GDSII Introduction:

(Target release: Nov 2023-Feb 2024) This Module will cover the generation of RTL and the flow to generate GDSII

Modules deliverables will include: (about 2 hours of 30 min Lectures & 4+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀

Topics:

  • RTL-GDSII flow Intro
  • RTL-GDSII simulation and verification flow

✨ Digital Logic - Introduction to the OpenROAD Project:

This Module will cover the OpenROAD flows and Scripts

Notes: This is a comment from @dralabeing that I need to follow up on, where to add some more timing analysis: Timing analysis is generally done at different stages- first time pre-layout after CTS, post-global-routing, after detailed routing and chip finishing. So this topic can be introduce sooner.

Modules deliverables will include: (about 4 hours of 30 min Lectures & 8+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀
  • GitHub - https://github.com/The-OpenROAD-Project

✨ OpenROAD Lesson/Module Topics:

  • Open ROAD - Introduction:

In this lesson you will get an overview of the OpenROAD project, the OpenROAD golas, and an introduction to the OpenROAD flows.

  • OpenROAD Introduction - 📰 Slide Presentation (Coming July, before DAC - Placeholder Link)

  • Open ROAD - Tools and Project Installation & Build Steps:

In this lesson you are going to learn the steps to create your first Open ROAD project. You will learn the options to 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

  • OpenROAD - Tools and Project Installation - 📰 Slide Presentation - (Draft for DAC - July 2023)

Additional Topics

  • RTL-GDSII simulation and verification flow
  • Building blocks of open-source design (this should introduce .libs. .v source and public pdks briefly if not covered in the previous module covering RTL-GDSII)
  • Running the OpenROAD flow from RTL-GDSII (key stages and intermediate results briefly)
  • Key advantages and features of OpenROAD flow
  • OpenROAD GUI Introduction
  • Validating the design for Tapeout - My First Chip Labs - 4-5 labs that incorporate the following steps, to complete a design ready for submission - Lab #1 - Initial tools and flow for placement setup
    • Initialize floorplan - define the chip size and cell rows
    • Place pins (for designs without pads ) - Lab #2 - Using Macros and other Structures
    • Place macro cells (RAMs, embedded macros)
    • Insert substrate tap cells
    • Insert power distribution network
    • Macro Placement of macro cells
    • Global placement of standard cells - Lab #3 - Checking and Adjusting Timing and Placement
    • Repair max slew, max capacitance, and max fanout violations and long wires
    • Clock tree synthesis
    • Optimize setup/hold timing - Lab #4 - Finishing Touches
    • Insert fill cells
    • Global routing (route guides for detailed routing)
    • Antenna repair
    • Detailed routing
    • Parasitic extraction - Lab #5 - Final Analysis
    • Static timing analysis
  • Contributing to the open-source design community using the OpenROAD ecosystem
  • Links that will help us build this project:
  • https://github.com/The-OpenROAD-Project/HighSchoolCourses

✨ Digital Logic - Tiny TapeoutLogic Gates to Chip Layout:

This is a Module about learning how to make a silicon chip and the process that goes into making it. I'll be posting my lessons, presentations, labs and other resources. This is primarily a Resource Page, so that means it's a Mish-Mash of Silicon Wafer process content.

Modules deliverables will include: (about 4 hours of 30 min Lectures & 8+ hours of Lab & Assessment activities)

  • Google Docs: Slide Presentation 📰, Lesson Tutorial 🖼️, Resources ✨
  • Canvas LMS Module: LAB Activities 🛠️ and Formative & Summative Assessments 🚀

Topics:

  • Tools & Wokwi
  • Student project design
  • Git Flow
  • Submit design to verification flows
  • Final design submission
  • Silicon Prototype Verification

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 77.8%
  • Verilog 12.6%
  • Tcl 5.6%
  • Makefile 4.0%