new123 0 20 июля, 2020 Опубликовано 20 июля, 2020 (изменено) · Жалоба Форумчане, добрый день. Получил сюрприз в Quartus Pro, отсутствует автоматизация запуска Моделсима прям из квартуса. Пришлось изучать мануал, хорошо хоть он есть. Теперь понимаю, что мне предстоит всегда перечислять все sv, v файлы, что вводит меня в маленький шок =). Может кто уже прошел по этой тропе и нашел хоть малейшую автоматизацию создания do скриптов для симуляции всего проекта? Или каждый для себя сам писал различного рода помощников Изменено 20 июля, 2020 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 2 21 июля, 2020 Опубликовано 21 июля, 2020 · Жалоба Ну рано или поздно все равно придётся где-то объявлять список задействованных файлов. В do скриптах можно в качестве цели указывать не файл, а папку: ./../rtl/blabla/*.sv А про помощников - все придумано за нас: hdlmake Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 21 июля, 2020 Опубликовано 21 июля, 2020 · Жалоба Вообще-то всё начинается как-раз с Моделсима. Задолго до Квартуса. И если что-то автоматизировать, так это создание списка файлов именно для квартусовского проекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 21 июля, 2020 Опубликовано 21 июля, 2020 · Жалоба 18 hours ago, new123 said: предстоит всегда перечислять все sv, v файлы Если мне не изменяет память, то в Квартусовском файле проекта (.qsf) есть обьявление всех подключаемых файлов. Скопируйте просто всё в отдельный .do файл и подключайте себе по скрипту/автоопции в Моделсим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 21 июля, 2020 Опубликовано 21 июля, 2020 · Жалоба 1 hour ago, Nick_K said: Если мне не изменяет память, то в Квартусовском файле проекта (.qsf) есть обьявление всех подключаемых файлов. да, так и сделал. Просто, если все готовить из квартуса обычной версии, он в do файл прописывает еще все все файлы всех корок, а это очень очень много файлов. Меня это сильно и смутило. Но если делать из Pro по альтеровскому мануалу, то хватило прописи файлов только из qsf 6 hours ago, nice_vladi said: В do скриптах можно в качестве цели указывать не файл, а папку: ./../rtl/blabla/*.sv буду теперь знать, спасибо =) 2 hours ago, andrew_b said: Вообще-то всё начинается как-раз с Моделсима. Задолго до Квартуса. у меня как то параллельно все вышло. А так как квартус все готовит автоматически, я даже не знал никогда как эти скрипты готовятся Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 6 августа, 2020 Опубликовано 6 августа, 2020 · Жалоба Если сравнивать даже с ISE... Однажды я попробовал запустить Modelsim из Quartus, понял что этот раз был последним. Однако, создание bat/bash скрипта и ручное создание проекта для симуляции Altera в Modelsim оказалось в 10 раз проще. Если интересно, могу подсказать, как именно это делать. Вот мой простой пример test_msim.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 августа, 2020 Опубликовано 6 августа, 2020 · Жалоба 3 minutes ago, AVR said: Вот мой простой пример посмотрел. sim.do вы же руками написали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 6 августа, 2020 Опубликовано 6 августа, 2020 · Жалоба Just now, new123 said: посмотрел. sim.do вы же руками написали? Именно так, это не требует особых усилий. А список файлов я иногда забиваю в do-файл получая его просто в консоли ls *.v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 августа, 2020 Опубликовано 6 августа, 2020 · Жалоба 3 minutes ago, AVR said: Именно так, это не требует особых усилий. А список файлов я иногда забиваю в do-файл получая его просто в консоли ls *.v вот смотрите, я когда создавал тему, у меня перед глазами был автосозданный do файл из Quartus Standart Editionю. Небольшой кусочек, только часть. И глядя на это, я думал, что мне теперь весь этот ужас нужно руками прописывать, а это строк 600. Но в Pro версии как то обошлось без этого, но все равно много перечислять. сделать bash с ls *.v идея норм, спасибо, пометил в блокнот себе =) Сам не додумался, надо отдыхать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 6 августа, 2020 Опубликовано 6 августа, 2020 · Жалоба Приветствую! 32 minutes ago, new123 said: посмотрел. sim.do вы же руками написали? На самом деле сделать скрипт который будет брать на входе .qsf файл проекта а на выходе выдавать список всех исходников не так уж и сложно. Если присмотреться то в .qsf команд добавляющих фалы исходников всего ... одна! set_global_assignment .... set_global_assignment -name QIP_FILE .../ip_qsys.qip set_global_assignment -name SYSTEMVERILOG_FILE .../sv_source.sv set_global_assignment -name VERILOG_FILE .../v_source.v set_global_assignment -name VHDL_FILE .../vhd_source.vhd То-есть надо всего лишь парсить построчно qsf выделяя set_global_assignment -name (QIP_FILE|VHDL_FILE|VERILOG_INCLUDE_FILE|VHDL_FILE|...) (/path/source_name) ... ну и для найденных qip|sip файлов делать этот парсинг рекурсивно. А для найденных qsys файлов предварительно еще и вызывать генерацию qip через ip-generate. В боле ленивом (трудолюбивом) варианте парсить можно только qip|sip которые вместе с обычными rtl файлами добавляете в список компиляции в скрипте для симуляции ручками. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 августа, 2020 Опубликовано 7 августа, 2020 · Жалоба в свое время, пробовал в проекте из 700 файлов, собрать их в инклудники, по типам, и подключить к ПО. Получилось порядка 5-8 файлов. Все работало кроме вивады. она собирала, но не могла прыгать по модулям при интерактивной работе со схематиками. В итоге пришлось отказаться от такой техники Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 7 августа, 2020 Опубликовано 7 августа, 2020 · Жалоба А что мешает запихнуть все исходники в одну папку и подключать их через wildcard как было сказано выше? Мы, правда, сейчас используем одну папку для массы проектов, посему пришлось создавать специальные filelist (проприетарный формат, поддерживаемый тулзом) и подключаться к исходникам через него. Ну и к нему парсер на Пайтоне сделали, чтобы относительные пути в абсолютные парсить + исключить подпапки для другого менее умного тулза. Но это всё проза. Обычно add *.v спасает ситуацию :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 7 августа, 2020 Опубликовано 7 августа, 2020 · Жалоба Приветствую! 51 minutes ago, Nick_K said: А что мешает запихнуть все исходники в одну папку и подключать их через wildcard как было сказано выше? Свои файлы может и можно держать в такой свалке Но вот некоторые корки в Qu требуют компиляции в отдельные библиотеки. Да и pakage часто нужно компилировать в требуемом порядке, а не как попало. Ну и очень часто бывает что исходников значительно больше чем нужно - разные версии модулей, разные тесты, ... как при подходе "... скомпилю ка я все гамузом ..." быть уверенным что симулировать будет то что нужно, а не то что попалось под руку. А вот при парсинге qip легко извлекается и библиотеки назначения и порядок компиляции. И ты всегда уверен что компилируется для симуляции то что и синтезируется. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 7 августа, 2020 Опубликовано 7 августа, 2020 · Жалоба 19 minutes ago, RobFPGA said: Ну и очень часто бывает что исходников значительно больше чем нужно - разные версии модулей, разные тесты Не знаю как Вы привыкли. Но все "разные" версии в моём случае, покоятся в недрах истории GIT. А что касается тестов и тестбенчей - это не исходники и для них отдельная папка, не пересекающаяся с RTL дизайном. Ну и запускать оттуда что нужно уже и смотреть. Всё просто - папка RTL с актальными исходниками проекта и ничего лишнего А вот с подключаемыми IP - там немного сложнее, но тоже идеология приблизительно такая же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 7 августа, 2020 Опубликовано 7 августа, 2020 · Жалоба Приветствую! Версии модулей моем понимании это то что может использоваться в текущем проекте в зависимости от настройки параметров синтеза. А что с последовательностью компиляции ? Или с package? Но мне печально становится от от картины " бескрайней степи" с сотнями и тысячами файлов в одной папке, что и к какому модулю относится - хер поймешь. 2 hours ago, Nick_K said: Но это всё проза. Обычно add *.v спасает ситуацию :) Видимо не спасает раз все же пришлось и внешний "велосипед" изобретать для отслеживания связей. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться