Список соединений
Выражение список соединений (или список цепей) — калька с термина Шаблон:Lang-en имеет несколько значений.
Список электрических соединений (при разработке электронных устройств) — текстовое представление информации (формат файла) о электрических соединениях, связывающих компоненты электронного устройства.
Список соединений (при проектировании интегральных схем) — текстовое представление информации (формат файла) о соединениях модулей (логических элементов, блоков памяти и др.) интегральной схемы.
В списках соединений обычно приводится информация о внутрисхемных соединениях и, как правило, не содержится ничего другого, кроме перечня приборов (модулей, узлов, компонентов, «экземпляров»), «соединений» между ними и нескольких атрибутов (параметров). Если требуется описать нечто более сложное, используют специализированные языки описания аппаратуры (Verilog, VHDL и др.).
Классификация списков соединений:
- физические или логические;
- по способу построения:
- построенные на основе экземпляров приборов (Шаблон:Lang-en);
- построенные на основе соединений (Шаблон:Lang-en);
- по наличию/отсутствую вложенных компонентов:
- «плоские» (Шаблон:Lang-en) или «развёрнутые» (Шаблон:Lang-en);
- «иерархические» (Шаблон:Lang-en) или «свёрнутые» (Шаблон:Lang-en).
Состав и структура списка
Электронное устройство состоит из компонентов (узлов, модулей), соединённых проводниками.
В списке соединений компоненты электронного устройства называются «экземплярами», а проводники — «соединениями».
«Экземпляры» бывают двух видов:
- «определения» — «экземпляры», в состав которых входят другие «экземпляры»;
- «оригиналы» — «экземпляры», не содержащие в своём составе вложенных «экземпляров».
В состав «определения» входят:
- перечень вложенных «экземпляров» (компонентов);
- перечень «соединений», связывающих «экземпляры» (компоненты) между собой.
«Экземпляром» может быть всё что угодно: от полевых или биполярных транзисторов, резисторов и конденсаторов до интегральных микросхем.
«Экземпляры» имеют «порты» (Шаблон:Lang-en) (или «выводы» (Шаблон:Lang-en)). Например, «портами» пылесоса можно назвать три металлических вывода вилки шнура питания.
Каждый «порт» имеет «имя». Например, «порты» пылесоса могут называться «ноль», «фаза» и «земля».
«Экземпляры» могут иметь «имена». Например, два одинаковых пылесоса могут называться «vac1» и «vac2». С помощью (уникальных) имён одинаковые «экземпляры» можно отличить друг от друга.
«Соединения» описывают проводники, связывающие компоненты схемы между собой.
«Экземпляры» и «соединения» могут иметь, а могут и не иметь особые атрибуты; это зависит от возможностей выбранного языка.
Существует два подхода к построению списков соединений:
- на основе экземпляров (Шаблон:Lang-en) (например, SPICE);
- на основе соединений (Шаблон:Lang-en) (например, EDIFШаблон:Ref-en).
В состав списка, построенного на основе экземпляров (Шаблон:Lang-en), входит перечень «экземпляров». Для каждого «экземпляра» приводится:
- либо упорядоченный список имён «соединений»;
- либо список пар, включающий:
- имя «порта» «экземпляра»;
- имя «соединения», подключаемого к «порту».
Перечень «соединений» строится автоматически после анализа получаемых взаимосвязей. Невозможно указать атрибуты для «соединений».
Наиболее известным знаменитым списком соединений, простроенным на основе экземпляров (Шаблон:Lang-en), является, возможно, SPICE.
В состав списка, построенного на основе соединений (Шаблон:Lang-en), входят:
- перечень всех «экземпляров» и их атрибутов;
- описание всех «соединений» (указание имён соединяемых «портов» «экземпляров»).
В таком списке возможно указание атрибутов для «соединений».
Наиболее известным списком соединений, построенным на основе соединений (Шаблон:Lang-en), является, возможно, EDIFШаблон:Ref-en.
Иерархия
Устройство может состоять из множества одинаковых и разных компонентов (узлов, модулей). Компоненты могут содержать повторяющиеся и отличающиеся вложенные компоненты.
Для удобства большие списки соединений делят на части, одинаковые компоненты описывают с помощью «определений». Например, разработчик может создать «определение» пылесоса с портами, но теперь это определение будет включать полное описание внутренних компонентов пылесоса и соединений между ними (моторов, переключателей и т. д.).
«Примитив» — «определение», не включающее в себя никаких «экземпляров» (не содержащее вложений). Также может называться «листом» или как-то иначе.
«Иерархическое» (Шаблон:Lang-en) «определение» — «определение», включающее в себя «экземпляры» (вложения).
Список называется «свёрнутым» (Шаблон:Lang-en), если внутри него одно и то же «определение» используется несколько раз.
Список называется «развёрнутым» (Шаблон:Lang-en), если внутри него нет «определений», используемых более одного раза.
Свёрнутый список может быть чрезвычайно компактным (маленьким). Маленький список соединений из небольшого числа «экземпляров» может описывать устройства с огромным количеством вложенных «экземпляров».
Например, дадим пять «определений»:
- A является ячейкой памяти;
- B содержит 32 «экземпляра» A;
- C содержит 32 «экземпляра» B;
- D содержит 32 «экземпляра» C;
- E содержит 32 «экземпляра» D.
Устройство, состоящее всего из одного «экземпляра» E, будет включать ячеек памяти («экземпляров» A).
Развёртывание иерархии
Любой свёрнутый список может быть развёрнут — преобразован в плоский список.
«Плоский» (Шаблон:Lang-en) список соединений — список соединений, в котором в качестве «экземпляров» используются только примитивы (нет «экземпляров», содержащих вложенные «экземпляры»).
Свёрнутые (иерархические) списки преобразуются к плоским спискам (рекурсивно развёртываются) путём рекурсивной замены каждого не примитивного «определения» на содержащиеся в нём «экземпляры» (с новым именем).
При большом количестве вложений и/или при большой глубине вложений, развёртывание списка приводит к увеличению его размера, но при этом иерархические зависимости сохранятся.
Обратное аннотирование
Обратное аннотирование (Шаблон:Lang-en) — добавление в список соединений каких‑либо «данных» (дополнительной информации).
Обычно, «данные» хранятся отдельно от списка и поэтому могут использоваться в нескольких списках одновременно. «Данные» могут определяться по результатам исследований физического устройства, могут использоваться для более точного моделирования.
В состав «данных» входят:
- путь к примитиву (в иерархии);
- сами данные, например, время задержки для RC-цепей, обусловленное наличием паразитных ёмкостей между соединениями внутри устройства.
Наследование
Понятие «наследование» опишем на примере.
Пусть:
- дано «определение» конденсатора;
- в «определении» указан атрибут под названием «Ёмкость», соответствующий одноимённому физическому свойству;
- для атрибута указано значение по умолчанию — «100 pF» (100 пикофарад).
Тогда можно создать «экземпляры»:
- не содержащие атрибут «Ёмкость». Такие «экземпляры» «унаследуют» значение по умолчанию («100 pF») из своего «определения»;
- содержащие атрибут «Ёмкость» с произвольным значением. Указанное значение «переопределит» значение, заданное в «определении».
Обычно в качестве значения по умолчанию используют значение, характерное для большинства компонентов, и для этих компонентов значение атрибута не указывается (используется наследование). Это позволяет уменьшить количество повторяющейся информации, а в итоге — уменьшить размер списка.