Skip to content

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

  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.