0% found this document useful (0 votes)
61 views333 pages

Zynq SoC Architecture and Design Overview

Uploaded by

Uğur Keleş
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views333 pages

Zynq SoC Architecture and Design Overview

Uploaded by

Uğur Keleş
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

software and custom hardware logic.

In systems where both high-level software execution


and custom hardware acceleration are required, SoCs with integrated FPGA fabric allow
designers to harness the strengths of both paradigms within a single device.

Course Block Diagram and Sub-Parts Explanations

Board / System Context

Mezzanine (Top)

A mezzanine connector is a board-to-board expansion interface mounted on the top side of


the main PCB. It exposes selected PS/PL signals, power rails, and clocks to an add-on card.
This allows modular expansion (e.g. ADCs, motor drivers, RF modules) without redesigning
the base board.

Mezzanine (Bottom)

The bottom mezzanine serves the same purpose as the top one but increases pin count,
routing flexibility, and mechanical separation. Using both top and bottom mezzanines
allows higher I/O density and better segregation of noisy or high-power modules from
sensitive logic.

Main Device
AMD/Xilinx Zynq System-on-Chip

Zynq is a heterogeneous SoC that integrates a hard ARM processor system and FPGA fabric
on the same silicon. It enables tight coupling between software (running on ARM cores) and
custom hardware logic (implemented in FPGA), reducing latency and component count
compared to discrete CPU + FPGA designs.

PS (Processing System)

The Processing System is the hardwired ARM subsystem inside Zynq. It includes CPU cores,
DDR controller, boot ROM, and standard peripherals (Ethernet, USB, SD, UART, QSPI). The PS
runs Linux or bare-metal software and handles system control, networking, and high-level
tasks.

PL (Programmable Logic)

The Programmable Logic is the FPGA fabric portion of Zynq. It is used to implement custom
hardware accelerators, real-time processing, and application-specific peripherals. The PL can
communicate with the PS through high-bandwidth internal interfaces and can directly drive
external I/O.

Memories (Left Side)

QSPI Flash (16 MB)

QSPI Flash is a non-volatile serial memory used primarily for booting the system. It stores
the First Stage Bootloader, FPGA bitstream, and optional firmware components. It is simple,
reliable, and commonly used as the primary boot source.

eMMC Memory (4 GB)

eMMC is a managed non-volatile storage device accessed via an SDIO interface. It provides
higher capacity and better reliability than raw NAND flash and is typically used to store the
Linux kernel, root filesystem, and user data.

DDR3L Memory (512 MB)

DDR3L is external volatile system RAM directly connected to the Zynq PS DDR controller. It
is used as main memory for the operating system and applications. DDR3L requires strict
routing, impedance control, and power integrity to function correctly.

DDR3L Memory (512 MB)

A second DDR3L device may be used to increase memory capacity or bandwidth, depending
on bus width and controller configuration. Multiple DDR devices increase layout complexity
but improve system performance for memory-intensive workloads.
Memory / Interface Labels

QSPI

QSPI refers to the quad-SPI interface connecting the Zynq PS to the QSPI Flash. It allows
faster boot times compared to single-SPI by transferring multiple bits per clock cycle.

SDIO

SDIO is the SD-card–style interface used to communicate with eMMC memory. It supports
multiple data lines and higher transfer rates, making it suitable for OS and filesystem
storage.

Debug / Programming / USB (Right Side – Top)

JTAG / UART

JTAG is used for hardware debug, programming, and boundary scan, while UART provides a
serial console for boot logs and low-level software interaction. These interfaces are essential
for development and bring-up.

FTDI USB-UART / JTAG

An FTDI chip converts USB from a host PC into UART and/or JTAG signals. This allows
programming and debugging the board using a standard USB cable without external debug
hardware.

USB Micro-B

USB Micro-B is the physical connector used to connect the board to a PC for debugging,
programming, or serial communication through the FTDI device.

Ethernet

RGMII / MDIO

RGMII is the high-speed digital interface carrying Ethernet data between the Zynq MAC and
the Ethernet PHY. MDIO is a low-speed management interface used to configure and
monitor the PHY registers.

Gigabit Ethernet PHY

The Ethernet PHY is the physical-layer transceiver that converts digital Ethernet data into
analog signals suitable for transmission over twisted-pair cables. It handles auto-negotiation,
line encoding, and signal conditioning.

RJ45
RJ45 is the Ethernet connector that interfaces with standard network cables. It typically
includes or connects to magnetics that provide electrical isolation and improve signal
integrity and EMI performance.

USB High-Speed

ULPI

ULPI (UTMI+ Low Pin Interface) is a digital interface between the Zynq USB controller and an
external USB PHY. It reduces pin count while supporting USB High-Speed operation.

USB HS PHY

The USB High-Speed PHY performs the analog signaling required by USB 2.0 (480 Mb/s). It
converts digital ULPI data into compliant USB electrical waveforms and ensures signal
integrity and protocol timing.

USB Micro-AB

USB Micro-AB is a dual-role connector that supports both USB host and USB device modes.
It allows the system to either connect to peripherals or act as a peripheral itself, depending
on configuration.

Power

DCDC Converters

DC-DC converters generate the various regulated voltage rails required by the Zynq,
memory, and peripherals from the main input voltage. Switching regulators are used for
efficiency, especially for high-current rails.

+1V0

The 1.0 V rail typically powers the Zynq core and FPGA fabric. It is high-current and noise-
sensitive, requiring careful decoupling and layout to ensure stable operation.

+1V35

The 1.35 V rail is used by DDR3L memory. Voltage stability on this rail directly affects
memory reliability and timing margins.

+3V3

The 3.3 V rail powers I/O banks, PHYs, flash memory, USB components, and general
peripherals. It is less sensitive than core rails but still requires proper regulation and filtering.

DC Barrel
The DC barrel jack is the primary external power input to the board. It connects an external
adapter to the power system and must be protected against reverse polarity, surges, and
EMI.

Related Links
AMD/Xilinx, Intel(pre. Altera), Lattice

[Link]

[Link]

[Link]
CMVzQts9uh3-rP925QF0FmB-l9ljvb3eMBoCbp0QAvD_BwE

[Link] RTZ7 board olmalı ref design bak hele

[Link]

[Link]
Configuration-Memory-Devices
Lesson 3: Schematic Fundamentals
Constraint Manager??? Anladığıma göre design rulesa ek bi sistem belki beginnerlar içindir

Variants örneğin kartı PCIe ya da MIPIya falan uygun çizersin böyle ek özelliklerin olur ama bu
varyantta bu temel özelliklerle devam ediyoruz dersin varyant öğren. Varyant araştır vidyo
izle şematik zamanı gelince. İnternetten oku biraz bi de projeye başlarken varyant nedir diye.
Çünkü yukarda planladığın şekilde değil de daha çok örneğin final kartta halihazırda bulunan
komponentin footprinti farklı kullanmak istersen ikisini de ekliyosun gibi bişi oluyo.

Using Queries

Here are some activities for you to try out, which will help reinforce this lesson's content:

 If you already have a schematic in place, update your schematic with the guidelines
given in this lesson.

 Pick out a random, freely-available commercial schematic on the internet. Do their


schematics follow these guidelines?

 Create your own schematic symbol from scratch, using a part's datasheet and the
guidelines given in this lesson.

Note: These activities are not required for the course certificate!
Getting Familiar with the Altium Design Environment
Configuring the Snap Grid
The next step is to select a suitable grid for placing the components. All the objects are
placed in the PCB design space on the current snap grid.

1. If the Properties panel is not already visible, make it visible by clicking the
button at the bottom right of the design space and selecting Properties from the
menu that opens. The panel displays the properties of the selected object, or if no
object is selected, it displays the properties of the PCB document.

2. In the Grid Manager region of the panel's General tab, select the Global Board Snap
Grid entry and click the button. The Cartesian Grid Editor dialog will
open.

3. In the Cartesian Grid Editor dialog:


 Make sure that the Step X field has the value 1mm. Because the X and Y fields are
linked, there is no need to define the Step Y value.
 Click the color swatch for the Fine grid and select a lighter color using the Choose
Color dialog that opens (e.g., select the color in row 34 on the Basic tab – ).
 For the Coarse grid, select Lines from the drop-down and click the Darker control
to automatically set its color to a shade darker than the current fine grid color.
This will make it easier to distinguish between the fine and coarse grids.
 Make sure that the Multiplier is set to 5x Grid Step. This will make the grid visible
at lower zoom levels.
Setting Up the Environment
The Preferences dialog is a central location where you can set up global system settings
across different functional areas of Altium Designer. To access the Preferences dialog, click
the icon at the top-right of the design space.

Design Variants
1) What “Design Variants” mean

Design Variants let you build multiple product versions from one base PCB project without
cloning the whole design. You keep one schematic + one PCB, then define what changes per
version, and Altium uses that when generating outputs (BOM, Pick&Place, assembly
drawings, etc.).

2) Assembly variant vs Fabrication variant

Assembly Variants (most common)

 Same bare PCB for all variants.

 Only the assembly (which parts get placed) changes.

Fabrication Variants (more rare)

 Changes affect PCB overlay info (e.g., silkscreen/comment differences).

 This can require different overlay screens, meaning you may end up with different
bare boards.

3) Logical vs Physical Components (important concept)

Logical component = what you place on the schematic (conceptual).


Physical component = the compiled “real instance” that goes to the PCB / manufacturing
outputs.

Why this matters:

 In multi-channel designs, one schematic symbol can become many physical


instances.

 Variants need to operate on the physical reality (what gets built), not just the logical
symbol.

In Altium:

 The compiler creates the physical model automatically.


 In the schematic editor, you can switch tabs:

o Editor tab = logical schematic (editable)

o Compiled tabs = physical view (read-only), where variant effects are visible

4) What you can change per component (Types of Variations)

For each component in a variant, you can set:

A) Fitted (default)

 Same as base design.

 In managers, this often appears as an empty cell.

B) Fitted with Varied Parameter(s)

 Component is still used, but you change one or more parameters (commonly Value,
Comment, etc.).

 This does not edit the base schematic; it’s variant-only and mainly affects outputs.

C) Not Fitted (DNF)

 Component still exists in design (footprint can remain on PCB),

 But it’s removed/marked in outputs like BOM, assembly docs, etc.

 Display style (cross/mesh/text) can be configured.

D) Alternate Part

 Replace base component with a different component.

 Must be pin-compatible: same number of pins, same pin locations, same electrical
types (to keep connectivity valid).

 PCB behavior depends on footprint:

o Same footprint name → one footprint on PCB (cleanest)

o Different footprint → both footprints can be transferred; you must decide


placement (side-by-side, nested, stacked)

5) “Swapping component type” (Resistor → Capacitor etc.)

Allowed, but watch the consequences:

 Designator stays the same (because it’s tied to the logical component).

 Pin-compatibility rules still apply (same pin count/location/type).

 You may want a designator convention if this is common (example: R_C).


6) Multi-channel designs + variants

Multi-channel = repeating a circuit block automatically (“stamping out”).


Variants can be applied:

 Across all channels, or

 Inside a specific channel only


And you can still do fitted / not-fitted / param changes / alternate parts.

Example idea:

 Variant A fits 2 memory channels,

 Variant B fits 4 memory channels (by not-fitting a channel in A, or enabling in B).

7) Where you manage variants (two UIs)

Altium offers two ways (depends on settings/features):

Variant Management Dialog (classic)

 Access: Project » Variants or project right-click → Variants

 Upper area: component list

 Lower area: parameters of selected component(s)

 Alternate parts stored in: <ProjectName>.PrjPcbVariants

Variant Manager (newer, document-based UI, “Open Beta”)

 Also accessed via project → Variants

 Has features like filtering, properties panel edits, copy/paste, “Changed Only”

 Also supports Groups (explained below)

8) Variant-level options you should know

When creating/editing a variant, you may see options like:

 Allow variation of fabrication outputs


Needed if you want fabrication-type outputs to change with the variant (e.g., overlay
gerbers).

 Allow variation for paste mask


Useful when DNF components should not have paste openings.

 Do not overwrite schematic symbol


Keeps the base symbol graphics on schematic even if you selected an alternate part
(connectivity still uses the alternate part rules, so pin-compatibility still matters).
 Do not overwrite PCB footprint
Prevents adding the alternate footprint to PCB via ECO
(still shows correct parameters in BOM/ActiveBOM).

9) Groups (Variant Manager feature for many variants)

If you have tons of variants, groups help you avoid repeating work.

Concept:

 You define a Group (from a schematic sheet / sheet symbol / component class)

 Inside that group you define Options (like “WiFi module installed”, “High-current
MOSFET option”, etc.)

 Then, in each variant, you just select which group option applies.

 Changing the group option updates all variants that use it.

Rule of thumb:

 Groups are great for “feature modules” that repeat across variants.

10) Seeing variants in schematic and PCB

Schematic

 Pick a variant in the Projects panel

 Switch to a compiled tab to see what that variant really becomes

 Active Bar shows variant tools (toggle fitted state, choose alternate part, etc.)

PCB

 All footprints are generally visible because the bare board must support all assembly
variants.

 Fitted/not-fitted can be visually clearer in 3D mode (3D body may appear/disappear).

11) Outputs affected by variants

Assembly variants affect things that depend on “what gets placed”:

 BOM (ActiveBOM or reports)

 Pick & Place

 Assembly drawings

 Schematic/PCB prints (depending on settings)

 Test point reports, etc.


Fabrication variants additionally affect:

 Gerber/ODB++ overlay layers (and similar fabrication outputs)

Selecting variant for output

 If you generate from schematic/PCB editor menus → uses the currently selected
variant in Projects panel.

 In Report Manager / OutputJob → you can choose variant per output or per job.

12) One practical workflow (quick)

1. Finish base design (schematic + PCB).

2. Open Variants UI (Dialog or Variant Manager).

3. Add Variant(s) → name them clearly (e.g., BGA, TSOP, Lite, Pro).

4. Apply changes:

o DNF parts, change values, choose alternates

5. Verify in schematic compiled tabs for each variant.

6. Generate outputs with the correct variant selected (ActiveBOM + OutputJob is the
clean setup).

Design Insight
1) What Design Insight is

Design Insight is a visual navigation system in Altium Designer that allows previewing and
navigating project content without opening documents. It provides hover-based previews
for projects, documents, and connectivity, focusing on speed, orientation, and overview
rather than design modification.

2) Why it exists

As projects grow in size and complexity (many schematic sheets, multiple PCB documents,
hierarchical designs), navigating by filenames becomes inefficient. Design Insight enables
faster document discovery, quicker understanding of project structure, and easier tracing of
connectivity.

3) Enabling Design Insight

All Design Insight features are configured under:


Preferences → System → Design Insight
Each feature can be enabled or disabled independently.

4) Project Insight
 Displays visual previews of all documents in a project

 Activated by hovering over the project icon in the Projects panel

 Useful for quickly identifying schematics, PCBs, and documents

 Navigation arrows appear for large projects

 Document order reflects the order files were added to the project

5) Document Insight

 Displays a preview of an individual document when hovering over its icon

 The document must be opened at least once to generate a preview

 Helps avoid opening incorrect or irrelevant sheets

6) Connectivity Insight

 Provides previews of connectivity inside schematics

 Hover actions:

o Component → preview sub-parts

o Sheet symbol → preview child sheets

o Net → preview connections across the project

 Shortcut: Hover over a net + Ctrl + Alt opens a selectable connectivity tree

 Especially valuable for hierarchical and multi-sheet designs

7) Net Name Identification (Logical vs Physical)

When hovering over a wire, Altium shows:

 Logical Net Name (local schematic name)

 Physical Net Name (actual netlist name used on PCB)

This is critical in hierarchical designs where nets are renamed through ports and sheet
entries. The same information is also visible in the Properties panel.

Practical takeaway

 Design Insight = navigation and understanding

 It does not modify design data

 Most useful for large projects, hierarchical schematics, and connectivity debugging
Capturing Your Design Idea as a Schematic
1) What schematic capture is

Schematic capture is the process of creating a logical representation of an electronic circuit


by connecting component symbols. In Altium Designer, the schematic defines electrical
connectivity, feeds simulation and annotation, drives PCB layout, and serves as the source of
truth for the entire design flow.

2) Schematic editor setup

The Schematic editor behavior is configured via:


Preferences → Schematic
Configurable options include cursor style, selection colors, auto-pan behavior, and grid
behavior. These settings affect usability and speed, not design data.

3) Creating and configuring a schematic document

A new schematic is added by right-clicking the project and selecting Add New to Project →
Schematic.
Sheet-level options are configured in the Properties panel when no objects are selected. Key
settings include:

 Grid and snap behavior (multiple grid presets can be cycled using G)

 Page size, margins, zones, and templates

These settings affect readability and consistency, not electrical connectivity.

4) Placing components

Components are placed using the Components panel, which provides:

 Access to Workspace libraries and categories

 Parameter-based searching and filtering

 Detailed component inspection and comparison (Ctrl+Click)

Placing a component inserts its schematic symbol already linked to footprints, simulation
models (if available), and parameters.

5) Component designators

Newly placed components receive temporary designators (e.g., R?, C?).


Unique designators are assigned either manually or through annotation, which is the
recommended approach for consistency.

6) Wiring and connectivity


Electrical connectivity is created using wires, not drawing lines. Wires must start and end on
pin hotspots to form valid electrical connections. The Line object is graphical only and does
not create connectivity.

7) Net labels

Net labels assign names to nets, improve readability, and allow logical connections without
long wires. Nets with the same name on the same sheet are electrically connected even
without a drawn wire between pins.

8) Multi-sheet designs

A design becomes multi-sheet once more than one schematic sheet exists. Two structures
are supported:

Flat design

 All sheets exist on the same logical level

 Nets connect directly across sheets

 Optional top sheet (no wiring allowed)

Hierarchical design

 Tree-structured organization

 Uses sheet symbols, sheet entries, and ports

 Connectivity flows through sheet symbols, not directly between sheets

 Preferred for complex designs

9) Net Identifier Scope

Connectivity across sheets is governed by:


Project Options → Net Identifier Scope
This setting defines how Altium interprets net names across hierarchy levels.

10) Hierarchy automation

Altium provides tools to quickly build hierarchy:

 Create Sheet Symbol From Sheet

 Create Sheet From Sheet Symbol

These commands ensure matching ports and sheet entries, preventing manual errors.

11) Annotation

Annotation assigns unique, ordered designators across selected sheets. It prevents


duplicates, enforces consistency, and is essential before PCB transfer.
12) Design validation

Validation checks for logical, electrical, and drafting errors based on Project Options settings.
It is run via Validate PCB Project, with results reported in the Messages panel. A clean
design reports:
“Compile successful, no error found.”

Practical mental model

 Schematic = logic and intent

 Wires and net labels = electrical truth

 Hierarchy = scalability

 Annotation = identity

 Validation = correctness before layout

Working with Directives on a Schematic


1) What “Design Directives” are

Design Directives are schematic objects used to carry instructions to other parts of Altium.
They are used in two main ways:

 Compilation/validation control (reduce ERC/compile noise during capture)

 PCB-intent definition (pass constraints/classes/diff pairs from schematic → PCB)

A) Compilation-related Directives (noise control)

2) Why you use them during capture

While a design is incomplete, compiling/validating often creates “noise” (errors from


unfinished sections). Directives let you suppress those warnings so you can verify the parts
that are complete.

3) No ERC Directive

 Placed on a node (pins/ports/sheet entries/nets)

 Suppresses reported ERC warnings/errors during project validation

 Best when you need to suppress a small number of specific violations

4) Compile Mask Directive (hide incomplete areas)

Use when you want to exclude an entire unfinished region (including components) from
compiler checking during manual validation.
Key behavior:
 Compiler ignores objects that fall completely inside the mask bounds

 Truly masked objects appear greyed-out

 Helpful when you want a clean validation result from the finished sections

Important detail (conceptual):

 Compile Mask is not about Altium’s continuous “dynamic compilation” after edits

 It matters when you manually run project validation (Validate PCB Project / Validate
Project)

5) Compile Mask states + editing behavior

 Expanded (full frame) = enabled

 Collapsed (triangle) = disabled

 Toggle by clicking the top-left corner icon

 Rotation/mirroring is allowed but doesn’t change the circuitry logic

Placement basics (all equivalent):

 Place » Directives » Compile Mask

 Active Bar → Compile Mask

 Right-click → Place → Directives → Compile Mask

Edit basics:

 Drag handles to resize/reposition

 Drag outline to move; Space/Shift+Space rotate; X/Y mirror while dragging

 Collapsed masks can be moved but not resized

 Locked objects may require unlocking (and “Protect Locked Objects” can block edits)

B) PCB-related Directives (drive PCB rules from schematic)

6) Why PCB-related directives exist

Altium supports defining PCB requirements before layout so the schematic stays the master
record. Some objects (components, ports, sheet symbols, etc.) can hold parameters directly,
but wires/buses/harnesses cannot, so directives are used to attach rule/constraint
metadata to nets.

7) What you can define via directives (and transfer to PCB)


Typical transferred intent includes:

 PCB layout constraints (rules)

 Differential pairs

 Net classes

This is especially valuable for multi-person or distributed teams because constraints are
embedded in the design, not communicated externally.

8) Parameter Set directive (the core container)

A Parameter Set is a directive that acts as a container for parameters targeting the net
object it is attached to.

 Place it on a wire/bus/signal harness to apply constraints to that net(s)

 It can be empty initially; parameters/classes/rules can be added later

 “Pre-defined” directives (like Differential Pair) are essentially parameter sets that
already include a specific parameter

Scope principle:

 A Parameter Set applies only to the net(s) it is connected to

 Multiple parameters can be stacked into one directive for schematic cleanliness

9) Differential Pair directive (pre-defined parameter set)

This is a pre-defined directive used to identify two nets as a differential pair. Functionally it is
a Parameter Set that already includes the parameter(s) Altium uses to recognize a diff pair
definition.

10) Moving from Directives to Constraint Manager (modern flow)

Altium now supports a unified approach using the Constraint Manager.

 If the project uses Constraint Manager, directives-defined net classes/diff pairs/rules


are not automatically detected/transferred during Update PCB

 Instead, Constraint Manager definitions are what transfer

 However, you can Import from Directives inside Constraint Manager


(Physical/Electrical view right-click)

One-way transition behavior:

 After importing and saving, imported directives become blue and read-only in the
schematic
 This indicates the project has transitioned from directive-driven rules to Constraint
Manager ownership

Quick check:

 If you see Constraint Manager in the Design menu → new approach

 If you only see PCB Design Rules in PCB editor menus → older rules approach

C) Net Classes, Blankets, and scaling intent

11) Net Class via directives (schematic-driven grouping)

Net classes can be created in schematics by defining a net class (via a Parameter Set / Net
Class directive concept) and then transferring to PCB during synchronization.
Key idea: schematic is clearer for logical grouping, so driving from schematic often makes
more sense.

Project options needed for propagation:

 Enable Generate Net Classes (Class Generation tab, User-Defined Classes region)

 Comparator tab: set Extra Net Classes checking mode to Find Differences

Rule scoping note:

 If a net class is defined, rules generated from that directive can scope to Net Class
rather than individual nets

12) Blanket directive (expand scope beyond one net)

Parameter Sets normally target only the net they touch. A Blanket lets you apply a directive
across many nets/components.

 Blanket is a rectangular or polygonal grouping region

 A directive placed on the Blanket perimeter applies to all nets/components


registered by that Blanket

How a net gets “captured” by a Blanket (important practical detail):


A net is included if it is under the Blanket by being:

 fully within the Blanket area, or

 having at least one connected end/vertex under the Blanket, or

 having a net identifier (net label etc.) whose hotspot falls within the Blanket
If you don’t see expected nets transferring, adjust Blanket area.

Verification trick:
 Use Net Colors to highlight what nets the Blanket is actually targeting

Blanket controls:

 Can be collapsed/disabled via the triangle toggle or “Collapsed and Disabled” option

 Useful keywords for queries: IsBlanket, Collapsed

D) Indirect (parameter-based) directives (rules on objects that support parameters)

13) What “parameter-based directives” mean

If an object can store parameters directly, you can define PCB constraints by adding rule
parameters to that object, instead of using a Parameter Set directive. When synchronized,
those rule-parameters become PCB design rules, with scope determined by the object type.

14) Parameter-to-rule scope mapping (concept)

Adding a rule parameter to different schematic objects results in different PCB scope targets,
such as:

 Pin → Pad scope

 Port → Net scope

 Component → Component scope

 Sheet symbol variants (local/device/managed) → Component Class scope

 Sheet/document options → All Objects scope

Also: each rule parameter is assigned a unique ID, and the PCB-side rule created inherits
that same ID, allowing edits on either side to push through on synchronization.

15) Component Classes from schematic

Component classes can be defined by adding a ClassName parameter to components.


To propagate them:

 Enable Generate Component Classes (Class Generation tab, User-Defined Classes)

 Comparator tab: set Extra Component Classes Mode to Find Differences


PCB note: a component can belong to multiple classes; on schematic the class names
can be comma-separated.

E) Output/printing behavior

16) Printing directives


By default, directives print on schematics. This can be controlled via:

 Schematic Print Properties (direct printing / OutputJob output)

 Smart PDF Wizard → Additional PDF Settings → Schematics include settings


No ERC symbol styles can be selectively printed/excluded depending on configuration

Working with Placed Components


1) Working between the schematic component and the PCB component (why this exists)

Altium gives you “bridge” tools so you can identify/select the same component in both
editors without manually hunting for it. The core tools are:

 Cross Probe (jump + zoom/center)

 Cross Select Mode (select only, no zoom)

 Select PCB Components from schematic (select a set on SCH, then place/reposition
them on PCB in the same order)

A) Cross Probing / Cross Selection / Reposition workflow

2) Cross Probe (jump to the same part)

What it does:

 Click a component in one editor → it is centered + zoomed in the other editor.

How to use:

 Tools menu → Cross Probe

 Click the component in Schematic → it centers/zooms to it in PCB (and vice versa)

Important behaviors:

 Zoom level is controlled by Preferences → System → Navigation

 Default behavior stays in your current editor so you can keep cross-probing

 Hold Ctrl while cross probing to switch to the other editor as you jump

3) Cross Select Mode (select the same part in the other editor)

What it does:

 Selecting a component in one editor will select the same component in the other
editor

 No zoom/centering
How to use:

 Tools → Cross Select Mode (toggle On/Off)

 Select multiple with Shift + click

4) Selecting PCB Components from the schematic (ordered selection → ordered


placement)

Use case:

 You want to select parts in a specific order on the schematic and then
place/reposition those same parts on the PCB in the same order.

Steps:

1. On schematic: click components one by one (use Shift to multi-select)

2. Switch to PCB editor

3. Press I, C to run Reposition Selected Components


(also available via right-click menu after pressing I)

B) Part Properties (Schematic component properties you’ll see when selecting a


component)

5) General tab (identity + component behavior)

Key fields:

 Reuse Block: shows parent reuse block name if part of one; link opens its properties

 Designator: editable; eye toggles visibility; lock toggles editing

 Comment: editable; eye/lock controls; can display value of a parameter


(system/user)

 Part x of Parts (multipart components): shows current part and total; lock/unlock
then pick part

o Note: you can’t select a sub-part if it has no primitives in the current alternate
display mode

 Description: part description

 Type (big deal): determines sync + BOM behavior

o Standard: electrical, always synchronized SCH↔PCB, in BOM

o Mechanical: no electrical, not synchronized (place manually in both), in BOM


o Graphical: no electrical, not synchronized, not in BOM (e.g., logo)

o Net Tie (In BOM): shorts multiple nets; sync required; in BOM; copper
shorting not checked like Standard

o Net Tie (No BOM): same as above but excluded from BOM

o Standard (No BOM): normal electrical but excluded from BOM (e.g.,
testpoints)

o Jumper: wire-link style component

 Footprint + pins synchronize, but net assignments do not

 Included in BOM

 Pads must share same non-zero JumperID

 Doesn’t need wiring on schematic (only include if needed for BOM);


otherwise can be PCB-only with manual pad net assignment

 Design Item ID (source identity): shows the component identifier depending on


where it comes from

o Workspace component name, or DbLib key field, or parameter-defined ID for


file-based libs

o Replace/inspect via the Replace Component dialog (details, models, part


choices, suppliers, compare, etc.)

 Source: shows library source; lets you pick another library

 Revision state / revision status (Workspace-managed): lifecycle state + whether it’s


up-to-date

o Can update to latest revision (with prompts for multipart selections)

 Component issues (Workspace health): icons indicate errors/fatal issues and count

 Supply chain data (Workspace): median price, stock totals, lifecycle bar
(new/NRND/EOL style indicator)

o Note: lifecycle indicators are helpful but may lag; verify with manufacturer if
critical

6) Parameters (Name/Value table + visibility/locking)

What you can do:

 View/edit Name/Value parameters on the component


 Lock/unlock parameters to prevent updates

 Control parameter visibility (eye icons)

Dynamic parameters support (Workspace/DB/PLM sync concept):

 Dynamic parameters can update from source systems without making a new
component revision

 Visibility/performance is controlled by advanced settings:

o [Link] (enables Show More/Show Less


behavior)

o [Link] (forces loading all dynamic


parameters)

Favorites + performance:

 You can mark parameters as Favorites and only show those by default

 Show More / Show Less toggles visibility (if enabled)

 Showing everything can reduce performance (Altium warns about this)

Per-parameter formatting/placement options:

 Font control

 “Other” options like:

o show parameter name

o allow sync with database

o X/Y position, rotation, autoposition behavior

Parameter actions:

 Add/edit/delete parameters (including things like model/footprint/rule parameters)

7) Graphical (how the symbol is rendered)

Options:

 Mode: choose an alternate display mode if available (else grayed out)

o Note: you can’t pick a mode that has no primitives for the selected sub-part

 Mirrored: mirror the symbol


 Local Colors: override library colors with local Fill/Line/Pin colors (or disable to use
library defaults)

8) Part Choices (sourcing links)

 Shows part choices and supplier links tied to the component (if any)

 If none exist, you’ll get access to the supplier links editor to add them

9) Pins tab (pin list, naming, visibility, editing lock)

What you get:

 Pins grid listing Pin identifiers + Names

 Eye icon: show/hide pins

 Lock icon: lock/unlock pins

Multi-functional pins:

 If a pin has defined functions, you can choose which function name displays from a
dropdown

 You can also type a custom pin name; if it doesn’t match library-defined
naming/functions it’s treated as temporary and highlighted

 A popup lets you select which function names are shown on the symbol

Pin name display:

 Show Full / Show Short toggles extended vs short pin naming

Pin editing controls:

 There’s a pin-edit lock (when enabled, pins can’t be edited in schematic editor; they
can be edited in schematic library editor)

 Show hidden pins option exists (can reveal pins whose Show property is disabled—
library editor may require View » Show Hidden Pins too)

 Add pin / delete pin controls

 Component Pin Editor dialog provides a consolidated way to view/edit pins (library
editor, or selected component/part in schematic)

Updating Components from Database and File-based Libraries


1) Why this workflow exists
After you’ve already placed and wired parts (and maybe transferred to PCB), you often need
to apply changes made at the component source back onto the placed instances:

 new/edited parameters

 changed model links (footprint, sim models, etc.)

 changed graphics (symbol/footprint visuals)

Rule of thumb: edit at the source → then push updates into the design.

A) Where the “source of truth” is (depends on how the part was placed)

2) Integrated Library (*.IntLib)

 Source libs are extracted

 Edit symbol/footprint/params in the source

 Recompile the IntLib to generate the revised library

 Then update the design from libraries

3) Database Library (*.DBLib / .SVNDBLib) or DBLink (.DBLink)

Two kinds of data can change:

 Parameters + symbol/model references: change in the external database record

 Graphical symbol/footprint: change in the referenced source libraries


Then update the design using the update tools.

4) File-based libraries (*.SchLib / *.PcbLib)

 Edit the component/footprint in that library

 Then update placed instances from libraries

B) Updating parameters from an external database (DB-driven)

5) Requirement: the placed components must be linked to DB records

Linking is done via one of:

 DBLink (*.DBLink): links existing placed parts (or library parts) to a database

 DBLib (*.DBLib): place parts directly from a database

 SVNDBLib (*.SVNDBLib): DBLib concept but symbol/model libs are under VCS

6) Command (Schematic editor)


 Tools → Update Parameters From Database

 Opens Update Parameters From Database dialog

What you choose there:

 Schematic Sheets: which sheets participate (single free doc or all project sheets)

 Component Types list updates based on selected sheets:

o Physical component name

o Logical symbol

o Source library

o Count (instances)

Optional:

 Create Log: generates a *.log under Generated

7) Review step: Select Parameter Changes dialog

If database values differ, Altium shows a grid of proposed parameter updates.

What you can do:

 Update/Reject selected cells

 Update/Reject all

 Show all parts

 Add/remove/edit/rename parameters (columns)

 Generate reports / save table

 Cross Probe from a row to the object in the schematic

Important notes:

 Only mapped DB fields/parameters appear (mapping is in the link file’s Field


Mappings)

 Parameters can be blocked from updating via:

o component parameter lock / “Allow Synchronization With Database”

o link-file field mapping options (Update Values / Add to Design / Remove from
Design)

8) Apply: ECO

To actually apply changes:


 Accept Changes (Create ECO) → validate/execute in the Engineering Change Order
dialog

 You can disable individual ECO entries if you change your mind

9) “Dual synchronization” pitfall (easy to mess up)

If you have a mix of:

 parts linked via DBLink, and

 parts placed via DBLib/SVNDBLib


…and they point to different databases, an update can accidentally match the wrong
record (depending on match field usage and search order). In mixed setups, be extra
cautious reviewing the matching rows before ECO.

C) Updating schematic components from libraries (file-based + IntLib + DBLib/SVNDBLib)

10) Main commands

From a schematic document:

 Tools → Update From Libraries (updates all parts in scope)

 Tools → Update Selected From Libraries (updates only selected parts)

This updates:

 parameters

 symbol graphics

 model links
For DBLib/SVNDBLib, remember: those files aren’t “true libraries”; they provide
connection + mapping, and the real data comes from:

 external DB records (parameters, references)

 referenced symbol/model libraries (graphics)

11) Update From Library dialog — Page 1 (Scope + default actions)

Scope

 Pick schematic sheets (single doc or whole project)

 Component Types list shows:

o physical component, logical symbol, source library, instance count


Filter

 Show:

o All Components (default)

o Standard Components (from SchLib/IntLib)

o Database Components (from DBLib/SVNDBLib)

Selection-based mode

 If you preselect parts on the schematic and enable Selected Parts Only, only those
appear.

Variant/Workspace options (if available in your setup):

 Include Variants

 Update to Latest Revision (Workspace components)

Default action level

 Fully replace symbols on sheet with those from library (most aggressive)

o can also choose:

 update designator lock field

 update part ID lock field

 preserve parameter locations

 preserve parameter visibility

 Or choose Replace selected attributes for finer control:

