Interested Article - Список соединений
- 2020-12-31
- 2
Выражение список соединений (или список цепей ) — калька с термина англ. netlist имеет несколько значений.
Список электрических соединений (при разработке электронных устройств ) — текстовое представление информации ( формат файла ) о электрических соединениях, связывающих компоненты электронного устройства.
Список соединений (при проектировании интегральных схем ) — текстовое представление информации ( формат файла ) о соединениях модулей ( логических элементов , блоков памяти и др.) интегральной схемы .
В списках соединений обычно приводится информация о внутрисхемных соединениях и, как правило, не содержится ничего другого, кроме перечня приборов (модулей, узлов, компонентов, «экземпляров»), «соединений» между ними и нескольких атрибутов (параметров). Если требуется описать нечто более сложное, используют специализированные языки описания аппаратуры ( Verilog , VHDL и др.).
Классификация списков соединений:
- физические или логические;
- по способу построения:
- по наличию/отсутствую вложенных компонентов:
Состав и структура списка
Электронное устройство состоит из компонентов (узлов, модулей), соединённых проводниками.
В списке соединений компоненты электронного устройства называются « экземплярами », а проводники — « соединениями ».
«Экземпляры» бывают двух видов:
- « определения » — «экземпляры», в состав которых входят другие «экземпляры»;
- « оригиналы » — «экземпляры», не содержащие в своём составе вложенных «экземпляров».
В состав «определения» входят:
- перечень вложенных «экземпляров» (компонентов);
- перечень «соединений», связывающих «экземпляры» (компоненты) между собой.
«Экземпляром» может быть всё что угодно: от полевых или биполярных транзисторов , резисторов и конденсаторов до интегральных микросхем .
«Экземпляры» имеют «порты» ( англ. ports ) (или «выводы» ( англ. pins )). Например, «портами» пылесоса можно назвать три металлических вывода вилки шнура питания.
Каждый «порт» имеет «имя». Например, «порты» пылесоса могут называться «ноль», «фаза» и «земля».
«Экземпляры» могут иметь «имена». Например, два одинаковых пылесоса могут называться «vac1» и «vac2». С помощью (уникальных) имён одинаковые «экземпляры» можно отличить друг от друга.
«Соединения» описывают проводники, связывающие компоненты схемы между собой.
«Экземпляры» и «соединения» могут иметь, а могут и не иметь особые атрибуты; это зависит от возможностей выбранного языка.
Существует два подхода к построению списков соединений:
- на основе экземпляров ( англ. instance-based ) (например, SPICE );
- на основе соединений ( англ. net-based ) (например, (англ.) ).
В состав списка, построенного на основе экземпляров ( англ. instance-based ), входит перечень «экземпляров». Для каждого «экземпляра» приводится:
- либо упорядоченный список имён «соединений»;
-
либо список пар, включающий:
- имя «порта» «экземпляра»;
- имя «соединения», подключаемого к «порту».
Перечень «соединений» строится автоматически после анализа получаемых взаимосвязей. Невозможно указать атрибуты для «соединений».
Наиболее известным знаменитым списком соединений, простроенным на основе экземпляров ( англ. instance-based ), является, возможно, SPICE .
В состав списка, построенного на основе соединений ( англ. net-based ), входят:
- перечень всех «экземпляров» и их атрибутов;
- описание всех «соединений» (указание имён соединяемых «портов» «экземпляров»).
В таком списке возможно указание атрибутов для «соединений».
Наиболее известным списком соединений, построенным на основе соединений ( англ. net-based ), является, возможно, (англ.) .
Иерархия
Устройство может состоять из множества одинаковых и разных компонентов (узлов, модулей). Компоненты могут содержать повторяющиеся и отличающиеся вложенные компоненты.
Для удобства большие списки соединений делят на части, одинаковые компоненты описывают с помощью «определений». Например, разработчик может создать «определение» пылесоса с портами, но теперь это определение будет включать полное описание внутренних компонентов пылесоса и соединений между ними ( моторов , переключателей и т. д.).
« Примитив » — «определение», не включающее в себя никаких «экземпляров» (не содержащее вложений). Также может называться «листом» или как-то иначе.
« Иерархическое » ( англ. hierarchical ) «определение» — «определение», включающее в себя «экземпляры» (вложения).
Список называется « свёрнутым » ( англ. folded ), если внутри него одно и то же «определение» используется несколько раз.
Список называется « развёрнутым » ( англ. unfolded ), если внутри него нет «определений», используемых более одного раза.
Свёрнутый список может быть чрезвычайно компактным (маленьким). Маленький список соединений из небольшого числа «экземпляров» может описывать устройства с огромным количеством вложенных «экземпляров».
Например, дадим пять «определений»:
- A является ячейкой памяти;
- B содержит 32 «экземпляра» A;
- C содержит 32 «экземпляра» B;
- D содержит 32 «экземпляра» C;
- E содержит 32 «экземпляра» D.
Устройство, состоящее всего из одного «экземпляра» E, будет включать ячеек памяти («экземпляров» A).
Развёртывание иерархии
Любой свёрнутый список может быть развёрнут — преобразован в плоский список.
« Плоский » ( англ. flat ) список соединений — список соединений, в котором в качестве «экземпляров» используются только примитивы (нет «экземпляров», содержащих вложенные «экземпляры»).
Свёрнутые (иерархические) списки преобразуются к плоским спискам (рекурсивно развёртываются) путём рекурсивной замены каждого не примитивного «определения» на содержащиеся в нём «экземпляры» (с новым именем).
При большом количестве вложений и/или при большой глубине вложений, развёртывание списка приводит к увеличению его размера, но при этом иерархические зависимости сохранятся.
Обратное аннотирование
Обратное аннотирование ( англ. back annotation ) — добавление в список соединений каких‑либо «данных» (дополнительной информации).
Обычно, «данные» хранятся отдельно от списка и поэтому могут использоваться в нескольких списках одновременно. «Данные» могут определяться по результатам исследований физического устройства, могут использоваться для более точного моделирования.
В состав «данных» входят:
- путь к примитиву (в иерархии);
- сами данные, например, время задержки для RC-цепей , обусловленное наличием паразитных ёмкостей между соединениями внутри устройства.
Наследование
Понятие «наследование» опишем на примере.
Пусть:
- дано «определение» конденсатора ;
- в «определении» указан атрибут под названием « Ёмкость », соответствующий одноимённому физическому свойству;
- для атрибута указано значение по умолчанию — «100 p F » (100 пико фарад ).
Тогда можно создать «экземпляры»:
- не содержащие атрибут «Ёмкость». Такие «экземпляры» «унаследуют» значение по умолчанию («100 pF») из своего «определения»;
- содержащие атрибут «Ёмкость» с произвольным значением. Указанное значение «переопределит» значение, заданное в «определении».
Обычно в качестве значения по умолчанию используют значение, характерное для большинства компонентов, и для этих компонентов значение атрибута не указывается (используется наследование). Это позволяет уменьшить количество повторяющейся информации, а в итоге — уменьшить размер списка.
Литература
- Chris Schroeder. (неопр.) . — Newnes, 1996. — С. 187—. — ISBN 978-0-7506-9700-2 .
- Patrick Lee. (англ.) . — Lulu.com, 2010. — P. 59—. — ISBN 978-0-557-40108-6 .
- 2020-12-31
- 2