-
Multi-Channel Design Concepts
Altium Designer introduces a robust
multi-channel design system that even supports
channels
nested within other channels.
Many
designs
contain
repeated
circuitry.
One
board
might
duplicate
the
same
section
thirty-two times, or perhaps contain
four identical banks with eight sub-channels each.
Designers
have long endured the
difficulties of
perfectly with the PCB
layout. While the initial chore of copying-and-
pasting schematic sections
is
relatively easy, correcting or updating the
schematic project afterwards can quickly escalate
into
a heavy burden. Altium Designer
offers true multi-channel design, meaning that you
can reference
single sheets in your
project repeatedly. Required changes need only be
made once; recompiling
the project then
propagates the changes through each instantiation.
And Altium Designer not only
supports
multiple channels, it allows them to be nested.
Consider the schematic representation
of a sixteen-button keypad shown in Figure 1.
Figure 1. A typical keypad
circuit, consisting of only two different
components.
This
design
can
be
captured
and
wired
up
in
Altium
Designer's
schematic
editor
in
just
a
couple of minutes. But
suppose that you wanted to use a different symbol
for the button? What if
you wanted to
add a parameter to each one? Or what if you wanted
to expand the design from four
by four
to ten by twenty?
Even with the
help of group editing tools, these tasks are
tedious and error-prone. Suppose,
however, that
you
represented the entire circuit with just two
components, one resistor and one
switch, each on its own schematic
sheet. A Repeat statement made within a sheet
symbol instructs
Altium Designer's
compiler to create virtual clones (channels) from
a single sheet, as shown in the
sheet
symbol
in
Figure
3.
The
resistor
sheet
could
refer
to
the
same
switch
sheet
four
times
to
create
a
row,
then
a
top
sheet
could
refer
to
the
resistor's
sheet
four
times,
making
four
rows.
Multiple
channels
are
nested
within
multiple
channels,
and
the
matrix
of
connectivity
is
established accordingly.
Now the designer's tasks are made easy.
Any modifications to the properties of the
switches
or resistors in this design
would only need to be made once, instead of over
and over again. Any
expansion of the
connection grid may be done by simply modifying
the Repeat statements within
the sheet
symbols.
Getting
up
to
speed
with
multi-channel
design
means
first
learning
how
Altium
Designer
establishes connectivity across such
projects.
Multi-Channel Connectivity
Unlike
other
multi-sheet
design
projects,
you
have
no
choice
when
it
comes
to
your
Net
Identifier
scope;
you
must
use
the
Hierarchical
(sheet
symbol
<->
port)
method.
Leaving
this
setting at Automatic in the Project
Options dialog will be fine, but it supposes that
you understand
that the only way to
communicate signals to a repeated sheet is from
sheet entries on the parent
sheet down
to matching ports on the child sheet. The reason
for this restriction is that sheet entries,
unlike ports or net labels, have been
designed to handle the channel instantiations
created through
Repeat statements.
Figure 2. All
switches in each row have a common net, going to a
row resistor
.
There are two
types of sheet-to-sheet connectivity available in
multi-channel design: nets that
are
common to all channels, and nets that are unique
to each. Both of these types are demonstrated
in our keypad example above. The
repeated switch in each row has one pin that
connects directly
to
the
resistor.
This
is
a
common
net,
meaning
that
the
same
node
in
each
channel
is
tied
to
a
single node on the parent sheet, and
therefore to one another. Visually, it could be
shown as in
Figure 2.
This is the simplest method of net
distribution in Altium Designer's multi-channel
design. It
is made intuitively by
matching the port name on the channel
sheet with the name of the sheet
entry
above.
The other node on the
switch, however, is not common on the switch
level, there is a unique
net from each
switch, which is then connected to the
corresponding switch in each row. To convey
a unique connection up from each switch
in the row, a Repeat statement is included on the
sheet
entry. Figure 3 demonstrates both
types of net connectivity.
Figure 3. The Repeat statement in the
sheet symbol indicates that the sub-sheet must be
instantiated
multiple times, in this
case 4 times.
The Repeat keyword in sheet
symbol's Designator field has three parameters;
SheetSymbolDesignator, FirstInstance,
and LastInstance. It is important to note that the
FirstInstance parameter needs to be
indexed at a value equal or greater than 1. For
example,
Repeat(Row,1,4)
Notice the difference between the two
sheet entries. The first one (Res) matches the
name of
its corresponding port exactly,
the other (Col) applies a Repeat command to its
corresponding
port's name. This syntax
means that there are four nets in the bus
Col[1..4], with one of these bus
nets
going to each of the four Switch sheets.
This allows four individual nets to be
extracted from the four repeated sheets, first by
a
labeled wire, then by a labeled bus,
as shown in Figure 3. At that point, the signals
are free to be
connected to separate
nodes as necessary, or (as in this case), to be
sent further up the hierarchical
ladder
through ports.
Figure 4.
The top sheet in the design, this time the Repeat
statement instantiates the entire row, 4
times.
In
order
to
use
Multi-
Channel
Design
it
is
necessary
to
add
the
respective
Ports
to
the
sheets and
sheet entries to the sheet symbols.
Once
you
have
built
up
your
multi-channel
project
in
accordance
with
Altium
Designer's
connectivity
structure, you may turn your attention to the way
names are assigned to channels and
their components.