Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Производительность ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
D-Luxe
В чем измеряется производительность микросхем ПЛИС, и можно ли ее вообще измерить ?
Leka
Модераторам - может, создать отдельный подфорум "Вопросы от D-Luxe" ?
D-Luxe
Цитата(Leka @ Jun 17 2011, 23:07) *
Модераторам - может, создать отдельный подфорум "Вопросы от D-Luxe" ?

Я не против таких привилегий!
jojo
>В чем измеряется производительность микросхем ПЛИС, и можно ли ее вообще измерить ?

Можно. В чём хотим, в том и измеряем. Хошь - в FPS, хошь - во FLOPS или MIPS.
AlphaMil
В этом случае целесообразно говорить о задежке на логических элементах - чем меньше, тем на большей тактовой частоте может работать проект.
Tiro
Цитата(AlphaMil @ Jun 17 2011, 23:00) *
В этом случае целесообразно говорить о задежке на логических элементах - чем меньше, тем на большей тактовой частоте может работать проект.


Бесполезно. Есть еще межсоединения, которые в разных ПЛИСах делаются различно, тактовые сети с выбором задержек и прочее. Да и сами алгоритмы по-разному на ПЛИСки ложатся. Некоторые производители приводят задержку пин-к-пину. Но практичнее использовать процент использования ресурсов ПЛИС и полученную тактовую частоту проекта. Можно еще и стоимость чипа включить. В конце-концов после реализации проекта в ПЛИС имеется как-бы специализированная микросхема с необходимой производительностью и заявленной стоимостью.

Стоимость разработки тоже можно учесть ))
Джеймс
Цитата(D-Luxe @ Jun 17 2011, 22:41) *
В чем измеряется производительность микросхем ПЛИС, и можно ли ее вообще измерить ?

Да. В люксах.
bogaev_roman
А Вы, кстати, зря издеваетесь - есть же тема специальная - трюки для плисоводов. Как повысить тактовую частоту или уменьшить кол-во используемых ресурсов для конкретного кристалла. Только, кроме des00 никто не делится собственными проектами... Некоторым, кстати, и не позволяют это делать - человек хочет поделиться , а ему говорят - вот проект закончится - пиши статью и т.д. Я сам готов бы поделиться способами поднятия тактовой частоты, тем более что куча инфы уже есть (и описанной уже в том самом же КИТ)...
AlphaMil
Цитата(Tiro @ Jun 17 2011, 23:08) *
Бесполезно. Есть еще межсоединения, которые в разных ПЛИСах делаются различно, тактовые сети с выбором задержек и прочее. Да и сами алгоритмы по-разному на ПЛИСки ложатся. Некоторые производители приводят задержку пин-к-пину. Но практичнее использовать процент использования ресурсов ПЛИС и полученную тактовую частоту проекта. Можно еще и стоимость чипа включить. В конце-концов после реализации проекта в ПЛИС имеется как-бы специализированная микросхема с необходимой производительностью и заявленной стоимостью.

Стоимость разработки тоже можно учесть ))


Дело в том, что полученная частота проекта как раз и считается исходя из максимальной задержки на комбинаторной логике плюс задержк на соединении...
Процент использования ресурсов на производительность прямо не влряет при удачной схеме тактирования и размещении в кристалле.
iiv
Цитата(bogaev_roman @ Jun 18 2011, 06:00) *
А Вы, кстати, зря издеваетесь - есть же тема специальная - трюки для плисоводов. Как повысить тактовую частоту или уменьшить кол-во используемых ресурсов для конкретного кристалла.
...
Я сам готов бы поделиться способами поднятия тактовой частоты, тем более что куча инфы уже есть (и описанной уже в том самом же КИТ)...

