Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Посоветуйте многопоточный Spice-симулятор
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Rst7
Любимый Micro-cap, как оказалось после апгрейда компа (Core i7, 4 горшка, соответственно - 8 потоков), считает все в один поток. Остальные ядра курят бамбук. Отсюда собственно и вопрос, сформулированный в названии темы.

Гугль, конечно, какие-то результаты дает, но хотелось бы еще и описания личного опыта услышать.
SM
hspice - в ней hspice_mt - лучше спайса вряд-ли существует в природе
Rst7
Цитата
hspice


Раз. Спасибо. А там здоровый пакет? Надеюсь, не весь Синопсис надо стелить?
zzzzzzzz
Цитата(Rst7 @ Mar 14 2010, 19:48) *
Раз. Спасибо. А там здоровый пакет? Надеюсь, не весь Синопсис надо стелить?
Да он под вин чаще отдельным пакетом бродит, чем под лин.

Два. T-Spice из пакета ТаннерТулз давно все ядра использует. 8-точно. Хотя, он несколько медленнее, чем H-Spice.

Для просмотра результатов под виндами рекомендую Спайс Эксплорер.
SM
Цитата(Rst7 @ Mar 14 2010, 19:48) *
Раз. Спасибо. А там здоровый пакет? Надеюсь, не весь Синопсис надо стелить?

там маленький пакет. сама считалка, средненький просмотрщик результатов, и доки. А вот рисовалку схематики надо прикручивать какую-то, встроенной нету и никогда не было.
Rst7
Цитата
там маленький пакет.


Это отлично. А с рисовалкой придумаем что-нибудь...
zzzzzzzz
Цитата(Rst7 @ Mar 14 2010, 20:06) *
Это отлично. А с рисовалкой придумаем что-нибудь...
Да рисовать можете и в своем любимом капе.
SM
Цитата(zzzzzzzz @ Mar 14 2010, 20:39) *
Да рисовать можете и в своем любимом капе.

но в пакетах, интегрирующихся со спайсом удобнее - из-под них можно симуляцию запускать, они могут в узлах схемы отображать рассчитанную информацию. Например тот же старичок Cosmos SE
backa
Цитата(SM @ Mar 14 2010, 19:39) *
hspice - в ней hspice_mt - лучше спайса вряд-ли существует в природе

привет - может подскажете (можно в личку) где можно слить-попробовать сей пакет - в закромах не нашёл ...
SM
Цитата(backa @ Mar 16 2010, 10:50) *
в закромах не нашёл ...

ищите лучше. Их там есть.
zzzzzzzz
Цитата(SM @ Mar 14 2010, 20:45) *
но в пакетах, интегрирующихся со спайсом удобнее - из-под них можно симуляцию запускать, они могут в узлах схемы отображать рассчитанную информацию. Например тот же старичок Cosmos SE
Хтож спорит? Само собой. Я всю мелочь только в связке S-Edit-T-Spice-W-Edit гоняю. Если не хватает, то в бой вступает H-Spice или H-Sim. Удобство в работе жизненно необходимо, чтобы не думать о лишних движениях, а только о задаче.
Vlad01
Цитата(zzzzzzzz @ Mar 16 2010, 12:04) *
Хтож спорит? Само собой. Я всю мелочь только в связке S-Edit-T-Spice-W-Edit гоняю. Если не хватает, то в бой вступает H-Spice или H-Sim. Удобство в работе жизненно необходимо, чтобы не думать о лишних движениях, а только о задаче.


Пользователи Spice, ответьте, пожалуйста, на вопрос, как в источнике напряжения управляемым током (ИНУТ) правильно указать второй независимый источник. Spice создает ИНУТ в виде подсхемы, из которой "не видится" независимый источник в главной схеме. Ниже приведен фрагмент, в котором не определется связь с V_V2.


L_L1 0 $N_0001 1
R_R1 $N_0001 $N_0002 1m
L_L2 0 $N_0003 1
V_V1 $N_0002 $N_0004
+SIN 0 1 50 0 0 0
R_R2 $N_0003 $N_0005 1
X_H1 0 $N_0006 $N_0004 $N_0006 Diff_rotor2_H1
V_V2 $N_0005 0
+SIN 0 1 50 0 0 0

.subckt Diff_rotor2_H1 1 2 3 4
H_H1 3 4 POLY(2) VH_H1 V_V2 1 0.5 0.5
VH_H1 1 2 DC 0V
.ends Diff_rotor2_H1

