This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
geda:na_howto.ru [2012/04/23 08:04] vzh Spelling |
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> | ||
Line 49: | Line 47: | ||
(так как это тоже разделитель). Названия выводов обычно представлены | (так как это тоже разделитель). Названия выводов обычно представлены | ||
номерами/названиями в том же роде, что и для атрибута ''pin#=#'' (если вам | номерами/названиями в том же роде, что и для атрибута ''pin#=#'' (если вам | ||
- | известен этот атрибут).\\ | + | известен этот атрибут).\\ В одном атрибуте ''net='' может быть указано |
- | В одном атрибуте ''net='' может быть указано только ОДНО имя сигнала | + | только ОДНО имя сигнала ''signalname'', но названий/номеров выводов может |
- | ''signalname'', но названий/номеров выводов может быть сколько угодно. | + | быть сколько угодно. |
===== Как на самом деле используется атрибут net=? ===== | ===== Как на самом деле используется атрибут net=? ===== | ||
Line 60: | Line 57: | ||
* Вне или внутри символа для автоматического подключения соединения к видимому выводу. Это пока ещё не проверено и может иметь какие-нибудь нежелательные (отрицательные) побочные эффекты. Используйте с осторожностью. | * Вне или внутри символа для автоматического подключения соединения к видимому выводу. Это пока ещё не проверено и может иметь какие-нибудь нежелательные (отрицательные) побочные эффекты. Используйте с осторожностью. | ||
* Если прикрепить атрибут к одному из специальных символов питания/земли (как, например, 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='' (внутри этого же символа). Если вы наткнётесь на случай, | + | |
- | когда это не работает, пожалуйста, [[howto report bugs.ru|сообщите об ошибке]]. | + | |
===== Предостережения / Ошибки ===== | ===== Предостережения / Ошибки ===== | ||
- | Атрибут/механизм ''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 127: | 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 157: | Line 147: | ||
END nets</code> | END nets</code> | ||
- | Заметьте, как переименовано соединение ''NETLABEL'' (получило псевдоним +5V). | + | Заметьте, как переименовано соединение ''NETLABEL'' (получило псевдоним |
+ | +5V). | ||
===== Заключение ===== | ===== Заключение ===== | ||
Если вы нашли какую-либо ошибку, [[howto report bugs.ru|дайте нам знать]]. | Если вы нашли какую-либо ошибку, [[howto report bugs.ru|дайте нам знать]]. | ||