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

    

по Vivado - научите методологии как ускорить synt/impl

пытаюсь использовать в "прожект моде", то есть руками tcl для синтеза/имплемента не пишу

попробовал инкрементальную имплементацию, отдельный run, который берет routed чекпоинт из дефолтного ран-а (ну то есть то что кликанием мышкой делается)

но не заметил прироста скорости (правки у меня не незначительные, но локализованые внутри небольшого модуля)

 

по описанию (ug905/ug946 hierarchical design) возникло впечатление, что прямого аналога партишинам нету - то есть в режиме "проекта" пометить какие-то куски иерархии как некие отдельные "сущности" которые при повторных запусках можно не переразводить - нельзя

нужно задавать отдельные out-of-context модули, к ним писать in-out констрейны, для сборки всего писать hdl c блэк-боксами - то есть начальные трудозотраты велики, все это в виде проекта с картинками и мышкой не получится и в дальнейшем проблемы с передачей проекта коллегам..

 

-----------------

 

может я чего-то недосмотрел?

может есть какие-то не сильно трудозотратные методы копирования большей части предыдущей разводки с изменениями в отдельном модуле (собственно партишины альтеровские, пояснение для труЪ ксайлинсоводов)

 

 

 

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


Ссылка на сообщение
Поделиться на другие сайты
пытаюсь использовать в "прожект моде", то есть руками tcl для синтеза/имплемента не пишу

попробовал инкрементальную имплементацию, отдельный run, который берет routed чекпоинт из дефолтного ран-а (ну то есть то что кликанием мышкой делается)

но не заметил прироста скорости (правки у меня не незначительные, но локализованые внутри небольшого модуля)

 

по описанию (ug905/ug946 hierarchical design) возникло впечатление, что прямого аналога партишинам нету - то есть в режиме "проекта" пометить какие-то куски иерархии как некие отдельные "сущности" которые при повторных запусках можно не переразводить - нельзя

нужно задавать отдельные out-of-context модули, к ним писать in-out констрейны, для сборки всего писать hdl c блэк-боксами - то есть начальные трудозотраты велики, все это в виде проекта с картинками и мышкой не получится и в дальнейшем проблемы с передачей проекта коллегам..

 

-----------------

 

может я чего-то недосмотрел?

может есть какие-то не сильно трудозотратные методы копирования большей части предыдущей разводки с изменениями в отдельном модуле (собственно партишины альтеровские, пояснение для труЪ ксайлинсоводов)

 

open implemented design,netlist, rmb на готовом модуле, fix cells.

 

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


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

по rmb - fix cells действует только на leaf cell-ы, на иерархию не действует - пишет Could not find placed cell

 

можно, наверно, через

set_property is_loc_fixed true [get_cells

на все в иерархии поставить,

 

буду пробовать,

но не нашел в ксайлинских доках упоминания этих "пропертей"

ну то есть интуитивно смысл IS_BEL_FIXED and IS_LOC_FIXED properties on the object are physical constraints

reflecting the placement of the object понятен, но не является этот метод каким-то жестким хаком, который лучше не применять?

 

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


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

Эти псы в плохом смысле слова партиции к Виваде еще не прикрутили (в ISE как-то работали).

 

Я как почитал мануалы, так решил что ну ихние поделки в болото, буду ждать пока наконец сделают.

Вот, может, в 2018.1 появится?

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


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

У них это называется Hierarchical design, по моему. Я как то пробовал, время потратил. Модуль грузился, лочился, больше двух минут. А таких модулей в проекте было 8, и весь процесс забрал все как бы сэкономленное время. С натягом - 10 минут разница. У них не только ГУИ тормоз - сам Вивадо тормозина еще та.

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


Ссылка на сообщение
Поделиться на другие сайты
open implemented design,netlist, rmb на готовом модуле, fix cells.

 

попробовал - так просто не работает, имплементэйшен валится с ошибкой

 

[Place 30-492] Failed to commit 1 big shapes:

mig_gen.gen_mig.ddrc/r_reg[hrdata][31]_i_27 with block Id: 49126

This block belongs to a shape with 4 instances.

Instance no. 0: r_reg[hrdata][31]_i_27

...

 

 

 

 

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация