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

Открытие исходного кода по умолчанию, Quartus

Коллеги,

как сделать так, что в Quartus'е при щелчке на графическом изображении модуля, добавленного в проект с помощью .qip-файла открывался именно исходник, а не выпадало постоянно окошко с выбором "вам .qip-файл, или исходник?"?

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


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

При клике в bdf на графическом изображении модуля, сформированного MegaWizard-om открывается окно MegaWizard-а. Уточните вопрос.

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


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

On 6/27/2019 at 5:03 PM, MaratZuev said:

При клике в bdf на графическом изображении модуля, сформированного MegaWizard-om открывается окно MegaWizard-а. Уточните вопрос.

Ну смотрите. Я сделал модуль на HDL, условно Module1.sv сгенерил по нему графику. Оба файла подключаю к проекту с помощью .qip-файла, в к-ром пишу, типа:

 

set_global_assignment -name "SYSTEMVERILOG_FILE" [file join $::quartus(qip_path) "Module1.sv"  ]

set_global_assignment -name "MISC_FILE"                   [file join $::quartus(qip_path) "Module1.bsf"]

 

Далее вставляю графический символ Module1 в некий .bdf-файл верхнего уровня. Всё замечательно.

Теперь, мне понадобилось отредактировать Module1. Я щёлкаю два раза (ну или вываливаю меню "Open design file") по графическому символу, но вместо того, что бы просто открыть мне Module1.sv в редакторе, он мне сначала вываливает окно "Что вы хотите открыть Module1.sv или Module1.qip?". Вот можно как-то Квартусу объяснить, что бы он по умолчанию открывал именно HDL-код, не задавая вопросов?

 

Изменено пользователем Kluwer

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


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

8 minutes ago, MaratZuev said:

А зачем, стесняюсь спросить, вам вообще этот qip нужен? В чём его суть?

Ну, например, сейчас над одним проектом работает сразу три плисовода, в т.ч. и я. У меня большой модуль, к-рый ведёт обработку сигналов и обеспечивает передачу данных по сети. Он лежит в отдельном подкаталоге, внутри всё тоже по подкаталогам разложено. Мы пробовали всякие CVS'ы, но переплевались и по старинке, просто кидаем друг другу обновлённые версии своих модулей.

Все эти подпроекты, есс-но, подключаются с помощью головных .qip-файлов (а как ещё?), в к-рых всё досконально прописывается. И есть одна большая накрывающая графика, где просто глобально соеденены наши модули. В рез-те, если у меня появилась новая версия, то я просто тупо бросаю один-два файла коллегам и всё. В особо запущенных случаях (например, я что-то глобально переделал в своём подпроекте) архивируется и кидается весь каталог под замену. Но коллеги ни о чём не думает, ибо .qip-файл прописан уже в списке файлов: заменили или добавили то, что я присла и понеслась.

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

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


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

Никогда не использовал qip, а если он и появлялся в результате работы визарда, удалял его не задумываясь. Вы можете "выхолостить" ваш проект до стадии, когда в нём не будет ничего лишнего, за искл. того, что продемонстрирует вашу проблему? Возможно ответ на ваш вопрос можно найти за бугром? Или уже искали?

2 hours ago, Kluwer said:

он мне сначала вываливает окно "Что вы хотите открыть Module1.sv или Module1.qip?". Вот можно как-то Квартусу объяснить, что бы он по умолчанию открывал именно HDL-код, не задавая вопросов?

А их по-разному обозвать нельзя, например Module1.sv и Module1qip.qip?

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


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

On 7/30/2019 at 1:00 PM, Kluwer said:

Все эти подпроекты, есс-но, подключаются с помощью головных .qip-файлов (а как ещё?)

QIP обычно описывает исходники стандартных IP из каталога. Подпроекты я бы объединял с помощью дочерних QSF-ов. Это, по крайней мере, более логично.

