|
|
  |
hspice transient noise |
|
|
|
Apr 4 2008, 00:56
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 13-06-07
Пользователь №: 28 412

|
всем привет есть такой вопрос: есть ли возможность в ходе hspice симулции подключить внутренний "шум" цифровой схемы ? (как в spectre transient noise simulation, где ноис генерируется автоматически/последовательно в ходе симуляции)? на данній момент ноис генерируется в матлабе и подключается в нужных (особо важных) местах испльзуя компоненту PWL, но это очень неудобно, поскольку файл нетлиста очень большой... и соотв. симуляция медленная
|
|
|
|
|
Apr 4 2008, 07:25
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Цитата(kDaniu @ Apr 4 2008, 04:56)  всем привет есть такой вопрос: есть ли возможность в ходе hspice симулции подключить внутренний "шум" цифровой схемы ? (как в spectre transient noise simulation, где ноис генерируется автоматически/последовательно в ходе симуляции)? на данній момент ноис генерируется в матлабе и подключается в нужных (особо важных) местах испльзуя компоненту PWL, но это очень неудобно, поскольку файл нетлиста очень большой... и соотв. симуляция медленная  Я не знаю, как в hspice, но в pspice orcad я делал аналогично. Только у меня список значений шумового сигнала не заносится в netlist, а читается из внешнего файла. Скорость расчета нормальная. В принципе, есть еще пара вариантов: 1. Через stimulus генерить произвольные сигналы. 2. Построить на сдвиговом регистре генератор псевдослучайных чисел, подключить к ЦАП - и вот Вам источник шума. Эти две идеи я не проверял на практике, потому что устраивало чтение из файла.
|
|
|
|
|
Apr 4 2008, 23:34
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 13-06-07
Пользователь №: 28 412

|
Цитата(dmmos @ Apr 4 2008, 16:25)  Только у меня список значений шумового сигнала не заносится в netlist, а читается из внешнего файла. Скорость расчета нормальная. В принципе, есть еще пара вариантов: 1. Через stimulus генерить произвольные сигналы. 2. Построить на сдвиговом регистре генератор псевдослучайных чисел, подключить к ЦАП - и вот Вам источник шума. 1. можеш кинуть кусочек нетлиста (гже подключаеш шум)? я пытался так сделать, но hspice не принимал мой код 2. со стимулсами пока не разобрался, как єто можно реализовать 3. с LFSR тоже вариант, но мне надо гаус получить... спасибо
|
|
|
|
|
Apr 8 2008, 09:49
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Цитата(kDaniu @ Apr 5 2008, 03:34)  1. можеш кинуть кусочек нетлиста (гже подключаеш шум)? я пытался так сделать, но hspice не принимал мой код
спасибо Пожалуйста. Сделал простейшую схему - источник из файла (PWL.txt) и резистор. Вот как выглядит директивы: *Analysis directives: .TRAN 0 40ns 0 .PROBE V(alias(*)) I(alias(*)) W(alias(*)) D(alias(*)) NOISE(alias(*)) .INC "..\SCHEMATIC1.net" **** INCLUDING SCHEMATIC1.net **** * source PWL_FILE V_V1 N14324 0 PWL + FILE "e:\OrCAD_Data\test project\PWL.txt" R_R1 N14324 0 1k **** RESUMING bias.cir **** .END
Сообщение отредактировал dmmos - Apr 8 2008, 09:49
|
|
|
|
|
Apr 21 2008, 23:40
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 13-06-07
Пользователь №: 28 412

|
Цитата(dmmos @ Apr 8 2008, 18:49)  Пожалуйста. Сделал простейшую схему - источник из файла (PWL.txt) и резистор. Вот как выглядит директивы: ..... нашел время проверить данную возможность, и ничего у меня не вышло  ругается на подключаемые файлы с "шумом". если я в каденсе подключаю файл с шумом через pwlf, формат файла у меня такой: время шум 0,00Е++0 5,56084Е-04 5,00У-11 -1,34719Е-04 и т.д в таком формате файлы подтягивает каденс и симулирует (hspice) нормально но как только я подключаю эти файлы как Вы dmmos показали - у меня hspice дает ошибки (unrecognizable data card)  можно еще попросить у Вас формат файла с подключаемым шумом ? спасибо
|
|
|
|
|
Apr 23 2008, 19:26
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Цитата(kDaniu @ Apr 22 2008, 03:40)  нашел время проверить данную возможность, и ничего у меня не вышло  ругается на подключаемые файлы с "шумом". если я в каденсе подключаю файл с шумом через pwlf, формат файла у меня такой: время шум 0,00Е++0 5,56084Е-04 5,00У-11 -1,34719Е-04 и т.д в таком формате файлы подтягивает каденс и симулирует (hspice) нормально но как только я подключаю эти файлы как Вы dmmos показали - у меня hspice дает ошибки (unrecognizable data card)  можно еще попросить у Вас формат файла с подключаемым шумом ? спасибо Честно говоря, я не совсем понял: если Вы пишете, что "симулирует нормально", то в чем проблема? И еще не понял, почему используете "pwlf", а не "pwl". Сейчас пишу из дома, на работе буду только послезавтра, но насколько я помню, файл я сделал аналогично: на каждой строке сначала время, потом, через пробел - напряжение. На следующей строке - следующая точка. Каждой точке - отдельная строка. Кстати, почему у Вас два плюса во времени - это опечатка?
|
|
|
|
|
Apr 29 2008, 09:50
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 13-06-07
Пользователь №: 28 412

|
Цитата(dmmos @ Apr 24 2008, 04:26)  Честно говоря, я не совсем понял: если Вы пишете, что "симулирует нормально", то в чем проблема? И еще не понял, почему используете "pwlf", а не "pwl". Сейчас пишу из дома, на работе буду только послезавтра, но насколько я помню, файл я сделал аналогично: на каждой строке сначала время, потом, через пробел - напряжение. На следующей строке - следующая точка. Каждой точке - отдельная строка. Кстати, почему у Вас два плюса во времени - это опечатка? pwlf это в кедансе компонента, которая принимает на вход файл с ноисом (формат: время значение_ноиса) в hspice нетлисте pwl вместо pwlf. после кедан скематика я получаю нетлист - который в hspice уже нормально симулируется (но в нем ноис включен в нетлист, от чего размер нетлиста очень большой и т.д.) при попытке подллючения файла с ноисом используя Ваш dmmos метод - hspice просто регается. any way, на http://www.designers-guide.org/Forum/YaBB....204165488/15#18 подсказали добрые люди использовать rdist_normal(seed, mean, stddev) функциюб верилог-А, которая по ходу симуляции дает нужное значение шума. да, это не совсем 100% решение как реализовано в Спектре симуляторе (Spectre Transient Noise) НО, за неимением лучшего в hspice - можно использолвать п.с. как я сказал тут, http://www.designers-guide.org/Forum/YaBB....204165488/15#18, ноис от верилог-А функции rdist_normal вырождается сравнительно быстро (наверное какойто ЛКГ урезаный там реализовали), но если апдейтить сиид после некоторого количества взятых значений ноиса (напр. 10000), то вполне можно использовать на ~длительных симуляциях всем спасибо за внимание
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|