.END

ERROR -- device X_H1.V_V2 is undefined

Как сделать глобальным узел - понятно, но ток в источнике - непонятно. Чувствую, что рещение где-то на поверхности, но где - не знаю. Заранее спасибо.
SM
Цитата(Vlad01 @ Mar 17 2010, 12:13) *
Spice создает ИНУТ в виде подсхемы, из которой "не видится" независимый источник в главной схеме.


Хрень какая-то... SPICE ничего не создает, SPICE обсчитывает то, что где-то создано. Создайте свой исходных текст без подсхемы - и все будет видиться. Это раз. Ну и два - а зачем "видеть" источник напряжения в основной схеме? Что, не достаточно, что он там присутствует в виде разности потенциалов двух узлов экземпляра подсхемы?
тау
Цитата(Vlad01 @ Mar 17 2010, 12:13) *
Код
.subckt Diff_rotor2_H1 1 2 3 4  
H_H1         3 4 POLY(2) VH_H1 V_V2 1 0.5 0.5
VH_H1         1 2 DC 0V
.ends Diff_rotor2_H1


ERROR -- device X_H1.V_V2 is undefined
засада имхо в том что
Цитата
A SPICE subcircuit wraps around a block of circuit text and allows external connections to this circuitry only through the subcircuit's port. The benefit of this is that the internal circuitry is isolated from external circuitry, thus internal devices and node names with the same names as those external to the subcircuit are neither conflicting nor shorted

спайс ну в упор не видит V_V2 внешний

заведите ток от V_V2 через пару контактов в подсхему по аналогии с VH_H1. Но придется количество входных цепей добавить
SM
Цитата(тау @ Mar 17 2010, 13:26) *
Но придется количество входных цепей добавить


Имхо куда проще подсхему убрать. Не стоит эта комбинация двух сущностей, задействованная в проекте всего один раз, такого выделения.
тау
Цитата(SM @ Mar 17 2010, 13:35) *
Не стоит эта комбинация двух сущностей, задействованная в проекте всего один раз, такого выделения.

Автору виднее, зачем ему подсхема, у него рисовалка такая, возможно.
SM
Цитата(тау @ Mar 17 2010, 14:47) *
Автору виднее, зачем ему подсхема, у него рисовалка такая, возможно.

Ну тут как вариант - скриптик наваять, на чем-нить типа bash/csh/tcl/perl, который бы, запуская считалку, разобрал бы подсхему на запчасти. Я так думаю, что "если такая рисовалка", то и второй источник впихнуть в подсхему не удастся.
fragment
Цитата(Vlad01 @ Mar 17 2010, 13:13) *
Как сделать глобальным узел - понятно, но ток в источнике - непонятно. Чувствую, что рещение где-то на поверхности, но где - не знаю. Заранее спасибо.

А если сделать как нибудь так:
1. Во внешней схеме создать ИНУТ.
2. Генерируемое напряжение объявить глобальным
3. В подсхеме создать ИТУН использующий это глобальное значение

Некрасиво, конечно, но если нет другого выхода...
zzzzzzzz
Цитата(Vlad01 @ Mar 17 2010, 12:13) *
......

ERROR -- device X_H1.V_V2 is undefined

Как сделать глобальным узел - понятно, но ток в источнике - непонятно. Чувствую, что рещение где-то на поверхности, но где - не знаю. Заранее спасибо.
Да Вы просто мастер писать по-нечитабельнее. smile.gif

Вам надо просто V_V2 $N_0005 0 SIN 0 1 50 0 0 0 внести в подсхему, ибо подсхема никогда не видит иерархию "вверх". А пин $N_0005 добавить портом подсхемы.
С VH_H1 1 2 DC 0V Вы же обошлись по-хорошему smile.gif
Vlad01
Цитата(SM @ Mar 17 2010, 14:35) *
Имхо куда проще подсхему убрать. Не стоит эта комбинация двух сущностей, задействованная в проекте всего один раз, такого выделения.


Вручную, несомненно, можно избавиться от подсхемы. Но дело в том, что схема создается в препроцессоре Schematics и дополнительно открывать созданный файл и снова его редактировать выглядит крайне нерационально. Полагаю, есть другое решение. Неужели ток в какой-нибудь ветви нельзя передать в подсхему не прибегая к увеличению переменных в интефейсе подсхемы? Я имею в виду механизм передачи через глобальные параметры, т.е. так же, как в языках программирования.

