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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Симуляция верилог совместно со спайс-нетлистом, Методы оптимизации симуляций
Shivers
сообщение Nov 2 2015, 16:28
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Losik
Заработало, спасибо!
И еще два вопроса.
1. Можно ли в INCISIVE выводить на вейвформу ток питания, и результаты функций калькулятора как в Virtuoso, - интегрировать ток, считать мощность, и т.д.?
2. Как реализовано управление питанием? Если я хочу его повысить/понизить, задать синусоидой и т.д.
Go to the top of the page
 
+Quote Post
Poluektovich
сообщение Nov 3 2015, 06:48
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 15-09-08
Из: Зеленоград
Пользователь №: 40 201



1. Такие функции в simvision недоступны.
2. Можно описать и подключить источник питания на VerilogA. Например, синус
http://www.eda.org/verilog-ams/models/V_sine_generator.va
Go to the top of the page
 
+Quote Post
Shivers
сообщение Nov 3 2015, 08:00
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(Poluektovich @ Nov 3 2015, 09:48) *
Можно описать и подключить источник питания на VerilogA. Например, синус

Спасибо!
У меня питание долго не работало, пока я в amscf.scs не добавил следующие строки:
Код
simulator lang=spice
.global vdd! gnd!
V0 gnd! 0 0
V1 vdd! 0 1

Я правильно понимаю, что источник питания на Verilog-A надо подключать как любой другой модуль, и цепи питания/земли не надо объявлять глобальными?

На Verilog-A я ни разу не писал, поэтому еще вопрос:
Если я включу источник напряжения, за ним нулевой резистор http://www.eda.org/verilog-ams/models/resistor.va , то смогу на verilog-A снимать ток с выводов резистора как I(p,n). И мне для дальнейшего использования надо будет только преобразовать ток в формат real, и можно считать мощность?
Go to the top of the page
 
+Quote Post
Losik
сообщение Nov 3 2015, 08:27
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 453
Регистрация: 22-04-07
Пользователь №: 27 235



Цитата(Shivers @ Nov 2 2015, 19:28) *
Losik
Заработало, спасибо!
И еще два вопроса.
1. Можно ли в INCISIVE выводить на вейвформу ток питания, и результаты функций калькулятора как в Virtuoso, - интегрировать ток, считать мощность, и т.д.?
2. Как реализовано управление питанием? Если я хочу его повысить/понизить, задать синусоидой и т.д.


по первому вопросу я бы не был столь категоричен, выводить вы можете и токи и напряжения. симвизион имеет калькулятор и там есть вкладка analog для манипуляции аналоговыми сигналами.

питание чего? аналога? задаете сами источниками. между цифрой и аналогом стоят интерфейсные элементы(преобразователи написанные на верилог-а) они транслируют аналог в цифру и цифру в аналог.
или вы хотите менять питание на цифре?

на верилоге-а не обязательно писать, все должно измеряться для аналоговой части в тесте. нужно использовать probe.
что-то в виде probe -create -flow -shm -ports top.V0.PLUS
ключи в команде могут быть другие, почитайте мануал
Go to the top of the page
 
+Quote Post
Shivers
сообщение Nov 3 2015, 09:19
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Спасибо!
Интегрировать я пока не научился (в SimVision калькуляторе такой опции не нашел), но стало понятно, куда копать дальше. Мне нужно считать удельное потребление на операцию в цифро-аналоговом блоке (тестовое окружение на поведенческом верилоге не считается). Думаю, в разрыв питания можно вставить токосъемный резистор 0 Ом, а дальше уже можно что то придумать. Источник на verilog-a я прикрутил - все работает.
Go to the top of the page
 
+Quote Post
drozel
сообщение Jan 19 2016, 15:09
Сообщение #21


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

Группа: Свой
Сообщений: 108
Регистрация: 2-02-11
Пользователь №: 62 650



А можно ли для этих целей использовать Modelsim? Скармливать ему sdf и нетлист из design compiler?
Уступает ли этот метод тому же vcs?
Go to the top of the page
 
+Quote Post
Shivers
сообщение Jan 19 2016, 17:10
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Меня здесь интересовало немного другое - аналогово-цифровое моделирование. А Вы про цифровое спрашиваете.
Для цифрового, конечно - менторовский Modelsim/Questa вполне подойдут. Тормознее чем vcs или irun, но для небольших проектов - вполне годятся.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Mar 16 2016, 18:55
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Ай нид хелп. Опыта совсем мало, столкнулся с проблемой: схема на ~10k транзисторов моделируется 4-6 часов. Использую ключ -fastspice, шаг 1ps/1ns. Как ускорить процесс? Может, минимальный шаг увеличить?
Может быть, можно как то задействовать многоядерность (моделирую в CDS irun/simvision)? Сейчас одно ядро только работает.

