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

Подскажите, пожалуйста, на сколько % можно загружать ПЛИС? Вроде бы на 100% нельзя. А на сколько можно? И что будет если превысить максимальную допустимую загрузку ПЛИС?

Спасибо
DmitryR
Почему, можно и на 100%, но это во-первых практически трудно сделать, чтобы вот ровненько вся логика израсходовалась, а во-вторых будет довольно медленно компилироваться, а если чуть что изменится в проекте - уже не влезет. Поэтому все стараются запас процентов 20 иметь, хотя есть примеры удачных проектов, занимающих матрицу почти полностью.
des00
Цитата(essev @ Oct 8 2010, 04:49) *
Подскажите, пожалуйста, на сколько % можно загружать ПЛИС? Вроде бы на 100% нельзя. А на сколько можно? И что будет если превысить максимальную допустимую загрузку ПЛИС?

99.99% + 1 триггер %)
MrYuran
Цитата(essev @ Oct 8 2010, 14:49) *
Подскажите, пожалуйста, на сколько % можно загружать ПЛИС? Вроде бы на 100% нельзя. А на сколько можно? И что будет если превысить максимальную допустимую загрузку ПЛИС?

Зависит от того, чем собираетесь загружать и какую ПЛИС.
И проценты от чего.
Загрузка идёт по нескольким направлениям: ЛУТы/спецблоки, вентили, спецлинии и др.
Если превысить - ничего не будет. Абсолютно. Просто проект не разведётся.

Цитата(DmitryR @ Oct 8 2010, 14:57) *
Почему, можно и на 100%, но это во-первых практически трудно сделать, чтобы вот ровненько вся логика израсходовалась, а во-вторых будет довольно медленно компилироваться, а если чуть что изменится в проекте - уже не влезет. Поэтому все стараются запас процентов 20 иметь, хотя есть примеры удачных проектов, занимающих матрицу почти полностью.

У меня однажды случай был - потребовалось переделать проект практически полностью.
Плата была уже разведена, сделана и смонтирована. То есть все ноги фиксированы.
А вот в новом проекте такое расположение ног никак не разводилось.
Отцепил все, а потом фиксировал группами и переразводил.
И ведь прокатило! Хотя запас по ячейкам был достаточный. Видимо, расположение неудачное, линий не хватало.
Давно это было, ещё на первом спартанчике и Xilinx Foundation
ViKo
Вот как было у меня в ACEX:
Total dedicated input pins used: 3/6 ( 50%)
Total I/O pins used: 83/96 ( 86%)
Total logic cells used: 1272/1728 ( 73%)
Total embedded cells used: 23/96 ( 23%)
Total EABs used: 6/6 (100%)
Average fan-in: 2.53/4 ( 63%)
Total fan-in: 3227/6912 ( 46%)

А превысить можно допустимую рассеиваимую мощность, если все элементы ПЛИС будут работать на большой частоте.
Koluchiy
Если проект работает на достаточно большой частоте, то при большом проценте заполнения (впрочем, далеким от 100) проект будет компилироваться, но не проходить по времянкам, т.к. одни части проекта будут мешать другим разводиться оптимально.

Чем лучше расположение ног подходит к архитектуре и проекту, тем меньше влияние этого фактора.
Builder
Цитата(essev @ Oct 8 2010, 13:49) *
Подскажите, пожалуйста, на сколько % можно загружать ПЛИС? Вроде бы на 100% нельзя. А на сколько можно? И что будет если превысить максимальную допустимую загрузку ПЛИС?
Почему нельзя? На CPLD часто 100% получалось, на FPGA - такое очень редко будет. Т.к. у CPLD ячеек от 32 до 512 обычно, а у FPGA - тысячи и десятки тысяч. Сами понимаете, вероятность что в проекте FPGA получится 100% ниже.Главное что-б не перезревалась и питания хватало.
bark
Цитата(Builder @ Oct 10 2010, 12:45) *
Почему нельзя? На CPLD часто 100% получалось, на FPGA - такое очень редко будет. Т.к. у CPLD ячеек от 32 до 512 обычно, а у FPGA - тысячи и десятки тысяч. Сами понимаете, вероятность что в проекте FPGA получится 100% ниже.Главное что-б не перезревалась и питания хватало.


Подтверждаю, можно. )
Есть проект где CPLD MAX 3128 загружал на 100%.

128 из 128. но проект конечно становится ужасно неповоротливым. шаг влево, шаг вправо и уже не компилируется. но деваться было некуда. железо уже было готово- пришлось приспосабливаться.
FAE_SKV
Цитата(essev @ Oct 8 2010, 14:49) *
Всем привет.

