Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: А что такое Slices?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Alexandr
Selected Device : v100epq240-6

Number of Slices: 1189 out of 1200 99%
Number of Slice Flip Flops: 1290 out of 2400 53%
Number of 4 input LUTs: 1910 out of 2400 79%
Number of bonded IOBs: 147 out of 162 90%
Number of TBUFs: 224 out of 1200 18%
Number of GCLKs: 1 out of 4 25%

Что такое LUT, IOB, TBUF, GCLK понятно. А вот что такое Slices и Slice Flip Flops? И больше всего мне не нравится Number of Slices = 99%, получается что ПЛИС забита полностью. Как уменьшить количество этих Slices, какие есть методы?
makc
Цитата(Alexandr @ May 26 2005, 15:05)
Selected Device : v100epq240-6

Number of Slices:                    1189  out of  1200    99% 
Number of Slice Flip Flops:          1290  out of  2400    53% 
Number of 4 input LUTs:              1910  out of  2400    79% 
Number of bonded IOBs:                147  out of    162    90% 
Number of TBUFs:                      224  out of  1200    18% 
Number of GCLKs:                        1  out of      4    25% 

Что такое LUT, IOB, TBUF, GCLK понятно. А вот что такое Slices и Slice Flip Flops? И больше всего мне не нравится Number of Slices = 99%, получается что ПЛИС забита полностью. Как уменьшить количество этих Slices, какие есть методы?
*


Slice - часть конфигурируемого блока ПЛИС, содержащая несколько LUT и FF (Flip-Flop).
Slice Flip Flop - триггеры, входящие в состав Slice'ов.

Number of Slices = 99% при учете Number of Slice Flip Flops = 53% и Number of 4 input LUTs = 79% говорит о том, что далеко не все Slice'ы используются полностью. Т.е. еще есть резерв, за счет перераспределения элементов в различные Slice'ы (упаковка). Но это черевато снижением тактовой частоты.
andrew_b
Цитата(Alexandr @ May 26 2005, 16:05)
Что такое LUT, IOB, TBUF, GCLK понятно. А вот что такое Slices и Slice Flip Flops?

Может, псмотреть даташит на Виртекс? Там все нарисовано.

Цитата
Как уменьшить количество этих Slices, какие есть методы?

Боюсь, что в данном случае только изменениями в дизайне проекта.
Regul
Alexandr У тебя весь кристал состаит из 1200 ячеек Slice. Одная ячейка Slice состоит из 2-х LUT-ов. Пример у тебя занято 3 LUT-а а Slice-ов будет занято 2!!! один Slice будет занят на полавину. Скорее всего оставщиеся LUT-ы она оставляет для разводки.
Я добивался максимума когда у меня было да и не только у меня 99% Slice и 85% LUT это самый оптимальный вариант !!!
И еще ты не пугайся 99% Slice если ты сейчас немного увеличишь свою схему то у тебя 99% Slice сохранится а увеличится только LUT-ы !!!
gammanoid
У Вас имеется изрядное количество неиспользованных BUFT. Если в проекте есть мультиплексоры или память (disttributed), то их можно развести на BUFT.
makc
Цитата(gammanoid @ May 27 2005, 22:27)
У Вас имеется изрядное количество неиспользованных BUFT. Если в проекте есть мультиплексоры или память (disttributed), то их можно развести на BUFT.
*


Это скорее всего приведет к снижению максимальной рабочей частоты. Хотя, если есть запас по частоте, то можно попробовать...
MAZZI
Цитата(gammanoid @ May 27 2005, 22:27)
У Вас имеется изрядное количество неиспользованных BUFT. Если в проекте есть мультиплексоры или память (disttributed), то их можно развести на BUFT.
*

что ты имеешь ввиду?
Map Properties\Map Slice Logic into Unused Block RAMs
этот аттрибут разводки в Xilinx или что-то другое?
gammanoid
Цитата(MAZZI @ May 31 2005, 11:54)
что ты имеешь ввиду?
*


Имею ввиду мультиплексоры типа

entity mux is
port (
a, b, c, d : in std_logic;
s : in std_logic_vector (3 downto 0);
o : out std_logic
);
end mux;
architecture archi of mux is
begin
o <= a when (s(0)=’0’) else ’Z’;
o <= b when (s(1)=’0’) else ’Z’;
o <= c when (s(2)=’0’) else ’Z’;
o <= d when (s(3)=’0’) else ’Z’;
end archi;

В памяти тоже бывают мультиплексоры.
Coregen делает их или на LUT или на BUFT.

Цитата(MAZZI @ May 31 2005, 11:54)
Map Properties\Map Slice Logic into Unused Block RAMs
этот аттрибут разводки в Xilinx или что-то другое?
*


attribute bram_map of logic_bram: entity is "yes";
позволяет часть логики запихнуть в блоковую ОЗУ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.