Цитата(fragment @ Mar 18 2010, 05:28) *
А если сделать как нибудь так:
1. Во внешней схеме создать ИНУТ.
2. Генерируемое напряжение объявить глобальным
3. В подсхеме создать ИТУН использующий это глобальное значение

Некрасиво, конечно, но если нет другого выхода...


В подсхеме ничего создавать не хочется, поскольку она автоматически создается Schematics'ом.
Неужели разработчики связки PSpice/Schematics не предусмотрели возможность использования управляемых источников с несколькими управляющими токами в элегантной форме - без последующего редактирования созданного проекта?
Когда управляющий ток один, фиктивный исток напряжения (как видно из приведенного листинга) автоматически помещается в подсхему и никаких проблем не возникает. За советы всем спасибо.
zzzzzzzz
Цитата(Vlad01 @ Mar 21 2010, 07:50) *
...
Неужели разработчики связки PSpice/Schematics не предусмотрели возможность использования управляемых источников с несколькими управляющими токами в элегантной форме - без последующего редактирования созданного проекта?...
Да это и в схематике выглядит некрасиво, так как для расчета потенциала в узле потребуется знать входные сопротивления подсхем, найти эквивалентное и умножить на ток. А для этого надо "заглянуть" в каждую подсхему и "разобраться" еще и в ней. По жизни же получается еще более криво - даже для одинаковых подсхем входное сопротивление будет отличаться (железо не знает про математику). Обычно делают источник напряжения, а в каждой подсхеме уже преобразуют его в ток. Так называемые токовые повторители и зеркала призваны именно для этих задач. Возможно, есть еще и другие подводные камни, с которыми сталкивались разработчики Спайсов. Поэтому глобальные токи и не в почете.smile.gif
Vlad01
Цитата(zzzzzzzz @ Mar 21 2010, 12:00) *
Да это и в схематике выглядит некрасиво, так как для расчета потенциала в узле потребуется знать входные сопротивления подсхем, найти эквивалентное и умножить на ток. А для этого надо "заглянуть" в каждую подсхему и "разобраться" еще и в ней. По жизни же получается еще более криво - даже для одинаковых подсхем входное сопротивление будет отличаться (железо не знает про математику). Обычно делают источник напряжения, а в каждой подсхеме уже преобразуют его в ток. Так называемые токовые повторители и зеркала призваны именно для этих задач. Возможно, есть еще и другие подводные камни, с которыми сталкивались разработчики Спайсов. Поэтому глобальные токи и не в почете.smile.gif


В связи с тем, что приемлемое решение для источника напряжения, управляемого двумя токами HPOLY (2), пока не нашлось (я имею ввиду создание рабочей схемы в Schematics) не очень красивым и громоздким послужило представление полинома от двух переменных в виде двух линейных источников от одной переменной (т.е. пришлось последовательно включать два ИНУТа вместо одного). К счастью, в задаче нет произведения управляющих токов I1*I2, что облегчило решение.
SM
А Вы можете описать вообще отдельно эту подсхему такого источника, прямо в тексте, а в схематике подключить как иерархический блок?
Vlad01
Цитата(SM @ Mar 22 2010, 10:05) *
А Вы можете описать вообще отдельно эту подсхему такого источника, прямо в тексте, а в схематике подключить как иерархический блок?


Признаться, не понимаю что такое "иерархический" блок, но вставить фрагмент net-файла можно с помощью include-функции. Как этим воспользоваться конкретно в этой задаче пока не знаю. Родилась новая идея: если у ИНУТа один из управляющих токов является током самого источника, то такой случай можно реализовать в той же мнемосхеме (блок с 4-мя выводами). В качестве второго управляющего тока как раз будет заводиться ток ВНЕШНЕГО источника. Конечно, такое решение - полумера.
SM
Цитата(Vlad01 @ Mar 23 2010, 05:12) *
Признаться, не понимаю что такое "иерархический" блок,.

Это такая штуковина, которая на схеме выглядит как квадрат с пинами, экспортируется в SPICE как Xxxx, ну а include это само собой. Я же не знаю, что у Вас за схематика.
Vlad01
Цитата(SM @ Mar 23 2010, 10:25) *
Это такая штуковина, которая на схеме выглядит как квадрат с пинами, экспортируется в SPICE как Xxxx, ну а include это само собой. Я же не знаю, что у Вас за схематика.


