sqrt(2) 0 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба Здравствуйте. Впервые делаю большой проект, где целевая ПЛИС - Virtex-7. Еще даже не дописал проект до конца, но уже есть проблема - оперативной памяти компьютера уже не хватает. Сейчас я вывожу нужные сигналы на Waveform в Modelsim. Уже и так оставил только один основной блок, но дальше резать нельзя - у этого блока есть элементы, работа которых зависит от обратной связи между друг другом. Как вообще верифицируются большие проекты? Может есть более экономные (с точки зрения использования RAM компьютера) методы моделирования, чем отрисовка Waveform? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба Сейчас я вывожу нужные сигналы на Waveform в Modelsim. Уже и так оставил только один основной блок, но дальше резать нельзя - у этого блока есть элементы, работа которых зависит от обратной связи между друг другом. Как вообще верифицируются большие проекты? Может есть более экономные (с точки зрения использования RAM компьютера) методы моделирования, чем отрисовка Waveform? Это RTL симуляция? Если так, то можно перейти от отладки "сигналов" к отладке прохождения "данных" в проекте. Зачем Вам смотреть сигналы на Waveform? Скидывайте данные в файл и потом обрабатывайте их любыми софтовыми инструментами. Ну и входные данные тоже читайте из файла. При этом не нужна перекомпиляция проекта. просто меняете файл и делаете "Сброс" и "Пуск"... И еще двойной комлект параметров. Один для дебага, другой для релиза. Скажем если SPI для релиза на 1 Мгц, а тактовая 100 Мгц, то для дебага можно отлаживать SPI на 25 или 50 Мгц. И так везде где можно поскрести... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба Как вообще верифицируются большие проекты? Может есть более экономные (с точки зрения использования RAM компьютера) методы моделирования, чем отрисовка Waveform? Что в Вашем понимании есть процесс "верификации"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sqrt(2) 0 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба Что в Вашем понимании есть процесс "верификации"? В общем и целом, мне надо как-то убедиться, что при заданых входных воздействиях я получу на выходе получится то, что ожидается (ожидаемый результат извесетн из расчетов или моделирования, например, в Матлабе). При этом было бы неплохо знать состояния не только выхода, но промежуточных регистров, чтобы понимать где ошибки. Это RTL симуляция? Если так, то можно перейти от отладки "сигналов" к отладке прохождения "данных" в проекте. Зачем Вам смотреть сигналы на Waveform? Скидывайте данные в файл и потом обрабатывайте их любыми софтовыми инструментами. Ну и входные данные тоже читайте из файла. При этом не нужна перекомпиляция проекта. просто меняете файл и делаете "Сброс" и "Пуск"... И еще двойной комлект параметров. Один для дебага, другой для релиза. Скажем если SPI для релиза на 1 Мгц, а тактовая 100 Мгц, то для дебага можно отлаживать SPI на 25 или 50 Мгц. И так везде где можно поскрести... Да, RTL. Тоже думал по поводу записи в файл. А где можно почитать о том, как заставить Modelsim ничего не рисовать, а сразу писать в файлики содержимое регистров? У меня что-то так не получалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба А где можно почитать о том, как заставить Modelsim ничего не рисовать, а сразу писать в файлики содержимое регистров? У меня что-то так не получалось. Есть консольный режим, но для потребления памяти это мало помогает, увы. И что оно будет в файлики писать? Всё подряд??? Нет, так не пойдет, можно без проблем самому создавать файлы и писать в них важные данные. Можно на лету проверять/сверять/сопоставлять результаты непосредственно в тестбенче. Я таковые пишу на Python, иногда на SystemVerilog, и не надо ничего сохранять - проверка на лету. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sqrt(2) 0 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба Можно на лету проверять/сверять/сопоставлять результаты непосредственно в тестбенче. Я таковые пишу на Python, иногда на SystemVerilog, и не надо ничего сохранять - проверка на лету. А по каким источникам вы изучали это кунг-фу, если не секрет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба А по каким источникам вы изучали это кунг-фу, если не секрет? Присоединяюсь к вопросу. Откуда вы это узнаете ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 25 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба А по каким источникам вы изучали это кунг-фу, если не секрет? Например: XAPP199.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба А по каким источникам вы изучали это кунг-фу, если не секрет? http://www.testbench.in Хотя я использую http://cocotb.readthedocs.io/en/latest/introduction.html но это не всегда возможно, некоторые проекты не допускают подобные окружения для верификации И да, то что делаете Вы, это отладка. Повторюсь, Вы уверены что слово "верификация" понимается верно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 33 23 сентября, 2017 Опубликовано 23 сентября, 2017 · Жалоба Приветству. Тоже думал по поводу записи в файл. А где можно почитать о том, как заставить Modelsim ничего не рисовать, а сразу писать в файлики содержимое регистров? У меня что-то так не получалось. Modelsim и так пишет в файл все что вы хотите потом увидеть. И это без добавления сигналов в wave. Cмотрите команду 'log'. Например "log -r /*" сделает вам во время ночной симуляции дамп всего что было. Потом уж утречком сможете загрузить этот .wlf файл и посмотреть что и как происходило. Но это как раз для дебага. Верифицировать результат работы все же лучше по golden-referens модели. Ну а как состыковать sim с моделью сейчас есть куча вариантов. Начиная от логирования нужных переменных в RTL через запись в файл (fopen, fwrite, ...), или релизация golden-referens на несинтезируемом подмножестве непосредственно в RTL, заканчивая стыковкой через VPI, DPI, PLI,.. c кодом модели на C/C++, или через cosimulation с тем же Matlab например. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Verilog позволяет как читать, так и писать в файлы (hex). Если нет времени на разборки высшего уровня, то все можно привести только к чтени и записи. Смена тестовых последовательностей через скрипт при запуске самого verilog-a. Я использую ncsim, так что unzip через tcl и на выходе только лог и дополнительная информация если тест провалился (с местом падения, чтобы делать дамп с этой точки). Но даже симуляция не заменит прототипирования на fpga, на входе/выходе тот же самый тестовый набор (дизай запускается, читает и выдает результат в ddr). День тестов заменяет год симуляций. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Тоже думал по поводу записи в файл. А где можно почитать о том, как заставить Modelsim ничего не рисовать, а сразу писать в файлики содержимое регистров? У меня что-то так не получалось. Хотите поговорим об этом по скайпу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Verilog позволяет как читать, так и писать в файлы (hex) Что имеется ввиду под hex? Встречал у некоторых ПЛИСовиков заблуждение что Verilog работает только с файлами hex-формата и удивлялись когда я выводил в десятичной форме, а то и вовсе произвольного формата текст, и не только выводил но и загружал. Надеюсь речь не об этом, потому что мне неведомо откуда они взяли эту чушь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sqrt(2) 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба http://www.testbench.in Хотя я использую http://cocotb.readthedocs.io/en/latest/introduction.html но это не всегда возможно, некоторые проекты не допускают подобные окружения для верификации И да, то что делаете Вы, это отладка. Повторюсь, Вы уверены что слово "верификация" понимается верно? Спасибо, посмотрю. Возможно, и не верно. Ну тут как бы вопрос не в определениях. То, что я хочу сделать - вроде описал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Что имеется ввиду под hex? Встречал у некоторых ПЛИСовиков заблуждение что Verilog работает только с файлами hex-формата и удивлялись когда я выводил в десятичной форме, а то и вовсе произвольного формата текст, и не только выводил но и загружал. Надеюсь речь не об этом, потому что мне неведомо откуда они взяли эту чушь. Я сильно далек от ПЛИС, только для прототипирования ASIC, но вообще да, без разницы в чем писать и читать (привычка с hex работать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться