Перейти к содержанию
    

hspice transient noise

всем привет

есть такой вопрос:

есть ли возможность в ходе hspice симулции подключить внутренний "шум" цифровой схемы ? (как в spectre transient noise simulation, где ноис генерируется автоматически/последовательно в ходе симуляции)?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всем привет

есть такой вопрос:

есть ли возможность в ходе hspice симулции подключить внутренний "шум" цифровой схемы ? (как в spectre transient noise simulation, где ноис генерируется автоматически/последовательно в ходе симуляции)?

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

 

Я не знаю, как в hspice, но в pspice orcad я делал аналогично. Только у меня список значений шумового сигнала не заносится в netlist, а читается из внешнего файла. Скорость расчета нормальная. В принципе, есть еще пара вариантов:

1. Через stimulus генерить произвольные сигналы.

2. Построить на сдвиговом регистре генератор псевдослучайных чисел, подключить к ЦАП - и вот Вам источник шума.

Эти две идеи я не проверял на практике, потому что устраивало чтение из файла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только у меня список значений шумового сигнала не заносится в netlist, а читается из внешнего файла. Скорость расчета нормальная. В принципе, есть еще пара вариантов:

1. Через stimulus генерить произвольные сигналы.

2. Построить на сдвиговом регистре генератор псевдослучайных чисел, подключить к ЦАП - и вот Вам источник шума.

 

1. можеш кинуть кусочек нетлиста (гже подключаеш шум)? я пытался так сделать, но hspice не принимал мой код

 

2. со стимулсами пока не разобрался, как єто можно реализовать

3. с LFSR тоже вариант, но мне надо гаус получить...

 

спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста. Сделал простейшую схему - источник из файла (PWL.txt) и резистор. Вот как выглядит директивы:

.....

нашел время проверить данную возможность, и ничего у меня не вышло :(

ругается на подключаемые файлы с "шумом".

если я в каденсе подключаю файл с шумом через pwlf, формат файла у меня такой:

время шум

0,00Е++0 5,56084Е-04

5,00У-11 -1,34719Е-04

и т.д

в таком формате файлы подтягивает каденс и симулирует (hspice) нормально

 

но как только я подключаю эти файлы как Вы dmmos показали - у меня hspice дает ошибки (unrecognizable data card) :(

 

можно еще попросить у Вас формат файла с подключаемым шумом ?

 

спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нашел время проверить данную возможность, и ничего у меня не вышло :(

ругается на подключаемые файлы с "шумом".

если я в каденсе подключаю файл с шумом через pwlf, формат файла у меня такой:

время шум

0,00Е++0 5,56084Е-04

5,00У-11 -1,34719Е-04

и т.д

в таком формате файлы подтягивает каденс и симулирует (hspice) нормально

 

но как только я подключаю эти файлы как Вы dmmos показали - у меня hspice дает ошибки (unrecognizable data card) :(

 

можно еще попросить у Вас формат файла с подключаемым шумом ?

 

спасибо

 

Честно говоря, я не совсем понял: если Вы пишете, что "симулирует нормально", то в чем проблема? И еще не понял, почему используете "pwlf", а не "pwl". Сейчас пишу из дома, на работе буду только послезавтра, но насколько я помню, файл я сделал аналогично: на каждой строке сначала время, потом, через пробел - напряжение. На следующей строке - следующая точка. Каждой точке - отдельная строка. Кстати, почему у Вас два плюса во времени - это опечатка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Честно говоря, я не совсем понял: если Вы пишете, что "симулирует нормально", то в чем проблема? И еще не понял, почему используете "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), то вполне можно использовать на ~длительных симуляциях

 

всем спасибо за внимание

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...