Learn

coding

web dev

sw engineering

chip design

hw/sw co-design

1-on-1 online with live instructor

Register Now


Courses

1-on-1 Online Training with Live Instructor

Focus on the fundamentals, solve problems, and work on real projects.

Portfolio and skill oriented outcomes. No credentials granted.

Learn using Prospero for video chat, screen sharing, and coding.

Pricing

1-on-1 Course

$3000 / course

Register Now

1-on-1 Weekly

Jr. Web Dev Track: $49 / week

Advanced Tracks: $99 / week

Register Now

Custom Online Training

Interested in custom course content or a different format?

Contact to get a quote

1-on-1 Online Courses with Live Instructor

- 24x 2-hour 1-on-1 classes with flexible scheduling

- 4 hours of class per week over 3 months

- In-depth on a particular subject; semi-custom content based on individual goals


Register Now



1-on-1 Weekly Online Training with Live Instructor

- 2x 1 hour 1-on-1 classes per week with flexible scheduling

- No cohorts. Start immediately. No commitment. Weekly billing.

- Only pay for weeks you schedule class.


Register Now


Junior Web Developer Track
Learn coding and web development with progressively biggers projects designed to prepare you for an entry level web developer job.

Senior Software Engineer Track
Focus on software architecture and practical modern, team-oriented skills and learning new skills like ML.

Chip Designer Track
Study digital design and verification at your own pace using open source tools. Focus on learning core domain knowledge and guiding develop of the next generation of web-based EDA tools. Now with FDSOI! (We are going to start working on FDSOI specific tools even before the PDK is ready.)



Future of Embedded Systems Track
Prepare for the future of embedded and operating system development by learning RISC-V and hardware-software co-design. Work on developing open source reference IoT software for silicon that doesn't even exist yet.

Register for Online Training






First Week Free: Try Weekly Training for a week free with no commitment.

Cancellation Policy: Cancel anytime and don't pay for additional classes.

Intro Software Engineering Courses

Coding (Javascript or Python)

- Hello World / Fizz Buzz
- Math
- Conditionals / Logic / Booleans
- Strings
- Functions
- Loops
- Arrays
- Objects
- Game Project

Start with a quick, free online tutorial.

Register Now

Web Development (Javascript/HTML/CSS)

- HTML basics
- CSS basics
- Javascript Browser Environment
- Sending GET Requests
- Setting up domain, DNS, SSL, nginx, and node
- Javascript Server Environment
- Handling GET Requests
- Sending POST Requests
- Handling POST Requests
- Database write
- Database read
- Website Project

Start with a quick, free online tutorial.

Register Now

Intermediate Javascript (Javascript)

- Async Functions / Promises
- Event System
- DOM
- Object Methods
- Array Methods
- String Methods
- Regular Expressions
- Web APIs
- Web App Frontend Project

Check out the course content and an example outline of the first few hours.

Register Now

Backend Engineering (Javascript/SQL)

- Nginx
- Node.js
- SQL
- NoSQL
- CAP Theorem
- ACID vs BASE
- REST API Design
- WebSockets
- Web App Backend Project

Register Now

Advanced Software Engineering Courses

Software Architecture (multiple languages)

- Programming Paradigms
- Test Driven Development
- SOLID Principles
- 12 Factor App
- Continuous Integration / Agile
- Using Frameworks
- Evaluating Technologies
- Organizational Behavior
- Software System Design Project

Textbook: Clean Architecture: A Craftsman's Guide to Software Structure and Design, Martin, Robert

Register Now

Practical Software Engineering Techniques (multiple languages)

- Git
- Style Guides
- Debugging
- Refactoring
- Documentation
- Testing
- Pairing
- Zen of Python
- Convention vs. Configuration
- Principle of Least Astonishment
- Open Source Contribution Project

Textbook: Code Complete: A Practical Handbook of Software Construction, McConnell, Steve

Textbook: The Pragmatic Programmer: Your Journey to Mastery, Thomas, David; Hunt, Andrew

Register Now

Machine Learning (Python/TensorFlow)