И еще вопрос. Если перейти с AMS на просто спайс - быстрее будет моделироваться? Мне бы этого очень не хотелось, поскольку тестбенч написан на верилоге, но ради существенного ускорения я готов пойти на жертвы.
Go to the top of the page
 
+Quote Post
krux
сообщение Mar 16 2016, 19:11
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
схема на ~10k транзисторов моделируется 4-6 часов

это post-layout ?

вобщем-то, альтернатива - это Mentor Analog FastSPICE, но мы его не покупали, поэтому не подскажу.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Mar 16 2016, 19:17
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(krux @ Mar 16 2016, 22:11) *
это post-layout ?

Нет, это голая транзисторная схема, без паразитов.
Go to the top of the page
 
+Quote Post
Losik
сообщение Mar 17 2016, 07:32
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 453
Регистрация: 22-04-07
Пользователь №: 27 235



Большинство фич для ускорения поддерживаются только в новых версиях INCESIV(например с 13.1)
AMS обычно медленнее чем AS.
Для ускорение моделирования аналоговой части посредством спектры нужно ей передать пару ключей
+aps и +mt=8 это подключит более быстрое ядро для расчетов и распределит на 8 процессоров(можно больше, если позволяют лицензии)
+errpreset= liberal установит низкую точность моделирования, если не хватит то нужно установить moderate или conservative
ncsim -analogControl ./amsControlSpectre.scs -simcompat spectre -spectre_args +aps +errpreset= liberal -spectre_args +mt=8
также точность можно установить передав параметры аналоговому ядру через файл amsControlSpectre.scs
simulator lang=spectre
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12

или же ввести их в консоли:
ncsim> analog -reltol 0.001
ncsim> analog -vabstol 1m
ncsim> analog -iabstol 1e-12
они влияют на точность моделирования. можно делать так, запустить схему с низкой точностью
ncsim> analog -reltol 0.01
ncsim> run 100 ns
потом, когда в ней все установится, переключиться на большую точность
ncsim> analog -reltol 0.002
ncsim> run 100 ns

можно также использовать UltraSim симулятор(он включен в пакет INCESIV), он позволяет более быстро моделировать смешанные схемы посредством указания точности моделирования для каждого блока в отдельности, также поддерживает в новых версиях опцию +mt.





Go to the top of the page
 
+Quote Post
Shivers
сообщение Mar 17 2016, 10:59
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Это просто праздник какой то, спасибо!

К многоядерностью не получилось (возможно, лицензия такая, надо выяснить), а вот
ncsim> analog -reltol 0.01
ncsim> run 100 ns
ncsim> analog -reltol 0.002
ncsim> run 100 ns
Это очень мощно помогло!
Скажите, а можно эти команды (analog -reltol, run) вставлять прямо в тестбенч в конструкцию initial begin .. end?
Go to the top of the page
 
+Quote Post
Losik
сообщение Mar 17 2016, 13:02
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 453
Регистрация: 22-04-07
Пользователь №: 27 235



>>К многоядерностью не получилось
тут проблема или в лицензии(посмотрите лог лиц сервера) или в версии программы.

>>Скажите, а можно эти команды (analog -reltol, run) вставлять прямо в тестбенч в конструкцию initial begin .. end?
этого не знаю, задавал только через файл или через консоль.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Mar 17 2016, 15:17
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Еще вопрос.
Питание я задаю в amscf.scs с помощью конструкции
amsd{
ie vsup=1
}

А как задать температуру? И можно ли как то менять Process?
Go to the top of the page
 
+Quote Post
psygash
сообщение Mar 17 2016, 15:44
Сообщение #30


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

Группа: Свой
Сообщений: 199
Регистрация: 8-09-05
Из: Зеленоград
Пользователь №: 8 390



В amsControlSpectre.scs задается:
simulatorOptions options temp=27.0 tnom=27 scale=1.0 scalem=1.0 \
reltol=100e-6 vabstol=1e-6 iabstol=1e-12 homotopy=all limit=delta \
gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 digits=5 pivrel=1e-3 \
checklimitdest=psf

Process в смысле модели?

как include их делайте
Go to the top of the page
 
+Quote Post

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

 


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


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