Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 7470e5ba72ba56f1e2ffc81f92c36e65 > files > 200

geda-docs-1.8.2-7.mga7.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title></title>
  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>


<h1 class="sectionedit1162"><a name="мини-howto_по_атрибуту_net" id="мини-howto_по_атрибуту_net">Мини-HOWTO по атрибуту net=</a></h1>
<div class="level1">

<p>
Автор: <em>Ales Hvezda</em>
</p>

<p>
Данный документ выпущен под лицензией <a href="http://www.gnu.org/copyleft/fdl.html" class="urlextern" title="http://www.gnu.org/copyleft/fdl.html"  rel="nofollow">GFDL</a>
</p>

<p>
2 октября 2003 г.
</p>

<p>
Перевод: <em>Владимир Жбанов</em>, 2010 г.
</p>

<p>
Информация в данном документе актуальна по состоянию на 11.10.1999 г.
</p>

</div>
<!-- EDIT1162 SECTION "Мини-HOWTO по атрибуту net=" [1-415] -->
<h2 class="sectionedit1163"><a name="зачем_нужен_атрибут_net" id="зачем_нужен_атрибут_net">Зачем нужен атрибут net=?</a></h2>
<div class="level2">

<p>
Атрибут <code>net=</code> используется в системе gEDA для описания
<a href="geda-glossary.ru.html#соединение" class="wikilink1" title="geda-glossary.ru.html">соединений</a> питания и специальных соединений.<br/>

Он используется вместо иных способов определения выводов питания (таких как
наличие выводов питания на символах компонентов или блоков питания). В
некоторых устройствах выводов питания очень много, и их вычерчивание увеличило
бы размер символа и сделало бы его трудно поддающимся обработке. Атрибут
<code>net=</code> выбран в системе gEDA для определения соединений питания из-за
своей простоты и универсальности.
После всего вышесказанного добавим, что выводы питания можно изображать и на
символе, но <strong>gnetlist</strong>, скорее всего, не сможет понять, что соединения,
подключенные к этим выводам, это особая группа питающих соединений. Имейте
это в виду, когда чертите символы.
</p>

</div>
<!-- EDIT1163 SECTION "Зачем нужен атрибут net=?" [416-1895] -->
<h2 class="sectionedit1164"><a name="каков_формат_атрибута_net" id="каков_формат_атрибута_net">Каков формат атрибута net=?</a></h2>
<div class="level2">

<p>
Атрибуты в gEDA — это простые текстовые элементы вида <code>имя_атрибута=значение</code>.
Каждый атрибут должен иметь такую форму. Для имён атрибутов всегда
используется нижний регистр. <strong>gnetlist</strong> сотоварищи — регистрозависимы. Для
имён соединений/сигналов обычно используется верхний регистр.<br/>

Атрибут может быть прикреплён к объекту или, в некоторых случаях (как в случае
атрибута <code>net=</code>), может быть свободным (не прикреплённым к чему-либо).
Свободные атрибуты также называются атрибутами верхнего уровня.<br/>

Атрибут <code>net=</code>  — это текстовый элемент следующего вида:
</p>
<pre class="code">net=signalname:pinname,pinname,pinname,...</pre>

<p>
где:
</p>
<div class="table sectionedit1165"><table class="inline">
	<tr class="row0">
		<td class="col0"> <code>net=</code> </td><td class="col1">имя данного атрибута (неизменяемое, в нижнем регистре) </td>
	</tr>
	<tr class="row1">
		<td class="col0"> <code>signalname</code> </td><td class="col1">имя сигнала или соединения, устанавливаемое в нём (например, +5V, GND, и т. д.) </td>
	</tr>
	<tr class="row2">
		<td class="col0"> <code>pinname</code> </td><td class="col1">название (или номер) вывода, установленное для этого сигнала/соединения (или несколько названий/номеров выводов) </td>
	</tr>
</table></div>
<!-- EDIT1165 TABLE [3025-3515] -->
<p>
<code>signalname</code> не должно содержать символа «<code>:</code>» (поскольку он является
разделителем). pinname — это название вывода (A1, P2, D1, и т. д.) или его
номер (1, 2, 5, 13, и т. д.). pinname не должно содержать символа «<code>,</code>»
(так как это тоже разделитель). Названия выводов обычно представлены
номерами/названиями в том же роде, что и для атрибута <code>pin#=#</code> (если вам
известен этот атрибут).<br/>

В одном атрибуте <code>net=</code> может быть указано только ОДНО имя сигнала
<code>signalname</code>, но названий/номеров выводов может быть сколько угодно.
</p>

</div>
<!-- EDIT1164 SECTION "Каков формат атрибута net=?" [1896-4392] -->
<h2 class="sectionedit1166"><a name="как_на_самом_деле_используется_атрибут_net" id="как_на_самом_деле_используется_атрибут_net">Как на самом деле используется атрибут net=?</a></h2>
<div class="level2">

<p>
Атрибут <code>net=</code> может располагаться в разных местах. Вот варианты:
</p>
<ul>
<li class="level1"><div class="li"> Внутри символа как прикреплённый атрибут или как неприкреплённый атрибут (атрибут верхнего уровня). Вот примеры создания соединений питания: <code>net=GND:7</code> или <code>net=+5V:14</code></div>
</li>
<li class="level1"><div class="li"> Вне символа (экземпляр которого имеется в схеме) атрибут может прикрепляться для переопределения существующего соединения/сигнала, созданного с помощью <code>net=</code>. Предположим, что внутри символа уже есть <code>net=GND:7</code>; прикрепление к символу атрибута <code>net=AGND:7</code> переопределит соединение GND (на выводе 7), назвав его AGND, и соединит/ассоциирует его с выводом 7.</div>
</li>
<li class="level1"><div class="li"> Вне или внутри символа для автоматического подключения соединения к видимому выводу. Это пока ещё не проверено и может иметь какие-нибудь нежелательные (отрицательные) побочные эффекты. Используйте с осторожностью.</div>
</li>
<li class="level1"><div class="li"> Если прикрепить атрибут к одному из специальных символов питания/земли (как, например, vcc/gnd/vdd), то можно изменить назначение символа. Можно изменить символ заземления для создания соединения с названием DIGITAL GND, не редактируя данный символ (просто прикрепить <code>net=DIGITAL_GND:1</code>).<br/>
В текущей библиотеке (19991011) имеются символы с названиями <em><code>vdd-1.sym</code></em>, <em><code>vcc-1.sym</code></em>, <em><code>vee-1.sym</code></em> и прочие, в которых нет внутри атрибута <code>net=</code>, так что вам придётся добавлять его самостоятельно (в схеме).<br/>
Также там есть символы с названиями <em><code>5V-minus-1.sym</code></em>, <em><code>12V-plus-1.sym</code></em>, <em><code>9V-plus-1.sym</code></em>, и т. д., уже содержащие соответствующий атрибут <code>net=</code> (хотя его можно переопределить). Можете использовать эти символы как примеры применения атрибута <code>net=</code>.<br/>
</div>
</li>
</ul>

<p>
Атрибутов <code>net=</code> может быть сколько угодно. Просто запомните, что атрибуты
<code>net=</code>, прикреплённые вне символа замещают любые эквивалентные внутренние
атрибуты <code>net=</code> (внутри этого же символа). Если вы наткнётесь на случай,
когда это не работает, пожалуйста, <a href="geda-howto_report_bugs.ru.html" class="wikilink1" title="geda-howto_report_bugs.ru.html">сообщите об ошибке</a>.
</p>

</div>
<!-- EDIT1166 SECTION "Как на самом деле используется атрибут net=?" [4393-7736] -->
<h2 class="sectionedit1167"><a name="предостережения_ошибки" id="предостережения_ошибки">Предостережения / Ошибки</a></h2>
<div class="level2">

<p>
Атрибут/механизм <code>net=</code> безусловно нов, поэтому непременно должны быть
ошибки (много ошибок). Здесь приводятся некоторые из найденных проблем:
</p>
<ul>
<li class="level1"><div class="li"> На 11.10.1999 г. почти все символы стандартной библиотеки не имеют ни атрибута <code>net=</code>, ни любого другого признака питания. Надеюсь, когда-нибудь это будет исправлено (есть добровольцы?).</div>
</li>
<li class="level1"><div class="li"> Прикрепление специального питающего символа (vcc/gnd) к соединению, уже имеющему имя, задаст для него псевдоним с именем сигнала, указанным в атрибуте <code>net=</code> (который находится внутри этого символа vcc/gnd или прикреплён к нему), то есть фактически переименует это соединение. Такое поведение можно изменить (так что станет верным обратное), если поиграться с “net-naming-priority”. Будьте осторожны с этим. Могут быть и другие, пока ещё не обнаруженные, проблемы именования.</div>
</li>
<li class="level1"><div class="li"> Создание атрибута <code>net=</code>, связывающего имя сигнала с уже видимым на символе выводом, — это, скорее всего, плохая идея. Работать это будет, но все возможные последствия ещё не исследованы.</div>
</li>
<li class="level1"><div class="li"> Плохой идеей будет, вероятно, и прикрепление одного и того же атрибута <code>net=</code> несколько раз. <em>Ales</em> не формализовал, что должно происходить в таком случае. Просто запомните, что атрибут <code>net=</code> вне символа замещает внутренний.</div>
</li>
</ul>

</div>
<!-- EDIT1167 SECTION "Предостережения / Ошибки" [7737-9968] -->
<h2 class="sectionedit1168"><a name="пример" id="пример">Пример</a></h2>
<div class="level2">

<p>
Здесь приводится схема, использующая стандартные символы (примечание: символ
для 7400 всё ещё не содержит атрибута <code>net=</code> внутри). Данная схема содержит
компонент 7400 с прикреплёнными атрибутами <code>net=</code> для выводов питания. Один
из входных выводов подключен к общему проводу с помощью символа GND, а другой
установлен в логическую единицу с помощью символа Vcc (с прикреплённым
атрибутом <code>net=</code>). Одно из входных соединений имеет имя, но, как вы
увидите, имя соединения замещается именем сигнала, указанным в <code>net=</code>
символа питания (см. выше подробную информацию по этому поводу). Выход
подключен к подтягивающему резистору, питание которого задаётся с помощью
символа +5V.
</p>
<div class="table sectionedit1169"><table class="inline">
	<tr class="row0">
		<td class="col0"> <a href="media/geda/net.jpg" class="media" target="_blank" title="geda:net.jpg"><img src="media/geda/net.jpg" class="media" alt="" /></a> </td>
	</tr>
</table></div>
<!-- EDIT1169 TABLE [11196-11217] --><pre class="code">v 19991011
C 38700 58100 1 0 0 7400-1.sym
{
T 39000 59000 5 10 1 1 0
uref=U100
T 38900 59500 5 10 1 1 0
net=GND:7
T 38900 59300 5 10 1 1 0
net=+5V:14
}
N 38700 58800 37400 58800 4
{
T 37600 58900 5 10 1 1 0
netname=NETLABEL
}
N 37400 58800 37400 59200 4
N 38700 58400 37400 58400 4
N 37400 58000 37400 58400 4
C 37300 57700 1 0 0 gnd-1.sym
C 37200 59200 1 0 0 vcc-1.sym
{
T 36800 59200 5 10 1 1 0
net=+5V:1
}
N 40000 58600 41600 58600 4
{
T 41200 58700 5 10 1 1 0
netname=OUTPUT
}
C 40700 58800 1 90 0 resistor-1.sym
{
T 40800 59200 5 10 1 1 0
uref=R1
}
N 40600 58800 40600 58600 4
N 40600 59900 40600 59700 4
C 40400 59900 1 0 0 5V-plus-1.sym</pre>

<p>
Запуск <strong>gnetlist</strong> для данного примера (в котором в качестве формата списка
соединений задаётся <code>geda</code>) выдаст следующее:
</p>
<pre class="code">START header

gEDA&#039;s netlist format
Created specifically for testing of gnetlist

END header

START components

R1 device=RESISTOR
U100 device=7400

END components

START renamed-nets

NETLABEL -&gt; +5V

END renamed-nets

START nets

+5V : R1 2, U100 14, U100 1
GND : U100 7, U100 2
OUTPUT : R1 1, U100 3

END nets</pre>

<p>
Заметьте, как переименовано соединение <code>NETLABEL</code> (получило псевдоним +5V).
</p>

</div>
<!-- EDIT1168 SECTION "Пример" [9969-12545] -->
<h2 class="sectionedit1170"><a name="заключение" id="заключение">Заключение</a></h2>
<div class="level2">

<p>
Если вы нашли какую-либо ошибку, <a href="geda-howto_report_bugs.ru.html" class="wikilink1" title="geda-howto_report_bugs.ru.html">дайте нам знать</a>.
</p>

</div>
<!-- EDIT1170 SECTION "Заключение" [12546-] --></body>
</html>