Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как подсчитать занимаемые ресурсы проекта в ПЛИС?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Гвоздик
Собрал два модуля, смотрю отчеты использования ресурсов ПЛИС Xilinx XC5VSX50T-3FF1136 в ISE 9.1i. Как правильно подсчитать общий занимаемый объем (считать Slice LUT'ы + Slice registers или порознь)?
Таблицы занимаемых ресурсов обоих модулей привожу ниже:
Код
Device Utilization Summary
Slice Logic Utilization Used Available Utilization Note(s)
Number of Slice Registers 11,421 32,640 34%  
    Number used as Flip Flops 11,419      
    Number used as Latch-thrus 2      
Number of Slice LUTs 17,240 32,640 52%  
    Number used as logic 17,156 32,640 52%  
        Number using O6 output only 16,268      
        Number using O5 output only 366      
        Number using O5 and O6 522      
    Number used as exclusive route-thru 84      
Number of route-thrus 644 65,280 1%  
    Number using O6 output only 442      
    Number using O5 output only 194      
    Number using O5 and O6 8      
Slice Logic Distribution          
Number of occupied Slices 6,667 8,160 81%  
Number of LUT Flip Flop pairs used 20,263      
    Number with an unused Flip Flop 8,842 20,263 43%  
    Number with an unused LUT 3,023 20,263 14%  
    Number of fully used LUT-FF pairs 8,398 20,263 41%  
    Number of unique control sets 362      
IO Utilization          
Number of bonded IOBs 45 480 9%  
    IOB Flip Flops 1      
Specific Feature Utilization          
Number of BUFG/BUFGCTRLs 2 32 6%  
    Number used as BUFGs 2      
Number of DSP48Es 93 288 32%  
Total equivalent gate count for design 226,962      
Additional JTAG gate count for IOBs 2,160

и второй модуль:
Код
Device Utilization Summary
Slice Logic Utilization Used Available Utilization Note(s)
Number of Slice Registers 2,274 32,640 6%  
    Number used as Flip Flops 2,274      
Number of Slice LUTs 2,145 32,640 6%  
    Number used as logic 2,132 32,640 6%  
        Number using O6 output only 1,887      
        Number using O5 output only 72      
        Number using O5 and O6 173      
    Number used as Memory 3 12,480 1%  
        Number used as Shift Register 3      
            Number using O6 output only 3      
    Number used as exclusive route-thru 10      
Number of route-thrus 83 65,280 1%  
    Number using O6 output only 79      
    Number using O5 output only 1      
    Number using O5 and O6 3      
Slice Logic Distribution          
Number of occupied Slices 1,360 8,160 16%  
Number of LUT Flip Flop pairs used 3,651      
    Number with an unused Flip Flop 1,377 3,651 37%  
    Number with an unused LUT 1,506 3,651 41%  
    Number of fully used LUT-FF pairs 768 3,651 21%  
    Number of unique control sets 244      
IO Utilization          
Number of bonded IOBs 211 480 43%  
    IOB Flip Flops 113      
Specific Feature Utilization          
Number of BlockRAM/FIFO 2 132 1%  
    Number using BlockRAM only 2      
Total primitives used          
        Number of 18k BlockRAM used 4      
Total Memory used (KB) 72 4,752 1%  
Number of BUFG/BUFGCTRLs 3 32 9%  
    Number used as BUFGs 3      
Total equivalent gate count for design 296,974      
Additional JTAG gate count for IOBs 10,128

Поместится ли оба модуля в ПЛИС и каков общий размер проекта? Какие показатели нужно складывать? Буду рад совету
Rendom
Судя по приведенным цифрам все должно влезть. Но занимаемый обьем в кристале 2 модулей в 99% случаев отличается от простого сумирования ресурсов потребляемых каждым модулем, т.к:
1. Часть выполняемых функций модулей может дублироваться и при разводке 2 одинаковые функции могут быть заменены на 1 с выхода которой данные поступают на несколько испоьзующих ее блоков. (простой пример: в обоих модулях используется деление одной и той же тактовой частоты в 2 раза и при обьеденении этих 2х модулей вместо использования двух триггеров будет использован 1).
2. Так же возможно совместное использование ресурсов одних и тех же LUT обоими модулями, что так же приведет к сокращению используемых ресурсов.

Насколько я помню архитектуру FPGA здесь в отличии от CPLD обьединение 2х модулей не может привести к резкому возрастанию общего числа ресурсов по сравнению с простым суммированием.

ps. А вообще наиболее простой и надежный способ оценить точное занимаемое место в кристале это подключить в проект оба блока в виде 2х черных ящиков и провести place and route.
Гвоздик
Спасибо за совет. Два модуля в один собирать не стал, потому что сигналы с одного модуля будут подключаться не напрямую, а через логику связи с первым модулем. Пока еще не знаю сам как (второй модуль писал не я). А если собрать все вместе, то синтезатор может выбросить ненужные блоки, объеем получится недостоверный (хотя если все наружу вывести, то все вроде бы должно быть тип-топ).
Весь вопрос-то и в том, что подсчитывать у обоих модулей:
1. Number of Slice Registers (1) + Number of Slice Registers(2)
2. Number of Slice LUTs(1) + Number of Slice LUTs(2)
Или
Number of Slice Registers (1) + Number of Slice LUTs(1) + Number of Slice Registers(2) + Number of Slice LUTs(2)?
Т.е. я хочу выяснить общий занимаемый объем в процентах от объема ПЛИС.
Rendom
1. Number of Slice Registers (1) + Number of Slice Registers(2)
2. Number of Slice LUTs(1) + Number of Slice LUTs(2)
cyclop
Цитата(Гвоздик @ Aug 8 2007, 11:42) *
...А если собрать все вместе, то синтезатор может выбросить ненужные блоки, объеем получится недостоверный (хотя если все наружу вывести, то все вроде бы должно быть тип-топ).
...
Верно. А ещё можно воспользоваться синтезатором типа Synplify, который рисует две схемы (RTL и вентильного уровня); там сразу будет видно, что синтезировалось. И в log-файле он даёт потребление ресурсов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.