| << [[geda:gnetlist_ug:basic_netlisting.ru|Создание простых списков соединений]] | **[[geda:gnetlist_ug.ru|Руководство пользователя gEDA gnetlist]]** | [[geda:gnetlist_ug:slotting.ru|Секции компонентов и их использование]] >> | ===== Иерархические схемы ===== В gnetlist есть поддержка //иерархических схем//. Иерархическими называются электрические схемы, куда в качестве //подсхем// включаются другие схемы. Это может быть весьма удобно для проектов, где одна и та же схема используется многократно, или для работы с какой-то схемой в нескольких разных проектах. В подсхемы в свою очередь могут входить другие подсхемы! Для каждой подсхемы нужен отдельный символ, к которому она будет привязана и который будет её представлением в схеме. Атрибут «''device=''» для символа подсхемы игнорируется. Для указания имени файла электрической схемы самой подсхемы должен использоваться атрибут «''source=''». Символы подсхем загружаются обычным способом из библиотеки символов. Электрические же схемы подсхем берутся из //[[gEDA:glossary.ru#библиотека исходных данных|библиотек исходных данных]]//. Подробное описание того, как указать gnetlist, где искать файлы схем для подсхем, см. в разделе [[config.ru|Настройка gnetlist]]. ==== Порты ==== //Порты// представляют собой выводы символа, через которые можно подключиться к электрической схеме связанной с ним подсхемы из той схемы проекта, где этот символ используется. Каждому порту следует задать имя с помощью атрибута «''pinlabel=''». Точкой подключения порта к соединениям внутри подсхемы gnetlist будет считать первый вывод компонента подсхемы, атрибут «''refdes=''» которого совпадает с именем порта. Обычно для этих целей используют символы «in-1.sym» и «out-1.sym» из раздела «Input/Output» библиотеки символов. ==== Переименование компонентов и соединений ==== К каждому из символов подсхем, находящихся в схеме, должен быть прикреплён атрибут «''refdes=''». Он будет определять имя //экземпляра подсхемы//. При обработке иерархической схемы уникальная идентификация компонентов и соединений внутри каждого экземпляра подсхемы достигается в gnetlist путём их переименования таким образом, что их новые имена содержат в качестве префикса имя того экземпляра, к которому они относятся. Для примера рассмотрим подсхему, содержащую компонент с атрибутом «''refdes=U1''» и соединение с атрибутом «''netname=FEEDBACK''». Предположим теперь, что символ подсхемы вставлен в схему и к нему прикреплён атрибут «''refdes=A1''». При обработке схемы gnetlist переименует компонент в «A1/U1», а соединение --- в «A1/FEEDBACK».