реклама на сайте
подробности

 
 
> Вопросы сходимости в HSPICE, internal timestep too small in transient analysis
aht
сообщение Dec 17 2010, 05:41
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 11-01-10
Из: Moscow
Пользователь №: 54 725



Всем привет.

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

Дано: сложная схема с частью блоков, описанных на 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

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

Заранее спасибо.

Сообщение отредактировал aht - Dec 17 2010, 05:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
BarsMonster
сообщение Dec 18 2010, 06:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849



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

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




--------------------
Потроха микросхем: zeptobars.ru
Go to the top of the page
 
+Quote Post
aht
сообщение Jan 18 2011, 08:36
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 11-01-10
Из: Moscow
Пользователь №: 54 725



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

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

Но всё же хотелось бы услышать кого-нибудь ещё, кто сталкивался с подобным...

Сообщение отредактировал aht - Jan 18 2011, 11:41
Go to the top of the page
 
+Quote Post
nand7
сообщение Mar 10 2011, 14:16
Сообщение #4





Группа: Новичок
Сообщений: 7
Регистрация: 25-04-06
Пользователь №: 16 452



"trannoise анализом (Монте-Карло)." ???
Было дело, сталкивался с подобным поведением. Проблему решал исправлением схемы.
Как вариант - могут быть кривые модели.
Go to the top of the page
 
+Quote Post
cdsinit
сообщение Apr 4 2011, 12:21
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 22-12-08
Из: Москва
Пользователь №: 42 669



В моей практике такие ситуации с несходимостью при Transient-анализе
часто встречаются при моделировании блоков статической памяти, содержащих
большое количество непроинициализированных запоминающих элементов.
Проблему решаю, задавая начальные условия (IC - initial conditions) для всех триггеров.
Go to the top of the page
 
+Quote Post
grujic
сообщение Apr 4 2011, 23:23
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 116
Регистрация: 11-05-10
Из: Srbija
Пользователь №: 57 199



Maybe you could try to limit the values inside VerilogA models, with an if statement.

Сообщение отредактировал grujic - Apr 4 2011, 23:24
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 13:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016