o graphical attributes

o parameters

o models

Persistence:

 Page 1 settings are stored in the project file (they persist)

12) Advanced control: Library Update Settings dialog

(Opened via Advanced)


Gives global rules for what happens to parameters/models:

Parameter settings

 Library params not in sheet → Add / Do not add / Add if not blank
 Sheet params not in library → Remove / Do not remove / Remove if not blank

 Parameters to update → tick which parameters are allowed to update

Model settings

 Add models found in library but not in sheet

 Remove models found in sheet but not in library

 Update which models are “current”

 Models to update → enable which model types/entries get updated

D) Fine-tuning by component instance (Update From Library dialog — Page 2)

13) Instance grid (per-part control)

This page lists every affected instance and splits into:

 Schematic Parts: designator/comment/physical/logical

 Library Components: what Altium thinks is the matching library part (or <Not
Found>)

 Actions per instance:

o Full Replace

o Graphical

o Parameters (with Parameter Changes… button)

o Models

Key behaviors:

 The initially chosen library component comes from the placed component’s Library
Link info.

 You can override and choose an alternate library component:

o edit Physical Component field, or

o use Choose Component (Replace Component dialog)

 You can revert back with Return Selected to Default

Database component search limitation:

 It can only search across currently loaded DBLib/SVNDBLib files (available file-based
libraries), not arbitrary paths.
E) Parameter Changes dialog differences (important nuance)

14) From “Update Parameters From Database”

 shows only mapped DB parameters for linked components (DB is the reference)

15) From “Update From Libraries” → “Parameter Changes…”

 shows mapped DB parameters plus all parameters found in the placed instances
involved
(broader listing than the pure DB update tool)

The proposed changes are driven by:

 Library Update Settings rules (SchLib/IntLib source), or

 DBLink/DBLib/SVNDBLib mapping rules (DB source)

F) Applying updates directly from the Schematic Library Editor (danger zone)

16) Direct library-to-schematics update

From SCH Library Editor:

 Tools → Update Schematics (or right-click in SCH Library panel)

Behavior:

 Updates all matching placed instances in all open schematic documents, regardless
of project

 Full replacement based on matching Physical Component field

Critical warning:

 If the instance originally came from IntLib or DBLib/SVNDBLib, this method can
replace the original link with a link to the source library you updated from.

 For database parts, this can sever the DB record link. Safer default is usually Update
From Libraries from the schematic.

G) Verifying the update worked (quick checks)

17) Parameters

 Tools → Parameter Manager (Parameter Table Editor), or

 Select component → check Properties panel → Parameters


18) Model links

 Select component → check Models region in Properties

19) Graphics

 Compare placed symbol/footprint vs library version (Components panel helps for


side-by-side)

Creating Circuit Connectivity


1. What “Connectivity” Means in Altium

Connectivity defines which pins belong to the same electrical net.


This is expressed logically in schematics and physically on the PCB.

Connectivity is not final until compilation. Altium continuously compiles the design into a
Unified Data Model (UDM).

2. Two Ways to Create Connectivity

A. Physical Connectivity

 Created by wires directly between pins.

 Easy to follow visually.

 Can clutter large designs.

B. Logical Connectivity

 Created using net identifiers (names).

 Reduces wiring density.

 Requires correct structure and naming discipline.

You can mix both methods freely.

3. Objects That Create Connectivity (Net Identifiers)

Object Purpose

Wire Physical electrical connection

Net Label Names a net (local by default)

Port Sheet-to-sheet connectivity (flat or hierarchical)

Sheet Entry Parent ↔ child connection in hierarchy


Object Purpose

Power Port Global power/ground nets by name

Off-Sheet Connector Legacy horizontal connectivity (flat only)

Bus / Bus Entry Groups multiple sequential nets

Signal Harness Groups arbitrary nets/buses

Pin Endpoint of connectivity

Critical rule:

Different net identifier types do NOT auto-connect just because names match.
Example: AGND Net Label ≠ AGND Power Port unless wired.

4. Net Identifier Scope (MOST IMPORTANT SETTING)

Configured in Project Options → Options → Net Identifier Scope

Modes

 Global
Same names connect everywhere (high risk of accidental merges).

 Flat
Sheet-to-sheet via Ports / Off-Sheet Connectors.

 Hierarchical
Sheet Entry ↔ Port only (parent ↔ child).

 Strict Hierarchical
Same as Hierarchical, but all power nets become local.

 Automatic (recommended)
Altium decides:

1. Sheet Entries exist → Hierarchical

2. Ports exist → Flat

3. Neither → Global

5. Flat vs Hierarchical Design


Flat Design

 All sheets are peers.

 Connectivity is horizontal.

 Use:

o Net Labels inside sheets

o Ports between sheets (recommended)

 Off-Sheet Connectors are supported but limited.

 Top sheet is optional.

Hierarchical Design

 One top sheet only.

 Connectivity is vertical:

o Sheet Entry (parent) ↔ Port (child)

 Easier signal tracing.

 Required for multi-channel designs.

 Sheet Entries and Ports should be synchronized.

6. Net Naming Rules

How nets get names

 Unnamed wire → system name (e.g. NetR7_1)

 Net Label → always names the net

 Ports / Sheet Entries / Power Ports → name nets only if enabled in Project Options

Naming precedence (if multiple allowed)

 If Power Port Names Take Priority = OFF


Net Labels > Power Ports > Ports > Pins

 If ON
Power Ports > Net Labels > Ports > Pins

Recommended setup

 Enable:

o Allow Ports to Name Nets


o Higher Level Names Take Priority

7. Multiple Net Names (Advanced but Legal)

 Same net may have different names on different sheets.

 Used to:

o Rename signals at hierarchy boundaries

o Reuse child sheets

 Controlled via:

o Error Reporting settings

o No ERC markers

⚠ One PCB net can have only one final name.

8. Duplicate Net Names (Common Failure)

If two different nets share the same name on different sheets → fatal error.

Fix

 Enable Append Sheet Numbers to Local Nets

 Ensure every sheet has a unique SheetNumber

9. Power Nets

Default

 Power Ports with same name are global.

Localizing power nets

 Strict Hierarchical → all power nets local

 Or selectively:

o Wire Power Port → Port → Sheet Entry

Used for:

 Isolated rails

 Per-channel supplies
 Controlled ground connections

10. Intentionally Shorting Nets (Net Ties)

Used when two nets must connect physically but not logically (e.g. AGND ↔ DGND).

 Implemented with Net Tie component

 Nets remain distinct in schematic and PCB

 Short exists only in footprint copper

 No DRC error is generated

11. Compilation Model (Why Things Update Automatically)

 Altium uses Dynamic Compilation

 Builds a Unified Data Model (UDM) continuously

 No manual compile needed

 Used by:

o PCB update (ECO)

o Cross-probing

o Navigator

o ActiveBOM

o Rule checking

12. Inspecting and Tracing Connectivity

Tools

 Navigator Panel – full compiled view

 Alt+Click on a net – global highlight

 Connectivity Insight – hover / tree view

 Cross-Probe / Cross-Select – schematic ↔ PCB

13. Practical Best-Practice Summary


For serious projects

 Use Hierarchical

 Net Identifier Scope: Automatic

 Net Labels inside sheets

 Sheet Entry ↔ Port between sheets

 Enable:

o Allow Ports to Name Nets

o Higher Level Names Take Priority

o Append Sheet Numbers to Local Nets

Avoid

 Mixing Global + Flat + Hierarchical casually

 Relying on name matching between different net identifier types

 Hidden power pins

Bundling Signals
1) When to use Bus vs Signal Harness

Use a Bus when

 Your nets are a numbered family: DATA0..DATA15, ADDR0..ADDR31, etc.

 You want the schematic to show “this is a vector” and keep wiring clean.

Buses are basically syntax sugar for sequential nets. They’re great for address/data lines
and LEDs.

Use a Signal Harness when

 You want to bundle any mix of:

o unrelated nets (EN, RD, FAULT)

o buses (DATA[7..0])

o or even other harnesses (nested harnesses)

 You care about readability across sheets and “logical cable” style connectivity (JTAG,
SWD, SPI bundle, power-sense bundle, etc.)

Harness = arbitrary named container. Much more flexible than buses.


2) Bus: the minimum required pieces (or it won’t behave like you expect)

To form a “real” bus connectivity conceptually:

1. Net label on every individual wire: DATA0, DATA1, …

2. Net label on the bus line: DATA[0..7] (or [7..0])

3. If it leaves the sheet: a Port named the same as the bus.

If any of these are missing, you often end up with a pretty drawing but not the connectivity
you intended.

Bus entries

Use Bus Entry when you need to “rip nets out” from both sides of the bus at the same
physical point without shorting two ripped nets together.
If you don’t need that, a normal wire connection is fine.

Common bus gotchas

 Mixed ordering ([7..0] in one place, [0..7] elsewhere) can trigger Mismatched bus
label ordering warnings.

 Avoid bus base names that contain digits like D2[0..7] → Altium may expand it like
D20..D27, which can collide with other names.

PCB reality

A bus itself does not exist on the PCB. What you can do is auto-generate net classes from
buses (and from bus “sections”) via Project Options → Class Generation.

3) Signal Harness: what it is (and what it is NOT)

A signal harness is two things:

1. The bus-like line you draw (Signal Harness primitive)

2. The connectivity system defined by:

o Harness Connector

o Harness Entries

o Harness Type

o Ports / Sheet Entries carrying that harness type between sheets

The mental model


 Harness Type = the name of the container (e.g., JTAG, ROCKET_IO_LINES,
SENSOR_BUNDLE)

 Harness Entries = the named slots inside that container (e.g., TCK, TMS, TDI, TDO,
TRST)

 The actual net names still come from normal net labels, unless you override naming
(next section).

4) Naming nets inside a harness (super important)

Default behavior (most common)

Harness elements help the compiler understand “these nets belong to this bundle across
sheets”, but they don’t rename nets. Your nets keep their normal net names.

Harness-level naming override

If you place a Net Label on the Signal Harness line, Altium can name nets like:

[Link]

Example:

 Harness net label: HARD

 Harness entry: TCK

 Net becomes: [Link]

This is powerful for multi-instance reuse (e.g., SOFT vs HARD JTAG bundles) because you can
reuse the same harness definition but get distinct final net names per instance.

Also: net classes can be auto-generated for named harnesses (again in Class Generation
options).

5) Connector-free harnesses (clean schematics, but has a rule)

You can use harness naming (Net Label on harness line) without drawing a harness
connector + entries on that sheet, but:

 The harness definition must exist somewhere, and

 It must be protected from auto-update either by:

o having at least one real Harness Connector of that type somewhere in the
design, or

o locking the definition in the .Harness definition file using LOCKED.


If you lock it and then later add entries graphically that don’t match, you’ll get Conflicting
Harness Definition violations.

6) Practical best-practice patterns

“Classic” patterns

 Bus: DDR address/data, LED arrays, GPIO banks

 Harness: JTAG/SWD, SPI bundle, I²C bundle (SCL/SDA/INT/ALERT), power-monitor


bundle (VIN_SENSE, I_SENSE, PG, FAULT), SERDES lane bundle (even if each lane is a
diff pair, you can harness the lane groups)

Sheet-to-sheet sanity

 Prefer Harness when crossing sheets with multiple unrelated signals: it makes the
hierarchy much easier to read and reduces port clutter.

 Prefer Bus when the reader expects vector semantics.

Defining Differential Pairs


1. What “defines a differential pair” in the schematic

A differential pair is created in the design transfer when both nets are:

1. Named as a matched pair using the same base name with _P and _N suffixes (or
your custom suffixes), and

2. Each net has a Differential Pair directive applied (one directive on the P net, one on
the N net).

Result: one PCB differential pair object per P/N directive set.

2. Naming rules and custom suffixes

Default naming convention

 USB_D_P and USB_D_N → base name: USB_D

 V_RX1_P and V_RX1_N → base name: V_RX1

Custom suffix support

If your organization uses different suffixes (e.g., +/-, P/N, H/L), set them in:

 Project Options → Options tab → Diff Pairs section


3. How to place the directive (single pair method)

Placement

 Place → Directives → Differential Pair

This places a Parameter Set object preconfigured as a differential pair directive:

 Label = DIFFPAIR

Critical detail: how it attaches

To apply it to a net, the Parameter Set must touch the target net object (wire/net label
connection area). If it doesn’t touch, it won’t be compiled into the intended output.

4. What you get on the PCB side

 Each P/N directive pair becomes a Differential Pair in PCB.

 It is automatically added to the default differential pair class:

o <All Differential Pairs>

 Differential pair objects can be renamed on the PCB side only.

5. Blanket method (bulk definition for many pairs)

Use this when you have many lanes (SERDES, DDR, PCIe, etc.).

How it works

 Place a Blanket to cover the area containing the target nets.

 Place one Differential Pair directive touching the blanket edge.

 Altium detects nets whose net label hotspot lies within the blanket boundary.

What else you can assign in the same directive

Inside the same directive (Parameter Set), you can also specify:

 A Net Class for the member nets

 A Differential Pair Class for the resulting diff pairs

 A Differential Pair Routing rule (auto-created on PCB transfer)

This is the cleanest way to produce consistent classes/rules across many lanes.
6. Rule/class auto-creation limitations (important)

When using the blanket approach:

 Automatic PCB rule creation does not automatically scope a Differential Pair Routing
rule to the Differential Pair Class you create.

 It does support scoping to a Net Class if you include one.

Practical consequence:

 If you include a Net Class in the directive → Altium creates one routing rule targeting
that Net Class (good).

 If you do not include a Net Class → Altium may create individual routing rules per
pair (usually unwanted clutter).

Best practice:

 Always include a Net Class in the directive when using blankets, then (if desired) edit
the rule in PCB to target the Differential Pair Class.

7. Constraint Manager interaction (modern workflow note)

If you are using Constraint Manager:

 Differential pairs / classes / rules defined via schematic directives are not
automatically detected and transferred during Update PCB.

 Only constraints defined inside Constraint Manager transfer automatically.

To bring directive-defined constraints into Constraint Manager:

 Use Constraint Manager → (Physical or Electrical view) → right-click → Import from


Directives (when accessed from schematics).

8. Recommended workflow (fast and clean)

 Set diff pair suffixes in Project Options first (if not default).

 For small count: place directives on each _P and _N net.

 For large count: use Blanket + one directive, and include:

o Net Class (mandatory for clean rule scoping)

o Diff Pair Class (optional but recommended)

o Routing rule (optional; often defined later in PCB/Constraint Manager)


 If using Constraint Manager: Import from Directives or define everything directly in
Constraint Manager to avoid missing transfers.

Multi-Sheet & Hierarchical Designs


1. Why multi-sheet schematics exist (1 sentence)

You split schematics into multiple sheets to improve readability, teamwork, reuse, and
printing, not because the circuit is electrically different.

2. The ONLY two structural choices you must make

A) Flat design

 All sheets are on the same level

 Connectivity is horizontal

 Ports with the same name connect everywhere

B) Hierarchical design

 One top sheet

 Other sheets are children

 Connectivity is vertical only (parent ↔ child)

These are mutually exclusive concepts controlled by Net Identifier Scope.

3. Net Identifier Scope (this decides EVERYTHING)

Set in: Project → Project Options

Scope What connects

Flat / Global All ports with same name connect everywhere

Hierarchical Ports connect only to matching Sheet Entries

Strict Hierarchical Same as hierarchical, but stricter (no ambiguity)

Rule of thumb:
👉 If you use Sheet Symbols, use Hierarchical (or Strict).

4. Core objects (only 4 matter)

1️⃣ Sheet Symbol (parent sheet)


 Represents a child schematic

 Has:

o Designator (name)

o File Name → links to the child .SchDoc

o Sheet Entries (connection points)

2️⃣ Sheet Entry (on Sheet Symbol)

 Lives inside a Sheet Symbol

 Represents a signal going down to the child sheet

 Must match a Port on the child sheet

3️⃣ Port (on child sheet)

 Signal leaving the child sheet

 Connects upward to a Sheet Entry (hierarchical)

 Or connects everywhere (flat)

4️⃣ Wire

 Only exists inside one sheet

 Never crosses sheets

5. How connectivity REALLY works (important)

Hierarchical design signal path:

Child Sheet:

Wire → Port

Parent Sheet:

Sheet Entry → Wire → Sheet Entry

Other Child Sheet:

Port → Wire

🔴 Ports NEVER connect directly to other ports in hierarchical mode.


6. Flat vs Hierarchical in one table

Feature Flat Hierarchical

Top sheet required ❌ ✅ (exactly one)

Port-to-port connection ✅ ❌

Sheet Entry required ❌ ✅

Signal traceability Medium Excellent

Design reuse Poor Excellent

Large projects ❌ ✅

7. Creating hierarchy (2 workflows only)

🔹 Top-down (recommended for clean design)

1. Place Sheet Symbol

2. Add Sheet Entries

3. Create Sheet From Sheet Symbol

4. Child sheet auto-gets Ports

🔹 Bottom-up (when refactoring)

1. Draw child sheet with Ports

2. Create Sheet Symbol From Sheet

3. Sheet Entries auto-created

8. Synchronization (why this exists)

Whenever you:

 Rename ports

 Add/remove signals

 Move circuitry between sheets

👉 Run Synchronize Sheet Entries and Ports


This keeps:

 Names

 I/O direction

 Harness type
consistent between parent and child

9. Multi-channel designs (advanced but important)

Using:

Repeat(SHEET, 1, 4)

 One schematic sheet

 Instantiated multiple times logically

 Used for:

o Audio channels

o Power stages

o Sensor arrays

👉 Sheet is not duplicated, compiler instantiates it.

10. Critical rules (memorize these)

 ❌ A project can have only one top sheet (hierarchical)

 ❌ A sheet symbol cannot reference itself

 ❌ No circular hierarchy

 ✅ Sheet Entry ↔ Port names must match

 ✅ Use Synchronize instead of manual fixing

11. When YOU should use hierarchical (practical advice)

Use hierarchical design when:

 Board > ~2 schematic sheets

 You care about long-term maintainability


 You plan variants, reuse, or multi-channel blocks

 Someone else might read your design

Design Refactoring in Altium


1. What “refactoring” means (1 sentence)

Refactoring = restructuring a schematic without breaking schematic↔PCB linkage (UIDs


stay intact).

This is the only reason refactoring exists.

2. Why refactoring matters (critical)

 Every schematic component has a Unique ID (UID)

 UID links schematic ↔ PCB

 Cut / Copy / Paste breaks UIDs

 Refactoring tools preserve UIDs

👉 If PCB already exists, never reorganize with copy–paste.

3. Refactoring tools (there are only 5)

1️⃣ Convert Part → Sheet Symbol

Use when:
A single component should become a sub-circuit

What happens:

 Component → Sheet Symbol

 Pins → Sheet Entries

 Pin names & I/O types preserved

 Connectivity preserved

Typical use:

 Replacing an IC with a discrete equivalent

 Turning “black box” IC into real circuitry

2️⃣ Push Part → New Sub-Sheet (fastest)


Use when:
You want to immediately expand a part into its own sheet

What happens automatically:

1. Part copied

2. Original becomes Sheet Symbol

3. New sheet created

4. Copied part placed on new sheet

5. Ports + wiring auto-created

Typical use:

 Power IC → power sub-sheet

 USB IC → USB block

👉 This is the most practical refactoring command.

3️⃣ Convert Part → Ports

Use when:
A whole schematic represents an external module or subsystem

What happens:

 Component → set of Ports

 Pins → Ports

 Used to “plug” a sub-sheet into a higher level

Typical use:

 Daughterboard

 External PSU

 Satellite module

Then:

 Create Sheet Symbol from that sheet

 Insert it into parent hierarchy

4️⃣ Convert Schematic Sheet ↔ Device Sheet


This is reuse abstraction.

a) Schematic → Device Sheet

Use when:
You want reusable functional blocks

Examples:

 USB interface

 Buck regulator

 CAN transceiver

Benefits:

 Versioning

 Lifecycle management

 Team reuse

 No copy–paste errors

Professional teams always end up here.

b) Device Sheet → Local Schematic

Use when:
You need to customize a reusable block

What happens:

 Device Sheet copied locally

 Original remains untouched

 Safe customization

5️⃣ Move Selected Sub-Circuit → Another Sheet

Use when:
Sheet is getting crowded or logically wrong

What happens:

 Selected circuitry moved intact

 UIDs preserved

 Hierarchy updated if needed


⚠️After moving:

 You may need Synchronize Sheet Entries & Ports

4. Golden rule (memorize this)

If PCB exists → use refactoring tools only

Cut / Copy / Paste = UID reset = broken PCB link

5. Typical real-world workflows

🔹 Turning a flat schematic into a clean hierarchy

1. Select power circuitry

2. Push Part To Sheet or Move Sub-Circuit

3. Create hierarchy gradually

4. Synchronize ports

🔹 Replacing a single IC with real circuitry

1. Convert Part → Sheet Symbol

2. Create child sheet

3. Implement replacement circuit

4. PCB stays valid

🔹 Creating reusable company blocks

1. Clean schematic

2. Convert to Device Sheet

3. Store in Workspace

4. Reuse forever

6. Why Altium refactoring is special

Unlike manual editing:


 ✔ Preserves UIDs

 ✔ Preserves PCB placement

 ✔ Preserves design intent

 ✔ Supports hierarchy evolution

This is not cosmetic — it’s structural integrity.

Multi-Channel Design
You draw one channel once, then Altium instantiates it N times in the compiled model, and
pushes the expanded physical components/nets to PCB. Your source schematic stays
“logical”; the “physical” channels exist as compiled views/tabs.

1) Two ways to create channels (pick one)

A) Multiple Sheet Symbols → same child sheet

You place CH1, CH2, CH3… each as its own Sheet Symbol, all pointing to the same .SchDoc.

Pros

 You can wire different signals to each channel explicitly.

 Best when each channel has some unique wiring or per-channel parameterization.

Cons

 More manual work on the top sheet.

B) Repeat keyword on ONE Sheet Symbol (fast & clean)

One Sheet Symbol, repeated automatically.

Syntax
Repeat(<ChannelIdentifier>, <FirstIndex>, <LastIndex>)

Pros

 Fastest way to create many identical channels.

 Clean top sheet (stacked sheet symbol visual).

Cons (important)

 You cannot easily feed a totally unique one-off net into only one channel.

 Some advanced connectivity patterns are restricted (and harness passing is limited in
Repeat-based designs).
2) The compiled model is the truth (UDM)

Altium is continuously compiling into an internal model (UDM). That compiled model is
what:

 resolves designators/nets per channel,

 creates “physical tabs” per channel in schematics,

 generates PCB components + nets for each channel.

So when something “weird” happens, it’s usually naming scope / net naming priority /
channel naming scheme — not “random”.

3) Naming: you must decide how repeated stuff gets unique names

Multi-channel only works if every repeated component and net ends up unique.

Where to set it

Project Options → Multi-Channel tab

You choose:

 Room naming (channel containers on PCB)

 Component naming scheme (and nets follow the same scheme)

Practical recommendation

 If you don’t have channels-inside-channels: use flat naming at room level (simpler).

 For components: choose something short and readable like


C30_CIN1 or C30_1 style (exact token depends on scheme).

4) Connectivity rules (this is where people get confused)

Net Identifier Scope

For multi-channel designs you generally want:

 Automatic / Hierarchical / Strict Hierarchical

Because multi-channel requires hierarchy to instantiate channels safely.

If you used Multiple Sheet Symbols


Connectivity is straightforward:

 You wire whatever goes into each sheet symbol.

 Each channel can get different nets because you explicitly routed them.

If you used Repeat keyword

There are only two “legal” connectivity patterns:

A) “Common-to-all channels” nets

If a net is wired to a sheet entry on the repeated sheet symbol, that net is available to all
channels.

Example: +12V, I2C_SCL, ENABLE, etc.

B) “Per-channel unique net from a bus”

If you need a different signal per channel, you do it from a bus using a repeated sheet entry
name like:

 Repeat(Headphone) on the sheet entry


Then Altium maps:

 Headphone1 → Channel1

 Headphone2 → Channel2

 etc.

Hard limitation: with Repeat-based channelization, you generally can’t route a random
unique net to only one channel unless you restructure into multiple sheet symbols.

5) Net naming priority: avoid “multiple net names” chaos

A single PCB net can’t have two final names, so you must choose how Altium resolves
competing names.

Where to set it

Project Options → Options tab → Netlist Options

Practical strategy that keeps life sane

 Enable “Higher Level Names Take Priority”

 Put net labels on the top-level nets that enter/leave channels

This avoids the situation where internal child-sheet labels override your top-level intent.
If you intentionally have multiple names (common in channels), don’t globally disable the
rule. Use:

 Specific No ERC markers on the exact nets you expect.

6) PCB side: Rooms are the superpower

When you transfer to PCB, Altium can create a Room per channel (Project Options → Class
Generation).

Rooms let you:

 move an entire channel as a block,

 scope rules by room,

 copy placement + routing from one channel to all other channels


(the “this is why multi-channel is worth it” feature)

Key commands live under:

 Design → Rooms → Copy Room Formats

 Design → Rooms → Move Room

7) UID linking (why this still works with repeated parts)

A schematic component UID alone can’t be used (it repeats), so Altium composes the PCB
UID from:

 Sheet Symbol UID + Component UID

 and for Repeat designs, also the ChannelIndex

That’s how cross-probe stays correct.

8) Parametric multi-channel hierarchy (pro move)

If channels are structurally identical but values differ (filters/EQ stages, sense scaling, etc.):

 Put parameters on each channel’s Sheet Symbol (e.g., C2_Value=0.056uF)

 On the child sheet, set component parameters like:

o Value = =C2_Value (or map into Comment)

Result: one schematic, many channels, each with unique values.


Rule of thumb: parametric per-channel values are easiest when you have separate sheet
symbols per channel (because the parameter storage lives on the symbol instance).

The decision cheat-sheet

Use Repeat keyword when:

 many identical channels

 mostly shared inputs (power/clock/control)

 per-channel uniqueness comes from a bus

Use multiple sheet symbols when:

 each channel needs slightly different wiring

 you want per-channel parameter/value overrides cleanly

 you’ll do lots of “special-case” channel handling

Reusing Blocks
1) Refactoring = restructure this design without changing function

Use refactoring when the goal is re-organizing your hierarchy/sheets (not “reusing” across
projects yet): replace an obsolete part with a subcircuit, push circuitry into a new child
sheet, convert between schematic sheets and device sheets, or move a selected subcircuit
to another sheet—while keeping linkage intact (UIDs stay consistent so PCB linkage doesn’t
break). Altium

Typical uses

 “This IC is obsolete; I want to swap it for an equivalent module on a sheet symbol.”


Altium

 “This sheet is overloaded; move this block to another sheet without breaking
connectivity/links.” Altium

 “Turn this sub-sheet into a reusable device sheet (or localize a device sheet into a
normal sheet for edits).” Altium

2) Multi-Channel = repeat circuitry inside the same project

Use multi-channel when you have N copies of the same channel on the same PCB: stereo
paths, 8 sensor channels, 64 front-ends, etc. You capture once, then Altium instantiates
channels during compilation; the “logical” schematic is not flattened, but the PCB gets
repeated physical components/nets per your naming scheme. Altium

Two ways to create channels


 Multiple sheet symbols pointing to the same child sheet, or

 One sheet symbol using the Repeat(...) keyword in the Designator. Altium

Practical win: In PCB you can replicate placement/routing from one channel to the others
(room-based workflows). Altium

3) Reuse Blocks & Snippets = reuse circuitry across designs (and optionally bring PCB
layout too)

This is for “I’ll need this block again in future projects.”

Snippets

 Schematic snippet: selection from one schematic sheet

 PCB snippet: selection from PCB including components + routing Altium

Snippets are fast and lightweight: select → create snippet → place later. Altium

Reuse Blocks (Workspace-based)

A Reuse Block is the “big” reuse object: it can contain both:

 the schematic circuitry and

 its PCB physical representation

When you place the reuse block on the schematic, its PCB implementation can be brought in
through the ECO process, and it lands as a union you can manage in the PCB editor. Altium

Key workflow

1. Create reuse block → capture schematic

2. Design » Update PCB Document → ECO to generate/update PCB for that reuse block

3. Place reuse block/snippet from Design Reuse panel into a design

4. Run ECO to bring the PCB union in Altium

So… which one should you pick? (fast decision rules)

Use Multi-Channel if:

 You need repeated circuitry within one design and want Altium to manage naming +
repeated instantiation. Altium

Use Reuse Blocks/Snippets if:

 You want a “known-good block” reusable across many projects

 You care about reusing PCB placement/routing too → prefer Reuse Blocks
(Workspace) over plain schematic snippets. Altium
Use Refactoring if:

 You’re reorganizing a design’s structure/hierarchy (move blocks, replace a part with a


sub-sheet, convert sheet↔device sheet) without changing functionality and without
breaking schematic↔PCB linkage. Altium

A very practical combined workflow (common in real projects)

 Start with a messy single-sheet prototype

 Refactor into hierarchical sheets (“power”, “MCU”, “interfaces”) Altium

 If you have 4–16 identical interfaces → convert that interface sheet into Multi-
Channel Altium

 If the interface becomes your “standard company block” → package it as a Reuse


Block for future boards Altium

Device Sheet
What a Device Sheet is (vs normal sheet)

 A Device Sheet is just a normal .SchDoc stored inside a folder that you declare as a
Device Sheets folder in Preferences.

 When you place it, you place a Device Sheet Symbol (rounded corners / recycle
icon), and Altium pulls it into the hierarchy without explicitly adding the sheet as a
project document.

 Usually it’s read-only in projects, so the team can’t accidentally change it (and
designators / sheet number on the sheet itself stay locked).

Device Sheets vs Managed Sheets vs Reuse Blocks

Device Sheets (local/shared drive)

 Reuse across projects, but you manage them yourself (folders, versions, access).

Managed Schematic Sheets (Workspace)

 Same reuse idea, but with revision control, lifecycle, access control, where-used,
etc. (better for teams/orgs).

Reuse Blocks (Workspace) & Snippets

 Reuse blocks can carry schematic + PCB physical implementation


(placement/routing via ECO).

 Device sheets are schematic reuse only (unless you combine with other workflows).

How you enable & use Device Sheets (workflow)


1. Create a Windows folder structure (e.g. Device Sheets/Power, Device
Sheets/Interfaces).

2. In Preferences → Data Management → Device Sheets, add that folder (optionally


include subfolders).

3. In a project: Place → Device Sheet Symbol → pick the device sheet → place the
symbol → wire it like any sheet symbol.

Editing device sheets: the “right” way

Recommended

 Close projects that reference it

 Open the device sheet from the folder as a source file (File → Open)

 Edit/save/close

 All projects that reference it will reflect updates

Not recommended (but possible)

 Disable “Make Device Sheets in Projects Read-Only”

 Now you can edit inside projects — but this is an environment-wide setting and can
cause accidental edits across designs.

Hierarchy & multi-channel compatibility

 A device sheet can contain other device sheet symbols (deep hierarchy is fine).

 A device sheet cannot be the top sheet.

 You can use device sheets inside multi-channel designs (e.g., the repeated channel is
a device sheet block).

The big reason device sheets exist: annotation + sheet numbering without touching the
source

Because device sheets are meant to be “frozen,” Altium avoids modifying their content
during finalization.

What you do instead

1. Number sheets

o Number normal project sheets as usual (Number Schematic Sheets).

o Then run Annotate Compiled Sheets to number including device sheets.

2. Annotate components
o First make sure everything has designators (Annotate Schematics).

o Then use Board Level Annotate to assign unique physical designators across
the compiled design.

All of this mapping is stored in a <ProjectName>.annotation file, so the device sheet source
files remain unchanged.

How device sheets connect to Refactoring (super important)

If your design has already been pushed to PCB, don’t cut/copy/paste circuitry between
sheets—because UIDs can get regenerated and you can break schematic↔PCB linkage.

Instead:

 Use Edit → Refactor → Move Selected Subcircuit to Different Sheet

 And refactor commands for converting schematic ↔ device sheet

That’s the “safe” restructuring path.

Practical recommendation for how you should use them

For your kind of work (repeatable “known-good” interface blocks, power stages, comms
blocks):

 Device Sheets for stable, schematic-only building blocks you want everywhere.

 Multi-channel for repeating blocks inside one project (8x channels).

 Reuse Blocks when you want schematic + PCB placement/routing reuse as a


packaged module.

Schematic Template
What a Schematic Template Is

A schematic template defines:

 Sheet size & orientation

 Title block graphics

 Sheet-level parameters (metadata like DrawnBy, Date, Revision)

It ensures consistent-looking schematics across projects or teams.

Once applied:

 Graphics/text from the template are locked (cannot be edited)

 Only parameter values change


Where Templates Live

You can have two kinds:

1) Workspace templates (recommended for teams)

 Stored in Altium Workspace

 Revision-controlled

 Can be enforced via Environment Configurations

2) Local templates

 Stored as .SchDot files on disk

 No revision control

 Personal or legacy use

Creating a Workspace Schematic Template (Correct Way)

1. Preferences → Data Management → Templates → Add → Schematic

2. Temporary schematic editor opens

3. Configure Document Options:

o Units, grid

o Page size, orientation

o Title block ON/OFF


⚠️Do NOT apply another template to a template

4. Define sheet-level parameters

o These become available when the template is applied

5. Draw graphics:

o Lines, borders, title block

6. Add Special Strings (placeholders):

o Use text like =DrawnBy, =Revision, =ProjectName

o Values come from sheet / project / variant parameters


⚠️Avoid spaces in parameter names

7. File → Save to Server


o Creates a revisioned Workspace template

Special Strings (Key Concept)

 Text objects with =<ParameterName>

 Auto-filled when template is applied

 Sources:

o Sheet parameters

o Project parameters

o Variant parameters

Example:

=DrawnBy

=ProjectName

=Revision

Applying a Template

 Apply to any schematic sheet

 Result:

o Graphics become non-selectable

o Special strings show actual values

 Only editable part afterward:

o Parameter values, not the graphics

Editing a Workspace Template

 Preferences → Templates → right-click → Edit

 Opens in temporary editor

 Saving creates a new revision

Migrating Existing Templates to Workspace


You can:

 Open .SchDot → Save to Server

 Or use Load from File

 Or right-click local template → Migrate to Server

Result:

 Local file archived

 Workspace template created with revision history

Creating a Local Template

1. New schematic

2. Design it like a template

3. *Save As → .SchDot in local templates folder

Local templates appear in Preferences if visibility is enabled.

When to Use What

Workspace template

 Team standards

 Audited / locked formats

 Company title blocks

Local template

 Personal experiments

 Legacy designs

 No enforcement needed

Analyzing Your Design Using Circuit Simulation


Verifying and Preparing a Project for Simulation in Altium Designer
1. Overview and Feature Availability