- Python Refresher (optional)
- TensorFlow Basics
- Layers
- Parameters
- Training
- Inference
- Models
- Transfer Learning
- Machine Vision
- Natural Language Processing
- Tensors
- ML Hardware
- Image Classifier Project

Register Now

Computer Science (Python/C/Javascript)

- Graphs
- Trees
- Hash Tables
- Big O Notation
- Computational Complexity Classes
- Sorting
- Search
- Intro to Set, Order, and Category Theory
- Chomsky Hierarchy
- Web Scale Project

Register Now

Systems Programming (C)

- Hello World / Fizz Buzz
- Math
- Conditionals / Logic / Booleans
- Strings
- Functions
- Loops
- Arrays
- Structs
- Pointers
- Defines
- Enums
- Compiler Flags
- ELF / ABI / Calling Conventions
- Arduino Project

Register Now

Semiconductor Design Courses

Digital Design (Verilog)

- Combinatorial Logic
- Intro to Verification
- Flip-Flops / Clock / Reset
- Gate Level Verilog
- Muxes / Buses
- Finite State Machines
- Calculator Project

Register Now

Open Source VLSI (Verilog)

- Overview of Fabrication
- Overview of Design Process
- OSS Tools
- Writing Synthesizable Verilog
- Functional Verification
- Formal Verification
- Physical Domain Basics
- Power, Reset, and Clock
- Static Timing Analysis
- PSPICE
- Timing Corners
- PPA Optimization
- SoC Module Project

Textbook: CMOS VLSI Design: A Circuits and Systems Perspective (4th Edition), Weste, Neil; Harris, David

Register Now

Formal Verification (System Verilog Assertions)

- Intro to Formal Property Verification (FPV)
- Assert, Cover, and Assume Statements
- Concurrent Assertions
- Properties and Sequences
- SMT Solvers
- TLA+
- Liveness
- Formal Equivalence Verification (FEV)
- Post-Silicon Debug
- Cache Project

Textbook: Formal Verification: An Essential Toolkit for Modern VLSI Design, Erik Seligman, et al.

Register Now

Computer Architecture (Verilog)

- Turing Machine / Von Neumann Architecture
- Accumulator Machines
- 6502 / 6800
- Classic RISC Pipeline
- DSP / VLIW
- Branch Prediction
- Superscalar
- SIMD
- Low-Power 2/3 stage pipelines
- RISC-V Project

Textbook: Computer Architecture: A Quantitative Approach, Hennessy, John; Patterson, David

Textbook: The RISC-V Reader: An Open Architecture Atlas, Patterson, David; Waterman, Andrew

Register Now

STEM Essentials for EE

- Solving linear equations
- Higher order functions
- Kinematics
- Thermodynamics
- Information Theory
- Electromagnetics
- Electrochemistry
- Materials
- Statistics
- Scientific Method
- System Design Project

Register Now

EE Core

- Circuit Theory
- Electronics
- RF
- Semiconductor Devices
- Amplifier Project

Register Now

Analog / Mixed-Signal Design (Magic/Tcl/PSPICE)

- Magic
- PSPICE
- Transistor Model
- Opamp Design
- Design Iteration
- Parasitic Extraction
- Mixed-Signal Design
- PLL Design
- ADC Project

Register Now

RF Design (Magic/Tcl/PSPICE)

- Super Heterodyne Transceiver
- Power Amplifier Design
- Low Noise Amplifier Design
- RF Mixer
- Impedence Matching
- Oscillators
- Inductors
- SERDES
- 915 Mhz Transceiver Project

Register Now

Low Power Design (PSPICE/Verilog/Python)

- Clock Gating
- Clock Domain Crossings
- Sychronizers
- Async FIFOs
- Frequency Scaling
- Microarchitecture for Low Power
- System Architecture for Low Power
- Low Power ASIC Project

Register Now

SoC Design (PSPICE/Verilog/Python)

- RISC-V System Model
- Memory Map Design
- Bus Design
- Cache Hierarchy Design
- I/O Design
- Floorplanning
- Clock Domain Design
- Multiprocessor Systems
- Network-on-Chip
- SoC Project

Register Now

Semiconductor Tech Seminar: Overview of Post-Denard Scaling Era Technologies

- FinFET
- FDSOI
- Advanced Packaging
- Wafer Processing
- UCI
- RFSOI
- SiC/GaN
- Aging
- Multiphysics Simulation
- EUV
- Post-FinFET

Primary Resource: semiengineering.com

Register Now

Hardware / Software System Design Courses

PCB Design (KiCad)

- KiCad Basics
- BOM Costs
- Packages
- Schematics
- Wiring
- EMC
- Stackups
- Mixed-Signal
- Impedance Control
- Microstrip / Stripline
- Automation
- Board Level Simulation
- Assembly and Testing
- Enclosures and Product Packaging
- Certification Process
- PCB Project

Register Now

Firmware Development (C/Zig)

- Bare Metal Environment
- Super Loop
- Task-based RTOS
- Device Drivers
- Boot
- Updates
- Constrained Device Patterns
- Cross Compilation
- Simulation
- Firmware Project

Register Now

RISC-V Assembly Programming (RISC-V Assembly)

- RISC-V ISA
- Math
- Conditionals
- Loops
- Functions
- Traps
- Memory Map
- WebAssembly Intro
- Platformer (Game) Project

Register Now

Hardware Security (C/TLA+/SVA)

- Hardware CWEs
- Networking
- Boot Vulnerablities
- Secure Update Patterns
- OTA Update Project

Textbook: Security Engineering: A Guide to Building Dependable Distributed Systems, Anderson, Ross

Register Now

Compiler Design (Zig/Lox/C)

- Parsing
- Semantic Analysis
- Code Generation
- JIT Compilation
- Whole Program Analysis
- Compiler Project

Textbook: Crafting Interpreters, Nystrom, Robert

Register Now

Operating System Design (Zig/Lox/C)

- Memory Management
- Process Management
- Scheduling
- Communication
- Linux
- FreeRTOS
- Operating System Project

Register Now

Hardware-Software Co-Design (PSPICE/Verilog/Python + Zig/Lox/C + Javascript/HTML/CSS)

- Simulation Environments
- Scope of Simulation
- Build Systems
- FPGA-based Development
- Triple Stack (App + System SW + HW)
- Hardware Generation
- Automated Verification
- Triple Stack Proofs
- Performance Envelopes
- Economics of Co-Design
- Scraping / ETL / API + PDK Wrangling
- ML for Datasheets
- IoT Project

Register Now

Special Course: Verilog for Software Engineers

Learn the basics of chip design and verification using Verilog.

At the end of the course you'll have a tested design that is ready to tapeout on Skywater's 130nm process.

Project: Create a custom I/O module and integrate it into a RISC-V SoC design using open source ASIC design tools

Register Now

About the Instructor

Steve Goldsmith is the founder and lead instructor of Aurifex Labs.

Steve worked for 6 years as a STEM tutor and Python coding teacher including co-founding Bay Area Summer Enrichment Camp where he taught Python to over 100 students. Steve has developed games (Python/C++), audio software (C++), and web applications (JS/HTML/CSS).

For the past decade, he has been studying compilers, computer architecture, programming languages, and VLSI in pursuit of next generation general purpose computing. Steve developed Prospero and is currently working on RISC-V cpu design and verification.

Steve is passionate about teaching coding and electrical engineering, has a BSEE from Wilkes University, and lives in Denver, Colorado, USA.

Contact Github


Register Now

Open Source

Prospero

Source Try

Pair programming web app. Video, screen sharing, code editor, whiteboard, and file system.

Chiptastic

Source Try

Open Source EDA tool; mostly a digital design place and route tool with a minimal set of standard gates, but you can draw all over it at various zoom levels. So it is really a high level design tool that can be used for floorplanning or bit-slice planning. The goal is to integrate with OpenLane, Skywater130 PDK, and other OSS EDA tools.

MPW5

PSRAM and PRNG

Source

MPW6/7

RISC-V SoC

Source

External Resources

Canonical Online Resources

MDN

semiengineering.com

Textbooks

Clean Architecture: A Craftsman's Guide to Software Structure and Design, Martin, Robert

Code Complete: A Practical Handbook of Software Construction, McConnell, Steve

The Pragmatic Programmer: Your Journey to Mastery, Thomas, David; Hunt, Andrew

CMOS VLSI Design: A Circuits and Systems Perspective (4th Edition), Weste, Neil; Harris, David

Formal Verification: An Essential Toolkit for Modern VLSI Design, Erik Seligman, et al.

Computer Architecture: A Quantitative Approach, Hennessy, John; Patterson, David

The RISC-V Reader: An Open Architecture Atlas, Patterson, David; Waterman, Andrew

Security Engineering: A Guide to Building Dependable Distributed Systems, Anderson, Ross

Crafting Interpreters, Nystrom, Robert

OSS EDA

Matt Venn's Zero To Asic Course

Efabless Open MPW Shuttle Program

Skywater PDK - Open Source 130nm PDK

Consulting Services

Hourly Consulting

$375 / hr

VLSI / RISC-V Consulting

Services include: System Architecture, Microarchitecture, RTL Design, Functional Verification, Timing Verification, Formal Verification, Physical Design, Board Design, and Hardware Security.

We are getting ready to tape out a 2-stage pipeline RISC-V design. We aim to be ready to provide comprehensive low-power SoC design and verification services by Q2 2023.

My ability to combine web development experience and VLSI domain knowledge to quickly develop web-based EDA tools is a unique value offering. We would love to engage with potential clients as soon as possible to better understand the current needs of the rapidly changing semiconductor industry.

Embedded System / Linux Development (C/C++/Zig)

General Software Development (any language)

Full Stack Web Development (VanillaJS/NodeJS)

Debugging / Pairing (any language)

Need help debugging? We can help you get to the bottom of it; however deep the bottom is.

Quick Turnaround Web App Development

I will build a small web application (typically engineering oriented) designed for a single actual user (typically a technical SME).

See Chiptastic v0.1. Delivery of a standalone web application of similar scope in 10 days.

It will be usable, i.e., not a prototype or proof-of-concept, but there will be bugs and workarounds. Data will most likely be stored as plain old JSON.

10 day deliverable: $25K

I can do a second iteration that fixes critical bugs and addresses workarounds that are in the user's path of flow. Delivered in 30 days.

Second iteration: $15K

Research Projects

These projects have been in development for years at this point and will be for years to come. Prices and business models are for design purposes; stong design, weakly held.

Aurifex Computer Family

The project that started and still drives Aurifex Labs. This has been in development for over a decade and may well be in development another decade.

Server

RISC-V deterministic, low-power cores for the cloud. 1U rack mount. Can be custom built from standard log data on running production apps to drastically lower datacenter energy use or reduce latency. Planned for the Aurifex Cloud.

Workstation

A secure, collaborative desktop computer that let's you develop all the way down. Old school inspiration, but taking advantage of this new golden age of semiconductors. Develop and debug datapaths like you would any other code without simulation and with real I/O.

Browser-on-a-chip

A low cost browser-on-a-chip based laptop for education and everyday use. All roads lead here; the prize at the bottom of the cereal box.

Dumb Phone

No app store. Security and privacy oriented. Low cost 5G dumb phone with text, voice, maps, and email.

Aurifex Cloud

Security: FIDO2 MFA + peer video ID proofing

Networking: Low latency with video conferencing and collaboration in mind

Compute: uServer - 25 MIPS RISC-V, 16 MB ram

Storage: Deterministic latency, hardware based security

Aurifex IoT Studio

RISC-V Consumer/Industrial/AgTech IoT Platform

Matter+5G capable RISC-V IoT platform with secure lifecycle (development, test, provisioning, ota updates, and decomissioning)

Targeting 130nm, 90nm, 65nm, 45nm, 28nm, and 22nm processes.

A New Golden Age for Computer Architecture is upon us and it's time to get ready for the gold rush. Order your shovel now!

Culinary schools teach knife skills, not how to use infomercial products. Learn the tech equivalent of knife skills from a live instructor.


Register Now