Я пользуюсь Schematics'ом (от OrCAD). Там действительно можно создавать элементы с большим количеством выводов/пинов (в данном случае с 6-ю). Похоже, Ваше предложение - это наиболее реальный подход для небольшого количества управляющих токов.
Pechkin
Возвращаясь непосредственно к теме, поднятой в начале вопроса.
Присутствовал при демонстрации продукции ф. Magma, в том числе и SPICE моделировщика Finesim. В начале было много рекламы, про то что скорость до 15-20 раз выше по сравнению с Cadence и synopsys при условии сохранения точности + поддержка многопроцессорности... Попросили их на конкретном примере показать превосходство. Дали кусок реального проекта - АЦП.
Результат :
по точности-> результат идентичен spectre
по скорости -> (Finesim схему моделировал на буке с 4 ядрами, Spectre (MMSIM 71) на серваке в режиме turbo в 4 потока) в tran анализе - почти в 17 раз finesim быстрее
__________________
SM
Цитата(Pechkin @ Mar 24 2010, 10:53) *
по точности-> результат идентичен spectre
по скорости -> (Finesim схему моделировал на буке с 4 ядрами, Spectre (MMSIM 71) на серваке в режиме turbo в 4 потока) в tran анализе - почти в 17 раз finesim быстрее

Это со spectre, он относительный тормоз по определению. А вот синопсис обещает в XA Technology - "SPICE accuracy with FastSPICE performance and capacity" - с ним то сравнивали?
Rst7
Ладно, вернемся к теме smile.gif

К сожалению, качать hspice и прикручивать к нему схематик сейчас нет ни времени, ни желания. А случайно попавшийся под руку LTspice IV, как оказалось, вполне многопоточность утилизирует. Да и в один поток считает явно веселее Микрокапа. Пока пользуюсь.
haker_fox
Цитата(Rst7 @ Mar 29 2010, 23:17) *
Да и в один поток считает явно веселее Микрокапа. Пока пользуюсь.

А с этого места можно поподробнее?
Вы силовые схемы в нем считаете? И результат практикой подтверждается?
Rst7
Цитата
А с этого места можно поподробнее?


Да какие подробности. Так, субьективно быстрее, с секундомером не сидел wink.gif

Цитата
Вы силовые схемы в нем считаете? И результат практикой подтверждается?


На данный момент - не силовые. А подтверждение результата практикой в таких делах - это узкий момент, надо четко отдавать себе отчет, где и в чем отличия между симуляцией и реальной жизнью. Тогда не будет мучительных разочарований smile.gif
yakub_EZ
Цитата(haker_fox @ Mar 30 2010, 03:37) *
А с этого места можно поподробнее?
Вы силовые схемы в нем считаете? И результат практикой подтверждается?

С этого места советую сделать в поисковике запрос на имя Валентин Володин http://valvolodin.narod.ru/
А по LTSpice могу сказать, что основная проблема его использования - отсутствие официальной обширной библиотеки элементов и брутальность ввода.
Плюсы - быстрота ввода и отладки небольших схем в 5-20 элементов. Можно "щупать" схему щупом, а не заранне вводить точки просмотра моделирования как в MicroCape'е. Если собирать одну и ту же схему в этих программах - кликов в LT, до достижения приемлимых картинок, будет в среднем меньше
Rst7
Цитата
отсутствие официальной обширной библиотеки элементов


Сомнительного качества. Уж лучше модели на сайтах производителей брать и прикручивать. Хотя, это требует некоторого понимания в происходящем smile.gif

Цитата
брутальность ввода.


Ну это на вкус и цвет.

Цитата
кликов в LT, до достижения приемлимых картинок, будет в среднем меньше


Серьезный критерий biggrin.gif
haker_fox
Давно присматриваюсь к LT SPice. Но пока делаю вывод, что старый добрый Micro CAP полностью удовлетворяет моим потребностям.
aht
Цитата(SM @ Mar 24 2010, 12:08) *
Это со spectre, он относительный тормоз по определению. А вот синопсис обещает в XA Technology - "SPICE accuracy with FastSPICE performance and capacity" - с ним то сравнивали?

Правда, многопоточность у XA хромает - поддерживается только на 7-м уровне.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.