Подскажите, пожалуйста, на сколько % можно загружать ПЛИС? Вроде бы на 100% нельзя. А на сколько можно? И что будет если превысить максимальную допустимую загрузку ПЛИС?

Спасибо


Смотря какие. ПЛИС Actel можно использовать на 100%. У меня было пару проектов, где из пары-торйки десятков тысяч логических ячеек оставались неиспользоваными всего несколько ячеек.
fars
Цитата(essev @ Oct 8 2010, 13:49) *
Всем привет.

Подскажите, пожалуйста, на сколько % можно загружать ПЛИС? Вроде бы на 100% нельзя. А на сколько можно? И что будет если превысить максимальную допустимую загрузку ПЛИС?

Спасибо


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

Но есть одно но, когда высокая частота работы проекта, чип начинает грется все больше с ростом процента занимаемых ресурсов и при некоторых значениях ему надо ставить пассивное/активное охлаждение
x736C
Цитата(ViKo @ Oct 8 2010, 15:10) *
Вот как было у меня в ACEX:
Total dedicated input pins used: 3/6 ( 50%)
Total I/O pins used: 83/96 ( 86%)
Total logic cells used: 1272/1728 ( 73%)
Total embedded cells used: 23/96 ( 23%)
Total EABs used: 6/6 (100%)
Average fan-in: 2.53/4 ( 63%)
Total fan-in: 3227/6912 ( 46%)

Тут нет ничего удивительного. Если использовать память соответствующим образом, то и исчерпано будет 6/6 EABs. Более того, при использовании небольшого объема доступной в банке памяти, задействован будет весь банк. Поэтому 100% можно получить при неполном использовании памяти. Это кстати меня напрягло как-то раз, потому что очень «арифметически» понадеялся на объем встроенной памяти. Было это тоже на ACEXe.
ViKo
Цитата(x736C @ Oct 16 2010, 00:32) *
Тут нет ничего удивительного.

Так я и не говорю, что это что-то экстраординарное. Привел как "среднестатистический" пример. А в памяти у меня тоже, вроде, один из блоков не полностью использовался.
S_Hawk
Family : Cyclone III
Device : EP3C55F484C6
Total logic elements : 55,749 / 55,856 ( 100 % )
Total combinational functions : 52,154 / 55,856 ( 93 % )
Dedicated logic registers : 48,716 / 55,856 ( 87 % )

и этот проект нормально работает на частоте 210 MHz...
Maverick
Цитата(S_Hawk @ Oct 17 2010, 12:53) *
Family : Cyclone III
Device : EP3C55F484C6
Total logic elements : 55,749 / 55,856 ( 100 % )
Total combinational functions : 52,154 / 55,856 ( 93 % )
Dedicated logic registers : 48,716 / 55,856 ( 87 % )

и этот проект нормально работает на частоте 210 MHz...

замечательно smile.gif
Но любой шаг в сторону и проект рассыпался...
Если потребуется что-то добавить или что-то значительно поменять/заменить - проект рассыпался...
Koluchiy
Цитата(S_Hawk @ Oct 17 2010, 13:53) *
Family : Cyclone III
Device : EP3C55F484C6
Total logic elements : 55,749 / 55,856 ( 100 % )
Total combinational functions : 52,154 / 55,856 ( 93 % )
Dedicated logic registers : 48,716 / 55,856 ( 87 % )

и этот проект нормально работает на частоте 210 MHz...

Ух.
Каким образом достигнут такой результат, если не секрет?
Весь ли проект работает на 210 МГц, или какая-то часть на (существенно) более низкой?
Используется ли встроенная память, умножители и т.д..
S_Hawk
Total memory bits : 901,792 / 2,396,160 ( 38 % )
Embedded Multiplier 9-bit elements : 0 / 312 ( 0 % )
Total PLLs : 1 / 4 ( 25 % )

тактовая всюду 210, только внешний интерфейс медленней работает, но его там ~ 1-2%.

не используются только умножители.
Есть вариант и с большим количеством памяти (меньше регистров при этом), но он медленнее работает - не удается Квартусу его развести красиво smile.gif

А по поводу "шаг в сторону и рассыпался" - как-то же этот проект собрался. И рос он по шагам. И не сильно рассыпался при этом...
Понятно, что новую функциональность туда не добавишь, но оптимизировать то, что есть, вполне реально.
Единственная проблема - фиттер полдня работает на очень неслабой машине...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.