Списък с мрежи

Изразътnetlist(илиnetlist) е паус от английския термин. netlist има няколко значения.

Списък на електрическите връзки(при разработването на електронни устройства) - текстово представяне на информация (файлов формат) за електрическите връзки, свързващи компонентите на електронно устройство.

Мрежов списък(при проектиране на интегрални схеми) — текстово представяне на информация (файлов формат) за връзките на модулите (логически елементи, блокове памет и т.н.) на интегрална схема.

Списъците с мрежи обикновено съдържат информация за връзките в веригата и, като правило, не съдържат нищо повече от списък с устройства (модули, възли, компоненти, "инстанции"), "връзки" между тях и няколко атрибута (параметри). Ако искате да опишете нещо по-сложно, използвайте специализирани езици за описание на хардуера (Verilog, VHDL и др.).

Класификация на Netlist:

  • физически или логически;
  • по начин на изграждане:
  • изграден на базата на екземпляри на устройства (англ. instance-based);
  • изграден на базата на връзки (англ. net-based);
  • по наличие/отсъствие на вложени компоненти:
  • „плосък” (англ. flat) или „разгънат” (англ. unfolded);
  • „йерархичен“ (англ. hierarchical) или „сгънат“ (англ. folded).
  • Съдържание

    Електронното устройство се състои от компоненти (възли, модули), свързани с проводници.

    В списъка с мрежи компонентите на електронното устройство се наричат ​​"инстанции", а проводниците като "връзки".

    „Екземплярите“ са два вида:

    • "дефиниции" - "инстанции", които включват други "екземпляри";
    • "оригинали" - "екземпляри", които не съдържат вложени "екземпляри".

    „Определението“ включва:

    • списък на вложени "инстанции" (компоненти);
    • списък от "връзки", свързващи "инстанции" (компоненти) един с друг.

    „Екземплярите“ имат „портове“ (англ. ports) (или „изходи“ (англ. pins)). Например „портовете“ на прахосмукачката включват трите метални зъбца на щепсела на захранващия кабел.

    Всеки "порт" има "име". Например, "портовете" на прахосмукачката могат да се нарекат "нула", "фаза" и "земя".

    „Екземплярите“ могат да имат „имена“. Например две еднакви прахосмукачки могат да се наричат ​​"vac1" и "vac2". С помощта на (уникални) имена едни и същи „екземпляри“ могат да бъдат разграничени един от друг.

    „Връзки“ описва проводниците, които свързват компонентите на веригата един към друг.

    „Екземпляри“ и „връзки“ могат или не могат да имат специални атрибути; зависи от възможностите на избрания език.

    Има два подхода за изграждане на списъци с мрежи:

    • базирани на екземпляри (англ. instance-based) (например SPICE);
    • базиран на връзка (англ. net-based) (например EDIF (англ.)).

    Списъкът, изграденна базата на екземпляри(англ. instance-based ) включва списък от "инстанции". За всеки "пример" е дадено:

    • или подреден списък от имена на "връзки";
    • или списък с двойки, включително:
    • "порт" име на "инстанция";
    • името на "връзката", свързана към "порта".

    Списъкът с "връзки" се изгражда автоматично след анализ на получените връзки. Не могат да се посочат атрибути за „връзки“.

    Най-известният известен списък с мрежи, изграден на базата на екземпляри (англ.базиран на екземпляр ) вероятно е SPICE.

    Списъкът, изграденна базата на връзки(англ. net-based ), включва:

    • списък на всички "инстанции" и техните атрибути;
    • описание на всички "връзки" (посочване на имената на свързаните "портове" на "инстанции").

    В такъв списък е възможно да се зададат атрибути за "връзки".

    Най-известният мрежово базиран netlist е може би EDIF.

    Устройството може да се състои от много еднакви и различни компоненти (възли, модули). Компонентите могат да съдържат дублиращи се и отделни вложени компоненти.

    За удобство големите списъци с мрежи са разделени на части, същите компоненти са описани с помощта на "дефиниции". Например, разработчик може да създаде „дефиниция“ за прахосмукачка с портове, но сега тази дефиниция ще включва пълно описание на вътрешните компоненти на прахосмукачката и връзките между тях (мотори, превключватели и т.н.).

    Примитив“ е „дефиниция“, която не включва никакви „екземпляри“ (не съдържа прикачени файлове). Може също да се нарече "лист" или нещо друго.

    Йерархичен“ (англ. hierarchical) „дефиниция“ – „дефиниция“, която включва „екземпляри“ (вграждания).

    Списъкът се нарича “сгънат” ( англ. folded ), ако една и съща “дефиниция” се използва няколко пъти в него.

    Списъкът се нарича "разгънат" (англ. unfolded), ако в него няма "дефиниции", които да се използват повече от веднъж.

    Свит списък може да бъде изключително компактен (малък). Малък списък с мрежи от малък брой "екземпляри" може да опише устройства с огромен брой вложени "екземпляри".

    Например, нека дадем пет"дефиниции":

    • A е място в паметта;
    • B съдържа 32 "инстанции" на A;
    • C съдържа 32 "инстанции" на B;
    • D съдържа 32 "инстанции" на C;
    • E съдържа 32 "инстанции" на D.

    Устройство, състоящо се само от един "екземпляр" на E ще включва 32 4 > клетки с памет ("инстанции" A).

    Разгръщане на йерархията

    Всеки свит списък може да бъде разширен - преобразуван в плосък списък.

    Плосък” (англ. flat ) netlist е списък с мрежи, в който само примитиви се използват като “инстанции” (няма “екземпляри”, съдържащи вложени “екземпляри”).

    Свитите (йерархични) списъци се преобразуват в плоски списъци (разширени рекурсивно) чрез рекурсивно заместване на всяка непримитивна „дефиниция“ с „екземплярите“, които съдържа (с ново име).

    При голям брой вложки и/или при голяма дълбочина на влагане, разширяването на списъка води до увеличаване на неговия размер, но в същото време остават йерархичните зависимости.

    Задна анотация

    Обратна анотация (англ. back annotation) - добавяне на всякакви „данни“ (допълнителна информация) към списъка с мрежи.

    Обикновено „данните“ се съхраняват отделно от списъка и следователно могат да се използват в няколко списъка едновременно. „Данните“ могат да бъдат определени от резултатите от изследванията на физическото устройство, могат да се използват за по-точно моделиране.

    „Данните“ включват:

    • път към примитивното (в йерархията);
    • самите данни, като времето на забавяне за RC вериги поради наличието на паразитни капацитети между връзките в устройството.

    Наследство

    Нека опишем понятието "наследство" с пример.

    • дадено"дефиниране" на кондензатор;
    • „дефиницията“ съдържа атрибут, наречен „Капацитет“, съответстващ на физическото свойство със същото име;
    • стойността по подразбиране за атрибута е "100 pF" (100 пикофарада).

    След това можете да създадете "инстанции":

    • несъдържащ атрибута "Капацитет". Такива "инстанции" ще "наследят" стойността по подразбиране ("100 pF") от тяхната "дефиниция";
    • съдържащ атрибута "Капацитет" с произволна стойност. Посочената стойност ще "замени" стойността, дадена в "дефиницията".

    Обикновено стойността по подразбиране е стойността, която е специфична за повечето компоненти и за тези компоненти стойността на атрибута не е посочена (използва се наследяване). Това ви позволява да намалите количеството повтаряща се информация и в крайна сметка да намалите размера на списъка.