| << [[implicit_pins.ru|Неявные выводы]]  |  **[[geda:gnetlist_ug.ru|Руководство пользователя gEDA gnetlist]]**  |  [[command_line.ru|Аргументы командной строки]] >> |

===== Настройка gnetlist =====

При запуске gnetlist загружает целый ряд //файлов настроек//, если они
имеются:

  - ''$PREFIX/share/gEDA/system-gafrc'' --- файл системных настроек комплекта программ gEDA/gaf;
  - ''$HOME/.gEDA/gafrc'' --- файл пользовательских настроек комплекта программ gEDA/gaf;
  - ''gafrc'' --- файл настроек комплекта программ gEDA/gaf для текущего рабочего каталога;
  - ''$PREFIX/share/gEDA/system-gnetlistrc'' --- файл системных настроек gnetlist;
  - ''$HOME/.gEDA/gnetlistrc'' --- файл пользовательских настроек gnetlist;
  - ''gnetlistrc'' --- файл настроек gnetlist для текущего рабочего каталога.

''$PREFIX'' --- это основной каталог установки gnetlist (на большинстве
систем --- ''/usr''), а ''$HOME'' --- ваш домашний каталог.

Эти файлы представляют собой скрипты на языке Scheme, выполняемые
интерпретатором этого языка. Это значит, что файлы настроек можно
использовать и для настройки gnetlist под себя, и для расширения
функциональности программы.

<note> В файлах настроек очень много различных параметров, влияющих на
работу gschem, и здесь приводятся только самые общеупотребительные из
них. Полный их список можно найти в файле ''system-gnetlistrc'', который
входит в комплект установки gEDA/gaf.  </note>

==== Библиотеки символов и исходных данных ====

При использовании gnetlist очень важно, чтобы библиотеки ваших символов и
[[gEDA:glossary.ru#Библиотека исходных данных|исходных данных]] были
настроены корректно. Для того, чтобы и gschem, и gnetlist использовали одни
и те же библиотеки, эти настройки почти всегда нужно добавлять в файл
настроек всего комплекта gaf (в один из файлов «''gafrc''»).  Настройка
библиотек символов и исходных данных объясняется в
[[geda:gschem_ug:config.ru|Руководстве пользователя gEDA gschem]].

==== Настройки обработки иерархических схем ====

При работе с [[hierarchy.ru|иерархическими схемами]] gnetlist
переименовывает соединения и компоненты на основе того, где в иерархической
структуре они располагаются. Вы можете настроить, как выполняется эта
«модификация», и, при необходимости, отключить её совсем.

По умолчанию gnetlist добавляет друг к другу имена на каждом уровне
иерархии, используя в качестве разделителя символ «/» (так что компонент
«U1» в подсхеме «A3» становится «A3/U1»). Для изменения этого поведения для
позиционных обозначений компонентов («refdes») могут использоваться функции
''hierarchy-uref-order'' и ''hierarchy-uref-separator''.  Например, для
изменения модификации «refdes» таким образом, чтобы к именам на каждом
уровне добавлялся в качестве разделителя префикс «:», можно использовать:

<code>(hierarchy-uref-order "prepend")
(hierarchy-uref-separator ":")</code>

Теперь «U1» в подсхеме «A3» будет переименован программой gnetlist в
«U1:A3».

Функция ''hierarchy-uref-mangle'' может использоваться для полного
отключения модификации «refdes»:

<code>(hierarchy-uref-mangle "disabled")</code>

Если это и может быть полезно, то очень редко.

Похожие настройки есть для группы имён соединений, установленных с помощью
атрибутов «''netname=''» и для группы имён соединений, использующих
[[implicit pins.ru|Неявные выводы]] и атрибуты «''net=''».

  * Функции ''hierarchy-netname-order'', ''hierarchy-netname-separator'' и ''hierarchy-netname-mangle'' управляют модификацией «''netname=''».
  * Функции ''hierarchy-netattrib-order'', ''hierarchy-netattrib-separator'' и ''hierarchy-netattrib-mangle'' управляют модификацией «''net=''».

Иногда желательно полностью отключить обработку иерархической структуры.
Это можно сделать с помощью ключа ''hierarchy-traversal'':

<code>(hierarchy-traversal "disabled")</code>
==== Автоматическое именование соединений ====

Настраивать производимое программой gnetlist автоматическое именование
соединений, не имеющих имён в файлах схем, можно с помощью функции
''unnamed-netname''.  К концу заданной вами строки gnetlist будет добавлять
уникальные номера.  Например:

<code>(unnamed-netname "unnamed_net")</code>

Это приведёт к тому, что "безымянным" соединениям gnetlist будет
автоматически назначать имена вида "unnamed_net12345".
