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

Требования к параметрам компьютера для нормальной работы с FPGA

1 hour ago, yes said:

у меня основной комп всяким мусором забит лет за 5 - ксайлинская вивада не запустилась, а переставлять винду и лишиться всего наставленного не хотелось

проц где-то в 1.5 раза медленнее, чем в компе, но жрет 15Ватт, а не 150

На виртуалку можно было поставить.

 

У меня виртуалка с Вин7 и пдф

к ней клоны с матлабом или  вивадой или атмел студией или для говина или для латиса или циклона или пикадом

а к ним клоны с проектом под конкретную ОКР 

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


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

12 hours ago, yes said:

то есть без тикля, в самом тестбенче можно, по-моему

Всё верно, я потом поправился. Действительно можно в самом тестовом окружении делать записи/сохранения вейвформ. Но для моего случая просто не подходят, по своим причинам)

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


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

13 hours ago, _4afc_ said:

На виртуалку можно было поставить.

 

У меня виртуалка с Вин7 и пдф

к ней клоны с матлабом или  вивадой или атмел студией или для говина или для латиса или циклона или пикадом

а к ним клоны с проектом под конкретную ОКР 

да у меня тоже 10-к разных виртуалок стоит - потом вылазят проблемы с железом/драйверами и т.д. 

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


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

27.05.2021 в 17:58, RobFPGA сказал:

Это может здорово ускорить прогоны   например в сценарии когда сделав дамп  состояния  сима  после  длительного медленного  процесса (например инициализации линка PCIe) затем  делать прогоны различных сценариев без ожидания, сразу  загружая  дамп нужной промежуточной точки.

А можно этот приём поподробнее описать? Насколько я понял, $dump* — это про сохранение логов в VCD формат. А вот интересует именно то, что вы сказали: сохранить "постоянную часть" прогона (начало), где делается "длительный медленный процесс" (поднимается линк PCIe), а потом с неё стартовать. Неужто это тоже через $dump*?

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


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

Приветствую!
 

12 minutes ago, dxp said:

А можно этот приём поподробнее описать? Насколько я понял, $dump* — это про сохранение логов в VCD формат. А вот интересует именно то, что вы сказали: сохранить "постоянную часть" прогона (начало), где делается "длительный медленный процесс" (поднимается линк PCIe), а потом с неё стартовать. Неужто это тоже через $dump*?

Да вы правы $dump*  лишь контролирует  запись переменных в VCD файлы.  Для  функционала  checkpoint нужно использовать  внешние команды сима из скрипта. Для  Ms это команды checkpoint / restore.

Удачи! Rob.

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


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

27 минут назад, RobFPGA сказал:

Для  Ms это команды checkpoint / restore

Попробовал. Сохранение и загрузка работают. Но не получилось добиться, чтобы можно было стартовать изменённый дизайн. Ситуация следующая: есть дизайн, в котором первые 110 мкс ничего интересного не происходит (как раз PCIe линк поднимается), на этом значении времени останавливаю его и делаю checkpoint. Хотелка в том, чтобы при последующих итерациях не нужно было каждый раз гонять эти 110 мкс со старта. Это не очень долго, но при частых итерациях всё равно аноит. Так вот, меняю в HDL что-нибудь по мелочи (количество пакетов для передачи через интерфейс), перекомпилирую дизайн (work library), в консоли квесты restore <vsim.cpt>, загружается предыдущий прогон на сохранённой точке, запускаю дальше run -all, вижу, что прогоняется не текущий вариант, а предыдущий.

 

Т.е. получается, что сохранить и загрузить получилось, но после загрузки работает прошлый вариант, а не новый. И тогда смысл всего праздника теряется. Может что-то делаю не так?

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


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

Приветствую!

2 minutes ago, dxp said:

Так вот, меняю в HDL что-нибудь по мелочи (количество пакетов для передачи через интерфейс), перекомпилирую дизайн (work library), ...

Нее - checkpoint  так не работает. Увы менять код нельзя. Можно симить  только то состояние RTL дизайна которое было на момент  создание checkpoint. 

Смысл  этого праздника  - в возможности гонять разные сценарии пропуская долгое начало.  Для  этого естественно нужно сам TB сделать так чтобы управлять им через  данные  без изменения  кода.
Я  делал через свой скриптовый движек в TB котрый читал файлы скриптов и исполнял их в TB. Поэтому я мог меняя данные скриптов тестить разное поведение без изменения RTL кода. 

Удачи! Rob.     
 

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


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

Ага, понятно. Спасибо за информацию. В принципе, у меня этот параметр не обязательно внутри кода задавать. Надо подумать, как его снаружи читать (в какой момент).

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


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

18 minutes ago, dxp said:

Но не получилось добиться, чтобы можно было стартовать изменённый дизайн.

А это вообще возможно?

Ведь там добавляются/удаляются различные сигналы.

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


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

Только что, Tpeck сказал:

А это вообще возможно?

Ведь там добавляются/удаляются различные сигналы.

Да, тоже не покидало сомнение (как технически это реализуется), но хотелось верить в чудо. :) Чуда не оказалось. Уважаемый @RobFPGA объяснил сценарий использования этой техники. Оно рулит на прогонах разных данных, получаемых снаружи дизайна, но для отладки кода не годится. К сожалению.

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


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

Приветствую!
 

55 minutes ago, dxp said:

Ага, понятно. Спасибо за информацию. В принципе, у меня этот параметр не обязательно внутри кода задавать. Надо подумать, как его снаружи читать (в какой момент).

Кроме скриптового подхода  еще  можно форсить  значение  переменных в TB непосредственно из tcl  управлявшего  скрипта после загрузки чекпоинта. 

Удачи! Rob.

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


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

12 часов назад, dxp сказал:

Надо подумать, как его снаружи читать (в какой момент).

В Verilog обычно используют $test$plusargs $value$plusargs - это управление через коммандную строку.

Или свой скрипт через PLI, или Cocotb, или можно попробовать приспособить MyHDL. Ну или по-простому читать файл через $fgets, разбирать его и выполнять, или читать данные через $readmemh/$readmemb

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


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

Можете поздравить меня. 

Через 5 лет просьб оснастить меня приличным компьютером мне предоставили новый 4х ядерный I5(3Ггц) с 16Г(3Ггц) памяти и системном SSD.

С удовлетворением заявляю, что экономия времени по сборке проекта  составила 32%. По ModelSim не менее 20%.(буду уточнять еще)

Все 4  ядра грузились на 100%....

Так это совсем другое дело!...

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


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

17 minutes ago, new123 said:

Поздравляю )

Всем не равнодушным  СПАСИБО!

Ощущения, что выросли крылья...   Желаю ВСЕМ получить недостающий инструмент для творчества!

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


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

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

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

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

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

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

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

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

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

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