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

 
 
 
Reply to this topicStart new topic
> Симуляция длительных процессов
nice_vladi
сообщение May 3 2018, 08:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239



Всем здравствуйте.

Столкнулся с задачей верификации проекта. Схема работы примерно следующая: прогрузка по "медленным" интерфейсам (I2C, SPI) настроек, сбор данных по быстрым интерфейсам (нечто вроде SPI на 40 МГц), форматирование этих данных и передача "наверх" так же по "быстрому" интерфейсу.

Для первоначальной прогрузки настроек по "медленным" интерфейсам необходимо порядка нескольких секунд, затем начинается "быстрая" работа, которая занимает ~2-8 ms. Мой компьютер не особо производительный, поэтому полноценно (с отрисовкой waveform) моделировать несколько секунд - это очень долго и печально. Так же первоначальная конфигурация не представляет большого интереса для валидации (прогрузил - увидел, что все правильно загрузилось - забыл про этот интерфейс). Все самое интересное для отладки скрывается за 1-2 секундами модельного времени.

Вопросы:
1. Возможно ли как-то ускорить процесс моделирования первых нескольких секунд? Если да - то как? (очень не хотелось бы лезть внутрь тестируемой прошивки)
2. Возможно ли не отрисовывать в waveform первые несколько секунд моделирования (прогрузку по "медленным" интерфейсам в моем случае)?

Использую Questa + SystemVerilog.

Если подкинете ссылки на какие-то буквари по данной области на русском - буду так же благодарен.

Спасибо.
Go to the top of the page
 
+Quote Post
des00
сообщение May 4 2018, 00:54
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(nice_vladi @ May 3 2018, 15:08) *
Использую Questa + SystemVerilog.

вроде работало
Questa®Questa®SIM User’s Manual -> Chapter 10 Advanced Simulation Techniques -> Checkpointing and Restoring Simulations ->
The checkpointand restorecommands allow you to save and restore the simulation state within the same invocation of vsimor between vsimsessions.


--------------------
Go to the top of the page
 
+Quote Post
Кнкн
сообщение May 4 2018, 06:55
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(nice_vladi @ May 3 2018, 11:08) *
1. Возможно ли как-то ускорить процесс моделирования первых нескольких секунд? Если да - то как? (очень не хотелось бы лезть внутрь тестируемой прошивки)


Статейка (англ.)
Прикрепленный файл  Want_a_Boost_in_your_Regression_Throughput.pdf ( 929.2 килобайт ) Кол-во скачиваний: 110

Go to the top of the page
 
+Quote Post
iosifk
сообщение May 4 2018, 07:29
Сообщение #4


Гуру
******

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



Цитата(nice_vladi @ May 3 2018, 11:08) *
Вопросы:
1. Возможно ли как-то ускорить процесс моделирования первых нескольких секунд? Если да - то как? (очень не хотелось бы лезть внутрь тестируемой прошивки)
2. Возможно ли не отрисовывать в waveform первые несколько секунд моделирования (прогрузку по "медленным" интерфейсам в моем случае)?


Сделать параметр "дебаг-релиз" и к нему соответственно два набора параметров. В режиме "релиз" тактовые по интерфейсам оставить "как должно быть в железе". А в "дебаг" - сделать тактовые по интерфейсам например в 4 клока... При этом время симулирования значительно сократится...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
lembrix
сообщение May 4 2018, 07:37
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 13-04-17
Из: Зеленоград
Пользователь №: 96 508



Я бы попробовал разбить проект таким образом, чтобы можно было верифицировать "медленную" и "быструю" часть независимо друг от друга.
Go to the top of the page
 
+Quote Post
nice_vladi
сообщение May 4 2018, 08:01
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239



Цитата(des00 @ May 4 2018, 00:54) *
вроде работало
Questa®Questa®SIM User’s Manual -> Chapter 10 Advanced Simulation Techniques -> Checkpointing and Restoring Simulations ->
The checkpointand restorecommands allow you to save and restore the simulation state within the same invocation of vsimor between vsimsessions.


Спасибо, точно буду пользовать.

Цитата(iosifk @ May 4 2018, 07:29) *
Сделать параметр "дебаг-релиз" и к нему соответственно два набора параметров. В режиме "релиз" тактовые по интерфейсам оставить "как должно быть в железе". А в "дебаг" - сделать тактовые по интерфейсам например в 4 клока... При этом время симулирования значительно сократится...


Думал об этом. НО. В прошивке есть привязка к тактовым частотам (разрядности счетчиков и т.д.). Т.о., если я задеру частоты, скорее всего, что-то сломается. Причем, возможно, я этого даже не увижу (не пойму). Т.к. DUT написан не мной.

Цитата(lembrix @ May 4 2018, 07:37) *
Я бы попробовал разбить проект таким образом, чтобы можно было верифицировать "медленную" и "быструю" часть независимо друг от друга.


Думал об этом. Что-то вроде:
1. Проверить "медленную" часть;
2. Сделать слепок конфигурации и, при отладке "быстрой" части, загружать его за 1 такт в симуляторе;

Но это значит - лезть в тестируемую прошивку. Чего очень не хочется.
Go to the top of the page
 
+Quote Post
iosifk
сообщение May 4 2018, 08:04
Сообщение #7


Гуру
******

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



Цитата(lembrix @ May 4 2018, 10:37) *
Я бы попробовал разбить проект таким образом, чтобы можно было верифицировать "медленную" и "быструю" часть независимо друг от друга.

Добавлю...
И когда медленная часть заработает, в общем проекте просто "зафорсить" нужные сигналы, чтобы сразу начиналась симуляция быстрой части...


Цитата(nice_vladi @ May 4 2018, 11:01) *
Думал об этом. НО. В прошивке есть привязка к тактовым частотам (разрядности счетчиков и т.д.). Т.о., если я задеру частоты, скорее всего, что-то сломается. Причем, возможно, я этого даже не увижу (не пойму). Т.к. DUT написан не мной.

Так надо сразу же все делать параметризируемое - разрядности счетчиков и т.д....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
nice_vladi
сообщение May 10 2018, 08:23
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239



Цитата(iosifk @ May 4 2018, 09:04) *
Добавлю...
И когда медленная часть заработает, в общем проекте просто "зафорсить" нужные сигналы, чтобы сразу начиналась симуляция быстрой части...

Так надо сразу же все делать параметризируемое - разрядности счетчиков и т.д....


Понятно, как НАДО. Но сделано так. И лезть в немаленький и абсолютно чужой проект не хочется от слова совсем - черт его знает, что там умрет, если я разрядности подкручу.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd September 2018 - 06:13
Рейтинг@Mail.ru


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