Before running a circuit simulation, the design must be verified and properly prepared to
ensure accurate and reliable results. Simulation features depend on the Altium product in
use (Altium Designer, Altium Develop, or Altium Agile editions). If a required feature is
unavailable, the relevant license level should be confirmed.

Simulation is managed primarily through the Simulation Dashboard, which guides


verification, preparation, and execution of analyses. Note that legacy Altium documentation
is unversioned; older versions are accessible through the Legacy Documentation resources.

2. Controlling the Scope of Simulation

The scope of a simulation is defined using the Affect setting in the Simulation Dashboard.
This determines which schematic sheets are included:

 Document: Simulates only the currently open schematic sheet.

 Project: Simulates all schematic sheets in the active project.

This flexibility allows efficient debugging by isolating issues to a single sheet or expanding
analysis to the full design. The Affect setting can be combined with Compile Mask directives
and manual source inclusion to further control simulation visibility. If design variants are
present, simulations are performed on the active variant only.

3. Using Compile Masks for Simulation-Specific Elements

Compile Mask directives exclude covered elements from compilation. This is particularly
useful for simulation-only components such as voltage and current sources, which are
required for simulation but not for the final PCB.

A recommended approach is to group all simulation-specific components into a dedicated


schematic section and apply a Compile Mask to it.

 During simulation: Disable the Compile Mask to include these components.

 After verification: Re-enable the Compile Mask to exclude them from the final
design.

This method enables repeated simulation without permanently altering the production
schematic.

4. Verifying the Design for Simulation

Simulation is only available for schematics that are part of a PCB project (*.PrjPcb). Free
schematic documents cannot be simulated.

Verification is initiated using Start Verification in the Simulation Dashboard. This process
includes:
 Generation of the SPICE netlist.

 Simulation-specific electrical rule checks (ERC).

 Validation of simulation models and pin mappings.

If no issues are detected, verification is marked as successful. Minor schematic changes


trigger automatic re-verification, while major changes require manual updates.

Common verification issues include:

 Empty circuit: No components with simulation models present.

 No reference node: Missing ground or reference net (default is GND).

 Duplicate designators: Non-unique component identifiers.

 Voltage source or inductor loops: Shorted pins on sources or inductors.

 Net name errors: Use of SPICE-incompatible characters.

 Global parameter errors: Invalid parameter definitions.

5. Simulation Model Validation

All components must have valid simulation models. Violations are grouped under Simulation
Model checks:

 Components without models: Models can be assigned manually or automatically


from local libraries, installed libraries, connected workspaces, or cloud sources.

 Partially assigned models: Pin mappings must be corrected manually.

 Model syntax errors: Errors within the model file must be resolved.

Supported model formats include PSpice and LTspice (.mdl, .ckt, .lib, .cir). Only ANSI-
encoded files are supported.

6. Preparing the Design for Simulation

6.1 Adding and Configuring Simulation Sources

At least one voltage or current source is required for meaningful simulation. Sources can be
added directly from the Simulation Dashboard or schematic menus.

Each source is defined by:

 Stimulus Name: Allows reuse or isolation of signal definitions.


 Stimulus Type: DC, Pulse, Sinusoidal, Exponential, Piecewise Linear (PWL), Frequency
Modulated, or File-based (CSV).

 Parameters: Source-specific values such as amplitude, frequency, or timing.

Sources can be enabled or disabled without deletion, simplifying iterative analysis.

6.2 Piecewise Linear and File-Based Sources

Complex waveforms can be defined using:

 Time–Value pairs for interpolated PWL sources.

 CSV files containing waveform definitions for voltage or current sources.

These methods support accurate reproduction of measured or custom signals.

7. Adding and Managing Probes

Probes are used to observe simulation results at specific circuit points. Supported probe
types include:

 Voltage

 Current

 Power

 Voltage Difference (between two nodes)

Probes must be placed on valid nets or component pins. Incorrect placement results in
inactive or undefined probes. All probes can be managed, enabled, disabled, or color-coded
from the Simulation Dashboard. Probe results are displayed directly on the schematic and in
the Properties panel.

An optional Interactive Probe Mode allows real-time updates to simulation results when
probes are modified, at the cost of increased file size and simulation overhead.

8. Adding Simulation Models to the Design

Simulation-ready components require linked models. Models can be sourced from:

 Component manufacturers

 Altium’s Simulation Generic Components library

 The SPICE Model Wizard

 Third-party modeling tools or vendors


 Custom, manually written models

Models may be attached to library components or placed directly into the schematic. When
placing a model directly, Altium automatically assigns an appropriate generic symbol based
on the model type.

9. Digital Devices and Advanced Features

Altium supports PSpice digital primitives, including digital gates and stimuli, with inertial
delay handling and global digital nodes. Variable passive components are also supported,
allowing resistance, capacitance, or inductance to depend on parameters such as voltage,
current, time, or temperature.

10. Net Naming Best Practices

While not mandatory, assigning net names is strongly recommended. Clear net labeling
simplifies probe placement, result interpretation, and output expression configuration,
particularly in complex designs.

11. Summary

Effective circuit simulation in Altium Designer requires:

 Correct project structure.

 Clear control of simulation scope.

 Proper use of Compile Masks.

 Complete and valid simulation models.

 Thoughtful configuration of sources and probes.

Following these practices ensures accurate simulation results and a smooth transition from
verification to final PCB design.

Configuring and Running Simulations in Altium Designer


1. Overview and Feature Availability

Simulation configuration and execution in Altium Designer are performed through the
Analysis Setup & Run region of the Simulation Dashboard. The availability of specific
simulation features depends on the Altium product edition in use. If required options are
missing, the license level should be verified.
Simulation documentation is no longer versioned; older references are available through
Altium’s Legacy Documentation resources.

Once a circuit has been verified and prepared, the Analysis Setup & Run region is used to
select, configure, and execute one or more simulation analyses.

2. Numerical Entry Formats

All numeric fields in simulation setup support three formats:

 Normal: Explicit numeric values (e.g., 1000000).

 Engineering: Mantissa with SI prefixes (e.g., 1meg, 10u, 5k).

 Scientific: Mantissa and exponent using e notation (e.g., 1e6).

Using engineering notation is recommended for clarity and consistency with electrical units.

3. DC and Small-Signal Analyses

3.1 Operating Point Analysis

Operating Point analysis determines the steady-state DC behavior of the circuit. Inductors
are treated as shorts and capacitors as opens. This analysis computes node voltages, branch
currents, and power dissipation, and establishes the bias point required for other analyses.

Results can be displayed directly on the schematic for voltages, currents, and power. Values
are calculated for all nodes automatically, with additional data selectable from the
simulation results.

A Node Set (.NS) device may be used to assist convergence by specifying an initial node
voltage, though this is typically only required for bistable or difficult circuits.

3.2 Transfer Function Analysis

Transfer Function analysis calculates DC input resistance, output resistance, and gain for
each node. It is enabled from the Operating Point region and requires selection of an input
source and reference node. Results are numerical and added to the simulation data table
rather than plotted by default.

3.3 Pole-Zero Analysis

Pole-Zero analysis evaluates system stability by determining the poles and zeros of the
linearized small-signal transfer function. The user defines input and output nodes, reference
nodes, and the transfer function type. This analysis is computationally intensive and may
require refinement (poles only or zeros only) for large circuits.
4. Sweep and Time-Domain Analyses

4.1 DC Sweep

DC Sweep performs repeated Operating Point analyses while stepping one or two
parameters, such as source values, component values, or temperature. The result is a DC
transfer characteristic similar to a curve tracer.

4.2 Transient Analysis

Transient analysis computes circuit behavior as a function of time, equivalent to oscilloscope


observation. Time can be defined explicitly or in terms of waveform periods. By default, an
Operating Point analysis is performed first unless Use Initial Conditions is enabled.

Initial conditions may be specified per component or using .IC devices. Component-level
initial conditions override net-level .IC definitions.

4.3 Fourier Analysis

Fourier analysis is derived from the final cycle of a Transient analysis and decomposes a
waveform into its harmonic components. The user specifies the fundamental frequency and
number of harmonics. This analysis is commonly used to assess distortion.

5. Frequency-Domain Analyses

5.1 AC Sweep

AC Sweep analysis computes the small-signal frequency response of the circuit. It requires at
least one source with a defined AC Magnitude. Frequency stepping can be linear, per
decade, or per octave.

Complex output functions such as magnitude, phase, and group delay can be plotted. AC
Sweep is typically used for gain, impedance, and bandwidth analysis.

5.2 Noise Analysis

Noise analysis evaluates the noise spectral density contributed by resistors and
semiconductor devices. The total output noise and equivalent input noise can be plotted,
with optional breakdown by component.

5.3 S-Parameters Analysis

S-Parameters analysis characterizes multi-port networks using scattering parameters. Ports


are defined as sources with specified impedances (default 50 Ω). The simulator also
computes Y-parameters and Z-parameters. This analysis is applicable to RF and general
multi-port systems.
6. Reliability and Variation Analyses

6.1 Stress Analysis

Stress analysis evaluates voltages, currents, and power dissipation against component stress
limits. Stress models are defined per component and may include derating. Results are
displayed in a dedicated Stress chart.

6.2 Temperature Sweep

Temperature Sweep repeats an analysis across a defined temperature range, producing one
curve per temperature. This is configured through the Advanced Analysis Settings dialog.

6.3 Parameter Sweep

Parameter Sweep varies selected component or source parameters over defined ranges
using linear, logarithmic, or list-based distributions.

6.4 Monte Carlo Analysis

Monte Carlo analysis performs multiple runs with randomized component values based on
specified tolerances and distributions (uniform, Gaussian, or worst case). This analysis is
used to evaluate manufacturing variability.

6.5 Sensitivity Analysis

Sensitivity analysis identifies which components most strongly affect a selected


measurement. It requires predefined measurements and is mutually exclusive with sweep
and Monte Carlo analyses.

7. Output Expressions and Measurements

In addition to probes, custom Output Expressions can be defined to generate calculated


waveforms. Expressions may combine voltages, currents, powers, constants, and
mathematical functions.

Measurements such as bandwidth, gain, rise time, frequency, RMS value, and extrema can
be attached to output expressions. Results are presented numerically in the simulation data
tables, enabling quantitative design evaluation.

8. Global Parameters

Global parameters define parametric dependencies used throughout the circuit. They are
evaluated before internal constants and can be referenced directly in component values.
Care must be taken to avoid naming conflicts with built-in constants.
9. Advanced Simulation Options

Advanced options provide direct access to SPICE parameters controlling convergence,


accuracy, temperature, integration method, and reference net. These settings should
generally remain at default values unless convergence or stability issues arise.

Key considerations:

 Higher accuracy increases simulation time.

 Trapezoidal integration is fast but may oscillate; Gear methods are more stable but
slower.

 Raising iteration limits or minimum conductance can improve convergence at the


cost of precision.

10. Running and Managing Simulations

Individual analyses can be run independently, or all configured analyses can be executed
together using Run Simulation (F9). Results are stored in a single simulation data file, with
each analysis displayed on its own chart.

Simulations can be aborted at any time, displaying partial results if available. Mixed-signal
simulations may use multi-threading to improve responsiveness.

If a simulation fails, the issue may lie in the circuit definition or in the analysis configuration.
Systematic troubleshooting is recommended before modifying advanced SPICE parameters.

11. Summary

Configuring and running simulations in Altium Designer involves selecting appropriate


analysis types, defining accurate ranges and parameters, and balancing numerical accuracy
with performance. Proper use of output expressions, measurements, and variation analyses
enables thorough validation of circuit behavior prior to hardware implementation.

Working with Simulation Results in Altium Designer


1. Overview of Simulation Results

After running one or more analyses, Altium Designer stores the results in a Simulation Data
File (SDF) named <ProjectName>.sdf. This file appears under Generated → Simulation
Documents in the Projects panel and opens automatically in the SimData editor. The SDF is
initially unsaved and serves as the central workspace for inspecting, comparing, and
documenting simulation results.
The SimData editor is designed to support efficient analysis, debugging, and validation of
circuit behavior through graphical, numerical, and textual representations.

2. Managing Simulation Runs

All completed simulation runs are listed in the Results region of the Simulation Dashboard.
For each result, you can:

 Reopen the results

 Reload the analysis configuration used for that run

 Edit the result title or description

 Delete the result

Results can also be locked to preserve them. When locked, subsequent runs of the same
analysis type are stored separately, allowing comparison across multiple iterations.

3. Structure of Simulation Data

Simulation results are organized hierarchically into three elements:

 Charts: Logical containers corresponding to analysis types (e.g., Transient, AC


Sweep).

 Plots: Graphical regions within a chart that display data.

 Waveforms: Individual data traces representing voltages, currents, or calculated


expressions.

Each analysis type generates its own chart. Some analyses, such as Operating Point or
Transfer Function, present textual data rather than waveforms.

4. Navigating Charts, Plots, and Waveforms

Charts are accessed via tabs at the bottom of the design space. Within charts:

 Waveforms can be moved between plots using drag-and-drop.

 New plots can be created, and existing ones rearranged.

 Zooming, panning, and fitting operations allow detailed inspection of data.

 Plot and axis properties (titles, grids, scaling) are configurable.

The number of visible plots can be adjusted to balance overview and detailed analysis.
5. Selecting and Filtering Waveforms

Selecting a waveform highlights it and dims unrelated waveforms for clarity. Multiple
waveforms can be selected for comparison. The mask level controls how strongly non-
selected waveforms are faded, and filtering can be cleared at any time.

For analyses involving multiple passes (Temperature Sweep, Parameter Sweep, Monte
Carlo), waveforms are labeled by pass index. Selecting a waveform reveals the parameter
values used for that pass and can optionally highlight related waveforms.

6. Scaling, Axes, and Data Accuracy

Waveforms are auto-scaled initially, but axes can be manually configured:

 Linear or logarithmic scaling

 Custom minimum and maximum limits

 Multiple Y-axes within a single plot for signals with different magnitudes

Displaying data points helps assess numerical resolution and verify that simulation accuracy
is sufficient.

7. Frequency-Domain and FFT Analysis

A Fast Fourier Transform (FFT) can be generated from any waveform using the Create FFT
Chart command. FFT results are placed in a new chart and support spectral analysis such as
harmonic content and noise inspection. FFT resolution is controlled through document
options.

8. Creating, Editing, and Managing Waveforms

Beyond analysis-generated waveforms, you can:

 Edit waveforms using mathematical expressions

 Create custom waveforms (user-defined, sinusoidal, pulse-based)

 Store and recall waveform data using ASCII .wdf files

Stored waveforms can be reused for comparison or documentation, though recalled


waveforms are read-only.
Waveforms can be copied, moved, or deleted from plots without deleting their underlying
data. Permanent deletion is performed from the Source Data list.

9. Exporting and Importing Data

Simulation data can be exported to CSV format at the chart, plot, or waveform level. Export
options allow control over real or complex data and delimiter format.

CSV files can also be imported, enabling integration with external tools or reuse of
previously exported data. Name conflicts are resolved during import through renaming.

10. Printing and Documentation

Simulation results can be printed directly from the SimData editor. Page setup, plot
selection, waveform inclusion, and measurement data are configurable. For monochrome
output, designation symbols can be enabled to distinguish waveforms without color.

11. Working with Textual and Digital Data

Some analyses produce textual results rather than plots. These values can be added to
charts, copied to the clipboard, or exported.

Digital simulations display logic levels (0, 1, undefined, high-impedance) using specialized
digital plots. Digital and analog waveforms are kept separate, and Boolean operations
preserve digital representation.

12. Measurement Results and Direct Measurements

Measurement results are shown in the Measurements tab of the Sim Data panel. Features
include:

 Viewing statistics across multiple runs

 Generating plots or histograms of measurement values

 Expanding measurement tables for export or reporting

Direct measurements can be taken in two ways:

 Automatic waveform measurements (min, max, rise time, fall time, etc.)

 Cursor-based measurements, using interactive cursors for precise timing and


amplitude evaluation
13. Cross-Probing to the Schematic

Waveforms derived directly from circuit analysis support cross-probing back to the
schematic. Selecting this option highlights the originating node, enabling rapid correlation
between simulation results and circuit topology. Derived or user-created waveforms do not
support cross-probing.

14. Summary

The SimData editor provides a comprehensive environment for analyzing simulation results
in Altium Designer. Through structured charts, flexible waveform handling, advanced
measurement tools, and export capabilities, it enables thorough validation, comparison, and
documentation of circuit behavior before hardware implementation.

SimData Editor Shortcuts


Reach here.

Simulation Troubleshooting in Altium Designer


1. Overview

When a circuit fails to simulate, the root cause lies either in the circuit definition or in the
simulation setup. Effective troubleshooting requires isolating the problem systematically
and addressing one factor at a time. Altium Designer reports simulation issues through
warning and error messages in the Messages panel:

 Warnings are non-fatal and indicate adjustments made by the simulator to complete
the analysis.

 Errors are fatal and prevent result generation; these must be resolved before analysis
can proceed.

2. Understanding Convergence

Most simulation failures are caused by non-convergence. Altium Designer’s SPICE engine
solves circuit equations iteratively to determine node voltages and branch currents. For
nonlinear circuits, multiple iterations are required at each simulation step. Convergence is
achieved when voltages and currents fall within defined tolerances.

Common convergence-related failures include:

 Singular matrix

 GMIN stepping failed


 Source stepping failed

 Iteration limit reached

 Timestep too small (Transient analysis)

If convergence cannot be achieved within iteration or timestep limits, the simulation is


aborted.

3. General Convergence Troubleshooting Procedure

When a simulation fails, apply the following steps in order:

1. Disable all analyses except Operating Point.

2. Review the Messages panel for errors or warnings.

3. Verify correct circuit wiring; dangling or floating nodes are not allowed.

4. Ensure a valid ground reference exists and every node has a DC path to ground.

5. Check for typographical errors (e.g., O vs 0).

6. Verify correct SPICE multipliers (MEG for 1e6, not M) and remove spaces between
values and units.

7. Confirm all component and source values are realistic and correctly defined.

8. Validate gains of dependent sources.

9. Temporarily remove series capacitors or current sources and retry.

10. Temporarily remove parallel inductors or voltage sources and retry.

If issues persist, adjust advanced settings:

 Increase ITL1 (e.g., to 300) to allow more Operating Point iterations.

 Set RSHUNT to a high value (e.g., 1e12 Ω) to avoid singular matrix errors.

 Add .NS (Nodeset) devices to provide initial voltage guesses.

 Use .IC (Initial Condition) devices to force starting voltages.

 Enable Use Initial Conditions for Transient analysis to bypass Operating Point.

 Increase GMIN and define series resistances in models.

 Set semiconductor starting conditions (e.g., diodes initially OFF).

4. DC Sweep Analysis Troubleshooting


If DC Sweep analysis fails:

 Apply the general convergence steps first.

 Adjust the Step size:

o Larger steps can bypass model discontinuities.

o Smaller steps resolve sharp transitions.

 Avoid DC Sweep for circuits with hysteresis or strong nonlinearity; use Transient
analysis with ramped sources instead.

5. Transient Analysis Troubleshooting

For Transient analysis failures, in addition to general steps:

 Increase RELTOL (e.g., to 0.01) to relax accuracy requirements.

 Increase ITL4 (e.g., to 100) to allow more iterations per timestep.

 Increase ABSTOL and VNTOL if very small current or voltage resolution is


unnecessary.

 Switch the Integration Method from Trapezoidal to Gear for improved numerical
stability, especially in oscillatory or feedback circuits.

Additional best practices:

 Use realistic device models and include parasitics.

 Add snubbers across diodes where appropriate.

 Replace ideal models with subcircuits for power and RF components.

 Increase rise and fall times of pulse sources; avoid ideal step transitions.

6. Summary

Simulation troubleshooting in Altium Designer is primarily about managing convergence.


Begin with circuit correctness, proceed through structured convergence techniques, and
only adjust advanced SPICE parameters when necessary. A methodical approach—combined
with realistic modeling—will resolve most simulation failures and lead to stable, meaningful
results.

Working with a SPICE Netlist in Altium Designer


1. What a SPICE netlist is (and why you should care)
A SPICE netlist is the actual text input the simulator runs. Your schematic is a friendly front-
end; Altium converts it into a netlist that contains:

 Components (R, C, L, sources, semiconductors, etc.)

 Node connections (net names)

 Models / subcircuits (e.g., .model, .subckt)

 Analysis directives (e.g., .op, .tran, .ac, .dc)

 Output directives (e.g., .print, probes → waveform requests)

If a simulation fails, the netlist is often the fastest way to see what SPICE is really trying to
solve.

2. Generating and running a netlist in Altium

 Generate netlist from schematic: Simulate → Generate Netlist

 Create a new empty netlist: File → New → Mixed-Signal Simulation → AdvancedSim


Netlist

 Run simulation from an open netlist: Simulate → Run (F9)

Use this when:

 You want to verify what Altium exported (values, units, node names, model calls).

 You suspect a model or directive mismatch.

 You’re debugging convergence or “singular matrix” style issues.

3. How to read netlist lines (pattern recognition)

Think of a netlist as a list of statements. The key ones:

a) Comments

Lines starting with * are comments:

 Useful for separating blocks, listing selected analyses, etc.

 Not executed by SPICE.

b) Passive components (R/C/L)

Typical pattern:

C<name> <node1> <node2> <value>


R<name> <node1> <node2> <value>

L<name> <node1> <node2> <value>

Example you posted:

CC11 0 NetC11_2 100nF

Means capacitor CC11 between GND (node 0) and NetC11_2, value 100 nF.

Important: In SPICE, node 0 is ground. If your schematic has “GND”, Altium typically maps it
to node 0 in the netlist.

c) Independent sources (voltage/current sources)

Typical voltage source format:

V<name> <plus_node> <minus_node> DC <value> AC <mag> <phase> <time_function>

Example:

VV6 NetC14_2 0 DC 0 PULSE(0 5 100n 10n 10n 400n 1u) AC 1mV 0

Interpreting it:

 Voltage source VV6 between NetC14_2 and ground

 DC value = 0 V

 Transient waveform = PULSE(...)

 AC small-signal magnitude = 1 mV, phase = 0° (used for AC sweep)

d) Analysis directives

These define what simulation is run:

 .OP Operating point (DC bias)

 .TRAN Transient

 .AC AC sweep

 .DC DC sweep

 Etc.

Example:

.TRAN 1 10u 0 1

That’s a transient setup (the exact meaning of each parameter depends on the SPICE flavor,
but conceptually: simulate in time with a defined step/stop time, optional start time / max
step).
e) Output directives

These control what gets recorded:

 In your snippet:

 .PRINT =1 NetC13_1 NetC14_2

It requests plotting/printing certain node quantities.

In Altium, probes and Output Expressions end up generating these kinds of output requests.

f) Models and subcircuits

 .model <name> <type> (params...)

 .subckt ... blocks

 .include "[Link]"

Example:

.model PMOSFET_Level1 pmos (Level=1)

Defines a MOSFET model. Then device instances reference it.

4. The #1 reason netlists “don’t match your intention”

It’s usually one of these:

1. Wrong multipliers / units

 SPICE shorthand is unforgiving (e.g., MEG vs M).

 Also: no spaces in values like 1.0uF (not 1.0 uF).

2. Missing models

 Parts from database libraries/imported designs only simulate if a simulation model is


assigned.

 Otherwise the device might be omitted or replaced with something meaningless.

3. Floating nodes / no DC path to ground

 A netlist makes this visible: you can literally see nodes that never touch 0 through a
DC path.

4. Ideal elements that create singularities

 Loops of ideal voltage sources/inductors, or cutsets of ideal current


sources/capacitors, etc.
 Netlist inspection makes these patterns easier to spot.

5. “Areas of SPICE User Code” (.nsx) — how to use it correctly

This is Altium’s way to inject raw SPICE into the generated netlist.

How to add:

1. Place a Text Frame on schematic

2. First line:

3. .nsx

4. Below it: write SPICE directives / models / params

What it’s good for

 Adding or overriding .model definitions

 Adding .include files (library models)

 Adding .param parameters

 Adding special SPICE commands you can’t easily express via UI

Key behavior

 If you define a parameter in both Global Parameters and in .nsx, the .nsx version
wins (higher priority).

Limit

 You still can’t define an entire circuit purely as .nsx; Altium expects schematic objects
for connectivity/components.

6. Practical workflow: netlist-first debugging

When a sim fails or behaves weirdly, do this:

1. Generate netlist and open it

2. Search for:

o The suspect component designator (e.g., R12, U3, VV6)

o .tran, .ac, .op, .dc

o .model, .subckt, .include

3. Validate:
o Are node connections correct?

o Are values what you expect?

o Is the right model being called?

o Do you see ground node 0 used everywhere it should?

4. If convergence fails:

o Look for floating nodes / purely capacitive coupling / transformers without


reference

o Add RSHUNT / nodesets / initial conditions (either via UI or .nsx) as needed

Creating and Managing Simulation Models in Altium Designer


1. Purpose of Simulation Models

To simulate a circuit using Altium Designer’s Mixed-Signal Circuit Simulator, every


component must be simulation-ready, meaning it must have an associated SPICE simulation
model. These models define the electrical behavior of components and are ultimately
translated into the SPICE netlist processed by the simulator.

Simulation models may be:

 Provided by manufacturers as downloadable SPICE files

 Extracted from datasheets or measurements

 Created manually using SPICE syntax (e.g., subcircuits)

 Generated or managed within a Workspace for reuse and lifecycle control

2. Creating New Simulation Model Files

Manufacturer models are typically supplied as text-based files (*.mdl, *.ckt). If a model is
provided as plain text (for example, on a web page), a new model file can be created in
Altium Designer and populated by copying the content.

Key points:

 Create model files via File → New → Mixed Simulation

 Determine the correct file type (.mdl, .ckt) by inspecting the model syntax

 Models may include directives such as .MODEL, .SUBCKT, .IC, and source definitions

 Advanced features include support for initial conditions, functional sources, burst
transient definitions, and model inheritance using the AKO keyword
 Altium performs error checking for invalid AKO usage (e.g., missing base models or
recursive definitions)

3. Workspace Simulation Models

When working with a connected Workspace, simulation models can be centrally stored,
versioned, and reused.

Workspace Simulation Models:

 Are created automatically when saving a component with an attached simulation


model to the Workspace

 Can also be created directly in the Workspace via the Components panel

 Are stored as .SimModel items, referencing underlying .mdl or .ckt files

 Are linked (not embedded) into Workspace Components, alongside symbols,


footprints, and parameters

This approach enables consistent simulation behavior across projects and controlled revision
management.

4. Defining a Simulation Model (SimModel File)

A .SimModel file defines how a simulation model is referenced and configured. Required
information includes:

 Model Name
Must exactly match the name defined in the .MODEL or .SUBCKT statement of the
referenced file.

 Model File
The linked .mdl or .ckt file containing the SPICE definition.

 Description
Used for documentation and Workspace revision metadata.

 Parameters
Model-level parameters that define default behavior.

 Model Preview
Read-only view of the referenced SPICE file content.

Model-level parameters can be overridden at the component level. During netlist


generation, component-level values take priority.
5. Editing and Updating Simulation Models

Workspace Simulation Models can be edited at any time. Editing creates a new revision,
preserving traceability.

Important behaviors:

 Lifecycle state can be preserved (if permitted)

 Related Workspace Components can be automatically updated to reference the new


model revision

 This ensures simulation consistency without manual re-linking

6. Generating SimModel Files from Libraries

SimModel files can be generated automatically from schematic or database libraries using
the Generate SimModel Files tool.

Key rules:

 Supported for standard Database Libraries (not SVNDbLibs)

 Only enabled tables/components are processed

 Generated SimModel files reference existing simulation links

 Referenced .mdl, .ckt, or .scb files are copied alongside

Generated SimModel files can then be saved into the Workspace as managed Simulation
Model items.

7. SPICE Model Wizard

The SPICE Model Wizard provides a guided method to create SPICE models for supported
analog devices without manual coding.

Supported device types include:

 Diodes

 BJTs

 Semiconductor resistors and capacitors

 Controlled switches

 Transmission lines
The Wizard:

 Generates .mdl files automatically

 Supports parameter entry or parameter extraction from measured or datasheet data

 Links the generated model to a new or existing schematic component

 Allows preview and manual refinement before saving

Pin mapping and parameter values should always be verified after model generation.

8. Model Creation Methods

Two primary approaches are supported:

Direct Parameter Entry


Used when parameters are known explicitly. Unspecified parameters default to internal
SPICE values.

Parameter Extraction from Data


Used for diodes and BJTs. Parameters are derived from:

 Measured device data

 Manufacturer datasheets

 Graphical curve data (imported manually or via CSV)

The Wizard provides comparison plots to validate extracted parameters and allows fine-
tuning.

9. Device Modeling Scope and Limitations

Not all SPICE parameters can be reliably extracted from data. Parameters such as noise
coefficients, temperature exponents, and secondary effects use SPICE default values unless
explicitly defined.

Advanced users may manually extend generated models by editing the .mdl file to include
these parameters where higher accuracy is required.

10. Summary

Simulation models are a foundational requirement for circuit simulation in Altium Designer.
Whether sourced from manufacturers, generated via the SPICE Model Wizard, or managed
as Workspace Simulation Models, correct model definition, naming, parameter control, and
revision management are critical. A structured modeling workflow ensures reliable
simulation results, reuse across projects, and traceability throughout the design lifecycle.

Managing Design Changes between the Schematic & PCB


Working with Classes on Schematic and PCB in Altium Designer
1. What a Class Is and Why It Matters

A Class is a named group of design objects (such as nets, components, differential pairs,
polygons). Classes serve two primary purposes:

1. Navigation and selection: quickly locate and isolate related objects while browsing a
design.

2. Constraint application: apply consistent requirements (routing width, clearance,


impedance intent, etc.) across all objects in the class.

Classes are especially useful when requirements are defined for functional groups (for
example, Power, LEDS, DDR, CAN, Sensitive Analog), rather than for individual nets or
components.

2. Where Classes Come From

Altium supports two broad sources of classes:

2.1 Automatically Generated (Software-Created) Classes

These are derived from design structure during schematic-to-PCB transfer, such as:

 Nets grouped by a bus or signal harness

 Nets connected to a component (e.g., <U1>_Nets)

 Components grouped by schematic sheet

 Hierarchical groupings using Structure Classes (project hierarchy mapped into PCB)

These are configured in Project Options → Class Generation.

2.2 User-Defined Classes

User-defined classes can be created in two main ways:

 Schematic parameters/directives (classic, design-rules centric workflow)

 Constraint Manager classes (constraint-centric workflow)

An object can belong to multiple classes.


3. Constraint Strategy: Constraint Manager vs Design Rules

When a project is created, you choose how constraints will be managed:

 Constraint Manager approach: classes and constraints are handled as project-level


constraints, edited in a structured environment and synchronized via ECO.

 Design Rules approach: classes are mainly defined through schematic


directives/parameters and edited in PCB via the rules system and Object Class
Explorer.

Key interaction rule:

 If both parametric net-class directives and Constraint Manager net classes exist, the
Constraint Manager takes precedence, and parametric net classes are not applied.

Important limitation:

 Component classes cannot be defined in the Constraint Manager; they must be


created parametrically (e.g., using ClassName on components).

4. Defining Classes on the Schematic

4.1 User-Defined Component Classes (Parameter-Based)

To place components into a component class:

 Add a component parameter named ClassName

 Set its value to the class name (e.g., PowerStage, Analog, Sensors)

This can be applied efficiently by:

 Selecting multiple components and editing in the Properties panel

 Using a Blanket plus a Parameter Set to apply to a grouped region

4.2 User-Defined Net Classes (Directive-Based)

To place nets into a net class (or bus/harness nets into a net class):

 Place a Parameter Set directive touching the wire/bus/harness

 Add a parameter named Net Class Name with the desired class value

For large groups:

 Use a Blanket to cover multiple nets

 Place the Parameter Set so it touches the blanket boundary, not the wire
Note: the parameter value defines the class name; the displayed directive name is only a
visual aid.

5. Defining Classes in the Constraint Manager

In Constraint Manager, classes are managed directly (add/edit/delete) and are designed to
make constraint assignment across grouped nets fast and consistent.

Practical behavior:

 Classes defined in Constraint Manager are transferred during synchronization


regardless of Class Generation settings.

 If you migrate from directives, Altium can convert directive-based net class
definitions into Constraint Manager classes during ECO refresh, after which the on-
sheet directives become non-editable and represent managed constraints.

6. Class Generation During Schematic-to-PCB Transfer

The Class Generation tab in Project Options controls:

6.1 Automatically Generated Classes

Examples:

 Net classes per named bus or harness

 Net classes per component (nets connected to that component)

 Component classes per schematic sheet

 Optional PCB Rooms tied to generated component classes

 Optional sheet-level net-class scope (local-only vs all nets)

6.2 User-Defined Classes (from parameters/directives)

 Component classes from ClassName can be generated in both workflows.

 Net classes from Net Class Name directives are generated only if the project is not
using Constraint Manager.

7. Creating and Editing Classes in the PCB Editor

7.1 PCB Object Class Explorer

The PCB editor provides the most complete view of class types via:
 Design → Classes (Object Class Explorer)

This allows:

 Creating, renaming, deleting classes

 Managing membership using Members / Non-Members lists

 Using selection-based add/remove actions

 Generating component classes via the Component Class Generator

Some system classes are default and cannot be edited (e.g., <All Nets>).

7.2 Creating a Class from Selected Objects

You can create classes directly from selected objects:

 Net class: select nets → create NetClass from selected

 Component class: select components → add class

 Polygon class: create via Polygon Pour Manager

7.3 Cross-Selection Across Editors

Cross Select Mode lets selection propagate between schematic and PCB:

 Enable via Tools menu or Shift+Ctrl+X

 In schematic, hold Alt while selecting a net to select the entire logical net across
sheets (labels/ports/harness behavior included)

This is valuable for verifying that class membership and routing intent align with schematic
connectivity.

8. Structure Classes for Hierarchical Navigation and Rule Scoping

A Structure Class represents a schematic-sheet-level hierarchy inside the PCB domain. It can
contain other class types as members, including:

 net classes, component classes, diff pairs, xSignals, polygons, and even other
structure classes

Structure classes enable:

 Project hierarchy navigation in PCB

 Sheet-level grouping for inspection and design review

 Powerful scoping in rules and filters using query language


Example query capability:

 InStructureClass('SheetA_Block') to target all objects belonging to that hierarchy


branch.

9. Practical Guidance

Use classes when:

 You want consistent constraints across a functional group

 You need fast selection and verification workflows

 You want reusable structure for complex boards (interfaces, power domains,
subsystems)

Choose one dominant strategy early:

 Constraint Manager for centralized, structured constraints and modern constraint


workflows

 Rules + directives/parameters for classic schematic-driven class definition and rules


scoping

Avoid mixing approaches unless you understand precedence and migration behavior,
especially for net classes.

Cross-Probing and Cross-Selecting Between Schematic and PCB


1. Purpose and Core Concepts

Altium Designer provides cross-domain navigation tools that link objects between the
schematic and PCB editors. These features are primarily used to locate, verify, and
manipulate corresponding design objects across domains.

 Cross-Probing: “Point to an object here, jump to and highlight its counterpart there.”
Used to locate an item in the other editor.

 Cross-Selecting: “Select objects here, automatically select the same objects there.”
Used to build a working selection set for placement, class creation, and other actions.

Supported cross-domain object types between schematic and PCB include documents,
components, buses, nets, and pins/pads.

2. Unified Data Model and Project Compilation


Cross-probing and cross-selecting rely on Altium’s Unified Data Model (UDM), an in-
memory representation of the entire project. The UDM captures design entities and
relationships such as:

 component instances and connectivity

 footprint links

 cross-domain relationships (including PCB–FPGA links where applicable)

Because cross features depend on an up-to-date model, Altium uses auto-compilation to


keep the UDM current. Manual validation can be performed via:

 Project → Validate PCB Project


This checks logical, electrical, and drafting consistency based on compiler settings.

3. Recommended Document Setup

These features are easiest to use when schematic and PCB are visible at the same time:

 Right-click a document tab → Split Vertical / Split Horizontal

 To return to a single view: right-click a tab → Merge All

 With multiple monitors: drag a document tab to another screen

4. Cross-Probing (Locate and Highlight)

4.1 Access

Cross-Probing can be launched from either editor:

 Tools → Cross Probe

 Toolbar Cross Probe button (Standard toolbar)

Highlight behavior on the target document is controlled by:

 Preferences → System → Navigation → Highlight Methods

Note: Highlighting is applied to the target document, not the originating one.

4.2 Modes of Operation

Altium provides two operating modes:

Continuous Mode

 Stay in the source editor and probe multiple objects in sequence.


 Best used with schematic and PCB open side-by-side.

 Behavior notes:

o Only the most recently probed object is highlighted (not cumulative).

o If documents are not side-by-side, you must activate the target document to
view results.

Jump-To Mode

 Probe a single object and switch focus to the target editor.

 Triggered by Ctrl+Click (or Ctrl+Enter) after starting Cross Probe.

4.3 Cross-Probing From Other Locations

Cross-probing is also available in several workflows beyond Tools → Cross Probe, enabling
fast navigation while debugging, synchronizing, or reviewing:

 Engineering Change Order (ECO) dialog: right-click to cross probe reference/target


items

 Differences Between dialog: double-click an entry to cross probe

 Differences panel: double-click an item to probe

 Variant Manager / Variant Management: probe selected components

 BomDoc: right-click → Cross Probe

 Projects panel: right-click in Components/Nets → cross probe to schematic/PCB

 Messages panel: double-click an error after validation to jump to the issue

 Constraint Manager: right-click an entry → Cross Probe (or from a custom rule
menu)

5. Cross-Selecting (Build a Matched Selection Set)

5.1 What It Does

With Cross Select Mode enabled, selecting objects in one editor automatically selects the
corresponding objects in the other editor. This is particularly useful for preparing selections
for downstream actions such as:

 creating PCB classes from schematic selections

 arranging placement clusters

 placing components in a controlled sequence


5.2 Enabling Cross Select Mode

Cross-selecting can be toggled by:

 Tools → Cross Select Mode (toggle on/off; icon indicates state)

 Shift+Ctrl+X

 Preferences → System → Navigation → Cross Selection

Enabling it in either schematic or PCB enables it for both.

Selection display behavior (zoom, focus switching, dimming, etc.) is configured in:

 Preferences → System → Navigation → Cross Select Mode settings

6. Selecting PCB Components From the Schematic (Command-Based)

In addition to live cross-select mode, Altium supports a command that transfers a schematic
selection directly to PCB:

Workflow

1. Ensure the target PCB document is open.

2. Select the required component(s) on the schematic.

3. Run Tools → Select PCB Components

o Alternatively: right-click a selected part → Part Actions → Select PCB


Components

Result

 The PCB document becomes active.

 Corresponding footprints are selected and zoomed (not masked).

Operational notes:

 If the project has multiple PCB documents, open only the PCB document you want to
operate on; otherwise the command searches across open PCB documents for
matches.

7. Common Practical Uses

Cross-selecting and cross-probing are most valuable when used as “navigation + intent
verification” tools:
 Layout targeting: select a functional group in the schematic, immediately locate and
place it on the PCB

 Class creation: cross-select parts, then capture them into a PCB component class
efficiently

 Debugging and ECO review: probe from Messages/Differences/ECO to find and


resolve mismatches quickly

 Constraint verification: probe from Constraint Manager entries to confirm the exact
objects being constrained

Using Color to Highlight Nets


1. Purpose of Net Color Highlighting

As schematic and PCB designs grow in complexity, visual clarity becomes critical. Net Color
Override allows designers to apply color to schematic wiring, PCB connection lines, and
routed nets to improve readability and quickly identify critical signal groups such as high-
speed interfaces, power domains, or sensitive analog paths.

Net colors can be applied:

 on the schematic, then transferred to the PCB, or

 directly on the PCB, independent of the schematic.

Net Color Override can be toggled on or off in both editors using F5.

2. Applying Color to Nets in the Schematic

2.1 How to Apply Net Colors

In the schematic editor, net colors are applied via:

 View → Set Net Colors

You may select a predefined color or use Custom to choose a specific color. Click on any of
the following to apply the color:

 wire segment

 pin-connected wire

 net label

 bus

 port, sheet entry, power port, or off-sheet connector

The command remains active, allowing multiple nets to be colored sequentially.


2.2 Important Behavioral Notes

 Net Color Override must be enabled to see the color. If disabled, Altium prompts to
enable it.

 Coloring a bus applies the color to all nets within that bus.

 Color is applied to the entire net, across all schematic sheets.

 Nets between sheet symbols require a net label to carry color across sheets.

 Color is not applied directly to pins or power ports; a wire segment must exist.

 Blanket directives can be used to color all nets covered by the blanket.

 Net colors override previous colors and cannot be undone. Use:

o Clear Net Color or

o Clear All Net Colors


to remove them.

2.3 Where Schematic Net Colors Are Stored

Net colors are not stored on individual schematic objects. Instead, they are saved as net-
level data in the project file and reapplied automatically when sheets are compiled and
opened.

3. Transferring Net Colors Between Schematic and PCB

Net colors can be synchronized between schematic and PCB using:

 Design → Update

If colors do not transfer, verify that the following options are enabled:

 Comparator tab: Differences Associated with Nets → Changed Net Colors

 ECO Generation tab: Modifications Associated with Nets → Change Net Colors

4. Applying and Managing Net Colors in the PCB

4.1 Net Representation on the PCB

On the PCB, a net appears as:

 connection lines (unrouted), and

 routed tracks (physical copper).


Net colors always apply to connection lines. Routed tracks can display either:

 the layer color, or

 the net override color.

4.2 Changing Net Colors in the PCB Editor

Net colors can be defined directly in the PCB editor using the PCB panel (Nets mode):

 Select one or more nets → right-click → Change Net Color, or

 Double-click a net name to open the Edit Net dialog and set the color.

Each net’s color is shown in the PCB panel, along with a checkbox that controls whether the
color override is applied to routed tracks.

5. Displaying Net Colors on Routed Tracks

5.1 Enabling Net Color Override for Routing

To display net colors on routed tracks, all of the following must be enabled:

1. A color is assigned to the net.

2. The Color Override checkbox is enabled for that net in the PCB panel.

3. Net Color Override is globally enabled (F5).

4. Color override behavior is configured in Preferences.

5.2 Configuring Display Behavior

Color override appearance is controlled in:

 Preferences → PCB Editor → Board Insight Color Overrides

Key options include:

 Base Pattern: How net color and layer color are combined when zoomed in.

 Zoom Out Behavior:

o Base Pattern Scales

o Layer Color Dominates

o Override Color Dominates

These options allow designers to retain layer awareness while still emphasizing critical nets,
especially when zooming out in dense designs.
6. Practical Use Cases

Net Color Override is particularly effective for:

 identifying high-speed or length-matched buses

 separating power, analog, and digital domains

 reviewing routing continuity across layers

 visually debugging complex connectivity

When used consistently, net coloring significantly improves navigation, review efficiency, and
design confidence in both schematic and PCB domains.

Swapping Pins, Differential Pairs, and Sub-Parts in Altium Designer


1. Why Swapping Matters

Pin, differential-pair, and sub-part swapping can significantly improve PCB routability, reduce
congestion, and lower layer count (and cost). Because swapping affects functional intent, the
ideal workflow is collaborative: the schematic designer defines what is logically safe to swap,
and the layout engineer uses swapping tools to optimize routing without violating that
intent.

Altium’s swapping system is tightly integrated with the design database. When a swap is
performed, Altium dynamically reassigns nets on pins/pads and updates any connected
copper, enabling swaps even on partially routed nets and BGA escape patterns.

2. Types of Swapping

Altium supports three swap categories:

 Pin Swapping: swap equivalent pins within a component.

 Differential Pair Swapping: swap equivalent differential pairs within a component.

 Sub-Part (Part) Swapping: swap functionally identical sub-parts inside a multi-part


component (e.g., dual gates).

Each category is governed by swap groups, which explicitly define what is allowed to swap.

3. Swap Groups: The Core Concept

Swapping is only permitted when objects share the appropriate group attribute:

 Pin Group → governs pin swapping

 Pair Group → governs differential pair swapping


 Part Group + Sequence ID → governs sub-part swapping

Leaving a group value blank means the pin/pair/sub-part is not swappable.

4. Configuring Swap Groups (Configure Pin Swapping Dialog)

Swap group configuration is performed per component in the Configure Pin Swapping
dialog. It can be opened from either editor:

 PCB: Component Actions → Configure Pin/Part Swapping

 Schematic: Part Actions → Configure Pin Swapping

 Or through the global configuration dialogs (Tools menus) that list all components.

4.1 Pin Swapping Tab

Pins are swappable only within the same Pin Group.

Key capabilities:

 View pin status (designator, pin name, net, type, part number, etc.).

 Assign groups manually or via right-click automation (by pin name, designator, net,
bus, type, etc.).

 Add/remove multiple pins to/from groups in bulk.

4.2 Differential Pair Swapping Tab

Differential pairs are swappable only within the same Pair Group.

Key capabilities:

 View pins/pairs and assign pair groups.

 Populate pairs using schematic directives (when configured).

 Bulk add/remove pairs to groups.

4.3 Part Swapping Tab (Sub-Parts)

Part swapping is governed by:

 Part Group: which sub-parts are equivalent and allowed to swap.

 Sequence ID: which pins are equivalent between those sub-parts (prevents
input/output mix-ups).

This is essential for multi-gate logic, multi-op-amp packages, and similar “repeated function”
devices.
5. Practical Example: Dual 5-Input NOR Gate

A dual NOR gate has two equivalent sub-parts (A and B). Within each sub-part, the input
pins are interchangeable, but inputs must not swap with outputs, and sub-part A pins must
only swap with the equivalent sub-part B pins.

A correct configuration typically looks like this:

 Pin swapping

o INAx pins share one pin group (e.g., group “1”)

o INBx pins share another pin group (e.g., group “2”)

o OUT pins usually are not placed in the same group as inputs confirms
functional safety.

 Part swapping

o Sub-parts A and B share the same Part Group value (e.g., “1”)

o Sequence ID maps OUTA ↔ OUTB and INA0 ↔ INB0, INA1 ↔ INB1, etc.

6. How Swaps Are Reflected Back Into the Schematic

Swaps are executed at PCB level by swapping nets on pads and copper. When changes are
pushed back to the schematic, Altium can update the schematic in two main ways:

1. Swap pins on the symbol (pin names effectively change position)

o Always works, but may diverge from the library symbol definition.

o Can complicate future library updates and consistency across repeated


instances.

2. Swap net labels on attached wires

o Preserves the symbol as-is; better for complex ICs such as FPGAs.

o Requires that connectivity is label-based (not hard-wired pin-to-pin).

This behavior is controlled in Project Options under the “Allow pin swapping using these
methods” settings.

7. Enabling Swapping in the PCB Environment

Swapping is not “always on” during routing:


 During Interactive Routing, the Pin Swapping option must be enabled (accessed
while routing via Tab and the Properties panel).

 Per-component swapping permissions are configured in the PCB component


Properties under Swapping Options.

 For bulk management, use Tools → Pin/Part Swapping → Configure, which provides:

o per-component enable/disable for pin swap and part swap

o quick copying of settings across multiple components

o filtering to show only components that have swap data

8. Performing Swaps

8.1 Interactive Swapping (Manual, One-at-a-Time)

Commands are available under Tools → Pin/Part Swapping:

 Interactive Pin/Net Swapping

 Interactive Differential-Pair Swapping

 Interactive Part Swapping

When active, Altium masks the PCB so only swappable entities remain highlighted. The
typical workflow is:

1. Select a source pin (or a representative pin of a pair/sub-part).

2. Select a target pin (or target pair/sub-part).

Common reasons a swappable entity may not highlight include:

 it already has a routed connection (including plane/polygon connectivity), and/or

 swapping is disabled in interactive routing settings.

8.2 Automatic Pin/Net Optimizer (Batch Optimization)

The Automatic Pin/Net Optimizer runs in two stages:

 a fast single-pass optimization, then

 an optional iterative optimizer that runs multiple passes to reduce crossovers and
routing distance.

This tool is particularly effective when used repeatedly as routing progresses.


9. FPGA-Oriented Workflow: Iterative Optimization with Escape Routing

For large BGAs (FPGAs, processors), swapping is most powerful when used iteratively:

1. Initial I/O assignment (schematic-friendly labeling; often bus-ordered)

2. Initial optimization (reduce obvious crossovers)

3. Escape routing / fanout

4. Re-optimize (now the optimizer can leverage escaped routes and layer alignment)

5. Manual routing toward escape endpoints

6. Final optimization (align routed sub-nets to the closest compatible escaped pins)

7. Manual fine swaps as needed

8. Propagate changes back to schematic (often prefer net-label swapping for FPGA
bank integrity)

9. Repeat as required

For FPGA symbols split by banks into multiple schematic parts, it is usually safer to prevent
symbol pin changes and instead use net label reassignment when pushing swaps back.

10. Key Takeaways

 Swapping is only as safe as the swap group definitions that constrain it.

 Interactive swapping supports partially routed nets and BGA escapes because Altium
reassigns nets dynamically.

 The automatic optimizer enables a practical, staged routing strategy—especially for


dense FPGA designs.

 For complex multi-part symbols (notably FPGAs), prefer schematic updates by net
label swapping to preserve bank organization and library consistency.

FPGA Pin Mapper in Altium


What it is

FPGA Pin Mapper (beta, per the doc you pasted) is Altium’s bridge between:

 an external pin assignment file (usually a CSV exported from your FPGA/MC tool),
and

 the schematic component representing that device in Altium.


It lets you compare pin signal names between the two domains and then push changes
either direction:

 Pin file → schematic (update net labels / signal names on the schematic)

 Schematic → pin file (rewrite the CSV using your schematic net names)

The practical value is: you stop manually copying pin tables between Vivado/Quartus and
Altium, and you reduce the risk of mismatched assignments.

Where it fits in the workflow (especially with pin swapping)

Pin swapping in Altium needs good pin metadata and intent. For FPGAs you typically already
decide pin functions in Vivado/Quartus, then you want Altium to reflect it cleanly.

Pin Mapper helps you keep:

 FPGA tool I/O assignments

 Altium schematic net labels


synchronized.

It also supports Altium’s broader swapping flow because the point is to import pin-related
information from external tools and then use it in Altium’s swap configuration workflows
(even though advanced swap-group import is “planned” in what you pasted).

Supported sources (per your excerpt)

Direct support is described for:

 Intel/Altera Quartus (example: export CSV from Pin Planner)

 Xilinx Vivado (example: export I/O Ports as CSV)

 plus Altium Pin Info file format for broader/other devices

(Your text mentions specific tool versions as examples; in practice, the key is “CSV export of
pin assignments.”)

How you actually use it in Altium (step-by-step)

1) Export a pin file from the FPGA tool

 Quartus: Assignments → Pin Planner → Export → CSV

 Vivado: File → Export → Export I/O Ports → choose CSV


2) Open Pin Mapper from the schematic component

Right-click the schematic component part → Pin Mapping.

3) Link the external pin file

Use the browse button to select the CSV.

4) Review the mapping table and status icons

Each row/pin gets a status/action choice:

 Synced: matches already.

 Update Pin File: write schematic net names into the CSV.

 Update Schematic: change schematic net labels to match the CSV signal names.

 Ignore: don’t change anything for that pin.

 Warning: non-critical mismatch (you choose what to do).

 Fatal Error: critical mismatch; must be fixed before applying updates.

5) Apply

Choose actions (per-row or via bulk right-click actions), then Apply.

UI features that actually help you

Footprint preview

There’s a footprint preview pane that highlights selected pins and can group display by:

 Bank number

 I/O pins

 Differential pair pins


This is useful for sanity checks: “Did these bank pins get the expected signals?”

Part filtering

For multi-part symbols (FPGA banks split into parts), the “Part Selection” helps you:

 filter the table by part,

 see if a part exists on the schematic,

 see if a part is out-of-sync (red indicator in your text).


Bulk operations (important when you have hundreds of pins)

Right-click menu in the table supports bulk actions like:

 Update all pins in schematic

 Update all pins in pin file

 Ignore all

 Apply to selected pins only

 Reset to default behaviors

This matters because per-pin clicking is painful on large BGAs.

Important limitations / gotchas from your excerpt

1) It’s beta

Expect edge cases. Treat it as a “sync helper,” not an authority. You still want discipline:
recompile, check ECOs, validate.

2) Advanced swap-group import isn’t fully there yet

Your text says only general pin parameters can be copied currently; “Swap group etc is
planned.” So you may still manually set swap groups in Altium.

3) Pin Info model affects swapping editability

When a component has a Pin Info model attached:

 the Pin Group column becomes read-only in the Configure Pin Swapping dialog (to
prevent you from drifting out of sync with Pin Mapping).

If you need to manually edit pin groups inside Altium, the doc says you must:

 remove the Pin Info model from the component properties, or

 unlink/remove the external pin file from the Pin Mapper dialog.

This is a big workflow choice: “external file is the source of truth” vs “Altium is the source of
truth.”

Recommended “clean” workflow for FPGA projects

 Use Vivado/Quartus as source-of-truth for pin assignments.

 Use Pin Mapper to bring signal names into the schematic (Update Schematic).
 After big changes, rerun Pin Mapper sync before layout sign-off.

 If you plan to use Altium pin swapping heavily, decide early whether you want Pin
Info locked (external-authoritative) or you want freedom to edit swap groups inside
Altium.

Building & Maintaining Your Components and Libraries


In Altium, the real thing is the physical part you buy and solder. To use it in design, Altium
needs a component definition that collects:

 Parameters (BOM fields, ratings, manufacturer/MPN links, etc.)

 Links to domain models:

o Symbol (schematic)

o Footprint (PCB)

o 3D model (STEP/body)

o Optional: SPICE, IBIS (SI), harness models

So a component is basically a container that points to the right models + carries the right
metadata.

The 3 library “worlds” and when to use each

1) Workspace Library (Altium 365 / Enterprise Server)

Best for: teams, long-term reuse, standardized parts, traceability.

What you gain:

 Single source of truth for parts (everyone places the same vetted component)

 Where-used tracking (what designs use this part)

 Lifecycle state warnings (obsolete/EOL)

 Templates to enforce required parameters + naming/revision rules

 Model reuse (one footprint used by many components, update propagates cleanly)

 Supply chain data integration (availability/cost/alternates), BOM friendliness

Tradeoff:

 More “process”: revisions, lifecycle, approvals, roles/permissions

Use it if you care about: reliability, collaboration, repeat projects, manufacturing readiness.
2) Database Library (DbLib / SVNDbLib / DbLink)

Best for: organizations that already have a company database/ERP and want Altium tied to
it.

What you gain:

 Each database record becomes a “component record”

 Can sync parameters from the DB into placed parts / BOM

 Central control if your company already runs procurement/part masters in DB

Tradeoff:

 Setup complexity + IT ownership

 Quality depends on database discipline and mapping rules

Use it if your environment already lives in a database and you must integrate.

3) File-based libraries (SchLib / PcbLib / IntLib)

Best for: solo, small teams, quick work, offline or simple projects.

 SchLib: symbols (can be pure models or “component-like” if you add params/model


links)

 PcbLib: footprints (+ optional 3D bodies)

 IntLib: “compiled package” of your libs/models for portability/locking

Tradeoff:

 No built-in lifecycle/where-used dashboard the way Workspace does

 Easy to drift into duplicates/inconsistent parameters

 Collaboration is harder unless you enforce version control yourself

Use it if you want speed and simplicity, and you can maintain discipline.

Practical recommendation (what most people end up doing)

 If you’re serious about building a reusable library (even as one person): go


Workspace.
 If you’re doing short projects / learning / prototypes: file-based is fine, but adopt a
simple internal standard so it doesn’t become chaos.

 Database libraries are mainly for corporate ecosystems.

What “good component hygiene” looks like (regardless of library type)

Mandatory fields (minimum viable BOM correctness)

 Internal Part Number (your ID)

 Manufacturer + MPN

 Description

 Package / footprint name

 Value / rating fields (as appropriate)

 Datasheet link or file reference

 Lifecycle state (even if you do it manually)

Mandatory model checks (footprint/symbol)

Footprint:

 Correct pad sizes, solder mask expansion assumptions

 Courtyard + assembly outline

 Pin-1 marker

 Refdes placement

 3D body alignment (optional but nice)

Symbol:

 Pin numbering matches datasheet

 Pin electrical types not insane (helps ERC)

 Multi-part device correctness (banks/units)

A clean workflow you can follow

1. Start from a manufacturer part (or datasheet)

2. Create/verify footprint first (it’s the most failure-prone)


3. Create symbol and verify pinout

4. Attach parameters (BOM-critical set)

5. Attach models (symbol/footprint/3D; optional SPICE/IBIS)

6. Run a quick validation checklist (pin-1, pad map, 3D, courtyard)

7. Publish to your chosen library system (Workspace preferred if long-term)

Creating a Schematic Symbol


1. Purpose of a Schematic Symbol

A schematic symbol is the graphical representation of a real component in the schematic


domain.
It consists of:

 Body graphics (rectangle/IEEE shape, labels)

 Pins (the electrical connection points)

In modern workflows, the component (Workspace/Component Editor) links the symbol to


footprints, parameters, and supply-chain data; the symbol itself is just the schematic
graphic + pins.

2. The 10 Rules That Prevent Most Mistakes

2.1 Pin-to-Pad Mapping Is Everything

1. Pin Designator must match the footprint pad number.


Altium maps Pin Designator → Pad number. Pin Name is human-readable;
Designator is the key.

2. Never “fix” a mismatch by renaming nets. Fix the pin designators or footprint pads.

2.2 Place Pins Correctly

3. The electrical end (hotspot) must face outward.


Wiring connects at the hotspot. If it’s inside the body, connections get messy.

4. Use consistent pin length (typically 20–30 mil equivalents) so wiring looks uniform.

5. Set Electrical Type correctly (Input/Output/I/O/Passive/Power/HiZ/Open Collector,


etc.) to avoid ERC noise or missed errors.

2.3 Keep It Placeable and Clean


6. Draw close to the sheet origin.
Placement “holds” the symbol relative to origin; far-away drawings cause awkward
cursor offset.

7. Stay on an imperial grid unless you have a strict reason to switch. Mixed-grid
libraries cause alignment/wiring pain.

8. Do not rely on Undo to remove net color / net-level properties (some net-level
settings aren’t undoable). Use explicit clear commands if relevant.

9. Use consistent naming conventions (pin names, power pins, bank labels, etc.).
Consistency beats cleverness.

10. For multi-part components: lock or manage part packing intentionally to prevent
annotation swapping parts you didn’t want swapped.

3. Recommended Workflow (Fast, Reliable)

3.1 Pre-Setup (2 minutes)

 Jump origin to center if needed (J, O).

 Confirm grid (commonly 100 mil or 50 mil for pins/body; 10 mil for text positioning).

 Set pin defaults once (Place Pin → press Tab → set common defaults).

3.2 Create the Body

 Place a simple consistent body shape (rectangle is fine).

 Add minimal text:

o Designator placeholder (e.g., U?)

o Comment/value placeholder (e.g., component name/part number)

3.3 Add Pins

 Place pins (P, P), rotate with Space, flip as needed.

 Set:

o Designator (pad number mapping)

o Name (signal name)

o Electrical Type

 Verify hotspot direction.

3.4 High-Pin-Count Parts (Best Practice)


Use the Symbol Wizard or Smart Grid Insert:

 Prepare a spreadsheet with columns like:


Designator | Display Name | Electrical Type | Side | (optional) Description |
(optional) X | (optional) Y

 Import/paste into the pin table

 Generate clean pin blocks quickly

 Split into multi-part symbols if needed (banks/groups)

4. Multi-Part Components

4.1 When to Use Multi-Part

Use multi-part when the device has logical sections:

 Multi-gate logic (quad AND, dual op-amp)

 Big FPGAs split by banks/interfaces

 Connectors you want “distributed” across the schematic

4.2 Key Practices

 Keep parts homogeneous only if they truly are.

 Consider a dedicated power pins part and mark it so it can’t be swapped during
annotation (if applicable).

 If annotation keeps swapping parts, lock the part or control packing with a
parameter strategy.

5. Quick Validation Checklist

Before you save/release a symbol:

 Pin Designators match footprint pads

 Hotspot direction correct on all pins

 Electrical Types make sense (Power pins are Power, etc.)

 Symbol is near origin and aligns on grid

 Multi-part structure is intentional and stable

 Names/labels follow your library standard


Creating a PCB Footprint
1. What a PCB Footprint Is

A PCB footprint is the physical landing pattern for a component on the board. It defines:

 Pads (electrical connection points)

 Mechanical/overlay outlines (silk + assembly + courtyard intent)

 Optional: 3D body / STEP

 Optional: special strings and mechanical features (glue dots, keepouts, route paths,
etc.)

Critical concept: the schematic symbol pin Designator must match the footprint pad
Designator (pin→pad mapping).

2. The Core Workflow (Manual, Reliable)

Step 1 — Prepare the design space

 Jump to footprint reference point (J, R) and build around it.

 Set units and grids:

o Use Ctrl+G (grid editor), Q toggles imperial/metric.

o Use a custom grid matched to the package pitch.

 Enable Heads-Up display if useful (Shift+H) to see coordinates/deltas.

Best practice: decide where “pick-up point” is:

 Pin 1 (common for ICs/connectors), or

 Center (often better for symmetric packages)

If you already drew everything, you can set it later:

 Edit → Set Reference → Pin 1 / Center / Location


(This redefines 0,0 and updates primitives accordingly.)

Step 2 — Place pads (the most important step)

 Place → Pad

 Before placing the first pad, press Tab to set defaults:

o Pad designator (auto-increments)


o Size/shape

o Layer:

 SMD: Top Layer

 Through-hole: Multi-Layer (+ hole size)

o (Usually) don’t hardcode mask expansions unless you must.

Accuracy tactics

 Use arrow keys to nudge by grid step (Shift = 10× step).

 For exact placement, edit pad X/Y in Properties.

 Measure distances: Ctrl+M (Reports → Measure Distance)

Irregular pads / exposed pads

 Use custom pad shapes or Regions if required.

 For thermal pads: consider paste patterning (often split paste).

Multiple pads tied to one schematic pin

 Allowed: give multiple pads the same designator (example: SOT-223 pin 2 has two
pads marked “2”). This makes them share the same net after ECO.

Step 3 — Add outline & mechanical layers (clean DFM)

Use layers intentionally:

 Top Overlay (silk): minimal, readable, avoid pads/holes.

 Mechanical layers: assembly outline, courtyard, cutouts, special features.

 If the part overhangs a cutout: put the true outline on a mechanical layer (common).

Silkscreen cleanup

 Tools → Silkscreen Preparation

o Clip to exposed copper / solder mask openings

o Enforce clearance

o Move text if needed


This prevents common fab/assembly complaints.

Step 4 — Add 3D (optional but recommended)


 Place a 3D Body and link/import a STEP/Parasolid model.

 Alternatively, set a simple Height value, but 3D is better for collisions.

Step 5 — Footprint properties

 Set footprint Name/Description

 Optionally add footprint parameters (if your setup uses them)

 Remember: when placed on PCB, Designator/Comment strings are auto-added, but


you can add extra .Designator / .Comment special strings on mechanical layers for
assembly drawings.

3. Mask Expansion: The Safe Default

Default approach:

 Let design rules control solder/paste mask expansions on the target PCB.

 Only override at pad level when:

o special paste aperture is needed,

o unusual solder mask definition is required,

o rule targeting is impossible.

To visually verify masks in the footprint editor:

 View Configuration → enable mask layers display.

4. Special Case You Must Understand: Layer Pairs

Some mechanical features must “follow the side” when the component flips (top ↔
bottom):

 glue dots

 peelable mask

 special assembly markings

Altium handles this via Layer Pairs (set in PCB editor, not footprint editor):

 If you flip a component without layer pairs, mechanical objects may not transfer as
intended.
 If you define layer pairs after flipping, behavior can be confusing; updating from
library can refresh.

5. Wizards: When to Use Which

IPC Compliant Footprint Wizard

Use when:

 you want IPC-7351B compliant land patterns quickly

 you want density variants (_L, _N, _M)

 you want consistent pad sizing/fillets from package dimensions

Footprint Wizard

Use when:

 you want fast “good enough” generation based on footprint-level dims

 simpler packages, less IPC-driven control

Professional habit: still verify wizard output against the datasheet.

6. Final Checklist (What Pros Always Verify)

 Pad count and numbering order

 Pin 1 marker + orientation is unambiguous

 Pad pitch and body outline match datasheet

 Courtyard/assembly outlines are reasonable

 Silk doesn’t violate solder mask openings (run silkscreen prep)

 Exposed pad paste strategy makes sense

 3D alignment and height are correct

 Reference point choice is consistent with your library standard

Database Libraries in Altium Designer (DbLink, DbLib, SVNDbLib)


1) Purpose and When to Use

Database Libraries let you browse, place, and maintain components from a company
database (Access/SQL/etc.) inside Altium Designer. They are mainly used when your
organization wants:
 A single source of truth for component parameters (MPN, value, tolerance, voltage,
lifecycle, etc.)

 Controlled synchronization of those parameters into schematics/PCB and BOM


output

 A workflow that can range from “link only” to “generate components dynamically at
placement time”

Altium’s modern alternative is Workspace Library components (Altium 365 / Enterprise


Server), which adds lifecycle/revisions and deeper supply-chain integration. Database
Libraries are still valid when a company’s component management is database-centered
and/or tied to legacy processes.

2) The Three Database-Based Approaches (What’s the Difference?)

A) DbLink (*.DbLink) — Link an existing Altium component to a database record

Concept: You already have a normal Altium component (symbol + models + parameters),
and you use DbLink to link it to a record in your database.

Key traits

 Symbol + footprint + other models are defined in the Altium library component

 Database is primarily used for parameter synchronization

 Match is done via a key field (e.g., PartNumber) or a Where clause

 Common pattern: one database record ↔ one Altium component, though it can be
designed otherwise

Use DbLink when

 You want database-driven parameters but still want Altium libraries to “own” the
models

 You want minimal disruption to established .SchLib/.PcbLib/.IntLib style libraries

B) DbLib (*.DbLib) — Place components directly from database (dynamic component


creation)

Concept: DbLib turns the database into a placeable library. When you place a part, Altium
creates the component on-the-fly using mapped fields.

Key traits

 The underlying schematic library symbol (*.SchLib) is typically symbol-only


 The database record contains the mapping to:

o symbol reference

o footprint reference(s)

o parameters

 Placement happens through the Components panel as a database browser

 Very suitable for many database records → one symbol, because the symbol is
generic and the record defines specifics

Use DbLib when

 Your organization wants the database record to “own” the mapping to


models/parameters

 You want direct placement of a company-controlled catalog without maintaining


separate unique Altium components for each MPN

C) SVNDbLib (*.SVNDbLib) — DbLib plus version-controlled model sources (SVN)

Concept: Same database-driven placement model as DbLib, but the referenced


symbol/footprint model source files are stored under Subversion (SVN).

Key traits

 Database provides the param/model mapping

 SVN repository stores symbol and footprint libraries (often one symbol/model per
file)

 Supports “Librarian vs Designer” workflows:

o Librarian maintains repo structure, mapping, and the SVNDbLib definition

o Designer installs/uses the SVNDbLib for browsing/placing parts

 Practical for organizations that require version control and traceability of library
source artifacts

Use SVNDbLib when

 You need DbLib behavior and you need the library sources under formal VCS control

 Your company already has SVN infrastructure and governance

3) Placement and Updates: What Actually Gets Synchronized?


After placing database-based components, you typically manage updates via:

 Tools » Update Parameters From Database


Updates the placed component’s parameter values from the database record.

 Tools » Update From Libraries


Performs broader updates, potentially including symbol/footprint references and
parameters, depending on how the library and linking are set up.

Database values can also flow into:

 BOM output, enabling procurement-ready data

 Design parameter synchronization across schematic/PCB, depending on workflow

 Dimensions are entered/processed in metric units (mm).

5) Reusing Footprints from Other Sources

Footprints can be copied into a library from:

 A PCB document (copy in PCB → paste into open *.PcbLib)

 Another PCB library (copy/paste via PCB Library editor)

 Multi-select copy/paste from the PCB Library panel list

Altium marks pasted duplicates with suffixes like DUPLICATE, DUPLICATE1, etc. This is useful
as a warning but should be cleaned up by renaming and validating.

Workspace link note


If a footprint originated from a connected Workspace (or Manufacturer Part Search), library
items can retain server links. The library editor includes Tools → Clear Server Links to
remove those references when appropriate.

6) Validating Footprints and Producing Reports

Library List

 Reports → Library List


Generates a *.REP summary listing all footprints in the library and total counts.

Library Report

 Reports → Library Report


Generates a Word (*.doc) or HTML (*.html) report. Can include footprint previews.
Component Rule Checker (PCB Library)

 Reports → Component Rule Check (R, R)


Runs checks for issues such as:

 duplicate primitives

 missing pad designators

 floating copper

 inappropriate component reference


Outputs an .ERR report listing violations per footprint.

This is the fastest way to catch structural issues before the footprint spreads across multiple
boards.

7) Updating Footprints Used on Boards: Push vs Pull

Footprint updates can be applied to placed instances in two different strategies:

A) Push updates from the PCB Library (replace from source)

From the PCB Library editor:

 Tools → Update PCB with Current Footprint

 Tools → Update PCB with All Footprints


(or via PCB Library panel right-click)

