Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Максимальная загрузка плис help
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Языки проектирования на ПЛИС (FPGA)
iverson
Добрый день!
Не так давно начал учиться работать с FPGA.
Для работы нужно сделать прошивку чтобы максимально все задействовать (FPGA spartan 6 XC6SLX45 CSG324C), подскажите пожалуйста как такое можно попроще и эффективнее реализовать. wacko.gif
iosifk
Цитата(iverson @ Jan 23 2018, 16:35) *
Для работы нужно сделать прошивку чтобы максимально все задействовать (FPGA spartan 6 XC6SLX45 CSG324C), подскажите пожалуйста как такое можно попроще и эффективнее реализовать. wacko.gif

Что значит "задействовать"?
По числу выводов? По потребляемой мощности? По внутренним ресурсам? Напишите подробнее..
iverson
Задействовать по внутренним ресурсам.
Можно ли сделать на столько огромный сдвиговый регистр или счетчик?
Нужно задать какую либо последовательность (к примеру 101010..) прогнать через всю ПЛИС и на выходе убедиться что последовательность не нарушилась.
Tpeck
Цитата(iverson @ Jan 23 2018, 16:35) *
Для работы нужно сделать прошивку чтобы максимально все задействовать (FPGA spartan 6 XC6SLX45 CSG324C)
А какая в этом стоит цель? Оценить энергопотребление или какая-то другая?
iosifk
Цитата(iverson @ Jan 23 2018, 17:57) *
Задействовать по внутренним ресурсам.
Можно ли сделать на столько огромный сдвиговый регистр или счетчик?
Нужно задать какую либо последовательность (к примеру 101010..) прогнать через всю ПЛИС и на выходе убедиться что последовательность не нарушилась.

Смысла в этом почти никакого нет.
Ну сделаете регистр. Как будете "проверять"? Осциллом на выходном пине? Так один сбой из 20 никак не увидите. А при этом память, DSP блоки и пр. не будут задействованы. Да и интерконнекты тоже далеко не все...
А какой глобальный смысл? Проверить, что "работает"? Или "препод так сказал"?
bogaev_roman
Цитата(iosifk @ Jan 24 2018, 10:52) *
Смысла в этом почти никакого нет.
Ну сделаете регистр. Как будете "проверять"? Осциллом на выходном пине? Так один сбой из 20 никак не увидите. А при этом память, DSP блоки и пр. не будут задействованы. Да и интерконнекты тоже далеко не все...
А какой глобальный смысл? Проверить, что "работает"? Или "препод так сказал"?

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

Какие именно внутренние ресурсы?
blackfin
Цитата(iosifk @ Jan 24 2018, 10:52) *
А какой глобальный смысл? Проверить, что "работает"? Или "препод так сказал"?

Полагаю, это очередная реинкарнация подзаборного Студента (он же - Флюктуация вакуума, и тд). Он тут недавно сильно возбудился от параллельности FPGA.

Так что никакого глобального смысла в вопросе нет, а есть желание потроллить как можно больше народу. Вот и выискивает темы, способные как следует "зажечь" публику..

biggrin.gif
bogaev_roman
Цитата(blackfin @ Jan 24 2018, 11:10) *
Так что никакого глобального смысла в вопросе нет, а есть желание потроллить как можно больше народу. Вот и выискивает темы, способные как следует "зажечь" публику..

Да не, для "розжига" можно намного актуальнее тему найти.
ViKo
Лучше параллельный регистр, сдвигать данные с одной стороны ПЛИС на другую. Можно через память.
alexadmin
В очередной раз пиарю свою поделку для этой задачи: https://opencores.org/project,highload
Можно занять весь объем (+-5%) логики, регистров, памяти и dsp. Трансиверы уж как-нибудь сами wink.gif
Kabdim
Цитата(blackfin @ Jan 24 2018, 11:10) *
Полагаю, это очередная реинкарнация подзаборного Студента (он же - Флюктуация вакуума, и тд).

Непохож, скорее обычный студень. sm.gif Кстати выискивание троллей, троллей возбуждает и считается за заслугу. Так что во имя качества ресурса и общего улучшения SNR лучше не вспоминать о нём вовсе. Больной человек и не лечится, жаль что помочь ему некому.
blackfin
Цитата(alexadmin @ Jan 24 2018, 11:59) *
В очередной раз пиарю свою поделку для этой задачи..

Ну можно же с помощью generate синтезировать 100500 любых мелких IP блоков и соединить их последовательно.. Эффект будет тот же..

Например, можно взять много мелких FFT и соединив их последовательно задействовать все умножители, всю память и всю логику в ПЛИС. "Или нет?"
alexadmin
Цитата(blackfin @ Jan 24 2018, 12:13) *
Ну можно же с помощью generate синтезировать 100500 любых мелких IP блоков и соединить их последовательно.. Эффект будет тот же..

Например, можно взять много мелких FFT и соединив их последовательно задействовать все умножители, всю память и всю логику в ПЛИС. "Или нет?"


В теории да.
Сложность в том, чтобы обеспечить баланс между всеми элементами. FFT, скорее всего, сожрет все DSP сильно раньше чем логику/триггеры.
jojo
Вот простой тест на эту тему
reg [100500:0] x;
always@(posedge clock)
begin
x[0] <= !x[0]
x[1] <= x[0];
x[2] <= x[1];
x[3] <= x[2];
x[4] <= x[3];
i>=5
x[i] <= x[i-1]^x[i-2]^x[i-3]^x[i-4]^x[i-5];

end

Ежели система питания хилая - сразу прошивка слетит.
Наверное, если зажать тайминги, то будут ошибки в значениях сигналов.

Умножителям, наверное, желательно подобрать паттерны позлее, чтобы была больше потребляемая мощность. Ну я бы так сделал.
alexadmin
1) На reg [100500:0] x; скорее всего навернется еще синтезатор, надо разбивать на части.
2) Наблюдал падение питания ядра на 20-30% от номинала без "слетания" прошивки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.