Jump to content

    
Sign in to follow this  
yes

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

Recommended Posts

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

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

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

 

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

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

 

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

 

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

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

 

 

 

Share this post


Link to post
Share on other sites
пытаюсь использовать в "прожект моде", то есть руками tcl для синтеза/имплемента не пишу

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

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

 

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

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

 

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

 

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

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

 

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

 

Share this post


Link to post
Share on other sites

по 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 понятен, но не является этот метод каким-то жестким хаком, который лучше не применять?

 

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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

...

 

 

 

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this