Circuit Design#
In JITX, circuit design is expressed as code. Rather than drawing schematics by hand, you define your circuits programmatically using Python classes. This approach enables powerful abstractions, reusable modules, and design automation that would be impossible with traditional schematic capture.
The core building blocks are Circuits and Components. Components represent physical parts (resistors, ICs, connectors) while Circuits are logical groupings that organize components into functional modules. Together they form a hierarchical circuit graph that JITX compiles into schematic and layout data.
JITX’s code-based approach unlocks capabilities like pin assignment, where the tool automatically selects optimal pin configurations, and introspection, where your code can query and respond to the design structure.
This series covers the fundamentals of circuit design in JITX:
Design Hierarchy - Understanding the circuit graph and how Circuits and Components relate
Object Relationships - How Ports, Pins, Pads, Nets, and other objects connect
Building the Design - Creating a complete Design with a Board, Substrate, and Circuit
Pin Assignment - Defining flexible pin configurations with provide/require
Introspection - Querying the design tree programmatically
Recursive Designs - Working with recursive circuit structures
Footguns - Common pitfalls and how to avoid them
Circuit Design
- Design Hierarchy
- Circuits & Components
- Understanding JITX Object Relationships
- Top-Level Design Entity
- Substrate & Stackup
- Pin Assignment
- Design Introspection
- Recursion & Cyclic Circuit Graphs
- Footguns: Here Be Dragons