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

Qsys - файлы *.qip в компонентах *_hw.tcl

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

 

Жизнь заставила опять заняться Altera (вернее уже Intel). Естественно ни каких миганий светодиодом :(

Сразу hardcore - Stratix, PCIe hip, qsys, megacore, ... и.т.д.

 

Пытаюсь вникнуть в тонкости организации файлов в qsys, а именно взаимосвязи *.qip и *_hw.tcl

 

Есть top.qsys в котором использован ряд модулей описанных в comp.qip. В котором в свою очередь описан список файлов модуля да еще и с иерархией (может быть вложенные *.qip подмодулей).

 

При создании компонента в Component Editor добавляю comp.qip список файлов для синтеза и симуляции (verilog)

тип файл определяется как OTHER. Однако при генерации модели для симуляции в qsys НЕ происходит "развертка" этого *.qip в фалы компонента, а он просто тупо копируется в каталог для симуляции. Соответственно эти фалы не компилируются в создаваемом скрипте msim_setup.tcl.

 

Что не так делаю? И как правильно?

 

Удачи! Rob.

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


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

Пытаюсь вникнуть в тонкости организации файлов в qsys, а именно взаимосвязи *.qip и *_hw.tcl

 

Есть top.qsys в котором использован ряд модулей описанных в comp.qip. В котором в свою очередь описан список файлов модуля да еще и с иерархией (может быть вложенные *.qip подмодулей).

Пусть меня поправит Stewart Little, но в моей голове закрепилось понимание такое: первоисточником информации для QSys о компоненте является его _hw.tcl файл, а *.qip - ниже по иерархии зависимостей (т.е., он м.б. либо упомянут в *_hw.tcl, как часть описания компонента, либо сформирован QSys'ом в процессе генерации всех файлов системы).

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


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

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

Пусть меня поправит Stewart Little, но в моей голове закрепилось понимание такое: первоисточником информации для QSys о компоненте является его _hw.tcl файл, а *.qip - ниже по иерархии зависимостей (т.е., он м.б. либо упомянут в *_hw.tcl, как часть описания компонента, либо сформирован QSys'ом в процессе генерации всех файлов системы).

Да так и есть - я ошибся и неправильно описал структуру.

Конечно же .qip файлы включены как часть исходников в описание корки *_hw.tcl .

Иерархия получается - *.qsys -> *_hw.tcl -> *.qip|*.v|*.sv|*.vhd

 

Но проблема остается - при генерации в QSYS модели симуляции для корки, в фалах *_hw.tcl которых включены *.qip файлы как исходники, не происходить экспорт списка файлов из этих *.qip в каталог симуляции и в скрип для компиляции.

 

Судя по всему это штатная работа QSYS. Без костылей наверно не лечится. :(

 

Удачи! Rob.

 

 

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


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

Но проблема остается - при генерации в QSYS модели симуляции для корки, в фалах *_hw.tcl которых включены *.qip файлы как исходники, не происходить экспорт списка файлов из этих *.qip в каталог симуляции и в скрип для компиляции.
Для симуляции вроде бы предназначен *.sip.

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


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

Кажется это невозможно из-за того как построен сам qsys.

В итоге я просто ручками добавил все файлы из qip в _hw.tcl, а qip выбросил.

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


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

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

Кажется это невозможно из-за того как построен сам qsys.

Да похоже что так и есть :( .

Увы пока полностью в идеологию работы с qsys не вник. Но кажется мне что свой модуль со сложной иерархией в qsys не воткнуть. Он должен быть только "плоским".

В итоге я просто ручками добавил все файлы из qip в _hw.tcl, а qip выбросил.

Сначала я тоже так попробовал. Но выплыла проблема library. Особенно для VHDL файлов. Если в qip можно указывать в какую либу компилировать исходник то в _hw.tcl увы нет (или не нашел как). Все валится в одну кучу.

 

К тому же в основном добро не мое и сильно ковырять его мне лень :rolleyes: так что придется все же поработать :(

Или сваять костыль для пасинга qip/sip, который можно будет втыкать в _hw.tcl. Это не сложно, но как быть с library?

Ну или как то по другому что бы автоматом собирать эту "размазню".

 

Успехов! Rob.

 

 

 

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


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

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

 

Да похоже что так и есть :( .

Увы пока полностью в идеологию работы с qsys не вник. Но кажется мне что свой модуль со сложной иерархией в qsys не воткнуть. Он должен быть только "плоским".

 

Сначала я тоже так попробовал. Но выплыла проблема library. Особенно для VHDL файлов. Если в qip можно указывать в какую либу компилировать исходник то в _hw.tcl увы нет (или не нашел как). Все валится в одну кучу.

 

К тому же в основном добро не мое и сильно ковырять его мне лень :rolleyes: так что придется все же поработать :(

Или сваять костыль для пасинга qip/sip, который можно будет втыкать в _hw.tcl. Это не сложно, но как быть с library?

Ну или как то по другому что бы автоматом собирать эту "размазню".

 

Успехов! Rob.

не совсем понимаю, что означает быть "плоским", извините бухаю.

Но что мешает воспользоваться возможностями TCL?

У нас товарищ относительно сложные конструкции ваяет для qsys с помощью тиклевских файлов, правда моделированием не занимается.

 

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


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

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

не совсем понимаю, что означает быть "плоским", извините бухаю.

Это значит как доска - нет приятных "выпуклостей" и "впадин" иерархии которые так будоражат фантазию :yeah:

 

Логично задавать список исходников функционально законченных модулей в соответствующих .qip файлах.

Удобно составлять иерархию сложных модулей включая в их qip описание файлы qip нижележащих подмодулей.

Но при попытке подключить такой модуль в QSYS облом - включать в _hw.tcl файл qip файлы подмодулей смысла не имеет так как они не обрабатывается (насколько я понял).

 

Но что мешает воспользоваться возможностями TCL?

У нас товарищ относительно сложные конструкции ваяет для qsys с помощью тиклевских файлов, правда моделированием не занимается.

Так ими и пользуюсь (в смысле возможностями tcl). Просто пытаюсь разобраться что и как да устаканить flow для оптимальной работы. Не хочется сдуру написать свой вариант QSYS с нуля. :wacko:

 

Удачи! Rob

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


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

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

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

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

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

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

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

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

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

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