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

А что такое Slices?

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, какие есть методы?

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


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

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'ы (упаковка). Но это черевато снижением тактовой частоты.

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


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

Что такое LUT, IOB, TBUF, GCLK понятно. А вот что такое Slices и Slice Flip Flops?

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

 

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

Боюсь, что в данном случае только изменениями в дизайне проекта.

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


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

Alexandr У тебя весь кристал состаит из 1200 ячеек Slice. Одная ячейка Slice состоит из 2-х LUT-ов. Пример у тебя занято 3 LUT-а а Slice-ов будет занято 2!!! один Slice будет занят на полавину. Скорее всего оставщиеся LUT-ы она оставляет для разводки.

Я добивался максимума когда у меня было да и не только у меня 99% Slice и 85% LUT это самый оптимальный вариант !!!

И еще ты не пугайся 99% Slice если ты сейчас немного увеличишь свою схему то у тебя 99% Slice сохранится а увеличится только LUT-ы !!!

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


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

У Вас имеется изрядное количество неиспользованных BUFT. Если в проекте есть мультиплексоры или память (disttributed), то их можно развести на BUFT.

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


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

У Вас имеется изрядное количество неиспользованных BUFT. Если в проекте есть мультиплексоры или память (disttributed), то их можно развести на BUFT.

 

Это скорее всего приведет к снижению максимальной рабочей частоты. Хотя, если есть запас по частоте, то можно попробовать...

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


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

У Вас имеется изрядное количество неиспользованных BUFT. Если в проекте есть мультиплексоры или память (disttributed), то их можно развести на BUFT.

что ты имеешь ввиду?

Map Properties\Map Slice Logic into Unused Block RAMs

этот аттрибут разводки в Xilinx или что-то другое?

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


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

что ты имеешь ввиду?

 

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

 

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.

 

Map Properties\Map Slice Logic into Unused Block RAMs

этот аттрибут разводки в Xilinx или что-то другое?

 

attribute bram_map of logic_bram: entity is "yes";

позволяет часть логики запихнуть в блоковую ОЗУ.

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


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

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

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

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

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

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

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

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

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

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