This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
geda:faq-gnetlist.ru [2012/05/02 06:30] vzh <xterm> -> <code> |
geda:faq-gnetlist.ru [2014/04/25 15:04] (current) vzh Update using po4a |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | //Эта страница доступна также на следующих языках:// | ||
+ | [[faq-gnetlist|English]], [[faq-gnetlist.fr|Français]]. | ||
+ | |||
====== gnetlist ====== | ====== gnetlist ====== | ||
- | ====== Создание перечня элементов (BOM) ====== | ||
- | Для [[http://geda.seul.org/tools/gnetlist/index.html|gnetlist]] есть пять | + | |
- | разных драйверов экспорта перечня элементов. Они вызываются с помощью ключа | + | ====== Создание перечня элементов (BOM) ====== |
- | ''-g'', при этом ключом ''-o'' необходимо задать имя выходного файла: | + | Для **gnetlist** есть пять разных драйверов экспорта перечня элементов. Они |
+ | вызываются с помощью ключа ''-g'', при этом ключом ''-o'' необходимо задать | ||
+ | имя выходного файла: | ||
<code> | <code> | ||
gnetlist -g partslist3 -o output.bom schematic.sch | gnetlist -g partslist3 -o output.bom schematic.sch | ||
</code> | </code> | ||
- | **gnetlist** спускается в листы подсхем и перечисляет их содержимое | + | **gnetlist** спускается в листы подсхем и перечисляет их содержимое вместе с |
- | вместе с компонентами из основного документа. | + | компонентами из основного документа. |
- | Для драйверов **bom** и **bom2** должен быть доступен на чтение локальный файл | + | Для драйверов **bom** и **bom2** должен быть доступен на чтение локальный |
- | //''attribs''//. В этом файле в виде отдельных строк должны содержаться | + | файл //''attribs''//. В этом файле в виде отдельных строк должны содержаться |
имена атрибутов, которые должны быть приведены в перечне. Например: | имена атрибутов, которые должны быть приведены в перечне. Например: | ||
<code> | <code> | ||
Line 26: | Line 30: | ||
Драйверы по-разному перечисляют и сортируют компоненты в текстовом файле. | Драйверы по-разному перечисляют и сортируют компоненты в текстовом файле. | ||
Выберите тот, который вам больше нравится: | Выберите тот, который вам больше нравится: | ||
- | |||
=== bom === | === bom === | ||
Драйверу **bom** нужен файл //''attribs''// (см. выше). В перечне, | Драйверу **bom** нужен файл //''attribs''// (см. выше). В перечне, | ||
произведённом с помощью **''-g bom''**, будет содержаться столько строк, | произведённом с помощью **''-g bom''**, будет содержаться столько строк, | ||
- | сколько имеется компонентов. Столбцы разделяются знаками табуляции. Строки не | + | сколько имеется компонентов. Столбцы разделяются знаками табуляции. Строки |
- | сортируются. | + | не сортируются. |
=== bom2 === | === bom2 === | ||
- | Драйверу **bom2** также нужен файл //''attribs''//. С помощью **''-g bom2''** | + | Драйверу **bom2** также нужен файл //''attribs''//. С помощью **''-g |
- | одинаковые позиционные обозначения компонентов будут собраны в одну строку. | + | bom2''** одинаковые позиционные обозначения компонентов будут собраны в одну |
- | Столбцы разделяются двоеточиями. Несколько элементов в одном и том же столбце | + | строку. Столбцы разделяются двоеточиями. Несколько элементов в одном и том |
- | разделяются запятыми. | + | же столбце разделяются запятыми. |
=== partslist1 === | === partslist1 === | ||
Line 46: | Line 47: | ||
компонента. Строки сортируются в алфавитном порядке по позиционному | компонента. Строки сортируются в алфавитном порядке по позиционному | ||
обозначению (''refdes''). Используются столбцы ''refdes'', ''device'', | обозначению (''refdes''). Используются столбцы ''refdes'', ''device'', | ||
- | ''value'', ''footprint'' и ''quantity''. Так как каждая строка содержит только | + | ''value'', ''footprint'' и ''quantity''. Так как каждая строка содержит |
- | один компонент, количество (''quantity'') всегда равно ''1''. | + | только один компонент, количество (''quantity'') всегда равно ''1''. |
=== partslist2 === | === partslist2 === | ||
Данный драйвер производит вывод, подобный выводу **partslist1**. Строки | Данный драйвер производит вывод, подобный выводу **partslist1**. Строки | ||
сортируются по значению атрибута ''device''. | сортируются по значению атрибута ''device''. | ||
- | |||
=== partslist3 === | === partslist3 === | ||
Драйвер **partslist3** собирает все компоненты с одинаковым значением в одну | Драйвер **partslist3** собирает все компоненты с одинаковым значением в одну | ||
- | строку, очень похоже на **bom2**. Строки сортируются по атрибутам ''value'' и | + | строку, очень похоже на **bom2**. Строки сортируются по атрибутам ''value'' |
- | ''device''. Четвёртый столбец сообщает количество компонентов в строке. | + | и ''device''. Четвёртый столбец сообщает количество компонентов в строке. |
Столбцы разделяются знаками табуляции, элементы --- пробелами. | Столбцы разделяются знаками табуляции, элементы --- пробелами. | ||
- | |||
====== Проверка соответствия проектным нормам (DRC) ====== | ====== Проверка соответствия проектным нормам (DRC) ====== | ||
Line 66: | Line 64: | ||
Можно проверять схемы с помощью драйвера **drc2** для **gnetlist**. Он | Можно проверять схемы с помощью драйвера **drc2** для **gnetlist**. Он | ||
проверит схемы на предмет самых общих ошибок, таких как одинаковые | проверит схемы на предмет самых общих ошибок, таких как одинаковые | ||
- | обозначения, неподключенные выводы, неиспользуемые | + | обозначения, неподключенные выводы, неиспользуемые [[geda:glossary.ru#Секция |
- | [[geda:glossary.ru#Секция компонента|секции многосекционных компонентов]] и прочее. | + | компонента|секции многосекционных компонентов]] и прочее. |
Запустите драйвер **drc2** следующей командой: | Запустите драйвер **drc2** следующей командой: | ||
<code>gnetlist -g drc2 -o MyDesign.drc MyDesign.sch</code> | <code>gnetlist -g drc2 -o MyDesign.drc MyDesign.sch</code> | ||
- | Этой командой указывается, что вывод DRC | + | Вывод DRC ([[geda:glossary.ru#Проверка соответствия проектным |
- | ([[geda:glossary.ru#Проверка соответствия проектным нормам|проверки на соответствие проектным нормам]]) | + | нормам|проверки на соответствие проектным нормам]]) записывается этой |
- | должен записываться в файл | + | командой в файл //''MyDesign.drc''//. Этот файл можно затем открыть в |
- | //''MyDesign.drc''//. Затем этот файл можно открыть в текстовом редакторе и | + | текстовом редакторе и посмотреть предупреждения и ошибки DRC. |
- | посмотреть предупреждения и ошибки DRC. | + | |
===== Как увидеть вывод DRC на экране, без записи в файл? ===== | ===== Как увидеть вывод DRC на экране, без записи в файл? ===== | ||
Line 84: | Line 80: | ||
Вы увидите вывод DRC непосредственно на экране. | Вы увидите вывод DRC непосредственно на экране. | ||
- | |||
===== Я хочу запретить некоторые из проверок DRC для схем. Как это сделать? ===== | ===== Я хочу запретить некоторые из проверок DRC для схем. Как это сделать? ===== | ||
Line 107: | Line 102: | ||
Есть и несколько других продвинутых команд для изменения матрицы DRC и типов | Есть и несколько других продвинутых команд для изменения матрицы DRC и типов | ||
- | выводов, которые можно считать питающими подключениями. Посмотрите файл драйвера | + | выводов, которые можно считать питающими подключениями. Посмотрите файл |
- | //''gnet-drc2.scm''// в текстовом редакторе. Там, в начале, есть документация. | + | драйвера //''gnet-drc2.scm''// в текстовом редакторе. Там, в начале, есть |
+ | документация. | ||
Скопируйте нужное вам из вышеуказанных строк в файл (например, | Скопируйте нужное вам из вышеуказанных строк в файл (например, | ||
Line 115: | Line 111: | ||
<code>gnetlist -g drc2 -l drc_rules.txt -o MyDesign.drc MyDesign.sch</code> | <code>gnetlist -g drc2 -l drc_rules.txt -o MyDesign.drc MyDesign.sch</code> | ||
- | Вывод DRC записывается этой командой в файл //''MyDesign.drc''//. Этот файл | + | Вывод DRC ([[geda:glossary.ru#Проверка соответствия проектным |
- | можно затем открыть в текстовом редакторе и посмотреть предупреждения и ошибки. | + | нормам|проверки на соответствие проектным нормам]]) записывается этой |
+ | командой в файл //''MyDesign.drc''//. Этот файл можно затем открыть в | ||
+ | текстовом редакторе и посмотреть предупреждения и ошибки DRC. | ||
===== Можно ли включить проверку соответствия проектным нормам в Makefile и при нахождении ошибок или предупреждений останавливать обработку? ===== | ===== Можно ли включить проверку соответствия проектным нормам в Makefile и при нахождении ошибок или предупреждений останавливать обработку? ===== | ||
Line 125: | Line 122: | ||
gnetlist -g drc2 $(objects).sch -o $(objects).drc</code> | gnetlist -g drc2 $(objects).sch -o $(objects).drc</code> | ||
- | Если вы собираетесь моделировать работу своей схемы, в Makefile можно добавить | + | Если вы собираетесь моделировать работу своей схемы, в Makefile можно |
- | следующее: | + | добавить следующее: |
<code>$(objects).cir : $(objects).sch $(objects).drc | <code>$(objects).cir : $(objects).sch $(objects).drc | ||
grep -v ERROR $(objects).drc >/dev/null 2>&1 | grep -v ERROR $(objects).drc >/dev/null 2>&1 | ||
gnetlist -g spice-sdb $(objects).sch -o $(objects).cir</code> | gnetlist -g spice-sdb $(objects).sch -o $(objects).cir</code> | ||
- | Если нет, возьмите вышеуказанный пример и адаптируйте его для | + | Если нет, возьмите вышеуказанный пример и адаптируйте его для используемого |
- | используемого вами рабочего процесса. | + | вами рабочего процесса. |
===== Некоторые предупреждения, выдаваемые для моего проекта, мне уже известны. Можно ли сделать так, чтобы они не учитывались в возвращаемом значении? ===== | ===== Некоторые предупреждения, выдаваемые для моего проекта, мне уже известны. Можно ли сделать так, чтобы они не учитывались в возвращаемом значении? ===== | ||
Line 140: | Line 136: | ||
Будьте осторожны с этим! Вы вообще никаких предупреждений не увидите! | Будьте осторожны с этим! Вы вообще никаких предупреждений не увидите! | ||
+ | ====== Проблемы сборки и работы gnetlist ====== | ||
+ | ===== При работе gnetlist я получаю ошибку "parenthesis mismatch" (несоответствие скобок). Что происходит? ===== | ||
- | ====== Проблемы сборки и работы gnetlist ====== | + | Начиная с **Fedora Core 6** и **SuSE 10.2**, многие пользователи сообщали об |
- | ===== При работе gnetlist я получаю ошибку "parenthesis mismatch" (несоответствие скобок). Что происходит? ===== | + | ошибке, выглядящей подобным образом: |
- | Начиная с **Fedora Core 6** и **SuSE 10.2**, многие пользователи сообщали | + | |
- | об ошибке, выглядящей подобным образом: | + | |
<code> | <code> | ||
Line 156: | Line 152: | ||
Remember to check that your schematic has no errors using the drc2 backend. | Remember to check that your schematic has no errors using the drc2 backend. | ||
- | You can do it running 'gnetlist -g drc2 your_schematic.sch -o drc_output.txt' | + | You can do it running 'gnetlist -g drc2 your_schematic.sch -o |
- | and seeing the contents of the file drc_output.txt. | + | drc_output.txt' and seeing the contents of the file drc_output.txt. |
Loading schematic [/home/nano/TwoStageAmp/TwoStageAmp.sch] | Loading schematic [/home/nano/TwoStageAmp/TwoStageAmp.sch] | ||
Line 165: | Line 161: | ||
</code> | </code> | ||
- | Эта проблема обнаруживается для нескольких драйверов **gnetlist**, | + | Эта проблема обнаруживается для нескольких драйверов **gnetlist**, включая |
- | включая **spice-sdb** и **drc2**. | + | **spice-sdb** и **drc2**. |
Это программная ошибка в **guile-1.8.X**. Разработчики gEDA работают над | Это программная ошибка в **guile-1.8.X**. Разработчики gEDA работают над | ||
- | исправлением. Пока попробуйте откатить **guile** к версии 1.6.7, которая, как | + | исправлением. Пока попробуйте откатить **guile** к версии 1.6.7, которая, |
- | известно, работает с gEDA безупречно. | + | как известно, работает с gEDA безупречно. |
===== Драйвер gnetlist bom не работает. В чём дело? ===== | ===== Драйвер gnetlist bom не работает. В чём дело? ===== | ||
Если при запуске **gnetlist** следующим образом | Если при запуске **gnetlist** следующим образом | ||
<code>gnetlist -g bom filename.sch</code> | <code>gnetlist -g bom filename.sch</code> | ||
+ | |||
выводится сообщение об ошибке | выводится сообщение об ошибке | ||
<code>Loading schematic [filename.sch] | <code>Loading schematic [filename.sch] | ||
Line 186: | Line 182: | ||
value</code> | value</code> | ||
- | Информацию по созданию BOM смотрите | + | Информацию по созданию BOM смотрите [[#Создание перечня элементов (BOM)| |
- | [[#Создание перечня элементов (BOM)| выше]]. | + | выше]]. |
===== Некоторые драйверы gnetlist приводят к переполнению стека. Как это исправить? ===== | ===== Некоторые драйверы gnetlist приводят к переполнению стека. Как это исправить? ===== | ||
- | Если при обработке определённой схемы большого размера некоторыми драйверами вы | + | Если при обработке определённой схемы большого размера некоторыми драйверами |
- | получаете такое сообщение об ошибке | + | вы получаете такое сообщение об ошибке |
<code>ERROR: Stack overflow</code> | <code>ERROR: Stack overflow</code> | ||
+ | |||
добавьте следующее в файл //''~/.gEDA/gnetlistrc''// или локальный | добавьте следующее в файл //''~/.gEDA/gnetlistrc''// или локальный | ||
//''gnetlistrc''// (в текущем рабочем каталоге): | //''gnetlistrc''// (в текущем рабочем каталоге): | ||
Line 203: | Line 199: | ||
начало данного файла. Драйверы **gnetlist** можно найти в каталоге | начало данного файла. Драйверы **gnetlist** можно найти в каталоге | ||
//''${prefix}/share/gEDA/scheme''//. Также отправьте электронное письмо в | //''${prefix}/share/gEDA/scheme''//. Также отправьте электронное письмо в | ||
- | рассылку //geda-user//, чтобы напомнить разработчикам исправить это. Запомните, | + | рассылку //geda-user//, чтобы напомнить разработчикам исправить |
- | прежде чем писать в //geda-user//, вам нужно подписаться на этот список | + | это. Запомните, прежде чем писать в //geda-user//, вам нужно подписаться на |
- | рассылки. | + | этот список рассылки. |
===== gnetlist создал список соединений с дублированными выводами!? ===== | ===== gnetlist создал список соединений с дублированными выводами!? ===== | ||
Line 222: | Line 217: | ||
Пока разработчики спорят, считать ли это ошибкой **gnetlist** или нет, вам | Пока разработчики спорят, считать ли это ошибкой **gnetlist** или нет, вам | ||
- | следует обеспечить, чтобы соединения, особенно там, где выводы подключаются и | + | следует обеспечить, чтобы соединения, особенно там, где выводы подключаются |
- | к другим соединениям, были начерчены явно. Как вышеуказанные соединения должны | + | и к другим соединениям, были начерчены явно. Как вышеуказанные соединения |
- | вычерчиваться, чтобы список соединений создавался правильно, показано на | + | должны вычерчиваться, чтобы список соединений создавался правильно, показано |
- | этом рисунке: | + | на этом рисунке: |
{{:geda:ambiguous1_fixed.ru.png}} | {{:geda:ambiguous1_fixed.ru.png}} | ||