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

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

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

вопрос следующий: после синтеза проекта 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%

 

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

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


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

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

 

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

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ы по слайсам компактно и тем более так, чтобы сохранить связи и выполнить временные требования.

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


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

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

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

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

 

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


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

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

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

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

 

 

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


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

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

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

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


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

Большое спасибо всем за ответ. То есть, если я правильно понял, даже при отсутствии 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 и смотрите, как схема легла. Координаты рамки только поменяйте на свои.

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


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

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

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

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

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

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

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

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

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

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