set_global_assignment -name SOURCE_TCL_SCRIPT_FILE my_subproject_1_settings.qsf
set_global_assignment -name SOURCE_TCL_SCRIPT_FILE my_subproject_2_settings.qsf

 

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


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

19 часов назад, pavlovconst сказал:

QIP обычно описывает исходники стандартных IP из каталога. Подпроекты я бы объединял с помощью дочерних QSF-ов. Это, по крайней мере, более логично.


set_global_assignment -name SOURCE_TCL_SCRIPT_FILE my_subproject_1_settings.qsf
set_global_assignment -name SOURCE_TCL_SCRIPT_FILE my_subproject_2_settings.qsf

 

Вот уже 14 лет я использую квартус - и только сейчас узнал о такой возможности! У меня весьма часто проекты являются составными частями для других проектов.

Спасибо за совет!

Воистину век живи - век учись.

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


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

On 7/30/2019 at 2:34 PM, MaratZuev said:

А их по-разному обозвать нельзя, например Module1.sv и Module1qip.qip?

Можно и это будет работать, но это дико не удобно.

On 7/31/2019 at 7:33 PM, pavlovconst said:

QIP обычно описывает исходники стандартных IP из каталога. Подпроекты я бы объединял с помощью дочерних QSF-ов. Это, по крайней мере, более логично.


set_global_assignment -name SOURCE_TCL_SCRIPT_FILE my_subproject_1_settings.qsf
set_global_assignment -name SOURCE_TCL_SCRIPT_FILE my_subproject_2_settings.qsf

 

Нет, смена разрешения файла ничего не даёт. Хоть .sip, хоть .qsf, хоть что угодно (хотя, ваша мысль про связь .qip и IP-кор интересна: возможно он изначально мой .qip рассматривает как результат работы мегавизарда, а стандартной шапки в коде модуля не находит и ему малость плохеет). Изменение имени - да, как MaratZuev выше предлагал, но по мне это дико не удобно.

Кроме того, ещё одна проблема есть, не стал сразу в первом сообщение писать. Вот, например, вы перегенерили графический символ для блока Module1 (Module1.bsf) и хотите его обновить. Причём, хотелось бы это сделать из меню "Update Symbol or Block ...". Но, даже если вы любитель всё руками делать (один удалить, второй вставить, inst руками поменять) он должен быть прицеплен к проекту. Для этого его нужно прицепить к проекту через тот же скриптовик (.qip, ну или, пожалуйста, с другим расширением).

Если вы его цепляете как

set_global_assignment -name "BSF_FILE" [file join $::quartus(qip_path)  "Module1.bsf"]

то при щелчке на графическом элементе в схем ещё и он будет в списке выдаваться! Т.е помимо "Module1.sv" и "Module1.qip" он вам любезно ещё и Module1.bsf" предолжит :(

А если его вообще не прописывать, или прописать как "прочий" файл

set_global_assignment -name "MISC_FILE" [file join $::quartus(qip_path)  "Module1.bsf"]

то тут вообще какой-то вынос мозга начнётся, потому что Квартус, в зависимости от ваших действий (например, вы файл вообще из другого проекта открыли в другом каталоге) переодически вообще перестаёт графический символ видеть. Проблему полностью решает, как ни странно, прописывание абсолютных путей. Но при работе командой (разбросанной в нескольких странах, тем более) за абсолютные пути расстреливать надо.

А прописывание относительных путей, типа

set_global_assignment -name SEARCH_PATH [file join $::quartus(qip_path) "." ]

помогает Квартусу всё что надо видеть во время сборки (вот при сборке и сразу после неё, странное дело, он всё прекрасно находит, если пути поиска прописаны). Но стоит даже во вне Квартуса (!!!) открыть какой-то каталог другой, Квартус моментально перестаёт видеть графические символы. Короче, заколдованный круг какой-то: либо каждый раз список из трёх файлов, либо постоянный геморр с путями :(

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


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

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

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

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

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

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

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

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

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

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