Tutorial: Schematic and layout¶
NOTE: Before starting this tutorial, you should have built the design from Tutorial: Create a circuit
You can follow along with this tutorial in the video above. Below is a transcript to make the code and text easier to read.
Key Concepts¶
- JITX generates both schematic and board from your code
- Schematics are fully flattened with globally unique net names
- Hierarchical structure from code is preserved in schematic organization
- Example:
core.ctl.EEPROM
shows EEPROM module inside controller inside communications core
Multi-Page Management¶
- Moving Groups to New Pages:
- Select groups with Shift + click
- Press
Shift + 2
to move to page 2 - Hierarchical diagram automatically added
- Connections across pages become multi-page ports
-
Text labels on same page remain as plain text
-
Group Management:
- Press
Q
to merge groups with same parent - Merged groups move together
- Schematic wires automatically routed between groups
2. Net Naming and Symbols¶
Naming Nets in Code¶
# Name a bundle
net USB-DATA (ctl.USB usb-if.USB)
# Name power nets
net VBUS (ctl.VDD-USB.V+)
net P3V3 (ctl.rail-3v3.V+)
net GND (ctl.rail-3v3.V-)
Adding Symbols¶
# Assign symbols to nets
symbol(GND) = GND-SYMB
symbol(VBUS) = PWR-SYMB
symbol(P3V3) = PWR-SYMB
Effects and Benefits¶
- More informative net names in schematic
- Consistent power and ground symbols
- Improved schematic readability
- Layout hints for automated placement
- Changes preserve existing manual adjustments
3. Schematic UI Operations¶
Basic Controls¶
- Move: Select and drag
- Rotate:
R
key - Mirror:
X
: Horizontal mirrorY
: Vertical mirror- Multiple views: Press new view button
Wire Management¶
- Split wires: Select wire + Delete
- Delete extra net symbols for cleaner routing
G
: Organize ports (auto-arrange connections)L
: Relayout group (repack optimization)
Layout Reuse¶
- Copy/Paste Layouts:
- Arrange one instance of repeating circuit
- Select group
Ctrl + C
to copy-
Ctrl + V
to paste layout to similar groups -
Auto-organization:
L
: Local layout optimizationG
: Organize ports around symbols- Helpful for bypass capacitors and similar repeated structures
4. Advanced Features¶
Command Interface¶
- Open with backtick (`)
- Find components:
find R1?
(finds all resistors starting with R1) - Select found items:
select R1?
- All hotkeys can be rebound
- Custom commands can be added
Issues Panel¶
- Shows potential export problems
- Double-click to jump to issue location
- Common issues:
- Wire overlaps
- Text label overlaps
- Connection problems
5. Design Philosophy¶
Remember these key points: 1. Schematic UI is for layout only: - Cannot change connectivity - Focus on readability and organization - All connections managed in code
- Code-First Approach:
- Design correctness comes from code
- UI preserves manual adjustments
- Powerful code can generate hundreds of pages
-
Schematic editing is lowest level of design
-
Best Practices:
- Name important nets for clarity
- Use consistent symbols for power/ground
- Organize similar circuits consistently
- Resolve issues before export
- Use multi-page organization for complex designs
Common Operations Reference¶
Operation | Command | Purpose |
---|---|---|
Move to Page 2 | Shift + 2 |
Create multi-page schematic |
Merge Groups | Q |
Combine related groups |
Rotate | R |
Rotate selected items |
Mirror H/V | X /Y |
Mirror horizontally/vertically |
Organize Ports | G |
Auto-arrange connections |
Relayout | L |
Optimize group layout |
Command Menu | ` |
Access command interface |
Split Wire | Delete |
Break wire connection |
Remember that the help menu (?) provides quick access to all available commands and their keyboard shortcuts.