Jump to content

    

Исключение этапов компиляции в Quartus

Здравствуйте все!

Скажите, пожалуйста, как исключить из компиляции не нужные в данный момент этапы? Например, мне сейчас не нужен временнОй анализатор.

Куда и что надо вписать?

Заранее признателен.

Share this post


Link to post
Share on other sites

Как вариант руками запускать: quartus_map quartus_fit ...

Или сделать make файл (quartus_sh --help=makefiles), а уже там целями крутить.

Share this post


Link to post
Share on other sites

Спасибо.

Если запускать их руками поштучно, или из bat файла, то в нижней части окна Quartus, естественно, не будет протокола с сообщениями, а он ценный. Можно выводить их сообщения в свой файл протокола, но это не так удобно. В частности, не будет подсчёта предупреждений разных видов, и фильтрации не будет.

А в случае make файла родной протокол Quartus будет работать? Кстати, в ответ на quartus_sh --help=makefiles оно пишет Help unavailable for option or topic "makefiles". Где бы поискать?

Share this post


Link to post
Share on other sites

по quartus_sh --help=makefiles Квартус делает шаблон make файла. А дальше правка руками.

Что касается подсчета и фильтрации - разумеется не будет. Тут же нет gui. Я обычно пользуюсь grep/grep -c на rpt файлы.

Share this post


Link to post
Share on other sites

А как Вы узнаёте общее время компиляции?

Share this post


Link to post
Share on other sites
13 hours ago, DSIoffe said:

Спасибо.

Если запускать их руками поштучно, или из bat файла, то в нижней части окна Quartus, естественно, не будет протокола с сообщениями, а он ценный. Можно выводить их сообщения в свой файл протокола, но это не так удобно. В частности, не будет подсчёта предупреждений разных видов, и фильтрации не будет.

Не давите compilation, в окне procesing, запустите только роутер. Всё что нужно будет до него, выполнится. За ним, нет 

Share this post


Link to post
Share on other sites

Вот спасибо!

Я таки сделал bat файл. Он делает компиляцию, не запуская временной анализатор, и выводит в отчёт время компиляции. Можно добавлять и убирать этапы компиляции по вкусу. Расчёт времени компиляции взят отсюда: "Засекаем время в bat/cmd". Может быть, кому-то пригодится.

@echo off

set ProjectName=MyProject
echo Компиляция проекта %ProjectName% из командной строки >compile.log

rem Вычисление времени начала компиляции в секундах
set t1=%time%
set t1_h=%t1:~0,2%
set t1_m=%t1:~3,2%
set t1_s=%t1:~6,2%
set /a s1= t1_h * 60 * 60 + t1_m * 60 + t1_s

set StepName=Анализ и синтез
quartus_map --read_settings_files=on --write_settings_files=off %ProjectName% -c %ProjectName% >nul
set MyLevel=%errorlevel%
if MyLevel==1 goto ErrorStop
echo Выполнено: %StepName% >>compile.log

set StepName=Анализ назначений ввода-вывода
quartus_fit --read_settings_files=off --write_settings_files=off %ProjectName% -c %ProjectName% --plan >nul
set MyLevel=%errorlevel%
if MyLevel==1 goto ErrorStop
echo Выполнено: %StepName% >>compile.log

set StepName=Размещение и трассировка
quartus_fit --read_settings_files=off --write_settings_files=off %ProjectName% -c %ProjectName% >nul
set MyLevel=%errorlevel%
if MyLevel==1 goto ErrorStop
echo Выполнено: %StepName% >>compile.log

set StepName=Запуск ассемблера
quartus_asm --read_settings_files=off --write_settings_files=off %ProjectName% -c %ProjectName% >nul
set MyLevel=%errorlevel%
if MyLevel==1 goto ErrorStop
echo Выполнено: %StepName% >>compile.log

rem Вычисление времени конца компиляции в секундах
set t2=%time%
set t2_h=%t2:~0,2%
set t2_m=%t2:~3,2%
set t2_s=%t2:~6,2%
set /a s2= t2_h * 60 * 60 + t2_m * 60 + t2_s

rem Вычисление времени компиляции и его отображение в удобном виде:
set /a s3=s2-s1
set /a t3_h= s3 / 60 / 60
set /a t3_m= s3 %% (60 * 60) / 60
set /a t3_s= s3 %% (60)
set t3=%t3_h%:%t3_m%:%t3_s%
echo Время компиляции %t3% >>compile.log

exit

:ErrorStop
echo. >>compile.log
echo Ошибка на этапе %StepName%: >>compile.log
if MyLevel==2 echo Ошибка выполнения или внутренняя ошибка >>compile.log
if MyLevel==3 echo Ошибка пользователя >>compile.log
if MyLevel==4 echo Выполнение модуля %StepName% прервано пользователем >>compile.log
exit

 

Edited by DSIoffe
Дополнение

Share this post


Link to post
Share on other sites

В окне "Tasks" есть кнопка "Customize...". С помощью неё делаете на базе одного из существующих наборов нужный вам и сохраняете под вменяемым именем. При пересборке проекта просто выбираете его в списке "Flow" окна "Task".

Share this post


Link to post
Share on other sites

Спасибо! Какая роскошь :)

Share this post


Link to post
Share on other sites

А вот такая засада. Я правлю исходники во внешнем редакторе. После правки такая усечённая компиляция не запускается, пишет, что она уже закончена. Что делать? Полная компиляция работает нормально.

И до кучи. Если компилировать bat-файлом, то Signal Tap не даёт работать, после заливки файла SOF пишет о несовпадении контрольной суммы. Опять же, что делать?

Заранее признателен.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now