Соедините два или более порта компонентов одного типа
connect(n1, n2);
connect(s, d1);
The connect
конструкции описывают оба соединения (между nodes
) и соединений физического сигнала (между inputs
и outputs
). Можно разместить connect
создавать только внутри connections
блок в составном файле компонента.
Для сохраняющегося соединения синтаксис:
connect(n1, n2);
Конструкция может иметь более двух аргументов. n1
, n2
, n3
и так далее nodes
объявлен в составном компоненте или в любом из представителя файлов компонентов. Единственным требованием является то, что все эти узлы связаны с одной и той же областью. Порядок аргументов не имеет значения. The connect
конструкция создает физическое соединение между всеми узлами, перечисленными в качестве аргументов.
The *
символ указывает на соединение с неявным узлом ссылки:
connect(n1, *);
Для получения дополнительной информации см. раздел «Соединения с неявным ссылочным узлом».
Для соединения физического сигнала синтаксис:
connect(s, d1);
Конструкция может иметь более двух аргументов. Все аргументы inputs
и outputs
объявлен в составном компоненте или в любом из представителя файлов компонентов. Первый аргумент, s
, является исходным портом и оставшимися аргументами, d1
, d2
, d3
и так далее, являются портами назначения. The connect
конструкция создает направленное соединение физического сигнала от порта источника к порту или портам назначения. Для примера,
connect(s, d1, d2);
означает, что исходный s
соединяется с двумя адресатами, d1
и d2
. Не удается подключиться к нескольким источникам. Если оператор signal connect имеет более одного адресата, порядок аргументов назначения (d1
, d2
, и так далее) не имеет значения.
В следующей таблице перечислены допустимые исходные и целевые комбинации.
Источник | Место назначения |
---|---|
Внешний входной порт составного компонента | Input port из представителя компонента |
Выход порт представителя компонента | Input port из представителя компонента |
Выход порт представителя компонента | Внешний выходной порт составного компонента |
Если представитель компонент сам является составным компонентом, connect
конструкциям доступны только его внешние узлы, а не внутренние узлы его базовых представителей. Для примера рассмотрим следующую схему.
Вы определяете составной компонент a
, который состоит из представителя компонентов b
и c
. Компонентные c
является, в свою очередь, составным компонентом, содержащим представителей d
и e
. Каждый компонент имеет узлы n1
и n2
.
Следующие конструкции являются легальными:
connect(n1, c.n1);
connect(b.n1, c.n1);
Однако следующие конструкции
connect(n1, c.d.n1);
connect(b.n1, c.d.n1);
недопустимы, поскольку они пытаются получить доступ к базовому компоненту-члену в компоненте-члене c
.
Можно также использовать for
циклы для объявления массива представителя компонентов и определения соединений компонентов. Для получения дополнительной информации смотрите Компонент Массивов.
В следующем примере композитный компонент состоит из трех одинаковых резисторов, соединенных параллельно:
component ParResistors nodes p = foundation.electrical.electrical; n = foundation.electrical.electrical; end parameters p1 = {3 , 'Ohm'}; end components(ExternalAccess=observe) r1 = foundation.electrical.elements.resistor(R=p1); r2 = foundation.electrical.elements.resistor(R=p1); r3 = foundation.electrical.elements.resistor(R=p1); end connections connect(r1.p, r2.p, r3.p, p); connect(r1.n, r2.n, r3.n, n); end end