Jump to content

    
Sign in to follow this  
_ANDREW

вопрос по имплементации

Recommended Posts

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

вопрос следующий: после синтеза проекта XST он занимает 58% , а после имплементации 74, почему?

отчёт по синтезу

Selected Device : 6vlx240tff1156-2

 

 

Slice Logic Utilization:

Number of Slice Registers: 99196 out of 301440 32%

Number of Slice LUTs: 87661 out of 150720 58%

Number used as Logic: 87644 out of 150720 58%

Number used as Memory: 17 out of 58400 0%

Number used as SRL: 17

 

Slice Logic Distribution:

Number of LUT Flip Flop pairs used: 108451

Number with an unused Flip Flop: 9255 out of 108451 8%

Number with an unused LUT: 20790 out of 108451 19%

Number of fully used LUT-FF pairs: 78406 out of 108451 72%

Number of unique control sets: 3868

 

IO Utilization:

Number of IOs: 151

Number of bonded IOBs: 151 out of 600 25%

 

Specific Feature Utilization:

Number of Block RAM/FIFO: 157 out of 416 37%

Number using Block RAM only: 157

Number of BUFG/BUFGCTRLs: 3 out of 32 9%

 

отчёт по имплементации

 

 

Device Utilization Summary:

 

Slice Logic Utilization:

Number of Slice Registers: 99,196 out of 301,440 32%

Number used as Flip Flops: 99,196

Number used as Latches: 0

Number used as Latch-thrus: 0

Number used as AND/OR logics: 0

Number of Slice LUTs: 76,802 out of 150,720 50%

Number used as logic: 74,551 out of 150,720 49%

Number using O6 output only: 56,764

Number using O5 output only: 71

Number using O5 and O6: 17,716

Number used as ROM: 0

Number used as Memory: 17 out of 58,400 1%

Number used as Dual Port RAM: 0

Number used as Single Port RAM: 0

Number used as Shift Register: 17

Number using O6 output only: 17

Number using O5 output only: 0

Number using O5 and O6: 0

Number used exclusively as route-thrus: 2,234

Number with same-slice register load: 2,224

Number with same-slice carry load: 10

Number with other load: 0

 

Slice Logic Distribution:

Number of occupied Slices: 28,140 out of 37,680 74%

Number of LUT Flip Flop pairs used: 93,406

Number with an unused Flip Flop: 8,206 out of 93,406 8%

Number with an unused LUT: 16,604 out of 93,406 17%

Number of fully used LUT-FF pairs: 68,596 out of 93,406 73%

Number of slice register sites lost

to control set restrictions: 0 out of 301,440 0%

 

подскажите, может можно с помощью настроек уменьшить объём проекта... спасибо..

Share this post


Link to post
Share on other sites

Выделенные жирным цифры показывают разные вещи.

 

После синтеза:

Number of Slice LUTs: 87661 out of 150720 58% - число таблиц LUT, то есть логики

Number of Slice Registers: 99196 out of 301440 32% - число D-триггеров

После имплементации:

Number of Slice LUTs: 76,802 out of 150,720 50%

Number of Slice Registers: 99,196 out of 301,440 32%

Number of occupied Slices: 28,140 out of 37,680 74%

 

Имплементатор даже оптимизировал проект, в результате сэкономил LUTы.

При имплементации LUTы раскидываются по слайсам. Один Slice в Virtex-6 содержит 4 LUT и 4 (или 6, не помню) D-триггеров.

На практике трудно раскидать LUTы по слайсам компактно и тем более так, чтобы сохранить связи и выполнить временные требования.

Share this post


Link to post
Share on other sites

Кроме всего, если в проекте есть элементы типа "black box" - а это всё, что сгенерил

Coregen, они в отчёте синтезатора не учитываются.Синтезатор просто не знает что

внутри этого компонента и сколько логики это займёт.

 

Share this post


Link to post
Share on other sites

ANDREW, можно задать ограничить площадь, выделив 60% слайсов (AREA_GROUP, RANGE).

Тогда будет меньше слайсов, которые использованы частично.

Только проект может не собраться или частота упадёт.

 

 

Share this post


Link to post
Share on other sites

Большое спасибо всем за ответ. То есть, если я правильно понял, даже при отсутствии black box в проекте на этапе синтеза невозможно узнать сколько % будет занимать проект.

jojo, подскажите пожалуйста, как именно в % выделить слайсы. в файле cgd.pdf нашёл информацию по использованию констант AREA_GROUP, RANGE, но не совсем понятно.

Share this post


Link to post
Share on other sites
Большое спасибо всем за ответ. То есть, если я правильно понял, даже при отсутствии black box в проекте на этапе синтеза невозможно узнать сколько % будет занимать проект.

jojo, подскажите пожалуйста, как именно в % выделить слайсы. в файле cgd.pdf нашёл информацию по использованию констант AREA_GROUP, RANGE, но не совсем понятно.

 

% занятых ресурсов можно узнать только после MAP вне зависимости от black box.

На этапе синтеза можно делать Read Cores, тогда ящики будут учтены в списке ресурсов.

 

В UCF создаёте констрейн размещения:

INST "*" AREA_GROUP = "pblock_name";

AREA_GROUP ”pblock_name” RANGE=SLICE_X0Y0:SLICE_X39Y39;

 

Потом открываете в PlanAhead и смотрите, как схема легла. Координаты рамки только поменяйте на свои.

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