Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы сходимости в HSPICE
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Разработка цифровых, аналоговых, аналого-цифровых ИС
aht
Всем привет.

Не подскажете ли, какие методы используются для обеспечения сходимости в сложных случаях?

Дано: сложная схема с частью блоков, описанных на Verilog A.
Надо: посчитать длинную времянку.

Что делал:

.option runlvl=5 - более точный метод (аналог .option accurate)
.option method=bdf/gear - использовал разные численные методы
.option imax=40
.option itl4=40 - увеличивал количество итераций в ходе вычисления каждой точки анализа (по умолчанию - 8)
.option reltol=5e-3 - расслаблял условия сходимости
.option gshunt=1e-12 - шунтировал узлы небольшими проводимостями и ёмкостями (команда ниже)
.option cshunt=1e-14

Результаты одни и те же - схема считается до определённого момента (3-5%), а потом останавливается с ошибкой:

sweep: tran tran0 begin, stop_t= 1E-03 #sweeps=**** cpu clock= 4.51E+01
**error** internal timestep too small in transient analysis
sweep: tran tran0 end, cpu clock= 3.52E+02 memory= 3683 kb
>error ***** hspice job aborted

Сталкивался ли кто-нибудь с подобной проблемой и как она решалась?

Заранее спасибо.
BarsMonster
Лично я такую ошибку видел при моделировании "некорректных" схем (в моём случае - когда транзисторы во время переходного периода в нестабильном состоянии) ,
и точно также уменьшение шага и прочих параметров не помогало.

Поэтому, выделяйте минимальную под-схему на котором еще повторяется ошибка, и - в студию :-)
(впрочем, в процессе выделения может и так найдете)


aht
Стандартными способами победить так и не удалось.

Воспользовался trannoise анализом (Монте-Карло).
Результат получился в пределах ожидаемого.

Но всё же хотелось бы услышать кого-нибудь ещё, кто сталкивался с подобным...
nand7
"trannoise анализом (Монте-Карло)." ???
Было дело, сталкивался с подобным поведением. Проблему решал исправлением схемы.
Как вариант - могут быть кривые модели.
cdsinit
В моей практике такие ситуации с несходимостью при Transient-анализе
часто встречаются при моделировании блоков статической памяти, содержащих
большое количество непроинициализированных запоминающих элементов.
Проблему решаю, задавая начальные условия (IC - initial conditions) для всех триггеров.
grujic
Maybe you could try to limit the values inside VerilogA models, with an if statement.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.