This updates all open PCB documents containing those footprints, using selectable update
options for primitives/attributes.

Best when:

 You want a straightforward replacement

 You trust the library as the source of truth

B) Pull updates from the PCB Editor (review differences)

From the PCB editor:

 Tools → Update From PCB Libraries

This path is preferable when:

 You need to review what changed

 You want selective updates (object-by-object or attribute-level control)


8) PCB Library Panel (Core Workflow Tool)

The PCB Library panel is the primary browser/editor interface for footprints and their
primitives.

It provides three scopes:

1. Footprints list: shows footprints plus counts of pads and primitives

2. Footprint Primitives: lists the objects in the selected footprint with key properties
(type, sizes, layer, designators)

3. Mini-viewer (Other): a simplified navigation view with current viewport indicated

Filtering and navigation

 Indirect filtering: Mask field at top (supports wildcards *)

 Direct filtering: type-ahead while the list is focused

 You can combine both for fast targeting in large libraries

Visual focus controls (important for editing)

Panel highlight modes:

 Mask: hides/unselects all non-filtered objects (strong isolation)

 Dim: keeps context visible but visually de-emphasized

 Normal: no special contrast

Additional toggles:

 Select / Zoom / Clear Existing filter behavior

 Clear button is required to remove persistent filtering (clicking in editor does not
clear it)

9) Operational Constraints to Know

 Footprints cannot be edited inside an Integrated Library (*.IntLib) directly.

 To edit an IntLib footprint:

1. Decompile/extract source libraries

2. Edit the footprint in the source *.PcbLib

3. Recompile to produce an updated IntLib

This matters in team environments where IntLib is used as a distribution artifact.


10) Recommended Practice (File-based Workflow)

 Rename placeholder footprints immediately and enforce a naming convention.

 Run Component Rule Check before using a footprint in a real board.

 Prefer pull + review when updating footprints on an already-routed PCB, unless you
explicitly want full replacement.

 Keep IPC generator inputs (Excel/CSV) version-controlled if footprints are generated


from templates.

Integrated Libraries (*.IntLib) in Altium Designer


1) What an Integrated Library Is

An Integrated Library (*.IntLib) is a single, portable file that packages complete Altium
components using Altium’s Integrated Component model:

 The component “definition” is centered in the schematic library (*.SchLib) as a


symbol plus:

o links to domain models (footprints, simulation, SI, etc.)

o component parameters (BOM and identification data)

 All required source libraries and models are gathered through an Integrated Library
Package project (*.LibPkg)

 The *.LibPkg is compiled into a single deliverable: the *.IntLib

In practice, an IntLib is a distribution artifact: you place from it, but you do not edit it
directly.

2) Why Teams Use IntLibs (Key Benefits)

Integrated Libraries exist mainly to solve reliability and portability problems that occur with
separate file-based models.

Portability

 All component information is contained in one file, so moving a project between


folders, PCs, or workstations is simpler.

Model link robustness

 Components placed from an IntLib can reliably retrieve their linked models from the
same IntLib, avoiding “broken links” caused by renamed folders, moved model files,
or missing search paths.
Integrity and validation

 During compilation, Altium checks availability and correctness, including pin


mapping consistency between symbol pins and footprint pads (and other model
mapping rules where applicable).

Security and change control

 Once generated, an IntLib is effectively immutable: updating it means modifying the


sources and recompiling a new IntLib (replacing the old file).

Practical takeaway: even if you still prefer placing directly from *.SchLib / *.PcbLib, compiling
an IntLib is a strong validation step to catch mapping issues early.

3) The IntLib Build Artifact: *.LibPkg (Integrated Library Package)

A Library Package (*.LibPkg) is the project container used to assemble sources and define
how models are found at compile time.

What must be in the LibPkg

 At minimum: one or more schematic libraries (*.SchLib) that contain the


components.

What may also be included

 PCB libraries (*.PcbLib) for footprints (2D + 3D bodies)

 Simulation model files (*.mdl, *.ckt)

 Signal integrity models, etc.

Important limitation noted

 SPICE models from *.LIB libraries are not currently added to compiled integrated
libraries.

4) Standard Workflow: Creating an IntLib Using a LibPkg

Step 1 — Create the Library Package

 File → New → Library → Integrated Library


This creates a new *.LibPkg shell project.

Step 2 — Create and Add Source Schematic Libraries (*.SchLib)

Build or collect components in a schematic library:

 Create from scratch (new SchLib and build symbols)


 Add new SchLib directly under the LibPkg

 Generate from an existing design using Design → Make Schematic Library (archives
placed parts)

Then add the SchLib(s) to the LibPkg (Add Existing to Project).

Step 3 — Create and Provide Domain Models (Footprints, Simulation, etc.)

Create or gather model files referenced by the schematic components:

 Footprints in *.PcbLib (and 3D bodies inside footprints)

 Simulation models/subcircuits in *.mdl and *.ckt

You can generate a footprint library from an existing PCB via Design → Make PCB Library.

Step 4 — Ensure Models Can Be Found (Model Availability Strategy)

Altium uses a consistent model resolution strategy. You typically choose one (or combine
them) based on your workflow:

1. Add libraries/models to the LibPkg project


Best when you want everything visible and tightly controlled in the project.

2. Install libraries/models in the Installed Libraries list


Best when a common model set should be available to many projects.

3. Define Search Paths


Best when models live in standardized folders (e.g., simulation model directories)
and you do not want them cluttering the project.

Search paths are evaluated in order; use refresh/verification to confirm models are detected.

Note: Access to some search path UI options may require enabling an advanced preference
option and restarting Altium (as described in the excerpt).

Step 5 — Compile and Validate

 Project → Compile Integrated Library

Compilation produces:

 (<LibraryPackageName>.IntLib) in the configured output folder (default under a


Project Outputs folder)

During compile, check the Messages panel for:

 Missing models

 Pin mapping mismatches (e.g., mapping to pads 1/2 when footprint pads are A/K)

 Any warnings/errors driven by your Error Reporting settings


Fix problems in source libraries and recompile.

5) Creating an IntLib Directly From a Project (Design Archive Path)

You can also generate an IntLib from an existing design project via Make Integrated Library
(from schematic or PCB editor). The process effectively automates:

 Make a schematic library from all schematics

 Make a PCB library from the PCB document

 Compile into <ProjectName>.IntLib

If components share the same library reference but differ internally, Altium prompts how to
handle duplicates (ignore others, rename all uniquely, or abort).

This approach is ideal for:

 Freezing a “working library” snapshot of a completed design

 Sharing a project with a self-contained component set

6) Creating an Offline IntLib From Database Libraries (DbLib / SVNDbLib)

If your organization uses Database Libraries (DbLib/SVNDbLib) but designers need an offline
deliverable, Altium supports conversion using the Offline Integrated Library Maker.

Key characteristics:

 Conversion is performed per database table

 A separate IntLib is generated for each included table

 The wizard creates a temporary LibPkg, generates SchLib and PcbLib content from
table records, then compiles to IntLib

 Output is organized into subfolders named after each table

This approach allows librarians to maintain database-driven truth, while designers place
from regenerated “offline” IntLibs.

7) Creating an IntLib From Workspace Components (Content Cart Acquisition)

You can also acquire components from a connected Workspace into an IntLib using the
Content Cart workflow:

 Set the cart target to an IntLib file


 Choose output location/name

 The system generates a temporary LibPkg (with generated SchLib and PcbLib) and
compiles an IntLib

 The produced IntLib is added to Installed Libraries

Notably, when placing from such an IntLib, the design may still maintain links back to the
Workspace components (offline usage with a retained connection concept).

8) Placing Components From an IntLib

Placement is done via the Components panel:

 Select the *.IntLib in the panel

 Place via right-click “Place …” (multi-place placement mode until Esc/right-click)

 Or drag-and-drop (single-shot feel)

Important behavioral difference:

 Components placed from an IntLib will seek their models from that IntLib.

 Components placed from raw SchLib do not automatically gain access to models
stored only inside an IntLib.

9) Modifying and De-compiling IntLibs

Modifying (the normal way)

You cannot edit an IntLib directly. The correct workflow is:

1. Open the source *.LibPkg

2. Edit source SchLib / PcbLib / model files

3. Recompile to generate a replacement IntLib

De-compiling (when you don’t have the sources)

If the original LibPkg is missing, you can extract sources from an IntLib:

 Open the IntLib → Extract

Result:

 A new folder is created (named after the IntLib) containing extracted SchLib/PcbLib
sources
 A LibPkg is created and populated with extracted symbol and PCB libraries

 Simulation .mdl / .ckt files are not automatically added, but a search path to the
extracted folder is added so models can be found

The extracted LibPkg is not automatically saved; you decide where and under what name to
save it.

10) Recommended Use Patterns

 Use IntLibs when you need portable, shareable, robust component delivery.

 Compile frequently as a validation gate (model availability + pin mapping


correctness), even if you ultimately place from discrete libraries.

 Treat the LibPkg as the editable “source of truth” and the IntLib as a versioned
deliverable.

Laying Out Your PCB


PCB Environment Setup
This page is basically: “Before you start placing parts and routing, set the PCB document’s
coordinate system, units, grids/snaps, and viewing filters so you don’t fight the tool for the
next 50 hours.”

1) What “PCB Environment Setup” really means

When you create a new PCB (File → New → PCB), you’re not designing yet—you’re
configuring the editing physics of the PCB editor:

 What can be selected (selection filter)

 Where the cursor snaps (grid, guides, hotspots, axis alignment)

 How the board is measured / reported (units, origin, board info)

 How you manage placement grids & guides (Grid Manager, Guide Manager)

 How objects and layers are shown (visibility and view config)

Most of this is done in the Properties panel in Board mode (i.e., nothing selected).

2) Selection Filter (stop “why can’t I click this?” problems)

This is a hard gate: it decides which object types are selectable.


 All – On: removes filtering (everything selectable)

 Individual object toggles: make object types non-selectable when you want to avoid
accidental edits (common when routing around text/regions/rooms)

Practical use:

 While routing: disable selecting components / rooms / regions so you only grab
tracks/vias.

 While moving placement: disable selecting tracks/vias to avoid dragging routing by


mistake.

3) Snap Options (the “cursor behavior engine”)

A) Snap to Grid

 Grids toggle: snaps to the active snap grid.

 If you place parts slightly off-grid, you can get misalignment cascades later.

B) Snap to Guides and Points

 Guides toggle: snaps to manually placed snap guides/points (overrides grid).

 Use this for mechanical constraints, connector alignment, edge-to-edge spacing.

C) Axis snap (X/Y alignment “magnet”)

 Axes toggle + Axis Snap Range

 Lets you align objects horizontally/vertically to other objects even if off-grid

 Shows a dynamic guide line when alignment triggers

D) Snapping to object hotspots (Unified Cursor-Snap idea)

 Snapping mode:

o All Layers: snap to hotspots on any visible layer

o Current Layer: only snap to the currently active layer

o Off: no hotspot snapping

 For each object type: enable snapping + set Snap Distance

Practical settings (typical):

 Placement phase: All Layers can be useful

 Dense routing: often safer to use Current Layer to reduce “snap surprises”
4) Board Information (sanity metrics + reports)

Board mode shows:

 Board Size (X/Y), Area

 Components Area and Density

o Density uses the “courtyard-derived” selection area logic (courtyard → else


silk/3D/copper shapes; excludes strings).

Also includes Board Report generation with a lot of manufacturing-style breakdowns:

 primitives per layer, via layer pairs, copper area by layer, hole size distributions,
annular rings, mask expansions, track widths, routing completion, etc.

When it matters:

 You’re preparing for DFM review

 You want quick stats before fab (e.g., “what hole sizes exist?”, “how many unique
track widths?”)

 You’re trying to spot accidental “odd” values (like one random 3.1416 mil track)

5) Grid Manager (multiple local grids with priorities)

This is bigger than “one grid size”:

 You can define multiple grids (Cartesian / Polar) and assign priority.

 You can apply grids to:

o Comp (components only)

o Non Comp (everything else)

Why it’s powerful:

 You can place components on a clean grid (e.g., 0.25 mm) while routing uses a tighter
grid (e.g., 0.05 mm), without constantly changing settings.

6) Guide Manager (snap guides & snap points)

 Lets you define and manage:

o horizontal/vertical guides
o ±45° guides

o snap points (manual hotspots)

Two ways:

 Add (numerically / via fields)

 Place (interactive placement)

Visibility note:

 Guides are visible only if Show Grid is enabled in View configuration.

Use cases:

 Align connector rows, mounting holes, keepouts

 Enforce consistent margins from board edge

 Create repeatable mechanical alignment structure

7) “Other” board-level settings that bite later

Units

 Sets default measurement units for display/reporting.

 Shortcuts:

o Q toggles mm/mil in the design space

o Ctrl+Q toggles units inside dialogs/panels

Best habit:

 Always type explicit units when critical (e.g., 0.2mm, 8mil) to avoid accidental
assumptions.

Polygon Naming Scheme

Controls auto polygon names based on net/layer/index.


Important because:

 Rule targeting and debugging polygons becomes easier when names are predictable.

 Renaming nets or moving layer order can auto-change polygon names (and rules
update with it).

Designator Display (Physical vs Logical)

For multi-channel designs:


 Physical: unique, e.g., R1_CH1

 Logical: schematic-style R1 (not unique)

This affects how readable the PCB is, but can require extra channel annotation on the board
if you go logical.

Sheet Settings

The PCB “sheet” is like a drawing area for notes/title blocks/dimensions.

 Not the board shape itself.

 Useful when you want documentation elements tied to sheet visibility.

8) Properties panel behavior when an object is selected

Once you click an object, the Properties panel switches from Board mode to that object’s
properties (Track, Via, Pad, Polygon, etc.).
This is why “Board setup” feels hidden: you must click empty space to return to board mode.

9) A practical 2-minute setup checklist (what I’d do every new PCB)

1. Click empty space → Board mode confirmed

2. Set Units (mm or mil) and stick with it

3. Set Snapping:

o Grid ON

o Guides ON (if you plan mechanical alignment)

o Hotspot snapping = Current Layer (often safer during routing)

4. Create two grids:

o Component grid (coarser) → Comp only

o Routing grid (finer) → Non Comp only

5. Add key Guides:

o Board edge offsets

o Connector alignment axes

o Mounting hole axis lines

6. Set Selection Filter based on phase:


o placement: avoid selecting tracks

o routing: avoid selecting components/text/regions

7. Generate Board Information report once mid-design to catch weird outliers (track
widths, drill sizes, mask expansions)

Board Insight System


The Board Insight System is Altium Designer’s unified set of tools for understanding,
navigating, and controlling visibility in dense, multi-layer PCB designs. Its purpose is not
editing, but clarity—helping you see the right information at the right time without hiding
critical context.

1) What Board Insight Solves

Modern PCBs contain thousands of overlapping objects across many layers. Even
experienced designers struggle with:

 Identifying objects under the cursor

 Understanding routing and net connectivity

 Inspecting rule violations in dense areas

 Navigating layers without losing context

Board Insight addresses this through interactive inspection, live feedback, and controlled
highlighting, all integrated into the PCB editor.

2) Board Insight Pop-up Mode (Object & Violation Inspection)

Browse Objects – Shift + X

Displays a hierarchical pop-up of:

 Components

 Nets

 Primitives (pads, tracks, vias, etc.)


located under the cursor.

You can:

 Open properties

 Select the object


 Zoom directly to it

This is cursor-based and works best via shortcut (not menu).

Browse Violations – Shift + V

Shows design rule violations under the cursor:

 Violations are grouped hierarchically

 You can drill down to affected primitives

 Direct access to violation details, selection, and zoom

This is one of the fastest ways to debug DRC issues locally.

3) Visual Pick List (Precise Selection in Crowded Areas)

When multiple objects overlap:

 Double-click to open the Visual Pick List

 Objects are listed by layer

 Hovering highlights the object visually

Locked primitives inside components are marked, making it clear why something cannot be
selected or edited.

This eliminates guesswork when clicking in dense routing regions.

4) Heads Up Display (HUD)

The Heads Up Display provides real-time, on-screen information about the cursor and
nearby objects.

Typical information shown:

 Cursor coordinates

 Delta distances (dx, dy)

 Active layer

 Active snap grid

 Net, component, and primitive details

 Rule violations (in hover mode)

Key controls:
 Toggle HUD: Shift + H

 Toggle tracking (fixed vs follows cursor): Shift + G

 Reset delta origin: Insert

 Toggle delta display: Shift + D

The HUD can be:

 Fixed in place

 Cursor-relative

 Configured in content, font, and color

All configuration is done via


Preferences → PCB Editor → Board Insight Modes

5) Live Highlighting (Net Visibility)

Live Highlighting helps you visually isolate routing.

Static highlighting

 Ctrl + Click on a net

 Everything else dims

 Multiple nets can be highlighted using Shift + Ctrl + Click

 Clear by Ctrl+Clicking empty space

Dynamic highlighting

 Nets highlight automatically as the cursor passes over them

 Uses outline-style highlighting

 Does not dim the rest of the board

This is essential for:

 Tracing signal paths

 Verifying continuity across layers

 Debugging dense routing

Configured via
Preferences → PCB Editor → Board Insight Display
6) Active Layer Control

Only one layer is active at a time in 2D mode.

Ways to change it:

 Layer tabs at the bottom

 Active Layer dropdown (View Configuration panel)

 Keyboard shortcuts:

o Ctrl + Shift + Mouse Wheel

o + / - (numeric keypad)

o * (next signal layer)

Active layer control directly affects:

 Routing

 Snapping

 Object interaction

7) Net Names on Tracks

You can display net names directly on routed tracks:

 Enabled via View Configuration → Additional Options

 Net names repeat along the routing

This allows instant visual confirmation of signal identity without cross-probing or


highlighting.

8) Pad and Via Detail Display

Board Insight allows detailed control over:

 Pad and via text

 Font, color, and background

 Automatic right-reading orientation

 Smart contrast for readability

Configured via
Preferences → PCB Editor → Board Insight Display
This is especially useful during:

 DFM checks

 Drill and via audits

 Manual inspection of power structures

9) Locked Object Visualization

Locked objects can be visually marked using textures:

 Always visible

 Or visible only during live highlighting

This prevents confusion when objects appear selectable but cannot be edited.

10) 3D Board Insight

In 3D mode, Board Insight extends to projection control:

 Orthographic: exact geometry, no perspective distortion

 Perspective: realistic depth and visual context

Projection mode is selected via the View Configuration panel while in 3D view.

11) Scope and Persistence

Board Insight settings:

 Apply globally to all PCB and PCB library documents

 Affect viewing and interaction, not design data

 Are critical for long-term productivity on complex boards

Key Takeaway

The Board Insight System is not optional polish—it is a core navigation and comprehension
layer for professional PCB design. Mastery of:

 Pop-up inspection

 HUD usage
 Live highlighting

 Layer control

directly translates to faster debugging, fewer mistakes, and less visual fatigue on complex
boards.

Shortcuts
Wherever you are in the environment, over a menu command, a dialog, a panel, or a design
object, press F1 to display comprehensive information about whatever was under the cursor.

While you are running a command, for example, during Interactive Routing, press Shift+F1 to
display a list of in-command shortcuts.

You can also re-position a selected schematic object or a group of objects using the arrow
keys on the keyboard. Select the objects then press an arrow key while holding down
the Ctrl key. Hold Shift as well to move objects by 10 times the current snap grid.

Right-Click – drop the current connection and remain in interactive routing mode. Right-
Click again to exit interactive routing mode.

Among other standard methods of accessing a panel, the Properties panel can be accessed
by double-clicking on an object in the design space or using the F11 keyboard shortcut.

Using the commands of the Edit » Jump sub-menu from the main menus of the schematic,
schematic symbol, PCB or PCB footprint editor, you can jump to a specific point in the active
document. The Jump pop-up menu also can be accessed by pressing the J key in the design
space.

Alt + Double Click to see the tree and preview. Hover over a net + press Ctrl + Alt. Opens a
selectable connectivity tree. Click any entry to jump directly to that sheet

Use the F4 shortcut to toggle the display of all panels that are currently in 'floating' mode.
Upon pressing F4, all currently floating panels will either disappear or reappear, depending
on whether they are currently visible or not.

The fastest way to add or edit the shortcut(s) assigned to a command is to Ctrl+click on the
entry for that command on the relevant menu or toolbar. This will open the Edit
Command dialog, from where you can add a shortcut or edit the currently assigned one.

Ctrl+Click on a main menu or sub-menu entry, to access the Edit Drop Down
Menu dialog. Ctrl+Click on a command entry to access the Edit Command dialog. Add
the & character at the required position before that letter within the defined Caption for an
accelerator key. Within any given menu or sub-menu, a particular letter can be used only
once as an accelerator key.
Strictly speaking, access to a root main menu through its accelerator key requires holding
down the Alt key. This is because the same key may also be assigned to a pop-up menu. So
for example, access to the Simulate menu in the Schematic Editor (with the Mixed
Simulation system extension installed) would, at first sight, look to be a case of clicking
the S key. However, while this is the menu's defined accelerator key, doing so will pop-up
the Select sub-menu (from the main Edit menu). By using Alt+S, the
intended Simulate menu is accessed.

In many cases, a main menu will also have a pop-up key assigned (and typically the same key
as its accelerator). Where this is the case, using that key will access the menu in pop-up
form. For example, the Design menu in the PCB Editor can strictly be accessed using Alt+D,
but also in pop-up form using D. This functionality is defined for a menu in the Edit Drop
Down Menu dialog, by using the Popup Key field.

Ctrl + Shift + Mouse Wheel to change layer in PCB editor.

Press the Alt key while moving, to constrain the direction of movement to the horizontal or
vertical axis, depending on the initial direction of movement.

Not unlike the Link parameter, the HelpURL parameter allows the definition of a link from a
component to an external document, such as a PDF, or web page URL. When added as a
component parameter, this link is activated when the F1 key is pressed over the component
on the schematic sheet or when that component is selected in the Libraries panel. Note that
this action will override the normal F1 key feature, which links to the relevant page in the
Altium online documentation.

The net connectivity throughout a design can also be highlighted in all schematics by holding
the Alt key when selecting a net by clicking on a wire (Alt+Click).

You can quickly convert a 4-way junction (created with wire or bus objects), into two
adjacent 3-way junctions. To do this, select the Tools » Convert » Convert Cross
Junctions command from the main menus. After launching the command, the Junctions
Conversion dialog will appear. Use this dialog to determine the scope of the conversion
(current document, project documents, or all open schematic documents), and whether all
potential 4-way junctions are considered, or only those associated to selected wires/busses
in the target documents. Once conversion options are configured as desired, clicking OK in
the dialog will effect conversion.

If you hover over a netLabel and press Insert, when you are placing another netlabel. Its
name becomes the name of hovered over netlabel.

General schematics editing -> Ctrl+R: Copy selected object(s) and paste repeatedly where
needed in the design space (rubber stamping).

General schematics editing -> Shift+Ctrl+V: Access the Smart Paste dialog.
Ctrl+Y: Redo

Shift+F: Access the Find Similar Objects feature (click on an object to use as the base
template).

Shift+Ctrl+X: Toggle Cross Select Mode On or Off.

Shift+Ctrl+Y:Toggle the Cross Select Mode's Reposition selected component in PCB option
On or Off.

Aligning

Shift+Ctrl+L Align selected objects by their left edges.

Shift+Ctrl+R Align selected objects by their right edges.

Shift+Ctrl+H Make the horizontal spacing of selected objects equal.

Shift+Ctrl+T Align selected objects by their top edges.

Shift+Ctrl+B Align selected objects by their bottom edges.

Shift+Ctrl+V Make the vertical spacing of selected objects equal. ???SMART PASTE
ILE AYNI

Shift+Ctrl+D Move selected objects to the nearest point on the current snap grid.

Spacebar Rotate selection counterclockwise by 90°.


Shift+Spaceba Rotate selection clockwise by 90°.
r

Miscellaneous

Ctrl+Double-  On a Sheet Entry to jump to the corresponding port on the sub-


Click sheet referenced by that entry's parent Sheet Symbol.

 On a Port to jump to the corresponding sheet entry in the parent


sheet symbol that references the sub-sheet on which the port
resides.

 On a port to jump to another port with the same name, on the


indicated target schematic document (only available when
the Net Identifier Scope - set on the Options tab of
the Project Options dialog - is set to Flat, or Global).

 On a sheet symbol to descend the design hierarchy to open the


child sheet referenced by that symbol.

Ctrl+L Perform Board Level Annotation through use of the Board Level
Annotate dialog.

Shi When auto-panning while placing/moving an object, use to pan at higher speed.
ft
S Relocate the currently selected Sheet Entry (or entries) that are being moved, to the
directly opposite side of the parent Sheet Symbol.

V Reverse order while moving two or more selected Sheet Entries.

T  Toggle IO Type while moving one or more selected Sheet Entries.

 Toggle IO Type for all Sheet Entries while graphically resizing the parent Sheet
Symbol.

Pop-up Menu Shortcuts

The following shortcuts give access to specific pop-up menus of commands, directly from
within the design space itself. Some of these will be familiar as they are sub-menus found
within the main menus for the editor. Each of the main menus also have a defined pop-up
key for quick access from within the design space, see Accelerator Keys for more
information.

A The Align sub-menu (from the main Edit menu).

B The Toolbars sub-menu (from the main View menu).

J The Jump sub-menu (from the main Edit menu).

K The Panels sub-menu (from the main View menu).

M The Move sub-menu (from the main Edit menu).


O A pop-up menu offering quick access to options and preferences.

S The Select sub-menu (from the main Edit menu).

X The DeSelect sub-menu (from the main Edit menu).

Y A pop-up menu with filtering commands.

Z A pop-up menu with zoom commands.

Show/Hide Ratsnest Connections and Jumpers ("N" in PCB Editor)

Keyboard shortcut Function Accessed in

Ctrl + Alt + O Access the Open Project Layout or schematic


Documents dialog for the current
project

2 or 3 Toggles between 2D view and 3D Layout


view

0 and 9 Rotates the view of the board by 3D mode only


90 degrees clockwise or counter-
clockwise

TAB while routing, Displays the appropriate Layout


length tuning, or interactive editing dialog
placement

C Brings up the right-click menu Layout or schematic


from the Projects Panel

Shift + R Cycles through three the ignore, Layout


avoid, or push obstacle routing
modes

Shift + E Toggles the electrical grid on/off Layout

G or Ctrl + G Toggle grid snap options Layout

L while dragging a Flips component to the other side Layout


component of the board

Ctrl + F Flips the board to the other side Layout and 3D mode

Spacebar while Rotates the component by 90 Layout or schematic


dragging a degrees
component

J followed by C Opens the Component Designator Layout or schematic


dialog. Enter a component
designator, and the editor will
move the view to that
component.

 Choose the Tools » Select PCB Components command.

Clear the Press Shift+C to clear the current highlighting across all affected sheets.
results Note that selection is not cleared using this shortcut, use the X, D shortcut
key sequence to clear selections across all sheets.

During Interactive Navigation, hold the Alt key as you click on an object on the schematic
to simultaneously navigate to that object on the PCB. ON NAVIGATOR SCREEN, USING
INTERACTIVE ROUTING.
Parameters are a key element of each component, and it is common for many of the
parameters to be used across multiple components. As well as adding them individually to
each component, you can also use the Parameter Manager command (Tools » Parameter
Manager) to add them to multiple components. As well as adding and removing parameters,
the values of parameters can also be edited across multiple components.

BUNLAR HARBİ KIYAK

Press Shift+Spacebar to cycle through the five available corner modes: 45 degree, 45
degree with arc, 90 degree, 90 degree with arc, and Any Angle.

Press Spacebar to toggle between the two corner direction sub-modes.

When in either of the arc corner modes, hold the "," or "." keys to shrink or grow the arc.
Hold the Shift key as you press to accelerate arc resizing.

When moving a vertex, use Shift+Spacebar to change modes.

Ctrl+Click anywhere along an edge away from editing handles to insert a new end vertex.

Sometimes, the feature pulls the cursor when you do not want it to. In this situation, press
the Ctrl key to temporarily inhibit snapping. Alternatively, use the Shift+E shortcut to cycle
the Hotspot Snap mode through the three possible states – Hotspot Snap (All
Layers) / Hotspot Snap (only snaps on the current layer) / Off. The current mode is displayed
on the Status Bar (nothing is displayed there when the feature is off).

ROUTING
 During interactive routing, you can use the following shortcuts:

o Tab to pause routing and open the Properties panel to configure interactive
routing options. When done, click the button in the design space to
return to interactive routing mode.

o Shift+Spacebar to cycle through the corner styles: Track 45, Line 45/90 With
Arc, Any Angle, etc.

o Spacebar to toggle the corner direction.

o Shift+R to cycle through the available routing conflict resolution modes:


Walkaround Obstacles, Push Obstacles, Ignore Obstacles, etc.

o Ctrl+Shift+Wheel Scroll to switch to the next available signal layer and insert
a via.

o Shift+F1 to display the list of interactive routing shortcuts.


Use the Ctrl+W shortcut to toggle the clearance boundaries off and on. When the feature is
enabled and a net is being routed, all other net objects display a clearance boundary defined
by the applicable electrical clearance constraint. It is not possible to cross this boundary
during routing.

Aligning the Editing Cursor with a Placed Object (Bu da örneğin simetrik bir yerleştirme
yaparken işe yarar)

A common design task is to align a new object with an existing object. This can be achieved
by enabling the Axes feature. When this feature is enabled, a dynamic alignment guide line
is displayed from the current cursor location to the X or Y aligned object's hotspot whenever
the editing cursor is within the Axis Snap Range. This allows an object hotspot that is close
to the mouse cursor on one axis but distant on the other axis to drive the cursor position.

Heads Up display (Shift+H to toggle on/off).

Snap Options shortcuts:

 Ctrl+E - display a palette of snap options

 Shift+E - cycle to the next Snapping mode (Off, Current Layer, All Layers)

 Ctrl - hold to inhibit object snapping

Besides the standard ways of accessing a panel (from the Panels button at the bottom right
of the design space or the View » Panels menu), the View Configuration panel can also be
accessed by using the L or Ctrl+D shortcut keys (to open the panel with the Layers &
Colors or View Options tab displayed, respectively) or by clicking the color swatch on the
Layer Sets control at the bottom left of the design space

Controlling Layer Visibility from the Keyboard

In a busy PCB design, layers are often toggled on and off during the design process. To help
with this, layer visibility can be changed using keystrokes in the following way:

 Press the L shortcut key to display/make the Layers & Colors tab of the View
Configuration panel active. The panel's title bar will become colored, indicating that
it is the active element in the software.

 Note that there are characters and numbers in curved brackets to the right of some
of the layers and sets of layers, for example, Component Layer Pairs (C), and [1] Top
(T). The character/number in curved brackets is a keyboard shortcut key. As an
example, press the L shortcut to make the panel active, then press the T shortcut to
toggle the visibility of the Top signal layer.
 If you have accessed a set of layers, press Spacebar to toggle the visibility of all layers
in that set.

 If you have accessed a layer, its visibility will toggle immediately and
the Spacebar can then be used to toggle it again.

 Press the Up or Down arrow keys to move up or down through the list, for example,
to access a specific mechanical layer or a pair of component layers. You can then use
the Spacebar to toggle the visibility of that layer/layer pair.

 The number within the square brackets indicates which physical copper layer that
signal or plane layer is, in the layer stack. Consider the string, [6] Bottom (B),
the [6] indicates that this is the 6th copper layer in the layer stack, Bottom is the
user-defined name assigned to this layer in the Layer Stack Manager, and the (B) is
the shortcut key to toggle the visibility of that layer.

 Shortcut keys for signal and plane layers stop at (9), the last available numeric key on
the keyboard.

To include a layer in the Single Layer Mode display, perform a Ctrl+Click on the eye icon
associated with the desired layer on the Layers & Colors tab of the View
Configuration panel to add that layer into Single Layer Mode display; a square will appear
behind the eye icon ( ) to denote that layer will be permanently displayed in Single Layer
Mode.

When you press the 2 and 3 shortcuts to switch between 2D and 3D view modes, the default
behavior is for each view to retain its last-used view state. That means, if you had the entire
board shown in 2D mode, then switched to 3D mode and zoomed in, when you switch back
to 2D mode, the entire board will be shown again. This behavior can be overridden if
required, by holding the Ctrl+Alt shortcuts as you press 2 or 3.

Available 3D Outputs

Output Type From Notes

Screen capture PCB editor When the editor is in 3D Layout Mode,


press Ctrl+C to take a screenshot of the
current view. The 3D Snapshot
Resolution dialog will appear, select the
required Render Resolution and click OK to
copy the image onto the Windows
clipboard. From there, paste it into your
preferred bitmap editor.

Export as an image PCB editor Select the File » Export » PCB 3D


Print command. After selecting the location
to save the image file, the PCB 3D Print
Settings dialog will open, where you can set
the Render Resolution, how you would like
the board to be viewed, and the image
format.

PCB 3D Print OutputJob Configured in the PCB 3D Print Settings


dialog. In the OutputJob, map the output
a New PDF container or directly to a printer.
Position the board as required before
generating output, then click the Take
Current Camera Position and Take Current
View Configuration buttons to generate a
printout of what you can see on the screen.
You can also create an image file, by
mapping the Output Job to a Folder
Structure Output Container.

PCB 3D Video OutputJob Configured in the PCB 3D Video dialog. In


the OutputJob, map the output to a New
Video container. Output can be in a variety
of video formats. To generate this output
you need to first define a PCB 3D movie in
the PCB 3D Movie Editor panel. Refer to
the Preparing a 3D PCB Video page to learn
more.
PDF 3D notes/PCB Configured in the PDF3D dialog. In the
editor OutputJob, map the output to a New Folder
Structure. Requires Adobe Acrobat v9 or
newer to support the 3D motion. Output
can also include key frames from a PCB 3D
Movie, if one has been defined. Refer to
the Preparing a PDF3D File page to learn
more.

Mechanical data PCB editor The completed board can also be exported
in a number of different mechanical data
formats (in its folded state for a rigid-flex
board if required), ready to load into your
MCAD design tool. Learn more
about mechanical format import/export.

Board Insight Pop-up Mode


The Board Insight pop-up mode is an excellent tool for viewing objects under the cursor.
Press Shift+X (Tools » Browse Objects) to view detailed information about any components
and nets located under the cursor, as well as objects that belong to them, for example, pads
and tracks. Use Shift+V (Tools » Browse Violations) to view information about violations (of
defined Design Rules) currently under the cursor.

Headsup Display
The following commands of the View » Board Insight menu (can also be accessed
by pressing F2 in the design space) can be used to configure the Heads Up Display:

 Toggle Heads Up Display (Shift+H) - toggles the Heads Up Display on or off.


 Toggle Heads Up Tracking (Shift+G) - toggles the location of the Heads Up Display to
