This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
geda:na_howto.ru [2012/02/20 15:14] 127.0.0.1 external edit |
geda:na_howto.ru [2014/04/23 05:03] (current) vzh Updated using po4a |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Мини-HOWTO по атрибуту net= ====== | + | //Эта страница доступна также на следующих языках:// [[na_howto|English]] |
+ | ====== Мини-HOWTO по атрибуту net= ====== | ||
Автор: //Ales Hvezda// | Автор: //Ales Hvezda// | ||
- | Данный документ выпущен под лицензией [[http://www.gnu.org/copyleft/fdl.html|GFDL]] | + | Настоящий документ распространяется под лицензией |
+ | [[http://www.gnu.org/copyleft/fdl.html|GFDL]] | ||
2 октября 2003 г. | 2 октября 2003 г. | ||
- | Перевод: //Владимир Жбанов//, 2010 г. | + | Информация в данном документе актуальна по состоянию на 11.10.1999 г. |
- | + | ||
- | Информация в данном документе актуальна с 11.10.1999 г. | + | |
===== Зачем нужен атрибут net=? ===== | ===== Зачем нужен атрибут net=? ===== | ||
Атрибут ''net='' используется в системе gEDA для описания | Атрибут ''net='' используется в системе gEDA для описания | ||
- | [[geda:glossary.ru#соединение|соединений]] питания и специальных соединений.\\ | + | [[geda:glossary.ru#соединение|соединений]] питания и специальных |
- | Он используется вместо иных способов определения выводов питания (таких как | + | соединений.\\ Он используется вместо иных способов определения выводов |
- | наличие выводов питания на символах компонентов или блоков питания). В | + | питания (таких как наличие выводов питания на символах компонентов или |
- | некоторых устройствах выводов питания очень много и их вычерчивание увеличило | + | блоков питания). В некоторых устройствах выводов питания очень много, и их |
- | бы размер символа и сделало бы его трудно поддающимся обработке. Атрибут | + | вычерчивание увеличило бы размер символа и сделало бы его трудно поддающимся |
- | ''net='' выбран в системе gEDA для определения соединений питания из-за | + | обработке. Атрибут ''net='' выбран в системе gEDA для определения соединений |
- | своей простоты и универсальности. | + | питания из-за своей простоты и универсальности. После всего вышесказанного |
- | После всего вышесказанного добавим, что выводы питания можно изображать и на | + | добавим, что выводы питания можно изображать и на символе, но **gnetlist**, |
- | символе, но, скорее всего, **gnetlist** не посчитает подключенные к этим выводам | + | скорее всего, не сможет понять, что соединения, подключенные к этим выводам, |
- | соединения отдельной группой, определяющей одно соединение. Имейте это в виду, | + | это особая группа питающих соединений. Имейте это в виду, когда чертите |
- | когда чертите символы. | + | символы. |
===== Каков формат атрибута net=? ===== | ===== Каков формат атрибута net=? ===== | ||
- | Атрибуты в gEDA --- это простые текстовые элементы вида ''имя_атрибута=значение''. | + | Атрибуты в gEDA --- это простые текстовые элементы вида |
- | Каждый атрибут должен иметь такую форму. Для имён атрибутов всегда | + | ''имя_атрибута=значение''. Каждый атрибут должен иметь такую форму. Для |
- | используется нижний регистр. **gnetlist** сотоварищи --- регистрозависимы. Для | + | имён атрибутов всегда используется нижний регистр. **gnetlist** сотоварищи |
- | имён соединений/сигналов обычно используется верхний регистр.\\ | + | --- регистрозависимы. Для имён соединений/сигналов обычно используется |
- | Атрибут может быть прикреплён к объекту или, в некоторых случаях (как в случае | + | верхний регистр.\\ Атрибут может быть прикреплён к объекту или, в некоторых |
- | атрибута ''net=''), может быть свободным (не прикреплённым к чему-либо). | + | случаях (как в случае атрибута ''net=''), может быть свободным (не |
- | Свободные атрибуты также называются атрибутами верхнего уровня.\\ | + | прикреплённым к чему-либо). Свободные атрибуты также называются атрибутами |
- | Атрибут ''net='' --- это текстовый элемент следующего вида: | + | верхнего уровня.\\ Атрибут ''net='' --- это текстовый элемент следующего |
+ | вида: | ||
<code>net=signalname:pinname,pinname,pinname,...</code> | <code>net=signalname:pinname,pinname,pinname,...</code> | ||
где: | где: | ||
| ''net='' |имя данного атрибута (неизменяемое, в нижнем регистре) | | | ''net='' |имя данного атрибута (неизменяемое, в нижнем регистре) | | ||
- | | ''signalname'' |имя сигнала или соединения, устанавливаемое в нём (например, +5V, GND, и т.д.) | | + | | ''signalname'' |имя сигнала или соединения, устанавливаемое в нём (например, +5V, GND, и т. д.) | |
| ''pinname'' |название (или номер) вывода, установленное для этого сигнала/соединения (или несколько названий/номеров выводов) | | | ''pinname'' |название (или номер) вывода, установленное для этого сигнала/соединения (или несколько названий/номеров выводов) | | ||
''signalname'' не должно содержать символа <<'':''>> (поскольку он является | ''signalname'' не должно содержать символа <<'':''>> (поскольку он является | ||
- | разделителем). pinname --- это название вывода (A1, P2, D1, и т.д.) или его | + | разделителем). pinname --- это название вывода (A1, P2, D1, и т. д.) или его |
- | номер (1, 2, 5, 13, и т.д.). pinname не должен содержать символа <<'',''>> | + | номер (1, 2, 5, 13, и т. д.). pinname не должно содержать символа <<'',''>> |
(так как это тоже разделитель). Названия выводов обычно представлены | (так как это тоже разделитель). Названия выводов обычно представлены | ||
номерами/названиями в том же роде, что и для атрибута ''pin#=#'' (если вам | номерами/названиями в том же роде, что и для атрибута ''pin#=#'' (если вам | ||
- | известен этот атрибут).\\ | + | известен этот атрибут).\\ В одном атрибуте ''net='' может быть указано |
- | В одном атрибуте ''net='' может быть указано только ОДНО имя сигнала | + | только ОДНО имя сигнала ''signalname'', но названий/номеров выводов может |
- | ''signalname'', но названий/номеров выводов может быть сколько угодно. | + | быть сколько угодно. |
===== Как на самом деле используется атрибут net=? ===== | ===== Как на самом деле используется атрибут net=? ===== | ||
Line 59: | Line 56: | ||
* Вне символа (экземпляр которого имеется в схеме) атрибут может прикрепляться для переопределения существующего соединения/сигнала, созданного с помощью ''net=''. Предположим, что внутри символа уже есть ''net=GND:7''; прикрепление к символу атрибута ''net=AGND:7'' переопределит соединение GND (на выводе 7), назвав его AGND, и соединит/ассоциирует его с выводом 7. | * Вне символа (экземпляр которого имеется в схеме) атрибут может прикрепляться для переопределения существующего соединения/сигнала, созданного с помощью ''net=''. Предположим, что внутри символа уже есть ''net=GND:7''; прикрепление к символу атрибута ''net=AGND:7'' переопределит соединение GND (на выводе 7), назвав его AGND, и соединит/ассоциирует его с выводом 7. | ||
* Вне или внутри символа для автоматического подключения соединения к видимому выводу. Это пока ещё не проверено и может иметь какие-нибудь нежелательные (отрицательные) побочные эффекты. Используйте с осторожностью. | * Вне или внутри символа для автоматического подключения соединения к видимому выводу. Это пока ещё не проверено и может иметь какие-нибудь нежелательные (отрицательные) побочные эффекты. Используйте с осторожностью. | ||
- | * Если прикрепить атрибут к одному из специальных символов питания/земли (как например Vcc/GND/Vdd), то можно изменить назначение символа. Можно изменить символ заземления для создания соединения с названием DIGITAL GND, не редактируя данный символ (просто прикрепить ''net=DIGITAL_GND:1'').\\ В текущей библиотеке (19991011) имеются символы с названиями //''vdd-1.sym''//, //''vcc-1.sym''//, //''vee-1.sym''// и прочие, в которых нет внутри атрибута ''net='', так что вам придётся добавлять его самостоятельно (в схеме).\\ Также там есть символы с названиями //''5V-minus-1.sym''//, //''12V-plus-1.sym''//, //''9V-plus-1.sym''//, и т.д., уже содержащие соответствующий атрибут ''net='' (хотя его можно переопределить). Можете использовать эти символы как примеры применения атрибута ''net=''.\\ | + | * Если прикрепить атрибут к одному из специальных символов питания/земли (как, например, vcc/gnd/vdd), то можно изменить назначение символа. Можно изменить символ заземления для создания соединения с названием DIGITAL GND, не редактируя данный символ (просто прикрепить ''net=DIGITAL_GND:1'').\\ В текущей библиотеке (19991011) имеются символы с названиями //''vdd-1.sym''//, //''vcc-1.sym''//, //''vee-1.sym''// и прочие, в которых нет внутри атрибута ''net='', так что вам придётся добавлять его самостоятельно (в схеме).\\ Также там есть символы с названиями //''5V-minus-1.sym''//, //''12V-plus-1.sym''//, //''9V-plus-1.sym''//, и т. д., уже содержащие соответствующий атрибут ''net='' (хотя его можно переопределить). Можете использовать эти символы как примеры применения атрибута ''net=''.\\ |
- | Атрибутов ''net='' может быть сколько угодно. Просто запомните, что атрибуты | + | Атрибутов ''net='' может быть сколько угодно. Просто запомните, что атрибуты ''net='', прикреплённые вне символа замещают любые эквивалентные внутренние атрибуты ''net='' (внутри этого же символа). Если вы наткнётесь на случай, когда это не работает, пожалуйста, [[howto report bugs.ru|сообщите об ошибке]]. |
- | ''net='', прикреплённые вне символа замещают любые эквивалентные внутренние | + | |
- | атрибуты ''net='' (внутри этого же символа). Если вы наткнётесь на случай, | + | |
- | когда это не работает, пожалуйста, не трогайте **ahvezdaATgeda.seul.org**. На | + | |
- | самом же деле, посылайте ему любые сообщения об ошибках. | + | |
===== Предостережения / Ошибки ===== | ===== Предостережения / Ошибки ===== | ||
- | Атрибут/механизм ''net='' безусловно нов, поэтому непременно должны быть | + | Атрибут/механизм ''net='' безусловно нов, поэтому непременно должны быть ошибки (много ошибок). Здесь приводятся некоторые из найденных проблем: |
- | ошибки (много ошибок). Здесь приводятся некоторые из найденных проблем: | + | |
* На 11.10.1999 г. почти все символы стандартной библиотеки не имеют ни атрибута ''net='', ни любого другого признака питания. Надеюсь, когда-нибудь это будет исправлено (есть добровольцы?). | * На 11.10.1999 г. почти все символы стандартной библиотеки не имеют ни атрибута ''net='', ни любого другого признака питания. Надеюсь, когда-нибудь это будет исправлено (есть добровольцы?). | ||
- | * Прикрепление специального питающего символа (Vcc/GND) к соединению, уже имеющему имя, задаст для него псевдоним с именем сигнала, указанным в атрибуте ''net='' (который находится внутри этого символа Vcc/GND или прикреплён к нему), то есть фактически переименует это соединение. Это можно переопределить (так что станет верным обратное), если поиграться с "net-naming-priority". Будьте осторожны с этим. Могут быть и другие, пока ещё не обнаруженные, проблемы именования. | + | * Прикрепление специального питающего символа (vcc/gnd) к соединению, уже имеющему имя, задаст для него псевдоним с именем сигнала, указанным в атрибуте ''net='' (который находится внутри этого символа vcc/gnd или прикреплён к нему), то есть фактически переименует это соединение. Такое поведение можно изменить (так что станет верным обратное), если поиграться с «net-naming-priority». Будьте осторожны с этим. Могут быть и другие, пока ещё не обнаруженные, проблемы именования. |
- | * Создание атрибута ''net='', связывающего имя сигнала с уже видимым на символе выводом --- скорее всего плохая идея. Это будет работать, но все возможные последствия ещё не исследованы. | + | * Создание атрибута ''net='', связывающего имя сигнала с уже видимым на символе выводом, --- это, скорее всего, плохая идея. Работать это будет, но все возможные последствия ещё не исследованы. |
- | * Вероятно, плохая идея --- прикреплять один и тот же атрибут ''net='' несколько раз. //Ales// не определил, что произойдёт в этом случае. Просто запомните, что атрибут ''net='' вне символа замещает внутренний. | + | * Плохой идеей будет, вероятно, и прикрепление одного и того же атрибута ''net='' несколько раз. //Ales// не формализовал, что должно происходить в таком случае. Просто запомните, что атрибут ''net='' вне символа замещает внутренний. |
===== Пример ===== | ===== Пример ===== | ||
Здесь приводится схема, использующая стандартные символы (примечание: символ | Здесь приводится схема, использующая стандартные символы (примечание: символ | ||
- | для 7400 всё ещё не содержит атрибута ''net='' внутри). Данная схема содержит | + | для 7400 всё ещё не содержит атрибута ''net='' внутри). Данная схема |
- | компонент 7400 с прикреплёнными атрибутами ''net='' для выводов питания. Один | + | содержит компонент 7400 с прикреплёнными атрибутами ''net='' для выводов |
- | из входных выводов подключен к общему проводу с помощью символа GND, а другой | + | питания. Один из входных выводов подключен к общему проводу с помощью |
- | установлен в логическую единицу с помощью символа Vcc (с прикреплённым | + | символа GND, а другой установлен в логическую единицу с помощью символа Vcc |
- | атрибутом ''net=''). Одно из входных соединений имеет имя, но, как вы | + | (с прикреплённым атрибутом ''net=''). Одно из входных соединений имеет имя, |
- | увидите, имя соединения замещается именем сигнала, указанным в ''net='' | + | но, как вы увидите, имя соединения замещается именем сигнала, указанным в |
- | символа питания (см. выше подробную информацию по этому поводу). Выход | + | ''net='' символа питания (см. выше подробную информацию по этому |
- | подключен к подтягивающему резистору, питание которого задаётся с помощью | + | поводу). Выход подключен к подтягивающему резистору, питание которого |
- | символа +5V. | + | задаётся с помощью символа +5V. |
| {{:geda:net.jpg}} | | | {{:geda:net.jpg}} | | ||
Line 128: | Line 118: | ||
C 40400 59900 1 0 0 5V-plus-1.sym</code> | C 40400 59900 1 0 0 5V-plus-1.sym</code> | ||
- | Запуск **gnetlist** для данного примера (в котором в качестве формата списка | + | Запуск **gnetlist** для данного примера (в котором в качестве формата списка соединений задаётся ''geda'') выдаст следующее: |
- | соединений задаётся ''geda'') выдаст следующее: | + | |
<code>START header | <code>START header | ||
Line 158: | Line 147: | ||
END nets</code> | END nets</code> | ||
- | Заметьте, как переименовано соединение ''NETLABEL'' (получило псевдоним +5V). | + | Заметьте, как переименовано соединение ''NETLABEL'' (получило псевдоним |
+ | +5V). | ||
===== Заключение ===== | ===== Заключение ===== | ||
- | Посылайте информацию об ошибках по адресам //ahvezdaATgeda.seul.org// или | + | Если вы нашли какую-либо ошибку, [[howto report bugs.ru|дайте нам знать]]. |
- | //geda-devATgeda.seul.org// (это список рассылки, сначала подпишитесь на | + | |
- | него). | + | |
- | [Я уверен, что здесь можно сказать больше.] | + | |