Введение

Представление компонентов электронной схемы
термин электроники

В электронном проектировании, сетевой список (нетлист) – это описание связей в электронной схеме. В простейшем виде нетлист состоит из перечня электронных компонентов в схеме и перечня узлов, к которым они подключены. Сеть (net) – это совокупность двух или более соединенных компонентов. Структура, сложность и представление нетлистов могут существенно различаться, но основная цель каждого нетлиста – передача информации о соединениях. Нетлисты обычно содержат лишь экземпляры компонентов, узлы и, возможно, некоторые атрибуты этих компонентов. Если они описывают нечто большее, то обычно рассматриваются как язык описания аппаратуры, такой как Verilog или VHDL, или один из языков, специально разработанных для ввода в симуляторы или аппаратные компиляторы (например, нетлисты для аналогового моделирования SPICE).

Содержание и структура сетевого списка

Большинство сетевых списков содержат или ссылаются на описания используемых компонентов или устройств. Каждый раз, когда компонент используется в сетевом списке, это называется "экземпляром". Эти описания обычно перечисляют соединения, которые осуществляются для данного типа устройства, и некоторые базовые свойства этого устройства. Эти точки соединения называются "выводами" или "пинами", среди других названий. "Экземпляр" может быть чем угодно: от MOSFET-транзистора или биполярного транзистора до резистора, конденсатора или интегральной схемы. Экземпляры имеют "выводы". В случае пылесоса эти выводы будут тремя металлическими контактами в вилке. Каждый вывод имеет имя, и, продолжая пример с пылесосом, они могут быть "нейтраль", "фаза" и "земля". Обычно каждый экземпляр имеет уникальное имя, так что если у вас есть два экземпляра пылесосов, один может быть "vac1", а другой "vac2". Помимо имен, они могут быть идентичными. Сети (nets) – это "проводники", соединяющие элементы в схеме. В проекте могут быть или не быть специальные атрибуты, связанные с сетями, в зависимости от конкретного языка, на котором написан сетевой список, и его возможностей. Сетевые списки, основанные на экземплярах, обычно содержат список экземпляров, используемых в проекте. Вместе с каждым экземпляром предоставляется либо упорядоченный список имен сетей, либо список пар: имя порта экземпляра и имя сети, к которой этот порт подключен. В этом описании список сетей можно получить из списков соединений, и нет возможности связать определенные атрибуты с самими сетями. SPICE является примером сетевого списка, основанного на экземплярах. Сетевые списки, основанные на сетях, обычно описывают все экземпляры и их атрибуты, затем описывают каждую сеть и указывают, к какому порту какого экземпляра она подключена. Это позволяет связывать атрибуты с сетями. EDIF, вероятно, самый известный из сетевых списков, основанных на сетях.

Иерархия

В больших проектах обычной практикой является разделение проекта на части, каждая из которых становится "определением", которое может использоваться в качестве экземпляров в проекте. Если проводить аналогию с пылесосом, можно определить пылесос с его портами, но теперь это определение также будет включать в себя полное описание внутренних компонентов машины и способы их соединения (двигатели, переключатели и т.д.), подобно электрической схеме. Определение, не содержащее экземпляров, называется "примитивом" (или "листом", или другим названием); в то время как определение, содержащее экземпляры, называется "иерархическим". "Свернутая" иерархия позволяет одному определению быть представленным несколько раз посредством экземпляров. "Развернутая" иерархия не позволяет использовать определение более одного раза в иерархии. Свернутые иерархии могут быть чрезвычайно компактными. Небольшой сетевой список, состоящий всего из нескольких экземпляров, может описывать проекты с очень большим количеством экземпляров. Например, предположим, что определение A – это простой примитив, такой как ячейка памяти. Пусть определение B содержит 32 экземпляра A; C содержит 32 экземпляра B; D содержит 32 экземпляра C; и E содержит 32 экземпляра D. В проекте теперь 5 определений (от A до E) и 128 экземпляров. Однако E описывает схему, содержащую более миллиона ячеек памяти.

Развертывание

В "плоском" дизайне инстанцируются только примитивы. Иерархические дизайны могут быть рекурсивно "развёрнуты" ("сделаны плоскими") путём создания новой копии (с новым именем) каждого определения при каждом его использовании. Если дизайн сильно иерархичен, такое развёртывание приведёт к значительно большей базе данных сетевого списка, но при этом сохранит зависимости иерархии. Для иерархического сетевого списка, список имён экземпляров в пути от корневого определения до экземпляра примитива определяет единственный уникальный путь к этому примитиву. Совокупность путей ко всем примитивам образует большой, но плоский сетевой список, который точно эквивалентен компактной иерархической версии.

Заднепримечание

Баканотация – это данные, которые можно добавить к иерархическому списку соединений. Обычно они хранятся отдельно от списка соединений, поскольку к одному списку соединений можно применить несколько альтернативных наборов данных. Эти данные могут быть получены из физического проекта и могут предоставлять дополнительную информацию для более точного моделирования. Как правило, данные состоят из иерархического пути и фрагмента данных для данного элемента или значений задержки RC, вызванных межсоединениями.

Наследие

Еще одна концепция, часто используемая в схемах-списках, – это наследование. Предположим, определение конденсатора имеет связанный атрибут с именем "Емкость", соответствующий физическому свойству с тем же названием и имеющий значение по умолчанию "100 пФ" (100 пикофарад). Каждый экземпляр этого конденсатора также может иметь этот атрибут, но с другим значением емкости. А другие экземпляры могут вообще не иметь атрибута емкости. Если для экземпляра не указана емкость, он "наследует" значение 100 пФ из своего определения. Указанное значение "переопределяет" значение в определении. Если большое количество атрибутов совпадает со значениями в определении, можно "наследовать" большой объем информации, избегая ее избыточного указания в схеме-списке, что экономит место и облегчает чтение схемы как для машин, так и для людей.