be at a fixed position on the board or allows it to be moved with the cursor. The HUD
will not jump to the cursor but rather move in relation to where the cursor was when
tracking was enabled. It is advised to position the cursor in relation to the current
HUD position before using this command.

 Resets Heads Up Delta Origin (Ins) - resets the Delta Origin to the current mouse
coordinates. The distance horizontally and vertically the mouse is moved from the
Delta Origin can be displayed in the Heads Up Display. The Delta Origin can also be
reset by using the left-click mouse button. This setting can be configured in the PCB
Editor - Board Insight Modes page of the Preferences dialog.

The ability and controls that are used to set the Delta Origin point follow the Insert Key
Resets Heads Up Delta Origin and Mouse Click Resets Heads Up Delta Origin options on
the PCB Editor - Board Insight Modes page of the Preferences dialog. If both of these options
are disabled, the Delta Origin feature is effectively disabled and the delta coordinates will
remain at 0,0 as you move the mouse.

 Toggle Heads Up Delta Origin (Shift+D) - toggles the display of the Delta Origin
coordinates. The delta coordinates display the distance horizontally (dx) and
vertically (dy) from the Delta Origin coordinates - a point that can be user-defined
within the design space. Use the Delta coordinates to gauge distance relative to a
position on your board.

Changes made to the Board Insight system affect the PCB domain design space, and
therefore, affect all PCB and PCB footprint documents on which you work.

Live Highlighting
Use Ctrl+Click to highlight any net on the board. Everything in the design that is not part of
that net is dimmed, making the routing stand out on all signal layers, as shown in the image
below. To highlight multiple nets, hold the Shift key as you Ctrl+Click on each
net. Ctrl+Click in any free space to restore the display.
Lesson 4: PCB Design Fundamentals
BGA (BALL GRID ARRAY)
Phase 0 — What a BGA really is
1) What “BGA” means physically

BGA (Ball Grid Array) is a package where the electrical connections are an array of solder
balls on the underside of the chip package.

 Each ball is a pad-to-pad solder joint:

o Package side: a pad on the BGA substrate

o Board side: a pad on your PCB footprint

o After reflow, the ball becomes a short, squashed solder column (a joint), not
a “wire.”

Key consequence:

 Unlike QFP/QFN, there are no exposed pins around the edges you can touch with a
probe or soldering iron.

So the “pins” are:

 hidden,

 underneath,

 and only accessible through PCB copper/vias you design.

(That’s the core reality.)

2) Why BGAs exist (why industry uses them)

BGAs solve problems that leaded packages can’t when pin counts and speeds rise:

1. High pin count without huge perimeter

 QFP: pins live on perimeter → pin count scales with perimeter length.

 BGA: pins live on area → pin count scales with area.


So you can pack hundreds/thousands of connections in a reasonable size.

2. Better electrical performance


The current path is often:
 shorter,

 lower inductance,

 lower impedance discontinuity


than long leads on a QFP.

At high speeds, long leads behave like little inductors/antennas. BGA reduces that.

3. Better power delivery


FPGAs/SoCs need many power/ground pins and low-inductance return paths.
BGA lets vendors distribute GND + power balls across the array, not just at edges.

4. Thermal
Many BGAs can conduct heat through the package and board more effectively than
leaded packages.

3) What makes BGAs “hard” (the real reasons)

BGAs are hard for system reasons, not because “routing is tricky.”

A) You must route under the part (3D constraint)

With a QFP:

 you can escape from the outer pins sideways.

With a BGA:

 inner balls are buried.

 you can only escape by using vias (holes) and internal layers.

So the package forces you into:

 multilayer boards,

 via strategies,

 stackup decisions.

B) The PCB stackup becomes part of the component

With BGAs (especially FPGA BGAs), your choices like:

 number of layers,

 where ground planes sit,

 how many signal layers exist,


 via types (through, blind, microvia),
directly determine whether it’s routable and reliable.

For fine pitch BGAs, you can’t “skill” your way out of bad stackup.

C) Assembly and inspection are hidden

A BGA joint is under the package.


You can’t visually inspect solder quality.

So manufacturing becomes essential:

 stencil design matters,

 reflow profile matters,

 X-ray inspection is often used for verification.

This is why BGA design is tightly coupled with DFM/DFA.

D) Rework is harder / riskier

If something goes wrong:

 removing/reballing a BGA requires specialized tools.


That pushes you to design for higher first-pass success.

4) How BGAs “connect” electrically on the PCB (mental picture)

Think of each ball as a node that must transition into your board’s copper network.

There are only a few ways a ball becomes a usable connection:

1. Direct trace on the top layer

 possible for some outer balls (depends on pitch and trace/space capability)

2. Dogbone fanout

 ball pad → short trace → via → inner layer routing


Classic for ~0.8–1.0 mm pitch.

3. Via-in-pad

 the via is placed directly in the BGA pad.


Used when pitch gets tight (often ≤0.65 mm, commonly ≤0.5 mm).
But it usually requires:

 via fill,
 cap/planarization,
otherwise solder wicks into the via and assembly fails.

This is the big “fork in the road” later.

5) A BGA is basically a “via and plane problem”

This is the mindset shift:

For big BGAs (FPGAs especially), you’ll have:

 tons of power balls

 tons of ground balls

 many high-speed signals

So the challenge is:

 Can you deliver clean power (low inductance paths)?

 Can you escape enough signals without violating fab limits?

 Can you preserve return paths (reference planes)?

 Can your fab/assembler actually build it?

That’s why BGA work quickly becomes:

 stackup,

 plane strategy,

 via strategy,

 DFM + assembly capabilities,


more than “drawing traces.”

Phase 1 — Absolute-Minimum BGA Knowledge


1) BGA package basics (what actually matters)

Ball pitch

 The single most important number.

 It decides routing method, vias, layers, and cost.

Rule of thumb:

 1.0 / 0.8 mm → dogbone + through-vias usually work

 0.65 mm → borderline, HDI often needed


 0.5 mm → HDI + via-in-pad almost mandatory

If pitch ≤ 0.65 mm, assume HDI unless proven otherwise.

Ball diameter

 Smaller pitch → smaller balls → less assembly margin.

 You don’t optimize this, just respect it.

Ball map orientation (A1)

 Must match datasheet exactly.

 Wrong orientation = dead board.

 Always mark A1 in footprint and silkscreen.

Package type

 Wire-bond BGA: simpler, lower performance.

 FCBGA: typical FPGA package, many power/ground balls, higher demands on stackup
and decoupling.

2) PCB manufacturing constraints (why boards fail)

You must know these before routing:

 Minimum trace/space
Determines if traces fit between pads.

 Via drill + pad size


Determines if dogbone fanout physically fits.

 Via-in-pad
Required for fine pitch. Must be filled and capped. Higher cost.

 Microvia vs through-via
Through-via = cheap, large.
Microvia = small, HDI, expensive.

 Aspect ratio
Limits how small drills can be in thick boards.

If your fab cannot meet these, the design is impossible.

3) Stackup literacy (non-negotiable)


 Signals require a nearby reference plane, usually ground.

 Layer 2 is ground because it provides:

o return path,

o impedance control,

o low noise.

BGAs, especially FPGAs, need:

 solid ground plane under the package,

 power planes close by,

 6–10 layers typical.

If you cannot explain why L2 is ground, stop.

Phase 3 — Footprint & Land Pattern (Fast)


One rule

Never invent a BGA footprint.


Always start from the manufacturer’s recommended land pattern.

If the footprint is wrong, nothing else matters.

What you must always verify

Manufacturer land pattern

 Use the exact pad size, spacing, and tolerances from the datasheet or package
drawing.

 Do not “optimize” pad sizes.

 Do not reuse a similar-looking footprint.

Solder mask defined (SMD) vs non-solder mask defined (NSMD)

You must know which one the vendor expects.

 NSMD (most common for BGAs)

o Copper pad defines size.

o Better solder joint reliability.

 SMD
o Solder mask defines pad.

o Sometimes used for very fine pitch or specific reliability goals.

Rule:
If the datasheet specifies NSMD or SMD, follow it exactly.

Via-in-pad requirements

If vias are placed in BGA pads:

 They must be filled and capped.

 Unfilled via-in-pad causes solder loss and failures.

Before committing:

 Confirm your fab supports filled and capped vias.

 Confirm allowed via sizes and fill type.

If the fab cannot do this, via-in-pad is not an option.

Key decisions you must make before routing

Dogbone fanout vs via-in-pad

This is dictated by pitch and fab capability, not preference.

 Dogbone

o Through-vias

o Lower cost

o Works for ≥0.8 mm pitch in most cases

 Via-in-pad

o HDI process

o Required for ≤0.65 mm pitch in most cases

o Higher cost

If dogbone works, use dogbone.

Filled & capped vias


Only needed when:

 using via-in-pad,

 or routing critical power/ground connections under the BGA.

This affects:

 cost,

 lead time,

 yield.

Decide this before layout.

Escape direction strategy

Before routing, decide:

 which rows escape on top layer,

 which rows drop to inner layers,

 how power and ground balls drop into planes.

You should have a clear breakout plan before placing a single trace.

Phase 3 success condition

You are ready to place and route when:

 Footprint exactly matches vendor land pattern

 SMD vs NSMD is confirmed

 Via-in-pad rules are agreed with fab

 Fanout method is chosen

 Escape direction is planned

At this point, placement and routing become mechanical.

Phase 4 — Escape Routing (Core Skill)


Goal: get signals out of the BGA without thinking about SI yet.

Only patterns you learn


 Outer row → direct trace
If a pad can escape sideways on the top layer, do it.

 Inner rows → dogbone


Pad → short trace → via → inner layer.
Works for moderate pitch.

 Fine pitch → via-in-pad (microvia)


When there is no room for a trace + via beside the pad.

 Bank-oriented breakout
Escape signals in groups based on I/O banks.
Do not mix banks randomly.

What you are NOT doing yet

 Length matching

 Impedance tuning

 DDR rules

 SI optimization

This phase is pure geometry: fit, escape, continue.

Success condition:
All BGA signals escape cleanly without violating fab rules.

Phase 5 — Power Integrity Basics (Enough for Now)


Goal: avoid obvious PI mistakes.

What you must understand

 Planes > pours


Solid planes have much lower inductance than polygon pours.

 Short via loops matter


Power current path is: plane → via → pin → via → plane.
Shorter loop = lower inductance = better PI.

 Decoupling caps go under or near the BGA


Distance matters more than exact value at this stage.

 Stitching vias exist


They keep return paths short and continuous when signals change layers.

If you understand current loops, you understand enough PI for now.


Phase 6 — Assembly & DFM Reality Check
Goal: don’t design something that cannot be built or debugged.

Non-negotiable facts

 BGAs are reflow-only


No hand soldering.

 Inspection is X-ray
You cannot visually inspect joints.

 PCB house capability limits design


Trace/space, via size, HDI, via fill.

 Assembly cost rises fast


HDI, via-in-pad, fine pitch all increase cost and lead time.

These constraints should influence:

 pitch choice,

 layer count,

 via strategy,

 budget decisions.

Delay Tuning and Length Matching (Practical Notes)


1. Purpose

Delay tuning (often called length tuning) is used to control timing skew so multiple signals
arrive within an allowed timing window. The target is not “equal length,” but acceptable
time alignment at the receiver. Altium+1

2. Delay tuning vs length tuning

Most PCB tools enforce constraints in length, but the real specification is usually time
(skew). If the interface defines an allowed timing mismatch, convert it to an allowed length
mismatch using the propagation velocity of the trace. Altium+1

Practical note:

 If you change stackup/material (dielectric constant), the same time skew corresponds
to a different length mismatch. Altium+1
3. Where matching is actually required

A) Differential pairs

Main requirement: intra-pair matching (P vs N) so the differential receiver sees the


transitions aligned, preserving common-mode cancellation. Northwest Engineering
Solutions+1

Two related ideas:

 Intra-pair skew: mismatch between P and N inside one pair.

 Inter-pair skew: matching between multiple pairs only when the protocol requires
lane-to-lane timing alignment (many serial links do not require tight inter-pair
matching unless specified). Northwest Engineering Solutions+1

B) Parallel / source-synchronous buses (example: DDR families)

These interfaces care about relative timing between groups (data/strobe/clock) and specify
skew constraints in documentation. Example guideline: Intel’s DDR layout guidance includes
clock pair matching guidance on the order of ±5 ps (for the clock pair) and additional skew
constraints involving CLK and DQS. Intel+1

4. Timing mismatch concept (the only formula you need)

Allowed length mismatch is derived from allowed timing mismatch:

 ΔL = Δt × v

Where:

 ΔL is allowed length mismatch

 Δt is allowed timing mismatch

 v is propagation velocity on that layer/stackup

Use this because standards often state time limits, while tools often constrain length.
Altium+1

5. How delay is added (tuning structures)

When one route is short, you add delay by adding length to that route using controlled
meanders:

 accordion / serpentine

 trombone
 sawtooth

Use tuning as a correction step after clean routing, not as a routing style.
Altium+2Northwest Engineering Solutions+2

Placement rule (practical):

 Add tuning where mismatch is created (often near breakouts, bends, or layer
transitions), and keep tuning sections as short as necessary. Northwest Engineering
Solutions+1

6. Risks of over-tuning (why “perfect matching” can backfire)

Length tuning structures are not free:

 they can create impedance discontinuities (reflections),

 they can increase coupling/crosstalk in tight serpentine regions,

 for differential pairs, asymmetry can contribute to mode conversion.

Therefore:

 route direct first,

 tune minimally,

 avoid long, dense meanders unless required by the timing budget. Altium+1

7. Phase mismatch in differential pairs (local vs global matching)

A common real problem is local uncoupling around vias/breakouts: even if total lengths
match, short uncoupled regions can introduce small skew. “Phase matching” refers to adding
small compensation close to the mismatch source to keep the pair aligned through that
region. Altium+1

8. Non-etched delay (package and vias)

In strict timing budgets, total delay is not just copper trace length.

Pin-package delay

Signals also traverse package structures (pads/bond wires/internal paths). Manufacturers


may provide pin-package delay data (often tens to hundreds of ps). This can matter when
rise times are very fast or when bus timing is tight. Altium

Via delay
Vias add delay and discontinuities; in many differential cases, both traces experience similar
via structures so the differential skew impact is reduced. Via delay becomes more relevant
when routing wide parallel buses across different layers with different via counts/paths.
Altium

9. Minimal workflow (what to do in real layouts)

1. Identify nets that truly require matching (protocol/vendor rules). Northwest


Engineering Solutions+1

2. Route cleanly first (short, direct, consistent layer/reference).

3. Apply constraints as timing where possible, otherwise convert to length using your
stackup velocity. Altium+1

4. Tune only the short routes; keep tuning sections compact and not overly dense.
Altium+1

5. Re-check skew after any routing changes (tuning is easy to break accidentally).
Lesson 5: Build-Up, Stack-Up, and Controlled
Impedance
Chapter: Build-Up, Stack-Up, Controlled Impedance, and Critical Length

1. Purpose

High-speed PCB behavior is governed by four linked ideas:

 Build-up → what can be manufactured

 Stack-up → where signals and return currents flow

 Controlled impedance → how signals propagate

 Critical length → when impedance control actually matters

If you miss any one of these, design decisions become arbitrary.

2. Build-Up (HDI / Sequential Lamination)

Build-up defines how the PCB is fabricated in stages.

 Start with a core (2–4 layers).

 Add outer layers in separate lamination cycles.

 Use microvias (blind, laser-drilled) to connect layers.

Why build-up exists

 Fine-pitch BGAs do not allow large through-vias.

 Microvias are shorter and smaller → better routing density and cleaner electrical
behavior.

Practical impact

 More build-up layers = higher cost and tighter fab constraints.

 Via types and lamination count must be decided before layout.

 Build-up choices constrain stack-up and impedance options.

Build-up is a manufacturing constraint first, electrical second.

3. Stack-Up (Electrical Layer Structure)


Stack-up is the vertical arrangement of:

 signal layers,

 reference planes (ground, power),

 dielectric layers between them.

Core principle

Every signal is a current loop:

 forward current in the trace,

 return current in the reference plane.

Stack-up determines:

 how close that return path is,

 how predictable it is,

 how much loop inductance exists.

Good stack-up behavior

 Signal layers adjacent to solid reference planes.

 Ground preferred over power as a reference.

 Power planes tightly coupled to ground planes.

 Minimal, well-planned layer transitions.

Stack-up is not “number of layers”; it is reference integrity.

4. Controlled Impedance (What Sets It)

Controlled impedance means a trace behaves as a predictable transmission line.

Impedance is set by geometry and materials, not by routing intent.

Primary factors that set impedance

1. Trace width
Wider → lower impedance
Narrower → higher impedance

2. Distance to reference plane (dielectric thickness)


Smaller distance → lower impedance
Larger distance → higher impedance
Often more influential than trace width.
3. Dielectric constant (Dk)
Higher Dk → lower impedance, slower signal
Lower Dk → higher impedance, faster signal

4. Copper thickness and roughness


Thicker copper slightly lowers impedance.
Roughness matters at multi-GHz speeds.

5. Trace geometry

o Microstrip (outer layer): less stable, fields partly in air

o Stripline (inner layer): more stable, fields fully in dielectric

6. Differential pair spacing


Closer spacing → lower differential impedance
Wider spacing → higher differential impedance

Impedance is defined after stack-up is fixed, not before.

5. Critical Length (When Impedance Matters)

Critical length defines when a trace must be treated as a transmission line.

Definition

A trace becomes “high-speed” when its electrical length is long enough that reflections
affect signal integrity.

Rule of thumb:

 If trace length ≥ (rise time × propagation velocity) / 6,


the trace is electrically long.

On FR-4:

 Propagation ≈ 150–180 ps/in

 Fast edges (sub-ns) → critical length can be only a few centimeters.

Why this matters

 Below critical length: lumped behavior, impedance less critical.

 Above critical length: reflections dominate, impedance control is mandatory.

This explains why:

 Low-speed GPIO ignores impedance.

 DDR, USB, PCIe, LVDS cannot.


Critical length tells you whether you must care about impedance at all.

6. How the Concepts Connect

 Critical length tells you if impedance matters.

 Controlled impedance tells you what geometry is required.

 Stack-up enables that geometry and return path.

 Build-up determines whether the stack-up can be fabricated.

You cannot:

 decide impedance without stack-up,

 decide stack-up without build-up,

 ignore impedance once traces exceed critical length.

7. Correct Design Order

1. Identify interfaces and estimate critical length.

2. Decide whether HDI / build-up is required.

3. Define stack-up with clear reference planes.

4. Calculate controlled impedance geometries.

5. Lock stack-up and impedance rules.

6. Route.

7. Apply length/delay tuning only if timing requires it.

Any other order causes rework.


Lesson 6: Power
Power Distribution in an FPGA system

PDN VIA PLACEMENT WITH CAPS

DECOUPLING VIA PLACEMENTS DA BAK İNT ARTI FERANECTE VARDI BİŞİLER

EMC CONSIDERATIONS FOR DC POWER DESIGN TZONG-LIN WU

Principles of Power Integrity Eric Bogatin


High Speed Design Concepts
What “High-Speed Design” Really Means

High-speed design does not mean high data rate alone.


It means:

Signal edge rise time is comparable to the electrical length of the interconnect

When that happens, wires stop behaving like simple connections and start behaving like
distributed transmission lines.

1. When a Trace Becomes a Transmission Line


Rule of thumb

A trace is “high-speed” if:


1
trace delay ≥ ×signal rise time
6

Typical PCB propagation:

 ~150–180 ps/inch (FR-4)

Example:

 1 ns rise time → ~1 inch already matters


Consequence

 Voltage is not the same everywhere at once

 Reflections, ringing, overshoot appear

 You must treat the trace as a controlled impedance system

2. Characteristic Impedance (Z₀)


What it is

Characteristic impedance is the natural V/I ratio of a propagating wave on a trace.

It depends on:

 Trace width

 Dielectric height

 Dielectric constant (εr)

 Reference plane geometry

Typical values:
 Single-ended: 50 Ω

 Differential: 90 Ω / 100 Ω

Critical idea

Impedance is not resistance


It exists even in a perfect conductor.

3. Reflections & Termination


Why reflections happen

A reflection occurs when:


Z source ≠ Z 0 ≠ Z load

What reflections cause

 Overshoot / undershoot

 Ringing

 False logic transitions

 EMI

Fixes

 Series termination (source)

 Parallel termination (load)

 Differential termination (receivers)

 Proper driver impedance selection


4. Reference Planes & Return Current
One of the MOST misunderstood topics

High-frequency return current:

 Flows directly under the signal trace

 Takes the path of minimum inductance, not resistance

If the reference plane is broken:

 Return current detours

 Loop area increases

 EMI explodes

 Signal integrity collapses

Rule

Every high-speed signal must have an unbroken reference plane

5. Differential Signaling
Why it’s used

 Noise immunity

 Reduced EMI

 Higher data rates

What actually matters

 Differential impedance

 Intra-pair skew

 Pair-to-pair skew

 Tight coupling

Common myth

“As long as they’re the same length it’s fine”

False.
Spacing, reference plane continuity, and symmetry matter just as much.

6. Crosstalk (NEXT & FEXT)


Why it happens

 Capacitive coupling (electric field)

 Inductive coupling (magnetic field)

Factors that increase crosstalk

 Long parallel runs

 Tight spacing

 Poor reference planes


 Fast edges

Mitigation

 Increase spacing

 Shorten parallelism

 Ground stitching vias

 Slower edge rates

 Differential routing

7. Timing, Skew & Length Matching


Why timing matters

Digital systems fail when:

data arrives outside setup/hold window

Length matching is about:

 Arrival time, not physical length

 Different layers ≠ same delay

 Vias add delay

Key idea

Serpentines are delay tuning, not decoration.


8. Losses: Why Signals Degrade
Loss mechanisms

 Skin effect (conductor loss)

 Dielectric loss

 Via stubs

 Connector loss

Symptoms

 Closed eye diagrams

 Reduced noise margin

 Data errors at high speed

9. EMI & Signal Integrity Are the Same Problem


Key truth:

A board with good signal integrity automatically has low EMI

Radiation increases when:

 Loop areas increase

 Impedance discontinuities exist

 Reference planes are broken

 Edges are unnecessarily fast

10. Mental Model Summary (This Is the Core)


High-speed design is about controlling:

1. Where the signal goes

2. Where the return current goes

3. How fast edges transition

4. Impedance continuity

5. Timing alignment

If you control those five, everything else follows.

1. Setup Time & Hold Time (Why timing even matters)


What they are

They describe how stable data must be around a clock edge for a flip-flop to sample
correctly.

 Setup time (tSU)


Data must be stable before the active clock edge

 Hold time (tH)


Data must remain stable after the clock edge

Why this exists (physical reason)

Inside a flip-flop:

 Transistors need finite time to charge/discharge

 Internal nodes must settle before regeneration

If violated → metastability (undefined logic level for some time)

Core inequality (simplified)


t clk +t data +t skew <T clk −t setup
¿ path

Key insight

 Setup is a max-delay problem

 Hold is a min-delay problem

 Faster clocks → setup becomes harder

 Faster edges → hold becomes harder

2. Clock Skew (Why “same clock” isn’t actually same)


What clock skew is

Difference in arrival time of the same clock edge at different flip-flops.

Caused by:

 Different trace lengths

 Different buffer delays

 Different loading

 Different routing layers

Types

 Positive skew: clock arrives later at receiver

 Negative skew: clock arrives earlier at receiver

Why skew is dangerous

Skew directly eats timing margin:

 Too much skew → setup violation

 Wrong direction skew → hold violation

Important realization

You can have perfect data routing and still fail because of clock skew.

This is why clocks are:

 Short

 Shielded

 Buffered

 Matched

 Often routed on dedicated layers


3. Source-Synchronous vs Embedded Clock

(How the receiver knows when to sample)


Embedded Clock (traditional)

Clock and data are separate.

Examples:

 Simple MCU buses

 Old parallel interfaces

Problem:

 Clock and data experience different delays

 Skew grows with frequency

At high speed → breaks.

Source-Synchronous Clocking

The data source sends the clock together with data.

Examples:

 DDR (DQS)
 LVDS interfaces

 Some ADC/DAC links

Why it works

 Clock and data see same channel conditions

 Skew largely cancels out

 Much higher data rates possible

Embedded Clock in Data (Clock Recovery)

Clock is encoded inside the data stream.

Examples:

 PCIe

 USB

 SATA

 Ethernet

Receiver uses a CDR (Clock & Data Recovery) loop.

Why it’s used

 No separate clock line

 Fewer pins

 Better scalability at very high speeds

Comparison summary

Scheme Clock Location Skew Sensitivity Speed

Embedded (separate) Independent High Low

Source-synchronous Sent with data Low High

Embedded in data Recovered Very low Very high

4. Deterministic vs Elastic Timing

(Does latency matter, or only correctness?)


Deterministic Timing

Latency is fixed and predictable.

Used when:

 Cycle-accurate behavior is required

 Tight real-time constraints exist

Examples:

 DDR memory access

 Synchronous MCU buses

 Control systems

If timing shifts → system breaks

Elastic Timing
Latency can vary, as long as data arrives correctly.

Achieved using:

 FIFOs

 Elastic buffers

 Clock domain crossing logic

Examples:

 PCIe

 USB

 Ethernet

 Network links

Receiver says:

“I don’t care when it arrives, just don’t corrupt it.”

Why elastic timing enables high speed

 Allows phase drift

 Allows clock tolerance mismatch

 Allows long channels

 Allows retiming and buffering

This is why PCIe can run at tens of GHz while DDR cannot tolerate random latency.

The Big Picture (connect all four)

All four concepts answer one question:

How does the receiver know what value to sample, and when, reliably?

 Setup/hold → local sampling correctness

 Clock skew → global timing alignment

 Clocking scheme → how timing info is delivered

 Deterministic vs elastic → whether latency is sacred or flexible


DDR
1. Memory Basics — DRAM

1.1 What “Memory” Means in Digital Systems

In digital hardware, memory is a subsystem that stores state across clock cycles and power
domains (volatile vs non-volatile). For high-performance systems, the dominant requirement
is bandwidth at low cost, not persistence. This requirement leads directly to Dynamic
Random-Access Memory (DRAM).

DRAM is optimized for:

 High bit density

 Low cost per bit

 High sustained bandwidth

It is not optimized for simplicity, determinism at the circuit level, or ease of use. Those
responsibilities are delegated to the memory controller.

1.2 Why DRAM Exists (and SRAM Is Not Enough)

Static RAM (SRAM) stores data using bistable circuits (flip-flops). While fast and simple,
SRAM:

 Consumes large silicon area

 Has high static power

 Does not scale economically to large capacities

DRAM replaces each flip-flop with a single capacitor and an access transistor, trading
simplicity for density.

Key trade-off:

 SRAM: fast, simple, expensive

 DRAM: dense, complex, inexpensive

This trade-off is the foundation of all DDR systems.

1.3 The DRAM Cell (Physical Reality)

A DRAM cell consists of:

 One capacitor (stores charge = data)


 One access transistor (connects the cell to a bitline)

A charged capacitor represents one logic state; a discharged capacitor represents the other.

Important physical consequences:

 Charge leaks over time → refresh is mandatory

 Read operations are destructive (the act of sensing disturbs the charge)

 Data must be restored after each read

These physical constraints shape the entire DRAM protocol.


1.4 Organization: Rows, Columns, and Banks

DRAM is not accessed as a flat array. It is hierarchically organized:

 Rows: large groups of cells sharing a wordline

 Columns: individual cells accessed via bitlines

 Banks: independent arrays allowing limited parallelism

Accessing data requires:

1. Activating a row (connecting all its cells to sense amplifiers)

2. Selecting a column (choosing which data to transfer)

3. Precharging (closing the row and restoring bitlines)

This multi-step access is why DRAM has inherent latency.

1.5 Sense Amplifiers and the Row Buffer

When a row is activated:

 All cells in the row share their charge with sense amplifiers

 The sense amplifiers latch the data and restore the cell contents

 The entire row becomes temporarily available in the row buffer

Implications:

 Accessing data in an open row is fast

 Accessing a different row requires closing the current one first

 Memory access time depends on row locality


This behavior explains why DRAM timing parameters exist and why access is not
instantaneous.

1.6 Volatility and Refresh

Because DRAM stores data as charge:

 Charge decays due to leakage

 Data must be periodically refreshed

 Refresh occurs even when the system is idle

Refresh is:

 Invisible at the software level

 Managed by the memory controller

 A fundamental bandwidth and latency cost

Refresh overhead increases with:

 Temperature

 Memory density

 Process scaling

1.7 DRAM as a Timed Device (Key Concept)

DRAM is not event-driven and not elastic. It is a timed analog system controlled digitally.

Core idea:

DRAM correctness depends on when signals occur, not just what their values are.

Because of this:

 Commands must be issued in strict sequences

 Minimum and maximum delays must be respected

 Timing violations cause data corruption, not retries

This property directly leads to:

 Synchronous DRAM (SDRAM)

 Double Data Rate DRAM (DDR)


 Source-synchronous interfaces

 Training and calibration mechanisms

1.8 What This Means for the Designer

At the DRAM level:

 The memory does not “understand” transactions

 There is no concept of packets or retries

 There is no tolerance for variable latency

All complexity is pushed upward into:

 The memory controller

 The PHY

 The PCB interconnect

Understanding DRAM at this level is essential before discussing SDRAM, DDR signaling,
timing, or layout.

1.9 Summary

 DRAM trades simplicity for density

 Data is stored as charge, not logic states

 Reads are destructive; refresh is mandatory

 Memory access is inherently multi-step and timed

 DRAM is the physical foundation on which all DDR systems are built

2. SDR vs DDR

2.1 Single Data Rate (SDR)

Single Data Rate memories transfer data once per clock cycle, typically on one clock edge.

Key characteristics:

 One data transfer per clock period

 Simpler timing and wider margins

 Lower bandwidth for a given clock frequency


 No data strobe (data is referenced directly to the clock)

SDR memories are useful as a conceptual baseline because they expose the command →
wait → data relationship clearly, without additional timing layers.

2.2 Double Data Rate (DDR)

Double Data Rate memories transfer data on both the rising and falling edges of the clock,
effectively doubling bandwidth without doubling clock frequency.

Key changes compared to SDR:

 Two data transfers per clock period

 Tighter timing margins

 Introduction of data strobe (DQS) for reliable sampling

 Stronger dependence on signal integrity and layout quality

The critical insight is that DDR does not change what memory does; it changes how tightly
time must be controlled.
2.3 Why DDR Requires a Strobe

As data rates increase:

 Clock-to-data skew becomes comparable to valid data windows

 A global clock reference is no longer sufficient

DDR solves this by introducing source-synchronous timing:

 Data is sampled relative to DQS, not the global clock

 Clock is used for command/address timing

 DQS is used for data timing

This separation is fundamental and persists across all DDR generations.

3. DDR Types (Including LPDDR)

3.1 Mainstream DDR Generations

Each DDR generation primarily improves bandwidth per pin and power efficiency, while
increasing integration complexity.

Type Typical Use Key Characteristics

DDR Early PCs First double-edge data transfer

DDR2 PCs, servers Higher clock, lower voltage

DDR3 PCs, embedded Higher density, fly-by topology


Type Typical Use Key Characteristics

DDR4 PCs, servers Bank groups, tighter SI requirements

DDR5 High-end systems On-die ECC, higher speeds, more complexity

Progression trends:

 Higher data rates

 Lower I/O voltage

 More aggressive timing

 Increased reliance on training and calibration

3.2 Low-Power DDR (LPDDR)

LPDDR memories are optimized for mobile and power-constrained systems.

Key differences from standard DDR:

 Lower operating voltage

 Aggressive power-down modes

 Reduced termination power

 Different command and timing models

Common LPDDR types:

 LPDDR2 / LPDDR3: early mobile platforms

 LPDDR4 / LPDDR4X: smartphones, embedded SoCs

 LPDDR5: high-performance mobile and edge devices

Important distinction:

LPDDR is not a drop-in replacement for DDR.


Controllers, pinouts, timing, and power architecture are different.

3.3 Choosing Between DDR and LPDDR

Design choice depends on:

 Power budget

 Required bandwidth

 Available controller support

 PCB complexity tolerance


In practice:

 PCs and FPGAs → DDR3/DDR4

 Mobile SoCs → LPDDR4/LPDDR5

 Embedded Linux platforms → either, depending on vendor support

4. DDR Pins and Timing Parameters

4.1 DDR Signal Groups

DDR interfaces are organized into functional signal groups:

Clock

 CK / CK#: differential clock for command and address timing

Command and Address

 CS#, RAS#, CAS#, WE#

 ADDR[x], BA[x] (or BG for newer DDR)

These signals define what operation happens and when.

Data

 DQ[x]: bidirectional data bus

 DQS / DQS#: data strobe (per byte lane)

 DM / DBI: data mask or data bus inversion


4.2 Byte Lanes

Data is grouped into byte lanes, each with:

 8 DQ signals

 One DQS/DQS# pair

 Optional DM/DBI

Each byte lane is timed and trained independently, which directly impacts routing and
length-matching rules.

4.3 Core Timing Parameters (Conceptual)

DDR timing parameters define minimum safe delays between operations.

Focus on relationships, not values:

 tCK: clock period

 tCL (CAS latency): READ command to data

 tRCD: ACTIVATE to READ/WRITE

 tRP: PRECHARGE time

 tWR: write recovery time

These parameters exist because:

 Charge sharing takes time

 Sense amplifiers need settling time

 Data must be restored reliably


Violating these constraints causes silent data corruption.

4.4 Setup and Hold Around DQS

For data transfers:

 DQ must meet setup and hold requirements relative to DQS

 DQS defines the valid sampling window

 Skew between DQS and DQ directly reduces margin

This is why:

 DQS-to-DQ matching is critical

 Byte lanes are routed as tightly coupled groups

 Training is mandatory at high speeds

5. Summary

 SDR transfers data once per clock; DDR transfers on both edges

 DDR introduces DQS to survive tight timing margins

 DDR generations scale bandwidth but increase complexity

 LPDDR prioritizes power efficiency with different constraints

 DDR pin groups reflect strict separation of timing roles

 Timing parameters describe physical limits, not abstract rules

5. DDR System Architecture

5.1 High-Level View

A DDR interface is not a simple bus between a processor and a memory device. It is a tightly
coupled system consisting of three main elements:

1. Memory Controller

2. PHY (Physical Interface)

3. External DRAM Device(s)

The correctness of the system depends on all three behaving coherently in time.
5.2 Memory Controller

The memory controller is responsible for logical correctness and timing orchestration.

Its functions include:

 Translating read/write requests into DRAM command sequences

 Enforcing DRAM timing constraints (tRCD, tRP, tCL, etc.)

 Scheduling accesses to maximize row locality

 Managing refresh operations

 Initiating and supervising training and calibration

The controller operates in a cycle-accurate, deterministic manner. It assumes that the