Очень бы хотел почитать, пообсуждать про способы поднятия тактовой частоты, особенно применительно к Альтерам с Verilog/SV. Сильно поделиться своим скромным опытом наверное не смогу, сам много сдесь у всех спрашивал, а все мне помогали. Сам недавно запустил проект (еще правда не все функционирует как хотелось бы) но уже получилось выполнять по 380 умножений и около 1600 сложений по клоку в 400МГц на третьем стратиксе.
jojo
Цитата(iiv @ Jun 18 2011, 20:35) *
Очень бы хотел почитать, пообсуждать про способы поднятия тактовой частоты, особенно применительно к Альтерам с Verilog/SV.



Могут быть новые способы? Знаю только два: напихать в пути регистров и законстрейнить размещение.

Да, есть ещё силовой перебор таблиц весов алгоритма размещения и seed-ов. Сильно помогает на высоких частотах.

Есть шальная мысль - похимичить с региональными клоковыми деревьями, может, пикосекунд сто выиграть получится. Вроде в ASICах на этом можно что-то выгадать, не знаю, как в ПЛИС.
tegumay
по идее это поможет если клоков много
dvladim
Цитата(jojo @ Jun 18 2011, 21:35) *
Есть шальная мысль - похимичить с региональными клоковыми деревьями, может, пикосекунд сто выиграть получится. Вроде в ASICах на этом можно что-то выгадать, не знаю, как в ПЛИС.

В ASIC будет разница если клок и данные в конвейере распространяются в одном направлении или в противоположных, еще можно конвейер на латчах построить. Кое где дает выигрыш, но в ПЛИС эта архитектура фиксирована.
Victor®
Цитата(bogaev_roman @ Jun 18 2011, 03:00) *
А Вы, кстати, зря издеваетесь - есть же тема специальная - трюки для плисоводов. Как повысить тактовую частоту или уменьшить кол-во используемых ресурсов для конкретного кристалла. Только, кроме des00 никто не делится собственными проектами... Некоторым, кстати, и не позволяют это делать - человек хочет поделиться , а ему говорят - вот проект закончится - пиши статью и т.д. Я сам готов бы поделиться способами поднятия тактовой частоты, тем более что куча инфы уже есть (и описанной уже в том самом же КИТ)...


Если все эти способы ведут к снижению надежности - то грош им цена.
Tiro
Цитата(Victor® @ Jun 19 2011, 14:06) *
Если все эти способы ведут к снижению надежности - то грош им цена.


Не могли бы вы дать более аргументированный ответ ?
bogaev_roman
Цитата(jojo @ Jun 18 2011, 21:35) *
Могут быть новые способы? Знаю только два: напихать в пути регистров и законстрейнить размещение.
Да, есть ещё силовой перебор таблиц весов алгоритма размещения и seed-ов. Сильно помогает на высоких частотах.

Никто не говорил про новые методы, по крайней мере я. Просто у каждого разработчика есть свои набитые блоки, с которыми он когда-то намучился и теперь это эффективно использует. Я говорил про следующие вещи:
1. Мультиплексор 18-1 считается что все валидности взаимоисключаемы, разрядность - 1 бит, стратикс4. Вопрос - сколько ALUT будет использовано при таком описании?
Код
assign out_data=    (val0&data0|val1&data1|val2&data2)|
            (val3&data3|val4&data4|val5&data5)|
            (val6&data6|val7&data7|val8&data8)|
            (val9&data9|val10&data10|val11&data11)|
            (val12&data12|val13&data13|val14&data14)|
            (val15&data15|val16&data16|val17&data17);

У меня получается два уровня логики и 7, при использовании case в лоб получается 4 уровня и 18 ALUT. Понятно, что пример притянут за уши, но все-таки четко показывает 6-входовую архитектруру.
2. Требуется получить сигнал о состоянии пустоты буфера, например так
Код
(wa-ra)==4'd0?

Можно использовать сдвиговый регистр (хотя будет проигрыш по ресурсам):
Код
always @(posedge clk) case ({we,re})
    2'b10: sh_full<= {1'b1,sh_full[15:1]};
    2'b01: sh_full<= {sh_full[14:0],1'b0};
    default: sh_full<= sh_full;
    endcase

И использовать сразу выход триггера sh_full[0].
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.