Update wiki pages
[geda-gaf.git] / docs / wiki / geda-gschem_symbol_creation.ru.html
blob7224023f441b1bb53239074d04463eaf5893256d
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <em>Это руководство доступно также на следующих языках:</em>
15 <a href="geda-gschem_symbol_creation.html" class="wikilink1" title="geda-gschem_symbol_creation.html">English</a>
16 </p>
18 <h1 class="sectionedit1" id="руководство_по_созданию_символов_geda_gaf">Руководство по созданию символов gEDA/gaf</h1>
19 <div class="level1">
21 <p>
22 Последняя версия оригинала настоящего документа находится по адресу
23 <a href="http://www.geda-project.org/wiki/geda:gschem_symbol_creation" class="urlextern" title="http://www.geda-project.org/wiki/geda:gschem_symbol_creation" rel="nofollow">http://www.geda-project.org/wiki/geda:gschem_symbol_creation</a>.<br/>
24 Настоящий
25 документ выпущен под лицензией <a href="geda-gfdl.html" class="wikilink1" title="geda-gfdl.html">GNU Free Documentation License
26 (GFDL)</a>.
27 </p>
29 </div>
30 <!-- EDIT1 SECTION "Руководство по созданию символов gEDA/gaf" [137-545] -->
31 <h2 class="sectionedit2" id="обзор">Обзор</h2>
32 <div class="level2">
34 <p>
35 В настоящем документе описывается создание
36 <a href="geda-glossary.ru.html#символ" class="wikilink1" title="geda-glossary.ru.html">символов компонентов</a>, в том числе соглашения по
37 стилю, советы/подсказки и то, чего стоит остерегаться при вычерчивании
38 символов для системы gEDA/gaf.
39 </p>
41 </div>
42 <!-- EDIT2 SECTION "Обзор" [546-952] -->
43 <h2 class="sectionedit3" id="создание_символа_компонента">Создание символа компонента</h2>
44 <div class="level2">
46 <p>
47 Символы компонентов (называемые далее просто «символами») вычерчиваются в
48 <strong>gschem</strong>. Можно начать с пустой страницы или с заведомо хорошего символа,
49 похожего на создаваемый вами.
50 </p>
52 </div>
53 <!-- EDIT3 SECTION "Создание символа компонента" [953-1340] -->
54 <h3 class="sectionedit4" id="подготовка">Подготовка</h3>
55 <div class="level3">
57 <p>
58 Прежде, чем открыть <strong>gschem</strong> и начать чертить символ, задайте себе несколько вопросов, ответы на которые повлияют на то, как это делать:
59 </p>
60 <ol>
61 <li class="level1"><div class="li"> Создаётся ли символ чисто из эстетических соображений (просто как рисунок)? Если так, несколько шагов упрощаются.</div>
62 </li>
63 <li class="level1"><div class="li"> Нужно ли будет потом использовать этот компонент для моделирования, например в SPICE?</div>
64 </li>
65 <li class="level1"><div class="li"> Нужно ли будет использовать этот символ в схеме, где производится разводка питания? Это будет важно при решении вопроса о том, какие выводы нужно чертить.</div>
66 </li>
67 <li class="level1"><div class="li"> Представляет ли этот символ компонент, которых по несколько штук в одном корпусе? Это на языке gEDA называется <a href="geda-glossary.ru.html#назначение_логических_секций" class="wikilink1" title="geda-glossary.ru.html">назначением логических секций</a> и на этот счёт имеются особые правила.</div>
68 </li>
69 </ol>
71 <p>
72 Когда вы сами для себя ответите на эти вопросы, дальнейшая часть руководства
73 станет для вас гораздо полезней.
74 </p>
76 <p>
77 Итак, приступим к созданию символа:
78 </p>
79 <ol>
80 <li class="level1"><div class="li"> Откройте <strong>gschem</strong>.</div>
81 </li>
82 <li class="level1"><div class="li"> По умолчанию на новых пустых страницах выводятся рамки. Выберите инструмент выделения (в виде чёрной стрелки мыши на панели инструментов) и выделите всё на странице. Нажмите клавишу <kbd>Delete</kbd>, чтобы всё удалить.</div>
83 </li>
84 <li class="level1"><div class="li"> Увеличьте хотя бы раз масштаб (<strong><em>Вид</em></strong><strong><em>Увеличить</em></strong> [<strong><em>View</em></strong><strong><em>Zoom In</em></strong>], или нажмите клавишу <kbd>Z</kbd>).</div>
85 </li>
86 <li class="level1"><div class="li"> Удостоверьтесь, что привязка к сетке ВКЛЮЧЕНА (<strong><em>Настройки</em></strong><strong><em>Переключить сетку привязки</em></strong> [<strong><em>Options</em></strong><strong><em>Toggle Snap On/Off</em></strong>] или <kbd>O</kbd> <kbd>S</kbd>).</div>
87 </li>
88 <li class="level1"><div class="li"> Убедитесь, что шаг сетки привязки установлен в 100 (<strong><em>Настройки</em></strong><strong><em>Шаг сетки привязки…</em></strong> [<strong><em>Options</em></strong><strong><em>Snap Grid Spacing…</em></strong>] или <kbd>O</kbd> <kbd>Shift</kbd>+<kbd>S</kbd>).</div>
89 </li>
90 </ol>
92 </div>
93 <!-- EDIT4 SECTION "Подготовка" [1341-4085] -->
94 <h3 class="sectionedit5" id="черчение_символа">Черчение символа</h3>
95 <div class="level3">
97 <p>
98 С помощью инструментов <code>Линия</code>, <code>Прямоугольник</code>, <code>Окружность</code>,
99 <code>Дуга</code> (которые можно выбрать в меню <strong><em>Добавить</em></strong> [<strong><em>Add</em></strong>])
100 создайте условное графическое обозначение своего устройства. Убедитесь, что
101 единственный цвет, который вы использовали, это &#039;Graphic&#039; (зелёный). Не
102 помещайте никаких выводов устройства до следующего шага.
103 </p>
106 Для проверки того, какой цвет используется для черчения, откройте меню
107 <strong><em>Правка</em></strong><strong><em>Цвет…</em></strong> [<strong><em>Edit</em></strong><strong><em>Color…</em></strong>] (или
108 нажмите <kbd>E</kbd> <kbd>O</kbd>).
109 </p>
111 </div>
112 <!-- EDIT5 SECTION "Черчение символа" [4086-4984] -->
113 <h3 class="sectionedit6" id="размещение_выводов">Размещение выводов</h3>
114 <div class="level3">
117 Если вы решили, что ваш символ будет графическим (т. е. не будет ни к чему
118 подключаться, а будет просто картинкой), то этот шаг можно пропустить.
119 </p>
122 Добавьте свой первый вывод.
123 </p>
124 <ol>
125 <li class="level1"><div class="li"> Выберите <strong><em>Добавить</em></strong><strong><em>Вывод</em></strong> [<strong><em>Add</em></strong><strong><em>Pin</em></strong>], или нажмите <kbd>A</kbd> <kbd>P</kbd>. После этого щёлкните в том месте, где должен быть конец вывода, и переместите мышь к краю своего символа. Около вашего нового вывода должны появиться &#039;0&#039; и слово &#039;unknown&#039;. Обратите внимание, что направление вычерчивания выводов важно. Если их чертить от края символа наружу, то текст окажется снаружи символа!</div>
126 </li>
127 <li class="level1"><div class="li"> Щёлкните по инструменту выделения и выделите им вывод, который вы только что нарисовали. Цвет самого вывода и относящегося к нему текста должен измениться, а на концах вывода должны появиться квадратики.</div>
128 </li>
129 <li class="level1"><div class="li"> Выберите <strong><em>Правка</em></strong><strong><em>Правка…</em></strong> [<strong><em>Edit</em></strong><strong><em>Edit…</em></strong>] или нажмите <kbd>E</kbd> <kbd>E</kbd> (или щёлкните правой кнопкой и выберите <strong><em>Правка…</em></strong> [<strong><em>Edit…</em></strong>]). Тогда для вывода появится диалоговое окно редактирования.</div>
130 </li>
131 </ol>
134 В диалоговом окне редактирования своего нового вывода вы должны увидеть
135 четыре атрибута (четыре пары <code>имя=значение</code>), уже прикреплённых к нему.
136 Эти атрибуты можно отредактировать, щёлкая сначала по атрибуту в списке
137 вверху окна редактирования, затем по полю, которое вы хотите изменить.
138 Учтите, что когда что-то выделено, это не отражается в разделе диалогового
139 окна <strong>Добавить атрибут</strong>, так как этот раздел предназначен только для
140 добавления, а не для редактирования уже имеющихся атрибутов.
141 </p>
144 Давайте взглянем на каждый из атрибутов, уже прикреплённых к вашему выводу,
145 и изменим некоторые значения. Я предлагаю увеличить размер окна
146 редактирования так, чтобы было видно все атрибуты.
147 </p>
148 <ul>
149 <li class="level1"><div class="li"> У каждого вывода должен быть атрибут <code>pinseq</code>. Это число, определяющее порядок работы программы <strong>gnetlist</strong> с атрибутами. Для нашего первого вывода начнём эту последовательность с &#039;1&#039; и будем последовательно увеличивать этот номер по мере добавления выводов.</div>
150 </li>
151 <li class="level1"><div class="li"> У каждого вывода должен быть атрибут <code>pinnumber</code>. Это номер вывода на корпусе компонента, для которого создаётся этот символ. Номер вывода может быть буквенным или цифровым (то есть можно использовать, например, <code>E</code> или <code>C</code>).</div>
152 </li>
153 <li class="level1"><div class="li"> У каждого вывода должен быть также атрибут <code>pinlabel</code>. Данный атрибут является названием или меткой вывода (а не номером вывода).</div>
154 </li>
155 <li class="level1"><div class="li"> У каждого вывода должен быть также атрибут <code>pintype</code>. Данный атрибут определяет тип вывода.</div>
156 </li>
157 <li class="level1"><div class="li"> Атрибуты <code>pinseq</code> и <code>pinnumber</code> нескольких выводов сразу можно пронумеровать автоматически с помощью <strong><em>Атрибуты</em></strong><strong><em>Автонумерация…</em></strong> [<strong><em>Attributes</em></strong><strong><em>Autonumber Text…</em></strong>].</div>
158 </li>
159 </ul>
162 Допустимыми значениями <code>pintype</code> являются: <code>in</code>, <code>out</code>, <code>io</code>,
163 <code>oc</code>, <code>oe</code>, <code>pas</code>, <code>tp</code>, <code>tri</code>, <code>clk</code>, <code>pwr</code>. Более подробную
164 информацию о нём см. в <a href="geda-master_attributes_list.ru.html#pintype" class="wikilink1" title="geda-master_attributes_list.ru.html">Перечне основных
165 атрибутов</a>.
166 </p>
168 </div>
169 <!-- EDIT6 SECTION "Размещение выводов" [4985-9939] -->
170 <h3 class="sectionedit7" id="добавление_атрибутов_к_символу">Добавление атрибутов к символу</h3>
171 <div class="level3">
174 Чтобы использовать символ с пользой в <strong>gschem</strong> и других программах, он
175 должен содержать несколько атрибутов (в виде пар <code>имя=значение</code>).
176 </p>
179 Сначала мы добавим все нужные нам атрибуты, а затем отключим видимость тех
180 из них, которые должны быть невидимыми.
181 </p>
182 <ol>
183 <li class="level1"><div class="li"> В символ нужно добавить атрибут <code>device=НАЗВАНИЕ_УСТРОЙСТВА</code>. Название устройства не должно содержать ничего, кроме прописных букв, дефисов, чисел и символов подчёркивания. Если символ определяет чисто графический объект, то значение атрибута <code>device=</code> должно быть <code>none</code> (<code>device=none</code>).</div>
184 </li>
185 <li class="level1"><div class="li"> В чисто графический символ (такой как, например, рамка формата основной надписи или символ <em><code>decon</code></em>) следует добавить атрибут <code>graphical=1</code>. Этот атрибут показывает, что содержащий его символ не имеет электрического или схемотехнического назначения. Не забывайте согласно предыдущему требованию устанавливать вместе с данным атрибутом <code>device=none</code>.</div>
186 </li>
187 <li class="level1"><div class="li"> В символе должен быть атрибут <code>description=ТЕКСТ</code>. <code>ТЕКСТ</code> должен представлять собой однострочное описание символа.</div>
188 </li>
189 <li class="level1"><div class="li"> В символе должен быть атрибут <code>footprint=ИМЯ_КОРПУСА</code>, он может использоваться <a href="geda-glossary.ru.html#генератор_списка_соединений" class="wikilink1" title="geda-glossary.ru.html">генератором списка соединений</a> для <strong>pcb</strong>. <code>ИМЯ_КОРПУСА</code> представляет собой <a href="geda-glossary.ru.html#посадочное_место" class="wikilink1" title="geda-glossary.ru.html">посадочное место</a> для <strong>pcb</strong> или тип корпуса, такой как DIP14 или DIP40. Подробности см. в <a href="geda-pcb_footprint_naming_conventions.ru.html" class="wikilink1" title="geda-pcb_footprint_naming_conventions.ru.html"> Соглашениях по именованию посадочных мест</a>. Если вы используете <strong>gEDA</strong> в связке с <strong>pcb</strong>, то более подробную информацию по данному атрибуту и о том, как его использовать, вы найдёте в <a href="http://pcb.geda-project.org/manual.html" class="urlextern" title="http://pcb.geda-project.org/manual.html" rel="nofollow">документации по pcb</a> и в <em><code>gnetlist/docs/README.pcb</code></em>.</div>
190 </li>
191 <li class="level1"><div class="li"> Атрибут <code>refdes=</code> должен помещаться во все символы, не являющиеся чисто графическими. Значение данного атрибута по умолчанию для микросхем должно быть <code>U?</code>, а для транзисторов <code>T?</code>. Видимым следует сделать только его значение и, когда символ будет помещён в схему, данный атрибут будет вынесен (прикреплён вне символа для обеспечения возможности его редактирования).</div>
192 </li>
193 <li class="level1"><div class="li"> Атрибут <code>numslots=</code> нужно добавлять во все символы, чтобы предотвратить предупреждения, выдаваемые программой <strong>gsymcheck</strong> при их проверке. Вполне достаточно добавить <code>numslots=1</code>.</div>
194 </li>
195 </ol>
198 Теперь, когда все эти атрибуты добавлены, сделайте <code>numslots</code>,
199 <code>footprint</code>, <code>description</code>, <code>graphical</code> и <code>device</code> невидимыми.
200 Оставьте видимым только значение атрибута <code>refdes</code> и расположите его
201 где-нибудь над символом.
202 </p>
204 </div>
205 <!-- EDIT7 SECTION "Добавление атрибутов к символу" [9940-14154] -->
206 <h3 class="sectionedit8" id="завершение">Завершение</h3>
207 <div class="level3">
208 <ol>
209 <li class="level1"><div class="li"> Добавьте к своему символу обозначение, выбрав <strong><em>Добавить</em></strong><strong><em>Текст…</em></strong> [<strong><em>Add</em></strong><strong><em>Text…</em></strong>] или нажав <kbd>A</kbd> <kbd>T</kbd>. Наберите своё обозначение и переместите его в верхнюю часть символа.</div>
210 </li>
211 <li class="level1"><div class="li"> Сместите символ в начало координат из меню <strong><em>Правка</em></strong><strong><em>Смещение символа…</em></strong><br/>
212 [<strong><em>Edit</em></strong><strong><em>Symbol Translate…</em></strong>] или нажмите <kbd>E</kbd> <kbd>T</kbd>.</div>
213 </li>
214 <li class="level1"><div class="li"> Введите <code>0</code> в поле ввода и нажмите <strong>OK</strong>.</div>
215 </li>
216 <li class="level1"><div class="li"> Сохраните символ с помощью <strong><em>Файл</em></strong><strong><em>Сохранить</em></strong> [<strong><em>File</em></strong><strong><em>Save</em></strong>] или <strong><em>Файл</em></strong><strong><em>Сохранить как…</em></strong> [<strong><em>File</em></strong><strong><em>Save As…</em></strong>].</div>
217 </li>
218 <li class="level1"><div class="li"> Поместите символ в один из каталогов, заданных как библиотека символов в файле настроек gEDA suite (в одном из файлов <em><code>gafrc</code></em>). Объяснение того, как настроить библиотеки символов см. в <a href="geda-gschem_ug-config.ru.html" class="wikilink1" title="geda-gschem_ug-config.ru.html">Руководстве пользователя gEDA gschem</a>. Как только это сделано, символ должен немедленно стать видимым и может быть выбран и помещён в схему из меню <strong><em>Добавить</em></strong><strong><em>Компонент…</em></strong> [<strong><em>Add</em></strong><strong><em>Select Component…</em></strong>]. В Debian помещение файлов в <em><code>/usr/share/gEDA/sym/local/</code></em> работать будет, но потребует настройки привилегий.</div>
219 </li>
220 </ol>
222 </div>
224 <h4 id="примечание">Примечание</h4>
225 <div class="level4">
228 Смещение символа в начало координат — шаг необходимый. Для смещения
229 символа в другое место введите величину смещения (в милах), кратную 100.
230 Убедитесь, что все выводы привязаны к точкам сетки.
231 </p>
233 </div>
234 <!-- EDIT8 SECTION "Завершение" [14155-16360] -->
235 <h2 class="sectionedit9" id="общие_соглашения_об_именовании_символов">Общие соглашения об именовании символов</h2>
236 <div class="level2">
237 <ol>
238 <li class="level1"><div class="li"> Символы именуются следующим образом: <em><code>symbolname-#.sym</code></em></div>
239 </li>
240 <li class="level1"><div class="li"> Имена символов имеют расширение <em><code>.sym</code></em>.</div>
241 </li>
242 <li class="level1"><div class="li"> Названия символов содержат число, обозначенное выше знаком <em><code>#</code></em>. Обычно оно равно 1, но если для устройства имеется несколько символов, данное число просто увеличивается.</div>
243 </li>
244 <li class="level1"><div class="li"> Обычно имена символов задаются в нижнем регистре, но буквы, составляющие часть типа прибора, указываются в верхнем регистре.</div>
245 </li>
246 <li class="level1"><div class="li"> Последнее правило может быть нарушено, если имя файла выглядит некорректно или ошибочно.</div>
247 </li>
248 </ol>
250 </div>
251 <!-- EDIT9 SECTION "Общие соглашения об именовании символов" [16361-17343] -->
252 <h2 class="sectionedit10" id="требования_к_символам">Требования к символам</h2>
253 <div class="level2">
256 В данном разделе описываются различные требования, которые необходимо
257 соблюдать для создания правильного символа в плане отображения его на экране
258 и создания для него <a href="geda-glossary.ru.html#список_соединений" class="wikilink1" title="geda-glossary.ru.html">списков
259 соединений</a> в системе gEDA/gaf.
260 </p>
262 </div>
263 <!-- EDIT10 SECTION "Требования к символам" [17344-17826] -->
264 <h3 class="sectionedit11" id="выводы">Выводы</h3>
265 <div class="level3">
266 <ol>
267 <li class="level1"><div class="li"> К каждому выводу должен быть прикреплён атрибут <code>pinseq</code>. Это число, определяющее порядок работы программы <strong>gnetlist</strong> с атрибутами. Это просто порядковый номер, последовательно увеличивающийся, начиная с 1.</div>
268 </li>
269 <li class="level1"><div class="li"> К каждому выводу должен быть прикреплён атрибут <code>pinnumber</code>. Это номер вывода на корпусе компонента, для которого создаётся этот символ. Номер вывода может быть буквенным или цифровым (то есть можно использовать, например, <code>E</code> или <code>C</code>).</div>
270 </li>
271 <li class="level1"><div class="li"> К каждому выводу должен быть также прикреплён атрибут <code>pinlabel</code>. Данный атрибут является названием или меткой вывода (а не номером вывода). Данный атрибут применяется также при использовании символа в иерархической схеме.</div>
272 </li>
273 <li class="level1"><div class="li"> К каждому выводу должен быть также прикреплён атрибут <code>pintype</code>. Данный атрибут определяет тип вывода. Допустимыми значениями являются: <code>in</code>, <code>out</code>, <code>io</code>, <code>oc</code>, <code>oe</code>, <code>pas</code>, <code>tp</code>, <code>tri</code>, <code>clk</code>, <code>pwr</code>. Более подробную информацию о нём см. в <a href="geda-master_attributes_list.ru.html#pintype" class="wikilink1" title="geda-master_attributes_list.ru.html">Перечне основных атрибутов</a>.</div>
274 </li>
275 </ol>
277 </div>
278 <!-- EDIT11 SECTION "Выводы" [17827-19548] -->
279 <h3 class="sectionedit12" id="атрибуты">Атрибуты</h3>
280 <div class="level3">
283 Более подробную информацию о представленных здесь атрибутах можно найти в
284 <a href="geda-master_attributes_list.ru.html" class="wikilink1" title="geda-master_attributes_list.ru.html">Перечне основных атрибутов</a>.
285 </p>
286 <ol>
287 <li class="level1"><div class="li"> В символе должен находиться невидимый атрибут <code>device=НАЗВАНИЕ_УСТРОЙСТВА</code>. Обычно название устройства задаётся в верхнем регистре (прописными буквами). Данный атрибут не должен использоваться в качестве обозначения. Для этого следует использовать отдельный текстовый объект. Если символ определяет чисто графический объект, то <code>device=</code> должен иметь значение <code>none</code> (<code>device=none</code>).</div>
288 </li>
289 <li class="level1"><div class="li"> Если символ является полностью графическим (как, например, рамка формата основной надписи или символ <em><code>decon</code></em>) в нём должен быть атрибут <code>graphical=1</code>. Символы с данным атрибутом не имеют электрического или схемотехнического назначения. Не забывайте согласно предыдущему требованию устанавливать вместе с данным атрибутом <code>device=none</code>.</div>
290 </li>
291 <li class="level1"><div class="li"> В символе должен быть атрибут <code>description=ТЕКСТ</code>. <code>ТЕКСТ</code> должен представлять собой однострочное описание символа.</div>
292 </li>
293 <li class="level1"><div class="li"> В символе должен быть атрибут <code>footprint=ИМЯ_КОРПУСА</code>, он может использоваться <a href="geda-glossary.ru.html#генератор_списка_соединений" class="wikilink1" title="geda-glossary.ru.html">генератором списка соединений</a> для <strong>pcb</strong>. <code>ИМЯ_КОРПУСА</code> представляет собой <a href="geda-glossary.ru.html#посадочное_место" class="wikilink1" title="geda-glossary.ru.html">посадочное место</a> для <strong>pcb</strong> или тип корпуса, такой как DIP14 или DIP40. Подробности см. в <a href="geda-pcb_footprint_naming_conventions.ru.html" class="wikilink1" title="geda-pcb_footprint_naming_conventions.ru.html"> Соглашениях по именованию посадочных мест</a>. Если вы используете <strong>gEDA</strong> в связке с <strong>pcb</strong>, то более подробную информацию по данному атрибуту и о том, как его использовать, вы найдёте в <a href="http://pcb.geda-project.org/manual.html" class="urlextern" title="http://pcb.geda-project.org/manual.html" rel="nofollow">документации по pcb</a> и в <em><code>gnetlist/docs/README.pcb</code></em>.</div>
294 </li>
295 <li class="level1"><div class="li"> Атрибут <code>refdes=U?</code> должен помещаться во все символы, не являющиеся чисто графическими. Видимым следует сделать только его значение и, когда символ будет помещён в схему, данный атрибут будет вынесен (прикреплён вне символа для обеспечения возможности его редактирования).</div>
296 </li>
297 <li class="level1"><div class="li"> Атрибуты <code>label=</code> и <code>name=</code> не должны использоваться в символах, так как это устаревшие атрибуты.</div>
298 </li>
299 <li class="level1"><div class="li"> Атрибут <code>netname=</code> не должен использоваться в символах. Он используется только в схемах.</div>
300 </li>
301 </ol>
303 </div>
305 <h4 id="многосекционные_компоненты">Многосекционные компоненты</h4>
306 <div class="level4">
307 <ol>
308 <li class="level1"><div class="li"> Если компонент содержит несколько элементов (<a href="geda-glossary.ru.html#секция_компонента" class="wikilink1" title="geda-glossary.ru.html">секций</a>) в одном физическом корпусе (как, например, 7400, имеющий 4 элемента 2И-НЕ в одном корпусе), то необходим атрибут <code>numslots=#</code>. Число <code>#</code> задаёт количество элементов в физическом устройстве. В этом случае в символе должен быть атрибут <code>numslots=</code> и его следует сделать невидимым. Другие обязательные атрибуты, относящиеся к <a href="geda-glossary.ru.html#многосекционный_компонент" class="wikilink1" title="geda-glossary.ru.html">многосекционным компонентам</a>, описываются ниже.</div>
309 </li>
310 <li class="level1"><div class="li"> Если компонент содержит несколько элементов (секций) в одном физическом корпусе, то для каждой секции необходимо также задать атрибут <code>slotdef=#:#,#,#…</code> Первое число <code>#</code> соответствует номеру секции. Если устройство содержит 4 элемента, то в символе должны быть атрибуты <code>slotdef=1:…</code>, <code>slotdef=2:…</code>, <code>slotdef=3:…</code> и <code>slotdef=4:…</code>, их следует сделать невидимыми. Последующие числа <code>#</code> один к одному соответствуют атрибутам <code>pinseq=#</code> и определяют номер вывода <code>pinnumber=#</code>, который должен устанавливаться при назначении данной секции. В качестве примера того, как всё это должно работать, см. <a href="#пример" title=":geda:gschem_symbol_creation.ru.txt ↵" class="wikilink1">приведённый ниже символ 7400-1.sym</a>.</div>
311 </li>
312 <li class="level1"><div class="li"> В символы многосекционных компонентов рекомендуется добавлять атрибут <code>slot=1</code>.</div>
313 </li>
314 </ol>
316 </div>
317 <!-- EDIT12 SECTION "Атрибуты" [19549-25330] -->
318 <h2 class="sectionedit13" id="проверка_символа">Проверка символа</h2>
319 <div class="level2">
322 Соответствие всем указанным требованиям проверяется запуском <strong>gsymcheck</strong>.
323 <strong>gsymcheck</strong> выдаст фатальные ошибки, довольно серьёзные и требующие
324 исправления. <strong>gsymcheck</strong> также выдаст предупреждения о требующих
325 исправления, но не фатальных ошибках.
326 </p>
328 </div>
329 <!-- EDIT13 SECTION "Проверка символа" [25331-25808] -->
330 <h2 class="sectionedit14" id="стиль">Стиль</h2>
331 <div class="level2">
334 В данном разделе описывается стиль, используемый в стандартной библиотеке
335 символов gEDA/gaf.
336 </p>
338 </div>
339 <!-- EDIT14 SECTION "Стиль" [25809-25998] -->
340 <h3 class="sectionedit15" id="текстовые_объекты">Текстовые объекты</h3>
341 <div class="level3">
342 <ul>
343 <li class="level1"><div class="li"> Все текстовые обозначения должны быть размером 10 пунктов.</div>
344 </li>
345 <li class="level1"><div class="li"> Текст (текстовые обозначения, но не атрибуты) должен иметь цветовой индекс 9 (text | зелёный).</div>
346 </li>
347 <li class="level1"><div class="li"> Для указания инверсных логических уровней используйте специальное кодирование черты над текстом (например, <code>pinlabel=\_Reset\_</code>).</div>
348 </li>
349 </ul>
351 </div>
352 <!-- EDIT15 SECTION "Текстовые объекты" [25999-26552] -->
353 <h3 class="sectionedit16" id="атрибуты1">Атрибуты</h3>
354 <div class="level3">
355 <ul>
356 <li class="level1"><div class="li"> В качестве номеров выводов должны отображаться атрибуты <code>pinnumber</code> (не <code>pinseq</code>), и их размер должен составлять 8 пунктов.</div>
357 </li>
358 <li class="level1"><div class="li"> Цветовой индекс прикреплённых атрибутов должен быть равен 5 (attributes | жёлтый). Цвет автоматически устанавливается в жёлтый при прикреплении текстового элемента.</div>
359 </li>
360 <li class="level1"><div class="li"> Единственным исключением из данного правила являются атрибуты <code>pinlabel=</code>, цветовой индекс которых должен быть равен 9 (text | зелёный). Если каждый текстовый элемент внутри символа будет жёлтым, символ выглядит чересчур жёлтым.</div>
361 </li>
362 <li class="level1"><div class="li"> Атрибуты могут прикрепляться к некоторой части символа. Раньше, для того чтобы атрибуты верхнего уровня (такие как <code>device=</code> или <code>net=</code>) считались атрибутами, их требовалось к чему-либо прикреплять, но сейчас достаточно, чтобы они находились в файле символа в виде <code>имя_атрибута=значение</code>.</div>
363 </li>
364 <li class="level1"><div class="li"> Раскрывая немного последнее предложение, добавим, что атрибутом считается любой текстовый элемент вида <code>имя_атрибута=значение</code>. Атрибуты внутри символа не обязательно прикреплять к чему-либо. Чтобы увидеть скрытые атрибуты в <strong>gschem</strong>, выберите <strong><em>Правка</em></strong><strong><em>Показать/Скрыть невидимый текст</em></strong> [<strong><em>Edit</em></strong><strong><em>Show/Hide Inv Text</em></strong>].</div>
365 </li>
366 <li class="level1"><div class="li"> В библиотеке <strong>libgeda</strong> есть система работы с версиями содержимого символа на основе оценки атрибута <code>symversion=</code>. Подробности использования этой схемы работы с версиями см. в <a href="geda-master_attributes_list.ru.html#symversion" class="wikilink1" title="geda-master_attributes_list.ru.html">Перечне основных атрибутов</a>.</div>
367 </li>
368 </ul>
370 </div>
371 <!-- EDIT16 SECTION "Атрибуты" [26553-29021] -->
372 <h3 class="sectionedit17" id="графические_примитивы">Графические примитивы</h3>
373 <div class="level3">
374 <ul>
375 <li class="level1"><div class="li"> Цветовой индекс линий, прямоугольников, дуг и других графических объектов должен быть равен 3 (graphic | зелёный).</div>
376 </li>
377 <li class="level1"><div class="li"> Цветовой индекс знаков логической инверсии в виде окружностей должен быть равен 6 (logic bubble | голубой).</div>
378 </li>
379 <li class="level1"><div class="li"> Если вы не уверены в том, как должен выглядеть новый символ или какой он должен быть величины, то, чтобы получить представление о подходящем виде и размере, взгляните на существующие символы.</div>
380 </li>
381 </ul>
383 </div>
384 <!-- EDIT17 SECTION "Графические примитивы" [29022-29819] -->
385 <h3 class="sectionedit18" id="выводы1">Выводы</h3>
386 <div class="level3">
387 <ul>
388 <li class="level1"><div class="li"> Длина выводов должна составлять 300 милов (3 интервала сетки).</div>
389 </li>
390 <li class="level1"><div class="li"> Длина выводов, располагаемых рядом со знаком логической инверсии, должна составлять 200 милов (2 интервала сетки), окружность знака логической инверсии должна иметь диаметр 100 милов. Чтобы начертить окружность диаметром 100 милов, нужно изменить размер сетки на 50.</div>
391 </li>
392 <li class="level1"><div class="li"> Вывод имеет два конца: один помечен красной точкой, другой — нет. Красная точка означает место подключения соединений. Для правильного размещения активного конца можно либо поворачивать сам вывод, либо вручную отредактировать файл символа, изменив параметр «whichend» нужного вывода. Подробности см. в документации по <a href="geda-file_format_spec.ru.html#вывод" class="wikilink1" title="geda-file_format_spec.ru.html">Формату файлов</a>.</div>
393 </li>
394 <li class="level1"><div class="li"> Все концы выводов, предназначенные для соединений, должны размещаться по сетке размером 100 милов. Другие, неактивные концы могут быть при необходимости расположены не по сетке.</div>
395 </li>
396 <li class="level1"><div class="li"> Цветовой индекс для выводов должен быть равен 1 (pins | белый).</div>
397 </li>
398 <li class="level1"><div class="li"> Выводы (по вертикали) следует размещать на расстоянии 400 милов (4 интервала сетки) за исключением вычерчивания специальных символов, в таких случаях просто старайтесь, чтобы символ хорошо выглядел.</div>
399 </li>
400 <li class="level1"><div class="li"> Номера выводов должны располагаться на 50 милов выше вывода, к которому они прикреплены (или ниже; то есть более подходящим по смыслу образом).</div>
401 </li>
402 <li class="level1"><div class="li"> Входные выводы размещаются с левой стороны символа, выходные — с правой.</div>
403 </li>
404 <li class="level1"><div class="li"> Пожалуйста, не помещайте входы и выходы на одну и ту же сторону символа, если в этом нет абсолютной необходимости.</div>
405 </li>
406 <li class="level1"><div class="li"> Можно располагать выводы сверху или снизу символа.</div>
407 </li>
408 <li class="level1"><div class="li"> Порядок последовательности выводов (для шин) должен быть от младшего значащего разряда (МЗР) к старшему (СЗР). При вычерчивании выводов, являющихся частью шины, обеспечьте, чтобы МЗР на шине был расположен наверху (или для выводов, которые располагаются вверху или внизу символа, слева от других выводов). Пример правильного порядка вы найдёте в символе <em><code>74/74181-1.sym</code></em> (сверху вниз от A0 до A3 и от B0 до B3). Нарушение данного правила сильно затруднит подключение к шинам.</div>
409 </li>
410 <li class="level1"><div class="li"> При размещении выводов логических элементов обязательно располагайте выводы начиная с наименьших порядковых номеров сверху вниз (или слева направо) в порядке их увеличения.</div>
411 </li>
412 </ul>
414 </div>
415 <!-- EDIT18 SECTION "Выводы" [29820-33777] -->
416 <h3 class="sectionedit19" id="схемотехника">Схемотехника</h3>
417 <div class="level3">
418 <ul>
419 <li class="level1"><div class="li"> Не чертите выводы питания. Такая информация обычно передаётся посредством атрибутов (смотрите <a href="geda-na_howto.ru.html" class="wikilink1" title="geda-na_howto.ru.html">Мини-HOWTO по атрибуту net=</a>).</div>
420 </li>
421 <li class="level1"><div class="li"> Вышеуказанное правило при необходимости может быть нарушено, но имейте в виду, что в большинстве символов стандартной библиотеки выводы питания не показаны.</div>
422 </li>
423 <li class="level1"><div class="li"> Имейте в виду, что символы должны быть символическими, они не изображают физический корпус устройства.</div>
424 </li>
425 <li class="level1"><div class="li"> По вышеуказанным вопросам есть некоторые разногласия, поэтому следующее тоже будет нормально: располагайте выводы символа логически, так, чтобы они способствовали созданию понятных, незапутанных схем. Заметьте, что часто это не тождественно физическому расположению выводов устройства.</div>
426 </li>
427 </ul>
429 </div>
430 <!-- EDIT19 SECTION "Схемотехника" [33778-35074] -->
431 <h2 class="sectionedit20" id="советы_и_подсказки">Советы и подсказки</h2>
432 <div class="level2">
435 В данном разделе приводится несколько советов и подсказок, чтобы облегчить
436 вам труд по созданию символов.
437 </p>
438 <ul>
439 <li class="level1"><div class="li"> Выводы ДОЛЖНЫ быть выровнены по сетке размером 100.</div>
440 </li>
441 <li class="level1"><div class="li"> Избегайте черчения объектов вне сетки. В противном случае вы не сможете перемещать их командой перемещения (если сетка включена), так как объекты будут прилипать к сетке. [Это старая программная ошибка, которая, думаю, уже исправлена, но всё равно остерегайтесь так делать.] Вместо этого используйте команду смещения символа (или перемещайте объект, отключив сетку).</div>
442 </li>
443 <li class="level1"><div class="li"> При создании символов нормально устанавливать размер сетки меньше 100 (скажем, 10 или 25), только надо помнить, что его надо вернуть обратно в 100, когда вы будете готовы к смещению символа в начало координат.</div>
444 </li>
445 <li class="level1"><div class="li"> Если вы хотите сместить символ куда-то из начала координат, используйте команду <strong><em>Правка</em></strong><strong><em>Смещение символа…</em></strong> [<strong><em>Edit</em></strong><strong><em>Symbol Translate…</em></strong>] и введите число, не равное нулю. Это число должно быть кратным 100 (например, 1000 или 1100).</div>
446 </li>
447 <li class="level1"><div class="li"> Помните, что выводы являются специальными объектами; если вы хотите добавить вывод, убедитесь, что вводите именно вывод, а не линию или соединение. Используйте команду <strong><em>Добавить</em></strong><strong><em>Вывод</em></strong> [<strong><em>Add</em></strong><strong><em>Pin</em></strong>] для черчения вывода.</div>
448 </li>
449 <li class="level1"><div class="li"> Не используйте внутри символа соединений и шин. Это не поддерживается и не имеет особого смысла.</div>
450 </li>
451 <li class="level1"><div class="li"> Для выводов должен быть видимым атрибут <code>pinnumber</code>, может быть вместе с <code>pinlabel</code>, если таковой имеется.</div>
452 </li>
453 </ul>
455 </div>
456 <!-- EDIT20 SECTION "Советы и подсказки" [35075-37666] -->
457 <h2 class="sectionedit21" id="пример">Пример</h2>
458 <div class="level2">
461 В данном разделе приведён простой пример, в котором мы стараемся следовать
462 всем вышеуказанным правилам. Это символ 7400 (И-НЕ).
463 </p>
464 <dl class="code">
465 <dt><a href="/./_export/code/:geda:gschem_symbol_creation.ru.txt?codeblock=0" title="Download Snippet" class="mediafile mf_sym">7400-1.sym</a></dt>
466 <dd><pre class="code gschem">v 20031231 1
467 L 300 200 300 800 3 0 0 0 -1 -1
468 T 300 0 9 8 1 0 0 0 1
469 7400
470 L 300 800 700 800 3 0 0 0 -1 -1
471 T 500 900 5 10 0 0 0 0 1
472 device=7400
473 T 500 1100 5 10 0 0 0 0 1
474 slot=1
475 T 500 1300 5 10 0 0 0 0 1
476 numslots=4
477 T 500 1500 5 10 0 0 0 0 1
478 slotdef=1:1,2,3
479 T 500 1700 5 10 0 0 0 0 1
480 slotdef=2:4,5,6
481 T 500 1900 5 10 0 0 0 0 1
482 slotdef=3:9,10,8
483 T 500 2100 5 10 0 0 0 0 1
484 slotdef=4:12,13,11
485 L 300 200 700 200 3 0 0 0 -1 -1
486 A 700 500 300 270 180 3 0 0 0 -1 -1
487 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
488 P 1100 500 1300 500 1 0 1
490 T 1100 550 5 8 1 1 0 0 1
491 pinnumber=3
492 T 1100 450 5 8 0 1 0 2 1
493 pinseq=3
494 T 950 500 9 8 0 1 0 6 1
495 pinlabel=Y
496 T 950 500 5 8 0 1 0 8 1
497 pintype=out
499 P 300 300 0 300 1 0 1
501 T 200 350 5 8 1 1 0 6 1
502 pinnumber=2
503 T 200 250 5 8 0 1 0 8 1
504 pinseq=2
505 T 350 300 9 8 0 1 0 0 1
506 pinlabel=B
507 T 350 300 5 8 0 1 0 2 1
508 pintype=in
510 P 300 700 0 700 1 0 1
512 T 200 750 5 8 1 1 0 6 1
513 pinnumber=1
514 T 200 650 5 8 0 1 0 8 1
515 pinseq=1
516 T 350 700 9 8 0 1 0 0 1
517 pinlabel=A
518 T 350 700 5 8 0 1 0 2 1
519 pintype=in
521 T 300 900 8 10 1 1 0 0 1
522 refdes=U?
523 T 500 2250 5 10 0 0 0 0 1
524 footprint=DIP14
525 T 500 2450 5 10 0 0 0 0 1
526 description=4 NAND gates with 2 inputs
527 T 500 2850 5 10 0 0 0 0 1
528 net=Vcc:14
529 T 500 3050 5 10 0 0 0 0 1
530 net=GND:7
531 T 500 2650 5 10 0 0 0 0 1
532 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf</pre>
533 </dd></dl>
536 Результат, полученный в данном примере, выглядит в <strong>gschem</strong> следующим
537 образом:
538 </p>
541 <a href="media/geda/symbol_7400-1_hidden.png" class="media" target="_blank" title="geda:symbol_7400-1_hidden.png"><img src="media/geda/symbol_7400-1_hidden.png" class="media" title=":geda:symbol_7400-1_hidden.png" alt=":geda:symbol_7400-1_hidden.png" /></a>
542 </p>
545 Вот тот же самый символ, весь скрытый текст которого видим (меню
546 <strong><em>Правка</em></strong><strong><em>Показать/Скрыть невидимый текст</em></strong> [<strong><em>Edit</em></strong>
547 <strong><em>Show/Hide Inv Text</em></strong>]):
548 </p>
551 <a href="media/geda/symbol_7400-1.png" class="media" target="_blank" title="geda:symbol_7400-1.png"><img src="media/geda/symbol_7400-1.png" class="media" title=":geda:symbol_7400-1.png" alt=":geda:symbol_7400-1.png" /></a>
552 </p>
554 </div>
555 <!-- EDIT21 SECTION "Пример" [37667-] --></body>
556 </html>