Skip to content

Tutorial: Organizing a Schematic

Note

Before starting this tutorial, you should have built the design from Tutorial: Build circuits with code

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

  1. Moving Groups to New Pages:
  2. Select groups with Shift + click
  3. Press Shift + 2 to move to page 2
  4. Hierarchical diagram automatically added
  5. Connections across pages become multi-page ports
  6. Text labels on same page remain as plain text

  7. Group Management:

  8. Press Q to merge groups with same parent
  9. Merged groups move together
  10. 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 mirror
  • Y: 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

  1. Copy/Paste Layouts:
  2. Arrange one instance of repeating circuit
  3. Select group
  4. Ctrl + C to copy
  5. Ctrl + V to paste layout to similar groups

  6. Auto-organization:

  7. L: Local layout optimization
  8. G: Organize ports around symbols
  9. 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

  1. Code-First Approach:
  2. Design correctness comes from code
  3. UI preserves manual adjustments
  4. Powerful code can generate hundreds of pages
  5. Schematic editing is lowest level of design

  6. Best Practices:

  7. Name important nets for clarity
  8. Use consistent symbols for power/ground
  9. Organize similar circuits consistently
  10. Resolve issues before export
  11. 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.

Continue to the next tutorial Tutorial: Autoroute and layout