physical interface and PCB interconnect meet the required electrical constraints.

5.3 PHY (Physical Interface)

The PHY is responsible for electrical correctness.

Its functions include:

 Driving and sampling high-speed DDR signals

 Managing DQS-based source-synchronous sampling

 Implementing programmable delays and phase alignment

 Executing write leveling, read leveling, and gate training

 Compensating for process, voltage, and temperature variation


Conceptually:

 The controller decides what happens and when

 The PHY ensures signals arrive cleanly and aligned

This separation is critical: timing closure at the controller level is meaningless if the PHY
cannot achieve electrical alignment.

5.4 Clock Domains and Timing Ownership

DDR systems use multiple clock domains:

 Controller clock (internal logic)

 PHY clock(s)

 External DDR clock (CK/CK#)

Although these clocks are related, they are not identical. The PHY bridges these domains
using calibrated delay elements.

Key principle:

The memory controller owns logical time, but the PHY owns sampling time.

This division is why training exists and why DDR bring-up is sensitive to both firmware
configuration and board layout.

5.5 Data Path vs Command Path

DDR intentionally separates timing responsibilities:

 Command / Address Path

o Referenced to CK/CK#

o Lower bandwidth

o Routed using fly-by topology

o Timing is globally aligned

 Data Path

o Referenced to DQS

o Highest bandwidth

o Organized into byte lanes


o Individually trained and aligned

This asymmetry explains many DDR routing rules and is fundamental to understanding
board-level constraints.

5.6 Why DDR Is Not Bit-Banged

DDR signaling requires:

 Sub-nanosecond timing resolution

 Per-bit and per-byte delay tuning

 Continuous calibration

These requirements exceed what general-purpose logic or software can provide. As a result:

 DDR controllers and PHYs are hardened or highly specialized

 Integration is configuration-driven, not implementation-driven

For the designer, this means correct integration, not protocol invention, is the goal.

6. Board-Level DDR Design Rules

6.1 Design Philosophy

DDR board design is governed by a single principle:

Preserve timing relationships by preserving electrical symmetry.

Board-level rules are not arbitrary; they exist to ensure that the PHY can successfully train
and maintain alignment across all operating conditions.

6.2 Stackup and Reference Planes

A DDR layout must provide:

 Continuous reference planes for all high-speed signals

 Controlled impedance for data, strobe, and clock lines

 Minimal impedance discontinuities

Key guidelines:

 Route DDR signals adjacent to solid ground planes

 Avoid reference plane splits under DDR routing


 Keep layer transitions consistent across byte lanes

Violating reference continuity directly increases jitter and skew.

6.3 Data Byte Lanes

Each byte lane forms an independent timing domain.

Rules:

 DQ signals must be tightly matched to their associated DQS

 Length matching is done within a byte lane, not across the entire bus

 Intra-lane skew matters more than inter-lane skew

Implication:

It is acceptable for different byte lanes to have different absolute delays, as long as each lane
is internally consistent.
6.4 DQS-Centric Routing

DQS is the timing reference for data sampling.

Therefore:

 DQS-to-DQ matching has the tightest constraints

 DQS should be routed cleanly, with minimal vias

 DQS polarity and pairing must be preserved

Any skew between DQS and its DQ signals directly reduces the valid data window.

6.5 Clock Routing (CK/CK#)

The clock pair:

 Defines command/address timing

 Does not directly sample data


Guidelines:

 Route CK/CK# as a tightly coupled differential pair

 Match clock lengths to each other

 Keep clock routing symmetrical relative to the memory devices

Clock skew primarily affects command timing margins, not data eye width.

6.6 Fly-By Topology

Modern DDR systems use fly-by routing for command, address, and clock signals.

Characteristics:

 Signals pass through memory devices sequentially

 Each device sees a slightly delayed version of the clock

 Training compensates for this intentional skew

Benefits:

 Improved signal integrity at high speeds

 Reduced simultaneous switching noise

 Scalable to multiple memory devices


6.7 Termination and Impedance Control

DDR relies on controlled impedance and termination to suppress reflections.

Common concepts:

 On-die termination (ODT)

 Series termination at the driver

 Differential impedance control for CK and DQS

Termination choices are controller- and memory-specific and must follow validated
guidelines.

6.8 Vias, Stubs, and Layer Transitions

At DDR speeds:

 Vias introduce inductance and capacitance

 Stubs create reflections

 Layer changes add discontinuities

Guidelines:

 Minimize via count on DQ and DQS

 Keep via structures consistent across byte lanes

 Avoid unused stubs, especially on data lines

6.9 What Board Design Can and Cannot Fix

Board design can:

 Minimize skew

 Reduce jitter

 Preserve eye opening

Board design cannot:

 Compensate for incorrect controller configuration

 Fix unsupported memory/controller combinations


 Overcome fundamentally broken topology

Training can correct small mismatches, not structural errors.

6.10 Summary

 DDR architecture separates logical control and physical signaling

 The PHY is the bridge between digital intent and analog reality

 Board-level rules exist to preserve timing symmetry

 Byte lanes are the fundamental unit of routing and timing

 Fly-by topology and DQS-centric routing are essential at high speeds

SDIO

1. What is SDIO?

What problem does SDIO solve?

SDIO solves this problem:

“I need to connect a reasonably fast peripheral to my MCU/SoC without using many pins
or a very complex interface.”

Before SDIO, designers often had to choose between:

 SPI → simple, but slow

 USB → fast, but complex and heavy

 Parallel buses → fast, but many pins

SDIO sits in between.

What does SDIO do (in simple words)?

SDIO is a way for a processor to talk to an external device using a small group of shared
signals and a clock.

In practice:

 The processor sends a request

 The device responds


 Data moves back and forth in chunks

 Errors can be detected and retried

You can think of SDIO as:

“SPI, but wider, faster, and standardized.”

What kind of devices use SDIO?

SDIO is commonly used for:

 Wi-Fi modules

 Bluetooth modules

 GPS modules

 Camera modules (some designs)

 SD cards (storage)

 Combo cards (SD memory + SDIO I/O)

Very common real-world example:

An MCU talking to a Wi-Fi chip over SDIO

2. What does SDIO look like physically?

This is the most important beginner question.

What pins / signals exist?

An SDIO interface uses very few signals:

 CLK → Clock (generated by the MCU/SoC)

 CMD → Command line (bidirectional)

 DAT0–DAT3 → Data lines (1 or 4 used)

 VDD / GND → Power

That’s it.

No differential pairs.
No strobes.
No dozens of pins.
How does an SDIO device connect to a microcontroller or SoC?

At hardware level, it looks like this:

 MCU has an SDIO (or SDMMC) peripheral

 SDIO device or SD card connects directly

 Signals are point-to-point

 MCU is always the host (master)

Schematic-level example (what you actually draw)


What you typically see in schematics:

 CLK from MCU → device

 CMD bidirectional with pull-up

 DAT lines with pull-ups

 Power rail (often 3.3 V or 1.8 V)

 Optional card-detect pin (for SD cards)

Board-level context (what you route on PCB)


On the PCB:

 Short, clean traces

 All signals referenced to ground

 No special high-speed stackup needed

 Usually routed on one layer if possible

This already tells you something important:

SDIO is NOT physically scary like DDR.

3. When should I choose SDIO?

What is SDIO good at?

Choose SDIO when:

 You need more speed than SPI

 You want few pins

 You want a well-supported interface

 You are connecting modules, not raw memory

Typical sweet spot:

 10–50 MB/s range

 Embedded systems

 Battery-powered devices

When should I NOT choose SDIO?

Do NOT choose SDIO when:

 You need extremely high bandwidth → use PCIe or USB

 You need very long cables → use USB or Ethernet

 You want extreme simplicity → SPI or UART

 You need main system memory → DDR

Very high-level comparison


Interface Speed Pins Complexity Typical Use

UART Very low 2 Very low Debug, text

SPI Low–medium 4–6 Low Sensors, flash

SDIO Medium 6–8 Medium Wi-Fi, SD

USB High Few High External devices

DDR Very high Many Very high Main memory

4. How hard is SDIO for a hardware designer?

Is it sensitive like DDR?

No. Not even close.

DDR:

 Sub-nanosecond timing

 Tight skew budgets

 Training and calibration

 Complex stackups

SDIO:

 Single clock

 Wide timing margins

 No training

 Forgiving routing

Is SDIO forgiving?

Yes.

SDIO tolerates:

 Small skew

 Some trace length differences

 Normal vias

 Ordinary PCB materials


If SDIO fails, it usually:

 Fails visibly

 Reports errors

 Can be debugged logically

Common beginner mistakes

 Forgetting pull-up resistors on CMD/DAT

 Wrong voltage (1.8 V vs 3.3 V)

 Poor power sequencing

 Using wrong MCU pins (pin-mux issue)

 Mixing up SDIO and SPI modes

5. Hardware design guidelines (beginner level)

Do I need controlled impedance?

Usually no.

At normal SDIO speeds:

 Standard PCB traces are fine

 You do not calculate impedance

 You do not need differential pairs

Treat it like a moderate-speed digital bus.

Do I need length matching?

 No strict matching

 Just keep traces reasonably short and similar

 Avoid extreme differences

Nothing like DDR byte-lane matching.

Typical clock speeds


Very roughly:

 Low speed: a few MHz

 Normal speed: ~25 MHz

 High speed: ~50 MHz

 Some systems go higher, but that’s advanced

Pull-ups, power, voltage

Important basics:

 CMD and DAT lines need pull-ups

 Common voltages: 3.3 V or 1.8 V

 Power must be stable before communication

 Some devices support voltage switching

What usually breaks SDIO on real boards?

Most failures are not signal integrity issues.

Common real problems:

 Wrong voltage level

 Missing pull-ups

 Incorrect pin multiplexing

 Bad power sequencing

 Noisy power rail to the module

6. Electrical limits and timing modes (high level)

What “speed modes” exist?

Think of modes as:

 Slow and safe

 Normal

 Faster
As speed increases:

 Clock frequency increases

 Timing margins shrink

 Signal quality matters more

But still far from DDR-level sensitivity.

What changes electrically when speed increases?

 Edges get sharper

 Crosstalk becomes more relevant

 Ground reference becomes more important

Still:

 No differential signaling

 No strobe signals

 No per-bit tuning

Where do these limits come from?

From:

 SD Association specifications

 MCU/SoC SDIO controller datasheets

 Reference designs

7. Where do I find REAL design rules and numbers?

This is critical.

Documents that matter MOST

1. MCU / SoC datasheet and reference manual

o Pin usage

o Voltage levels

o Max clock
2. MCU application notes

o SDIO hardware design guide

o Known-good examples

3. Reference schematics

o Evaluation boards

o Development kits

Documents that are reference-only

 SD Association full specs


(Good for definitions, not first-time design)

What should you copy from reference designs?

Copy:

 Pull-up resistor values

 Power rail structure

 Pin assignments

 Basic routing style

This is good engineering, not cheating.

eMMC

1. What is eMMC?

What problem does eMMC solve?

eMMC solves this problem:

“I need non-volatile storage that is fast, reliable, cheap, and easy to integrate on my PCB.”

Before eMMC, designers used:

 NOR flash → simple but small and expensive

 NAND flash → cheap and large but very hard to manage

 SD cards → removable, unreliable for embedded systems


eMMC was created to hide NAND flash complexity and give designers a simple, memory-
like storage device.

What does eMMC do (in simple words)?

eMMC is a flash storage chip that already contains its own controller.

That internal controller:

 Manages bad blocks

 Handles wear leveling

 Corrects errors

 Presents a clean interface to the SoC

So to the processor:

eMMC looks like “a smart flash chip” instead of raw NAND.

You do not manage flash pages or erase blocks manually.


The eMMC chip does that for you.

What kind of devices use eMMC?

eMMC is used in:

 Smartphones (older generations)

 Tablets

 Embedded Linux boards

 Industrial controllers

 Automotive ECUs

 IoT gateways

If a system needs:

 Bootloader

 Linux filesystem

 Application storage

…and does not need removability → eMMC is a very common choice.


2. What does eMMC look like physically?

This is where eMMC becomes very clear.

What pins / signals exist?

eMMC uses a dedicated parallel interface:

 CLK → Clock from SoC

 CMD → Command line (bidirectional)

 DAT0–DAT7 → Data lines (1, 4, or 8 used)

 VCC → Flash core power

 VCCQ → I/O power

 GND

That’s it.

No differential pairs.
No high-speed serial lanes.
No USB-style PHY.

How does an eMMC device connect to a microcontroller or SoC?

eMMC is:

 Soldered permanently to the PCB

 Connected directly to the SoC’s eMMC / MMC controller

 Point-to-point (no sharing)

Unlike SD cards:

 No socket

 No hot-plug

 No card detect

Schematic-level example (what you actually draw)


Typical schematic features:

 CLK, CMD, DAT lines directly between SoC and eMMC

 Decoupling capacitors near the eMMC


 Separate VCC and VCCQ rails

 Sometimes series resistors (optional, vendor-dependent)

Board-level context (what you route on PCB)

On the PCB:

 eMMC placed very close to the SoC

 Short, clean parallel traces

 Solid ground reference

 Usually routed on inner layers or top layer

This already tells you something important:

eMMC is much more sensitive than SDIO, but far less extreme than DDR.

3. When should I choose eMMC?

What is eMMC good at?

Choose eMMC when:

 You need embedded, non-removable storage


 You are running Linux or an OS

 You want simple flash management

 You want low BOM complexity

Typical use:

 Boot storage

 Root filesystem

 Application data

When should I NOT choose eMMC?

Do NOT choose eMMC when:

 You need removable storage → SD card

 You need very high performance → UFS or NVMe

 You need very small code storage → NOR flash

 You need extreme simplicity → SPI flash

Conceptual positioning

Think of eMMC as:

“An internal SD card, soldered down, optimized for embedded systems.”

4. How hard is eMMC for a hardware designer?

Difficulty level

eMMC is:

 Harder than SDIO

 Much easier than DDR

 Very manageable with reference designs

There is:

 No training like DDR

 No source-synchronous strobes
 No protocol debugging at signal level

But:

 Signal quality matters

 Placement matters

 Power sequencing matters

Common beginner mistakes

 Placing eMMC too far from SoC

 Mixing up VCC and VCCQ voltages

 Ignoring power-up sequence

 Using unsupported eMMC speed mode

 Poor decoupling near the chip

5. Hardware design guidelines (beginner level)

Do I need controlled impedance?

Usually no strict impedance control, but:

 Traces should be consistent

 Avoid wildly different widths

 Keep reference plane continuous

Treat it like a moderate-speed parallel bus.

Do I need length matching?

 Yes, but loosely

 Match DAT lines reasonably

 CLK is the most critical

 This is not DDR-level matching

Think: “keep things neat and symmetric.”


Typical clock speeds

Very roughly:

 Legacy modes → tens of MHz

 High-speed modes → ~100–200 MHz (effective)

 Advanced modes → faster, but more sensitive

You don’t need exact numbers at the beginning.

Pull-ups, power sequencing, voltage

Important basics:

 CMD and DAT lines often need pull-ups (internal or external)

 VCC and VCCQ may be different voltages

 Power must be stable before communication

 Some modes require voltage switching (1.8 V)

What usually breaks eMMC on real boards?

Most failures come from:

 Power instability

 Incorrect voltage rails

 Bad placement

 Over-aggressive speed mode selection

 Ignoring SoC vendor guidelines

6. Electrical limits and timing modes (high level)

What “speed modes” exist?

Think of eMMC modes as:

 Slow and safe

 Faster

 Much faster (more sensitive)


Each mode increases:

 Clock rate

 Edge speed

 Sensitivity to layout quality

What changes electrically when speed increases?

As speed increases:

 Timing margins shrink

 Crosstalk matters more

 Trace length differences matter more

 Power integrity becomes critical

Still:

 No differential signaling

 No DDR-style strobes

 No per-bit training

Where do these limits come from?

From:

 eMMC standard definitions

 SoC eMMC controller documentation

 eMMC vendor datasheets

 Reference designs

7. Where do I find REAL design rules and numbers?

This is critical for safe design.

Documents that matter MOST

1. SoC datasheet and reference manual


o eMMC controller capabilities

o Supported modes

o Voltage requirements

2. SoC hardware design guide

o Layout rules

o Length matching guidance

o Placement recommendations

3. Reference schematics and layouts

o Evaluation boards

o Development kits

Documents that are reference-only

 eMMC standard documents (JEDEC)

o Good for definitions

o Not beginner-friendly

o Not layout guides

What should you copy from reference designs?

Copy:

 Placement strategy

 Decoupling scheme

 Pull-ups / series resistors

 Routing style

 Power rail structure

This is exactly how professionals do it.

Final mental summary (lock this in)


eMMC is an embedded, soldered-down flash storage device with an internal controller.
It replaces raw NAND, simplifies storage design, and provides reliable non-volatile memory
for embedded systems.

If you understand:

 What it is

 How it connects physically

 When to choose it

 That it is not DDR-level sensitive

Then you are at the correct beginner level.

PATA, SATA, and NVMe


1) PATA (Parallel ATA / IDE)
What is it?

PATA (Parallel ATA, often called IDE) is the oldest mainstream PC storage interface.
What problem did it solve?

It standardized how hard drives connect to PCs, replacing many vendor-specific interfaces in
the 1990s.

What does it do (simple)?

It sends data bits in parallel (many bits at once) over a wide ribbon cable between the drive
and the controller.

What devices used it?

 Early HDDs

 Early CD/DVD drives

 Old desktop and laptop PCs (≈1995–2005)

What does it look like physically?

 40-pin connector (later 80-wire cable for signal integrity)

 Wide ribbon cable

 Two devices per cable (Master / Slave configuration)

Hardware reality (why it died)

 Parallel signals must arrive at the same time → skew problems

 Very poor signal integrity at high speed

 Thick cables block airflow

 Manual jumpers (master/slave) = error-prone

Typical speed: up to ~133 MB/s (theoretical)

2) SATA (Serial ATA)


What is it?

SATA (Serial ATA) is the serial replacement for PATA.

What problem did it solve?

 Eliminated parallel timing/skew problems

 Reduced cable size

 Increased speed and reliability

What does it do (simple)?


It sends data serially (bit-by-bit) over high-speed differential pairs.

What devices use it?

 HDDs

 2.5" SATA SSDs

 Optical drives

 Consumer PCs and embedded systems

What does it look like physically?

 7-pin data connector

 15-pin power connector

 One device per cable (no master/slave)

Hardware / PCB perspective

 Differential pairs (TX±, RX±)

 Requires controlled impedance

 Point-to-point link (much cleaner topology)

Performance evolution

SATA Version Raw Rate Real Throughput

SATA I 1.5 Gb/s ~150 MB/s

SATA II 3.0 Gb/s ~300 MB/s

SATA III 6.0 Gb/s ~550 MB/s

Architectural limitation

SATA still talks to storage using AHCI, which was designed for slow spinning disks → high
latency, shallow queues.

3) NVMe (Non-Volatile Memory Express)


4

What is it?

NVMe is not a cable standard—it is a storage protocol designed specifically for solid-state
memory, running on PCI Express.

What problem did it solve?

SATA + AHCI became the bottleneck once storage turned into very fast memory chips.

NVMe solves:

 High latency

 Low command parallelism

 CPU overhead

What does it do (simple)?

It lets an SSD talk to the CPU almost like RAM, using PCIe lanes instead of a slow storage
bus.

What devices use it?

 M.2 NVMe SSDs

 U.2 enterprise SSDs

 Data centers, laptops, desktops, consoles


What does it look like physically?

Most common:

 M.2 2280 card

 Key-M connector

 Uses PCIe x4 lanes

Hardware / PCB perspective

 Same signaling as PCIe:

o High-speed differential pairs

o AC-coupling capacitors

o Strict impedance and length control

 Direct connection to CPU or chipset

Performance (typical)

PCIe Gen Lanes Throughput

PCIe 3.0 x4 ~3.5 GB/s

PCIe 4.0 x4 ~7 GB/s

PCIe 5.0 x4 ~14 GB/s

Architectural leap

 64K queues × 64K commands

 Extremely low latency

 Designed for parallel access from day one

Big-Picture Comparison (Hardware-Relevant)

Feature PATA SATA NVMe

Era 1990s 2000s 2010s+

Signaling Parallel Serial differential PCIe differential

Max Speed ~133 MB/s ~550 MB/s 3–14 GB/s

Protocol ATA AHCI NVMe


Feature PATA SATA NVMe

Cable Wide ribbon Thin cable PCB traces

Devices per link 2 1 1

Latency Very high Medium Very low

Storage type HDD HDD + SSD SSD only

Scales with PCIe ❌ ❌ ✅

How to Think About Them as a Hardware Designer

Mental model

 PATA → “Parallel bus era (like old memory buses)”

 SATA → “Serial link but HDD-era software”

 NVMe → “Memory-speed storage over PCIe”

When you’d choose each

 PATA: You wouldn’t (legacy repair only)

 SATA: Cheap mass storage, compatibility, embedded Linux boards

 NVMe: Performance-critical systems, modern PCs, data logging at high rates

Why NVMe dominates modern designs

Because storage is no longer mechanical—it’s semiconductor memory, and NVMe finally


treats it that way.

PCIe and CXL


1️⃣ PCIe (Peripheral Component Interconnect Express)
4

1. What is PCIe?

What problem does it solve?

Old buses (PCI, PCI-X, parallel buses) were:

 Shared → slow

 Clocked in parallel → noisy

 Hard to scale

PCIe solves this by using high-speed serial point-to-point links.

What does it do (simple words)?

PCIe is:

A very fast data highway that connects chips and cards directly using pairs of wires, not
wide parallel buses.

Each device gets its own private link.

What kind of devices use PCIe?

 GPUs
 NVMe SSDs

 Ethernet cards (10G / 25G / 100G)

 AI accelerators

 FPGA cards

 Wi-Fi cards

 Thunderbolt controllers

 SoCs talking to external devices

If it needs high bandwidth + low latency, it’s probably PCIe.

2. What does PCIe look like physically?

PCIe is NOT “one signal”

It’s a bundle of differential pairs + a few sideband signals.

PCIe lane (the basic unit)

One lane =

 TX+ / TX- (from transmitter)

 RX+ / RX- (to receiver)

That’s it.

Bandwidth scales by adding lanes:

 x1 = 1 lane

 x4 = 4 lanes

 x8, x16, x32 …

Key PCIe signals (schematic view)

Signal Meaning

TX+ / TX- High-speed data out

RX+ / RX- High-speed data in

REFCLK+ / REFCLK- Reference clock (100 MHz)


Signal Meaning

PERST# Reset

WAKE# Power management

SMBus / I2C Sideband control (optional)

Power 12 V / 3.3 V rails

Schematic-level example (simplified)

SoC / CPU

├── PCIe_TX_P/N ─────────────┐

├── PCIe_RX_P/N ─────────────┤ Differential pairs

├── PCIe_REFCLK_P/N ────────┤

├── PERST# ─────────────────┤

└── 3.3V / GND ─────────────┘

PCIe Device

(SSD / NIC / FPGA)

No address bus.
No data bus.
Just fast serial links.

Board-level reality (what you actually route)

You route:

 Matched differential pairs

 Controlled impedance (~85 Ω diff)

 Length-matched TX/RX pairs

 Clean reference planes

Typical routing:
 Inner layers preferred

 No stubs

 Minimal vias

 AC coupling capacitors (important!)

AC coupling capacitors (critical)

PCIe requires series capacitors on TX lines:

TX_P ──||──────────> RX_P

TX_N ──||──────────> RX_N

Usually:

 75–220 nF

 Placed close to transmitter

Missing these = link won’t train.

3. When should I choose PCIe?

Choose PCIe when:

✅ You need >500 MB/s


✅ You want industry-standard expansion
✅ You connect SoC ↔ high-performance peripheral
✅ Latency matters
✅ You want scalability (x1 → x16)

Do NOT choose PCIe when:

❌ MCU-level systems (SPI/I2C/UART are enough)


❌ Low power battery devices
❌ You don’t control impedance
❌ Short development time
❌ No PCIe PHY available

PCIe is not beginner-cheap, even if conceptually clean.

4. How hard is PCIe for a hardware designer?


Conceptually: ⭐⭐☆☆☆

(Simple idea: serial lanes)

Physically: ⭐⭐⭐⭐☆

(Signal integrity matters)

System-level: ⭐⭐⭐⭐⭐

(Reset, clocking, power sequencing)

Common beginner mistakes

 ❌ No controlled impedance

 ❌ Wrong reference plane

 ❌ Forgetting AC coupling caps

 ❌ Bad REFCLK routing

 ❌ Lane polarity mismatch

 ❌ Not following reset timing

 ❌ Too many vias

 ❌ Using MCU without PCIe PHY

5. PCIe hardware design rules (beginner-safe)

Controlled impedance?

✅ YES (mandatory)

 ~85 Ω differential

 ~42–50 Ω single-ended

Length matching?

✅ YES

 Within a lane: tight (±5 mil typical)

 Lane-to-lane: looser (±100 mil)


Clock speeds?

 REFCLK: 100 MHz

 Data rate:

o Gen1: 2.5 GT/s

o Gen2: 5 GT/s

o Gen3: 8 GT/s

o Gen4: 16 GT/s

o Gen5: 32 GT/s

(You don’t “see” the clock — it’s embedded in data.)

Power & voltage

 3.3 V (logic)

 12 V (slots/cards)

 Tight sequencing relative to PERST#

What breaks PCIe boards in real life?

 Bad return path

 Poor stackup

 Missing ground stitching vias

 Reflections from stubs

 Wrong capacitor placement

 Cheap connectors

2️⃣ CXL (Compute Express Link)


4

1. What is CXL?

What problem does it solve?

PCIe is fast, but:


 Memory is stuck behind CPUs

 Accelerators can’t share memory easily

 Copying data wastes time and power

CXL fixes this by extending memory semantics across PCIe.

What does it do (simple words)?

CXL lets devices:

Share memory like it’s local RAM, even if it’s on another card.

Think:

 CPU ↔ accelerator ↔ memory

 All talking the same memory language

Devices using CXL

 Memory expanders

 AI accelerators

 SmartNICs

 Coherent FPGA cards

 Data-center CPUs (Intel, AMD, ARM)

2. What does CXL look like physically?

Important insight

⚠️CXL uses PCIe PHY and connectors

Same:

 Lanes

 Differential pairs

 Routing rules

 Slots

 Cables
Different:

 Protocol layer

 Memory coherency

Physical signals?

Exactly the same as PCIe:

 TX/RX differential pairs

 REFCLK

 Reset

 Power rails

If you can route PCIe, you can route CXL.

Schematic reality

There is no “CXL pin”.

Your schematic still says:

PCIe_TX_P/N

PCIe_RX_P/N

REFCLK

PERST#

CXL lives above the PHY.

3. When should I choose CXL?

Choose CXL when:

✅ You design data-center hardware


✅ You need memory pooling
✅ CPU ↔ accelerator coherence matters
✅ NUMA systems
✅ AI / ML systems
✅ You control both endpoints
Do NOT choose CXL when:

❌ Embedded systems
❌ MCUs
❌ Consumer electronics
❌ Cost-sensitive designs
❌ You don’t own the CPU architecture

CXL is not for hobbyist boards.

4. How hard is CXL?

Hardware difficulty

Same as PCIe ⭐⭐⭐⭐☆

System difficulty

🔥🔥🔥🔥🔥

Why?

 Cache coherency

 Memory ordering

 CPU support required

 Firmware + BIOS + OS support

Beginner mistake with CXL

Thinking:

“It’s just faster PCIe”

No.
It’s shared memory across devices.

5. CXL hardware design rules

Controlled impedance?

✅ Mandatory (same as PCIe)

Length matching?

✅ Mandatory
Clocking?

Same as PCIe

Power?

Much stricter due to memory semantics

What breaks CXL?

 Slight signal integrity issues

 Firmware mismatch

 CPU not supporting it

 BIOS configuration

 Training failures

Final mental model (important)

PCIe:

Fast point-to-point data pipe

CXL:

Shared memory fabric built on PCIe

Physically:

 Same wires

 Same routing

 Same connectors

Logically:

 Completely different worlds

USB

1) What is USB?

What is it?

USB (Universal Serial Bus) is a standardized way to connect devices so they can:
 Exchange data

 Receive power

 Identify themselves automatically

All with one cable and one connector family.

What problem does it solve?

Before USB:

 Different connectors for each device (serial, parallel, PS/2, etc.)

 Manual configuration (IRQs, drivers, jumpers)

 No standardized power delivery

USB solved:

 Plug-and-play

 One connector for many devices

 Data + power together

 Automatic device detection

What does it do (in simple words)?

USB lets a host (PC, phone, SoC) talk to devices (keyboard, flash drive, camera) over two
data wires, while also supplying power.

What kind of devices use USB?

Almost everything:

 Keyboards, mice

 Flash drives

 Cameras

 Phones

 Microcontroller boards (Arduino, STM32, ESP32)

 Debuggers (ST-Link, J-Link)


 Audio interfaces

 Storage devices

2) What does USB look like physically?

We’ll start with USB 2.0, because everything builds on it.

USB 2.0 — The Core You Must Understand First


4

Physical signals (USB 2.0)

USB 2.0 has only 4 main signals:

Signal Meaning

VBUS +5 V power from host

GND Ground

D+ Data (positive)

D− Data (negative)

👉 D+ and D− form a differential pair


(meaning data is sent as a voltage difference between them, not referenced to ground)
Speed levels (USB 2.0)

Mode Speed Typical use

Low-Speed 1.5 Mb/s Mouse, keyboard

Full-Speed 12 Mb/s MCU devices

High-Speed 480 Mb/s Flash drives, cameras

How does a device connect to a microcontroller / SoC?

There are three common hardware cases.

Case 1 — MCU with built-in USB Full-Speed PHY (most common)


What you route on PCB:

 D+ and D− from MCU directly to connector

 Series resistors (≈22–33 Ω)

 ESD protection

 5 V sensing (VBUS)

Key schematic blocks:

USB Connector

ESD Diodes

22Ω 22Ω

│ │

D+ ---- MCU USB DP

D- ---- MCU USB DM

Why this is easy

 No external PHY

 No high-speed routing complexity

 Ideal for learning

Case 2 — USB High-Speed via ULPI PHY (advanced)


What is ULPI?
ULPI (UTMI+ Low Pin Interface) is a digital bus between:

 SoC ↔ External USB PHY

Instead of routing fast analog USB signals directly from the SoC, you:

 Route digital signals (8-bit + clock) to a PHY

 PHY handles D+/D− signaling

Why it exists

 High-speed USB (480 Mb/s) is hard to route inside big SoCs

 PHY placement near connector improves signal integrity

PCB reality
 ULPI bus: ~60 MHz parallel signals

 USB D+/D− only exist after the PHY

Case 3 — USB 3.x (SuperSpeed)


USB 3 adds extra high-speed lanes.

USB 3.0+ (SuperSpeed) — Conceptually

New signals added

In addition to USB 2.0 pins:

 TX+ / TX−

 RX+ / RX−

These are separate high-speed differential pairs.

USB Version Data Method

USB 2.0 Half-duplex over D+/D−

USB 3.x Full-duplex over TX/RX pairs

Think of USB 3 as:

USB 2.0 + PCIe-like serial lanes

What is USB OTG?


Problem it solves

Classic USB has:

 Host (PC)

 Device (mouse)
OTG allows role switching:

 Phone can be host (USB drive)

 Or device (connected to PC)

How OTG works (hardware view)

 Extra pin: ID

 ID grounded → device becomes host

 ID floating → device becomes peripheral

Important:
OTG mostly affects power control and role logic, not routing.

3) When should I choose USB?

Choose USB when:

 You need PC connectivity

 You want plug-and-play

 You want power + data

 You want driver support everywhere

 You’re designing:

o Dev boards

o Debug ports

o Data logging devices

o Firmware update ports

Do NOT choose USB when:

 You need deterministic real-time latency

 You need very long cables

 You need simple point-to-point internal communication

 You need multi-drop bus (use CAN, RS-485)


4) How hard is USB for a hardware designer?

Difficulty level

USB Type Difficulty

USB 2.0 Full-Speed ⭐⭐ (easy)

USB 2.0 High-Speed ⭐⭐⭐⭐

USB 3.x ⭐⭐⭐⭐⭐

Common beginner mistakes

 Forgetting ESD protection

 Incorrect VBUS sensing

 No series resistors

 Bad grounding near connector

 Routing D+/D− over split planes

 Treating USB like UART (it is not)

5) Hardware design guidelines (beginner-level)

Do I need controlled impedance?

USB Type Controlled impedance?

Full-Speed (12 Mb/s) Not strict

High-Speed (480 Mb/s) Yes (90 Ω diff)

USB 3.x Mandatory

Do I need length matching?

 USB 2.0 FS: No

 USB 2.0 HS: Keep D+/D− close

 USB 3.x: Yes (tight)


Typical clock speeds

Interface Clock

USB FS 12 MHz signaling

USB HS 480 Mb/s NRZI

ULPI 60 MHz

USB 3.x 5–20 Gb/s

Pull-ups, voltage levels, power

 USB devices advertise speed using pull-ups on D+ or D−

 Usually internal to MCU

 VBUS = 5 V

 Data signaling ≈ 3.3 V logic

What usually breaks USB on real boards?

 Poor grounding near connector

 Long stubs on D+/D−

 Missing ESD diodes

 Power noise on VBUS

 Wrong connector footprint

 Routing under switching regulators

Mental Model to Keep Forever

 USB is NOT “just serial”

 USB 2.0 = differential signaling + timing

 USB 3.x = high-speed SerDes

 ULPI = digital escape hatch for hard analog

 OTG = power + role logic, not routing magic


Ethernet
4

1. What is Ethernet?

What problem does it solve?

Devices need to:

 Communicate over long distances

 Be interoperable (any vendor ↔ any vendor)

 Be robust against noise

 Support many devices on a network

Ethernet solves reliable digital communication over cables, at building-to-campus scale.

What does it do (simple words)?

Ethernet is:

A standardized way for devices to send digital data as electrical signals over twisted-pair
cables, so they can talk on a network.

It lets:

 Your device talk to other devices

 Your device connect to the internet


 Many devices share the same network infrastructure

What kind of devices use Ethernet?

 Microcontroller boards

 Industrial controllers (PLCs)

 Routers and switches

 PCs and servers

 Cameras (IP cameras)

 Printers

 Embedded Linux systems

 Automotive and industrial equipment

If a device needs stable wired networking, it uses Ethernet.

2️⃣ What does Ethernet look like physically?

This is where Ethernet becomes very concrete for a hardware designer.

Ethernet is split into layers (important)

You will hear these terms often:

 MAC (Media Access Controller)


Digital logic inside MCU/SoC
Talks in bytes and frames

 PHY (Physical Layer Transceiver)


Analog + mixed-signal IC
Converts digital data ↔ analog signals on the cable

 Magnetics (Isolation Transformers)


Provide electrical isolation and impedance matching

 Connector (RJ45)
The physical Ethernet jack

As a hardware designer, you design PHY + magnetics + routing.


Typical Ethernet signal chain

MCU / SoC

│ (digital interface: RMII / RGMII / MII)

Ethernet PHY

│ (analog differential pairs)

Magnetics (transformers)

│ (twisted-pair cable)

RJ45 Connector

What pins and signals exist?

Between MCU/SoC and PHY (digital side)

Common interfaces:

 MII – older, wide, slow

 RMII – reduced pin count (very common)

 RGMII – faster, used for Gigabit Ethernet

Example (RMII):

Signal Meaning

TXD[1:0] Transmit data

RXD[1:0] Receive data

TX_EN Transmit enable

CRS_DV Carrier sense / data valid

REF_CLK 50 MHz clock


Signal Meaning

MDC / MDIO PHY configuration

These are normal CMOS digital signals.

Between PHY and magnetics (analog side)

This is where beginners usually get confused.

Signals:

 TX+ / TX-

 RX+ / RX-

These are:

 Differential

 Analog

 AC-coupled

 Carefully impedance-controlled

You do not treat these like GPIOs.

Schematic-level example (simplified)

MCU / SoC

├── RMII_TXD[1:0]

├── RMII_RXD[1:0]

├── RMII_REF_CLK (50 MHz)

├── MDIO / MDC

└── RESET


Ethernet PHY

├── TX_P ──||──┐

├── TX_N ──||──┤

├── RX_P ──────┤── Magnetics ── RJ45

├── RX_N ──────┘

├── AVDD / DVDD

└── Bias resistors

Notes:

 Capacitors on TX lines are mandatory

 RX lines usually connect directly

 Magnetics provide isolation and common-mode noise rejection

Board-level context (what you actually route)

You will route:

 One or two differential pairs

 100 Ω differential impedance

 Short, symmetric routes

 Solid reference plane underneath

Typical layout flow:

1. PHY close to magnetics

2. Magnetics close to RJ45

3. No stubs

4. Few vias

5. Ground stitching near magnetics

3️⃣ When should I choose Ethernet?

Choose Ethernet when:

 You need wired networking


 Cable length > a few meters

 Noise immunity matters

 Interoperability matters

 You want TCP/IP, UDP, HTTP, etc.

 Industrial or professional product

Ethernet is the default wired network choice.

Do NOT choose Ethernet when:

 Ultra-low power battery devices

 Very short distance (SPI/UART/I2C sufficient)

 Cost and PCB area are extremely tight

 No PHY available

 Wireless is mandatory

Ethernet is powerful, but not lightweight.

4️⃣ How hard is Ethernet for a hardware designer?

Conceptually

Easy
Clear block separation (MAC ↔ PHY ↔ cable)

Physically

Medium
Analog rules matter

System-level

Medium
Clocking, reset, strap pins, configuration

Common beginner mistakes

 Forgetting magnetics

 Treating PHY signals as digital


 Wrong impedance on differential pairs

 Long routes between PHY and magnetics

 Poor grounding near RJ45

 Missing termination resistors

 Wrong reference clock frequency

 Ignoring ESD protection

5️⃣ Hardware design guidelines (beginner level)

Controlled impedance?

Yes, mandatory

 Differential impedance: 100 Ω

 Especially PHY ↔ magnetics

Length matching?

 Match TX+ to TX-

 Match RX+ to RX-

 TX vs RX does not need matching

Typical clock speeds

 RMII reference clock: 50 MHz

 MII: 25 MHz

 RGMII: 125 MHz

Cable signaling:

 10BASE-T: 10 Mbps

 100BASE-TX: 100 Mbps

 1000BASE-T: 1 Gbps

Pull-ups, power, voltage levels


 PHY usually uses:

o 3.3 V analog

o 1.2–1.8 V core

 Strap resistors configure PHY mode at reset

 Reset timing is critical

 Decoupling near PHY is very important

What usually breaks Ethernet boards in real life?

 Bad magnetics footprint

 Incorrect RJ45 pinout

 Poor ground reference under PHY

 No ESD protection on cable side

 Long stubs on differential pairs

 Wrong clock source or jitter

 Missing common-mode chokes

Final mental model (important)

Ethernet is:

A carefully controlled analog interface wrapped around a digital network protocol

As a hardware designer:

 You don’t implement Ethernet logic

 You enable it electrically

 If the PHY sees clean signals, Ethernet “just works”

LVDS Display, MIPI-DSI, HDMI, DisplayPort


Big Picture First (Mental Map)

Before details, lock this in:


Interface Primary Use Typical Context

LVDS Display Internal panels Laptops, industrial HMIs

MIPI-DSI Internal mobile displays Phones, tablets, SBCs

HDMI External consumer displays TVs, monitors

DisplayPort High-performance displays PCs, docks, laptops

Key idea:
Some display interfaces are meant for inside the device, others for between devices.

1) LVDS Display (Panel LVDS)


4

1. What is LVDS Display?

What is it?
LVDS (Low-Voltage Differential Signaling) display is a simple, point-to-point video interface
used to connect a processor to an internal LCD panel.

What problem does it solve?

 Transmitting pixel data reliably inside a device

 Low EMI

 Simple electronics

 Long flat-flex cables

What does it do in simple words?

It sends pixel bits over multiple low-voltage differential pairs, synchronized by a clock,
directly into the LCD panel.

No packets. No negotiation. No hot-plug.

What kind of devices use it?

 Laptop internal displays

 Industrial HMIs

 Older SBCs

 Automotive displays (legacy)

2. What does it look like physically?

Signals you route

Typical single-channel LVDS:

 3–4 data differential pairs

 1 clock differential pair

 Power rails (panel logic, backlight)

 Control pins (enable, reset)

Example:

TX0+ TX0-

TX1+ TX1-

TX2+ TX2-

CLK+ CLK-
Each pair carries 7 bits serialized.

How it connects to a SoC

SoC LVDS TX

│ (5–10 differential pairs)

LCD Panel Connector

Often:

 SoC has built-in LVDS serializer

 No external IC required

Board-level reality

You route:

 Multiple 90–100 Ω differential pairs

 Medium speed (hundreds of MHz)

 Flat cable or FFC connector

3. When should I choose LVDS?

Choose LVDS when:

 Internal display

 Fixed resolution

 No hot-plug needed

 Simple hardware

 Long internal cable

Do NOT choose LVDS when:

 External monitor

 High resolution (>1080p)


 Hot-plug required

 EMI compliance is strict

4. How hard is LVDS?

Difficulty: LOW to MEDIUM

Common beginner mistakes

 Forgetting panel power sequencing

 Wrong pin mapping (panels are not standardized)

 Poor ground reference

 Treating LVDS like slow GPIO

5. Hardware design guidelines (LVDS)

Topic Rule

Controlled impedance Yes (≈100 Ω diff)

Length matching Within pair only

Clock speed ~65–150 MHz

Voltage ~350 mV swing

Power sequencing Critical

Common failure Panel stays white/black

2) MIPI-DSI (Display Serial Interface)


4

1. What is MIPI-DSI?

What is it?

MIPI-DSI is a high-speed serial display interface optimized for mobile and embedded
devices.

What problem does it solve?

 LVDS uses many wires

 Mobile devices need:

o Fewer pins

o Lower power

o Higher resolution

What does it do in simple words?

It sends pixel data as packets over 1 clock lane + 1–4 data lanes, using very high speed serial
signaling.

Devices using it

 Smartphones

 Tablets

 Raspberry Pi displays

 Embedded Linux boards

2. What does it look like physically?


Signals

 CLK+ / CLK−

 DATA0± … DATA3±

 Power and control pins

Each lane can run >1 Gbps.

How it connects to a SoC

SoC DSI Controller

│ High-speed differential lanes

DSI Display Connector

Usually:

 PHY integrated inside SoC

 Display panel contains DSI receiver

Board-level reality

You route:

 Few differential pairs

 Very high speed

 Short distances

 Tight impedance control

3. When should I choose DSI?

Choose DSI when:

 Mobile or embedded system

 Small, high-resolution display

 Low pin count


 Low power

Do NOT choose DSI when:

 External display

 Long cables

 Simple microcontrollers

 Beginner-only designs

4. How hard is DSI?

Difficulty: HIGH

Common beginner mistakes

 Underestimating signal speed

 Ignoring termination rules

 Bad connector choice

 No reference ground stitching

5. Hardware design guidelines (DSI)

Topic Rule

Controlled impedance Mandatory

Length matching Mandatory

Lane speed 500 Mbps–2 Gbps

Voltage ~200 mV

Power sequencing Very strict

Common failure No display init

3) HDMI
4

1. What is HDMI?

What is it?

HDMI (High-Definition Multimedia Interface) is a consumer external display interface for


video + audio.
What problem does it solve?

 One cable for:

o Video

o Audio

o Control

 Plug-and-play TVs and monitors

What does it do in simple words?

It sends video pixels over TMDS differential pairs at very high speed to an external display.

Devices using HDMI

 TVs

 Monitors

 SBCs

 GPUs

 Media players

2. What does it look like physically?

Signals

 3 × TMDS data pairs

 1 × TMDS clock pair

 DDC (I²C)

 Hot-plug detect

 5 V power

SoC connection

SoC HDMI PHY


ESD Protection

HDMI Connector

Often requires:

 External HDMI PHY or level shifter

 ESD diodes

 Common-mode chokes

Board-level reality

 Long cables

 EMI compliance critical

 Connector placement critical

3. When should I choose HDMI?

Choose HDMI when:

 External consumer display

 TV or monitor compatibility

 Audio + video needed

Do NOT choose HDMI when:

 Internal display

 Low power system

 Tight EMI constraints

4. How hard is HDMI?

Difficulty: HIGH

Common beginner mistakes

 No ESD protection

 Wrong impedance
 Poor connector grounding

 Ignoring EMI requirements

5. Hardware design guidelines (HDMI)

Topic Rule

Controlled impedance Mandatory (100 Ω diff)

Length matching Required

Clock speed Up to GHz

Voltage ~800 mV TMDS

Power 5 V from source

Common failure Unstable image

4) DisplayPort (DP)
4

1. What is DisplayPort?

What is it?

DisplayPort is a high-performance packet-based display interface, similar architecturally to


PCIe.

What problem does it solve?

 HDMI bandwidth limits

 Daisy-chaining

 High refresh rates

 Professional displays

What does it do in simple words?

It sends video as packets over multiple high-speed lanes, not raw pixel streams.

Devices using DP

 PCs

 Laptops

 Docking stations
 High-end monitors

2. What does it look like physically?

Signals

 1–4 high-speed lanes

 AUX channel (bidirectional)

 Hot-plug detect

 Power

SoC connection

Similar to HDMI but:

 Packet-based

 Link training required

Board-level reality

 PCIe-like routing discipline

 Very high data rates

 Strict compliance testing

3. When should I choose DisplayPort?

Choose DP when:

 High resolution / refresh

 PC-class system

 Docking support

Do NOT choose DP when:

 Simple embedded system

 Beginner board

 Low power budget


4. How hard is DisplayPort?

Difficulty: VERY HIGH

5. Hardware design guidelines (DP)

Topic Rule

Controlled impedance Mandatory

Length matching Mandatory

Lane speed Up to 8+ Gbps

Voltage Low swing

Common failure Link training fails

Final Comparison (Design Perspective)

Interface Internal / External Complexity

LVDS Internal Low

MIPI-DSI Internal High

HDMI External High

DisplayPort External Very High

Core Takeaway (This Is the Rule)

 Internal display? → LVDS or MIPI-DSI

 External TV/monitor? → HDMI or DisplayPort

 Beginner embedded board? → LVDS

 Mobile-class SoC? → MIPI-DSI

 PC-class system? → DisplayPort


Parallel CMOS, MIPI CSI-2, GMSL, HD-SDI
1️⃣ Parallel CMOS (a.k.a. DVP – Digital Video Port)
4

1. What is it?

What problem does it solve?

Early image sensors needed a simple way to output pixel data without high-speed serial
links.

Parallel CMOS solves:

 Low-cost

 Low-complexity

 Short-distance image transfer

What does it do (simple words)?

It sends pixel data one byte at a time, using many wires in parallel, synchronized by a clock.

Think:

“Every clock tick, put the next pixel on the bus.”

What kind of devices use it?

 Low-resolution cameras
 MCUs with camera interface

 Older SoCs

 Educational / hobbyist systems

 Simple vision systems

2. What does it look like physically?

Signals (typical)

Signal Meaning

D[7:0] or D[9:0] Pixel data

PCLK Pixel clock

HSYNC Line valid

VSYNC Frame valid

I2C (SDA/SCL) Sensor configuration

Power rails Analog + digital

This is pure digital CMOS signaling.

Schematic-level view

CMOS Sensor

├── D[7:0] ────────────────┐

├── PCLK ─────────────────┤

├── HSYNC ────────────────┤

├── VSYNC ────────────────┤

├── I2C SDA/SCL ──────────┤

└── AVDD / DVDD ──────────┘

MCU / SoC
No PHY.
No serializers.
No magnetics.

Board-level reality

You route:

 8–12 single-ended traces

 One clock trace

 All traces length-matched

 Very short distances

This does not scale well.

3. When should I choose it?

Choose Parallel CMOS when:

 Resolution is low

 Frame rate is low

 Distance < a few centimeters

 MCU directly supports it

 Simplicity > performance

Do NOT choose it when:

 High resolution (HD, 4K)

 Long cable

 EMI matters

 Pin count is limited

 You want scalability

4. How hard is it?


Conceptually: Easy
Physically: Medium
System-level: Easy

Common beginner mistakes

 No length matching

 Treating clock like GPIO

 Too long traces

 Crosstalk between data lines

 No solid ground reference

5. Hardware design guidelines

 Controlled impedance: Not strictly, but recommended

 Length matching: Yes (clock ↔ data)

 Clock speeds: 6–48 MHz typical

 Voltage levels: 1.8 V / 2.8 V / 3.3 V

 What breaks it:

o Skew

o Noise

o Long routing

2️⃣ MIPI CSI-2


4

1. What is it?

What problem does it solve?

Parallel CMOS:
 Uses too many pins

 Is slow

 Is noisy

MIPI CSI-2 solves:

 High resolution

 High frame rate

 Low pin count

 Low power

What does it do (simple words)?

It sends camera data serially over differential pairs, very fast, with very few wires.

Think:

“Instead of many slow wires, use a few very fast ones.”

Devices using it

 Smartphones

 Tablets

 SBCs (Raspberry Pi, Jetson)

 Automotive cameras

 Embedded vision SoCs

2. What does it look like physically?

Signals

Signal Meaning

D0+ / D0- Data lane

D1+ / D1- Data lane

CLK+ / CLK- Differential clock

I2C Sensor configuration


Signal Meaning

Power rails Multiple domains

Typically:

 1–4 data lanes

 1 clock lane

Schematic-level view

Image Sensor

├── D0_P/N ───────────┐

├── D1_P/N ───────────┤

├── CLK_P/N ──────────┤

├── I2C SDA/SCL ──────┤

└── Power rails ──────┘

SoC CSI-2 RX

Board-level context

You route:

 Differential pairs

 100 Ω impedance

 Very tight length matching

 Short, direct paths

 No stubs

This is high-speed design, even if cables are short.

3. When should I choose it?

Choose CSI-2 when:


 You need HD or higher

 Power efficiency matters

 SoC supports CSI-2

 Camera is close to processor

Do NOT choose it when:

 Long cables (>30 cm)

 Harsh EMI environment

 No CSI-2 receiver

 Simple MCU system

4. How hard is it?

Conceptually: Medium
Physically: Hard
System-level: Medium

Common beginner mistakes

 No controlled impedance

 Bad connector footprint

 Lane length mismatch

 Wrong lane polarity

 Ignoring power sequencing

5. Hardware design guidelines

 Controlled impedance: Mandatory (100 Ω diff)

 Length matching: Mandatory (within lane, lane-to-lane)

 Clock speeds: 80 Mbps → several Gbps per lane

 Voltage levels: 1.2 V / 1.8 V

 What breaks it:


o Skew

o Bad reference plane

o Connector discontinuities

3️⃣ GMSL (Gigabit Multimedia Serial Link)

1. What is it?
What problem does it solve?

MIPI CSI-2:

 Short distance only

 Not cable-friendly

GMSL solves:

 Long cable camera links

 Automotive EMI

 Power + data over one cable

What does it do (simple words)?

It serializes camera data, sends it over a single coax or twisted pair, then deserializes it back
to CSI-2 or parallel.

Think:

“Camera over a long cable, reliably.”

Devices using it

 Automotive cameras

 ADAS systems

 Industrial vision

 Robotics

2. What does it look like physically?

Signal chain

Camera

→ Serializer

→ Coax / STP cable

→ Deserializer

→ SoC (CSI-2 or parallel)


Schematic-level view

Sensor → Serializer ── Coax ── Deserializer → SoC

Signals:

 High-speed serial differential or coax

 Power over cable (often)

 I2C tunneled over link

Board-level context

You route:

 One high-speed differential pair OR coax

 Controlled impedance

 ESD protection

 Robust grounding

3. When should I choose it?

Choose GMSL when:

 Camera is far away (meters)

 Automotive or industrial

 EMI is harsh

 You want few cables

Do NOT choose it when:

 Camera is on same PCB

 Cost sensitive

 Simple consumer design

4. How hard is it?


Conceptually: Medium
Physically: Hard
System-level: Hard

Common beginner mistakes

 Treating cable like PCB trace

 Bad coax impedance

 Ignoring grounding

 No ESD protection

5. Hardware design guidelines

 Controlled impedance: Mandatory

 Length matching: Inside serializer/deserializer only

 Speeds: 1–6 Gbps

 Voltage levels: Device-specific

 What breaks it:

o Cable mismatch

o Poor connector choice

o EMI coupling

4️⃣ HD-SDI (High-Definition Serial Digital Interface)


4
1. What is it?

What problem does it solve?

Broadcast video needs:

 Zero compression

 Long cables

 Deterministic timing

HD-SDI solves professional video transport.

What does it do (simple words)?

It sends raw video data over a single coax cable, very fast, very reliably.

Devices using it

 Broadcast cameras

 Video mixers

 Medical imaging

 Surveillance

2. What does it look like physically?

Signals:

 Single high-speed serial signal

 75 Ω coax

 BNC connectors

Schematic-level view

Video Source → SDI Driver → Coax → SDI Receiver

Board-level context

You route:
 One controlled-impedance trace

 75 Ω

 Short PCB path to connector

3. When should I choose it?

Choose HD-SDI when:

 Professional video

 Long cable runs

 No compression allowed

Do NOT choose it when:

 Embedded vision

 Consumer products

 Cost sensitive

 Small form factor

4. How hard is it?

Conceptually: Medium
Physically: Hard
System-level: Medium

Common beginner mistakes

 Wrong impedance (50 Ω instead of 75 Ω)

 Bad connector choice

 Poor return path

5. Hardware design guidelines

 Controlled impedance: Mandatory (75 Ω)

 Length matching: Not needed (single line)


 Speeds: 1.5 / 3 / 6 / 12 Gbps

 Voltage levels: Standardized

 What breaks it:

o Reflections

o Connector mismatch

o Poor grounding

Final comparison (important)

Interface Distance Speed Complexity Typical Use

Parallel CMOS cm Low Low Simple cameras

MIPI CSI-2 cm Very high High Mobile / embedded

GMSL meters Very high Very high Automotive

HD-SDI 10–100 m Very high High Broadcast

SERDES (Serializer / Deserializer)


4

1. What is SERDES?

SERDES is a hardware block that converts parallel data → high-speed serial data (serializer)
and then serial → parallel again (deserializer).

Problem it solves

 Parallel buses need many pins, many traces, and suffer from skew (signals arriving at
different times).

 At high speed, parallel routing becomes impractical.

In simple words

 Instead of sending 16 or 32 bits at once on many wires, SERDES sends them one bit
at a time, very fast, over one or a few differential pairs.
Where it is used

 PCIe, USB 3.x, SATA, Ethernet, DisplayPort, HDMI, MIPI, CXL

 FPGAs, SoCs, CPUs, GPUs, network switches

 Camera, display, storage, and inter-board links

2. What does it look like physically?

Signals you will see

At the PCB level, SERDES is simple:

 TX+ / TX− → differential transmit pair

 RX+ / RX− → differential receive pair

 Power rails (often multiple: analog, digital, PLL)

 Reference clock (sometimes external)

That’s it. No data bus, no clock bus.

Inside the SERDES block (conceptual)

 Serializer / Deserializer

 PLL / CDR (Clock Data Recovery)

 Line coding (e.g., 8b/10b, 64b/66b)

 Equalization (TX pre-emphasis, RX CTLE/DFE)

You do not design these blocks — they are inside the chip.

3. How data actually works (key intuition)

1. Parallel data exists inside the chip (e.g., 16 or 32 bits wide).

2. Serializer converts it into a bitstream.

3. Bitstream is sent over a differential pair at multi-GHz speed.

4. Receiver recovers the clock from data (no separate clock wire).

5. Deserializer reconstructs the original parallel data.

Important consequence

 Timing is no longer controlled by PCB trace length of a clock.


 Timing is recovered inside silicon, which is why SERDES scales to very high speeds.

4. Why differential signaling is mandatory

SERDES always uses differential pairs because:

 Better noise immunity

 Lower EMI

 Defined impedance (typically 100 Ω differential)

 Enables multi-GHz operation on PCB traces

Single-ended signaling cannot support SERDES speeds reliably.

5. When should you choose SERDES?

Choose SERDES when

 Data rate > ~500 Mbps

 Long distances (connectors, cables, backplanes)

 Pin count must be minimized

 You need standardized interfaces (PCIe, Ethernet, etc.)

Do NOT choose SERDES when

 Low speed control or sensor data

 Simple microcontroller projects

 Short, slow, wide buses are acceptable (SPI, parallel RGB, FSMC)

6. How hard is SERDES for a hardware designer?

Reality

 You do not design SERDES circuits

 You design the environment around them

Difficulty level

 Logic design: low (handled by IP / protocol)

 PCB design: high


 Power integrity & layout discipline: critical

SERDES is a PCB + SI problem, not a schematic creativity problem.

7. Core hardware design rules (beginner level)

Controlled impedance

 Mandatory

 100 Ω differential (most standards)

 Stack-up must be defined before routing

Length matching

 Match within a differential pair

 Lane-to-lane matching depends on protocol (PCIe stricter than Ethernet)

Routing rules

 Continuous reference plane (no splits)

 Avoid stubs

 Minimize vias (or use back-drilling)

 Smooth geometry, no sharp corners

Power & clocks

 SERDES PLLs are noise-sensitive

 Separate analog/digital rails if required

 Follow reference design decoupling exactly

8. Common beginner mistakes

 Treating SERDES like SPI or GPIO

 Ignoring impedance and stack-up

 Routing across plane splits

 Excessive vias and stubs

 Not following vendor reference layouts

 Assuming “short trace = safe” at multi-GHz


9. Mental model to remember

SERDES trades wires for speed.


Fewer pins, higher frequency, stricter PCB discipline.

If you respect impedance, return paths, and power integrity, SERDES works extremely
reliably.
If you don’t, it fails silently and brutally.

LVDS, TMDS, CML, SLVS


1. LVDS (Low-Voltage Differential Signaling)

What it is

LVDS is a low-power, low-noise differential signaling standard designed for high-speed data
over PCB traces or cables.

What problem it solves

 CMOS/TTL is too noisy and power-hungry at high speed

 Parallel buses suffer from skew and EMI

LVDS allows fast data with low voltage swing and excellent noise immunity.

How it works (physically)

 Differential pair

 ~350 mV swing

 Constant current source

 100 Ω differential termination at the receiver

Typical speeds

 ~100 Mbps up to ~1–2 Gbps (practical PCB range)

Where it is used

 FPGA I/O banks

 LCD panels (older)

 High-speed ADC/DAC outputs

 Industrial & automotive data links


Hardware difficulty

Medium

 Controlled impedance required

 Length matching recommended

 Very forgiving compared to SERDES

When to choose LVDS

Choose LVDS if:

 You need clean, fast, short-to-medium distance links

 Data rate is below multi-GHz

 You want simplicity without full SERDES

Do NOT choose if:

 You need long cables at multi-Gbps

 You want standardized protocols (PCIe, USB, etc.)

2. TMDS (Transition-Minimized Differential Signaling)

What it is

TMDS is a high-speed differential signaling method specifically designed for video data.

What problem it solves

 Video data has lots of transitions → EMI & DC imbalance

 Needs reliable transmission over cables

TMDS reduces transitions and maintains DC balance.

How it works (physically)

 Differential pairs

 Higher voltage swing than LVDS

 Uses 8b/10b-like encoding (transition minimization)

 Typically AC-coupled

Typical speeds

 Several Gbps per lane


 HDMI / DVI use multiple TMDS lanes

Where it is used

 HDMI

 DVI

 Some display links

Hardware difficulty

Medium–High

 Controlled impedance mandatory

 Length matching between lanes important

 Connector and cable quality matters

When to choose TMDS

You don’t “choose” TMDS freely — it comes with HDMI/DVI.


If you design HDMI hardware, you must respect TMDS rules.

3. CML (Current-Mode Logic)

What it is

CML is a very high-speed differential signaling style, optimized for multi-GHz operation.

What problem it solves

 CMOS logic is too slow and noisy at extreme speeds

 Voltage swing must be minimized to reduce edge distortion

CML trades power for speed.

How it works (physically)

 Differential pair

 Constant current

 Small voltage swing

 Termination usually at the receiver (50 Ω to VTT)

Typical speeds

 10–30+ Gbps
Where it is used

 SERDES transceivers

 PCIe PHYs

 Ethernet PHYs

 High-end ASICs and FPGAs

Hardware difficulty

High

 Power integrity is critical

 Tight impedance control

 Very sensitive to layout errors

When to choose CML

You typically don’t choose CML manually — it is inside SERDES PHYs.


Your job is to route it correctly.

4. SLVS (Scalable Low-Voltage Signaling)

What it is

SLVS is a very low-swing differential signaling standard, designed mainly for image sensors.

What problem it solves

 Cameras need high bandwidth

 Power consumption must be extremely low

 EMI must be minimal

How it works (physically)

 Differential pair

 ~200 mV or less swing

 Very low power per bit

 Point-to-point links

Typical speeds

 Up to several Gbps per lane (with multiple lanes)


Where it is used

 CMOS image sensors

 Mobile and embedded vision systems

 Camera-to-SoC links

Hardware difficulty

Medium

 Controlled impedance required

 Clean power important

 Short distances

When to choose SLVS

Choose SLVS if:

 You are interfacing modern image sensors

 Power and EMI are critical

 You don’t need long cables

5. Quick comparison (hardware view)

Signaling Speed Range Power Complexity Typical Use

LVDS 100 Mbps – ~1 Gbps Low Medium FPGA I/O, ADC

TMDS ~1–6+ Gbps Medium Medium-High HDMI, DVI

CML 10–30+ Gbps High High SERDES, PCIe

SLVS ~1–5+ Gbps Very Low Medium Image sensors

6. Key takeaway (important)

These are not protocols.


They are electrical signaling styles.

 Protocol = what the bits mean

 Signaling = how bits move on copper

As a hardware designer:
 You route LVDS / TMDS / CML / SLVS

 You do not invent them

 Success depends on impedance, return paths, and power integrity

High-Speed PCB Connectors

A hardware-designer’s practical guide


4

1. What makes a connector “high-speed”?

A high-speed PCB connector is one that can carry fast edge rates / multi-Gbps signals
without destroying signal integrity.

At high speed, a connector is not a mechanical part anymore.


Electrically, it is a short transmission line + discontinuity + coupling structure.

If the connector is bad:

 Reflections close the eye

 Crosstalk injects jitter

 Loss kills margin

 EMI explodes

So “high-speed” means:

 Controlled impedance through the connector

 Controlled return paths

 Low insertion loss

 Low crosstalk
2. Why connectors are dangerous at high speed

On a PCB trace, you control geometry.


Inside a connector, the manufacturer controls geometry.

A connector introduces:

 Impedance discontinuities (pad → pin → contact → pin → pad)

 Stub length

 Mode conversion (differential → common mode)

 Crosstalk between adjacent pins

At multi-GHz, even 1–2 mm of uncontrolled metal matters.

3. The most important connector parameters (you must understand these)

3.1 Differential impedance

 Most high-speed links expect 100 Ω differential

 The connector must maintain this through the mating interface

 Poor connectors dip to 70–80 Ω → reflections

Always check:

“Differential impedance profile” in the datasheet

3.2 Insertion loss (IL)

 How much signal amplitude is lost

 Increases with frequency

 Measured in dB

Rule of thumb:

 < −1 dB is excellent

 −3 dB is usually the limit per connector

Two connectors back-to-back add losses.


3.3 Return loss (RL)

 How much signal reflects back

 Indicates impedance mismatch

Bad return loss = eye closure.

3.4 Crosstalk (NEXT / FEXT)

 NEXT: near-end crosstalk

 FEXT: far-end crosstalk

High-speed connectors use:

 Ground pins between signal pins

 Shielded pin geometry

 Pair-to-pair isolation

3.5 Bandwidth rating (do not misread this)

Connector bandwidth is not data rate.

Example:

 10 GHz connector ≠ 10 Gbps safe

 Depends on encoding, eye margin, channel loss

Always assume:

Required connector bandwidth ≈ 5× fundamental frequency

4. Common high-speed connector types (and what they are good at)

4.1 Board-to-board (mezzanine) connectors

Used when:

 Two PCBs stack (SoM + carrier)

 Short distances

 Many lanes

Pros:
 Excellent SI

 Controlled pin geometry

Cons:

 Expensive

 Tight mechanical tolerances

Used for:

 PCIe

 SERDES links

 High-speed memory extensions

4.2 Edge connectors (card-edge)

Used when:

 Plug-in cards

 Backplanes

Pros:

 Robust

 Standardized

Cons:

 Large impedance discontinuity at edge

 Requires careful pad design

Used for:

 PCIe cards

 Backplane systems

4.3 Cable connectors (coax / twinax)

Used when:

 Distance > PCB length

 EMI control is critical


Pros:

 Excellent SI

 Shielded environment

Cons:

 Cost

 Assembly complexity

Used for:

 External PCIe

 High-speed video

 RF-like links

5. Differential pair handling inside connectors

Pair integrity

Good connectors:

 Keep pair spacing constant

 Maintain symmetry

 Avoid splitting the pair

Bad connectors:

 Route + and − on different pin fields

 Introduce skew

Always check:

 “Pair mapping” drawings

 Pin-to-pin symmetry

Grounding strategy

High-speed connectors need ground pins:

 Between differential pairs

 Around high-speed groups


Rule of thumb:

 At least 1 ground per differential pair

 More grounds = less crosstalk

6. Connector + PCB is ONE channel

Never evaluate a connector alone.

Your channel is:

TX → PCB trace → via → connector → via → PCB trace → RX

That means:

 Pad size

 Anti-pad size

 Via stub length

 Back-drilling

 Reference plane continuity

All matter as much as the connector itself.

7. Common beginner mistakes

1. Choosing connectors by pin count only

2. Ignoring insertion loss graphs

3. Treating connectors as “short wires”

4. Forgetting return path continuity

5. Using generic headers for >1 Gbps

6. Mixing high-speed and slow signals randomly

7. Not simulating the full channel

8. Practical selection checklist (use this)

Before choosing a connector, answer:

1. Target data rate per lane?


2. Required bandwidth?

3. Differential impedance requirement?

4. How many connectors in series?

5. Max allowed insertion loss?

6. Required ground pin density?

7. Mechanical tolerance and mating cycles?

8. Vendor SI models available? (S-parameters)

If S-parameters are not available → red flag.

9. Mental model (very important)

A high-speed connector is a short, ugly transmission line


Your job is to make it as boring as possible electrically

Flat impedance
Minimal stubs
Strong return paths
Predictable loss

If the connector disappears electrically, you did your job.


SoC kütüphanesini oluşturmaya başla ve Zynq FPGA pinoutunu öğren dosyaları nasıl
kullancağını kavra. Sonra zaten FPGA Config I/O videosu ile devam edersin.
Burada hocam oluşturduğun high speed steps bak. Burdan sonra belki ref design +
datasheetlere göre Schematics tamamlarsın. ++ Constraintleri buna göre peripheralları
ayarla

Sonra Lesson 8 ile devam edersin böylece. Şematik bitmiş olur o kısımları tekrar edersin +
PCB kısmı hakkında bilgileri alıp kartı çizmeye başlarsın ne bilim DDR, GiE, USB, Emmc diye
ne varsa.

Start creating your own board constraints. Maybe you start from the Lesson 0. Then youd
have related reference designs for yourself. Start Lesson 7. In this lesson youd have chosen
your FPGA so you learn about the lesson also start doing the schematics of the FPGA.
Continue with other lessons and also do schematics of DDR3, GiE, USB, Emmc and if there is
anything else you added. Burada VRM seçerken PDN analizi yaparken sana yardımcı olacak
mı bak. Hatta layouta geçmeden Signal Analysis yapabilcen mi ona da bak. Ona göre layouta
geçmeden düzelt. Atp you might start routing your system or maybe to test yourself youd do
other board as you wrote down below. I dunno you decide. Then the project ends. Create
the project file add it to your CV also share with Philipp. Do your simulations and analysis.
Create a final document. Share it on linkedin. Fix your CV and linkedin page with the new
certificate.

Outcomes:

High Speed Design, PDN Analysis, Signal Analysis


Next up: Power Electronics, Spice Simulation, Osciloscope

EN SON HIGH SPEED PCB YA DA ROUTING TARZI BİR BÖLÜM KOY TASARIMA BAŞLAMADAN
BURADA DA GENEL HARDWARE DOSYALARININ İÇİNE BAK HEM ÖNCEKİ BÖLÜMLERLE İLGİLİ
BİR ŞEY OOLURSA TEKRAR ETMİŞ OLURSUN HEM DE HIGH SPEED KURALLARI YAZARSIN BU
SENİN BERİDEN BERİ SAHİP OLDUĞUN DOSYAN

MAYBE DOWNLOAD OPEN SOURCE PROJECTS FROM INTERNET CHECK THEIR SCHEMATICS
AND DO THEIR PCB DESIGN SO THAT YOU GET A FEELING OF WHAT THEY ARE. DOWNLOAD
THEM IN SCHEMATICS PHASE CHECK HOW DID THEY DO THE SCHEMATICS AND WHEN YOU
ARE ABOUT TO DO PCB DESIGN, DO THEIR LAYOUT DESIGN.

İndirdiğin dokümanlara bak şimdi işine yarayacakları seç geri kalanını sil. ÖRNEĞİN PDN için
kullanacağın da kalsın ama orda değil.

Library oluşturma ve kendi footprinlerini çizmeyi de öğren. Package delay ekle.

You might also like