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

Связь количества вентилей на ПЛИС с объемом задачи.

Собственно - как оценить и прикинуть что брать? :)

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

Изменено пользователем Igel

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


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

Прежде всего нужно подсчитать сколько ножек ПЛИС вам понадобится занять под связи с внешними элементами.

Когда определитесь, можно и объем прикинуть, только для этого нужно хотябы приблизительно знать что там будет реализовываться

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


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

Прежде всего нужно подсчитать сколько ножек ПЛИС вам понадобится занять под связи с внешними элементами.

Когда определитесь, можно и объем прикинуть, только для этого нужно хотябы приблизительно знать что там будет реализовываться

 

Там будет что-то типа микроконтроллера с расширеными функциями.

Насчет ножек, тут сложнее, 44 - это точно, это выводы микроконтроллера (с учетом размерности входных портов). А вот с аналоговой частью - не знаю, по идее, она не должна увеличить количества ножек. Если я реализовываю фильтр входного напряжения, то от него в ПЛИС там и пойдет всего 1 сигнал CLK, если я не ошибаюсь.

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


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

Там будет что-то типа микроконтроллера с расширеными функциями.

Насчет ножек, тут сложнее, 44 - это точно, это выводы микроконтроллера (с учетом размерности входных портов). А вот с аналоговой частью - не знаю, по идее, она не должна увеличить количества ножек. Если я реализовываю фильтр входного напряжения, то от него в ПЛИС там и пойдет всего 1 сигнал CLK, если я не ошибаюсь.

Так может проще действительно подыскать какой-нибудь микроконтроллер вместо ПЛИС? И интерфейсы реализовывать не придется, и встроенную аналоговую часть подходящую подобрать можно, да и по цене меньше выйти должно...

В общем советую МК посмотреть, ну а если всетаки ПЛИС, то на WWW.OPENCORES.ORG можно разные ядра контроллеров посмотреть, взять их вес, и прикинуть примерно требуемый объем

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


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

Если время не сильно поджимает, лучше заранее попытаться реализовать макетный проект обработки на FPGA в среде Xilinx ISE (или альтеровской) . Посмотреть в какую FPGA влазит такой проект и заказать микросхему в два раза больше :)

Если время поджимает - то заказывать ту микросхему, которую позволяет бюджет.

Изменено пользователем o-henry

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


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

Собственно - как оценить и прикинуть что брать? :)

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

 

Попробуйте прочитать о "Гайке М3" у меня на сайте.

Когда определитесь с требуемыми в FPGA ресурсами - просто скомпилите проект, привязанный к гипотетической плате. И помните, что для первого проекта надо брать FPGA с большим запасом. Потом, в серию на это место можно будет паять микросхемы с меньшей начинкой. А при отладке первого проекта очень удобно встраивать лог анализатор прямо в FPGA. И об этом тоже и там же найдите статью. Или можно пользоваться лог анализаторами, встроенными в "родное" ПО.

Потом, как Вам уже сказали, микроконтроллер будет всегда дешевле, чем FPGA.

Удачи!

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


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

Спасибо за советы.

Насчет того, чтобы взять какой-нибудь микроконтроллер - вариант не подходит. Надо создать именно макет в ПЛИС со всеми цифровыми блоками. И его тестировать.

А так, мне интересен вопрос как прикинуть количество логических вентелей. Т.е., к примеру, один из блоков - процессор, совместимый с 51-м. Сколько от может весить в размерности вентелей. И как это подсчитывается, только после компиляции описания в гипотетическую плату или можно заранее сказать размер?

Изменено пользователем Igel

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


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

Процессор, совместимый с 51, будет весить примерно 2500-4000 LUT (В зависимости от функциональности и требованиям к быстродействию).

Подсчитывается это путем синтеза готового проекта и анализа его результатов.

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


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

Спасибо за советы.

А так, мне интересен вопрос как прикинуть количество логических вентелей. Т.е., к примеру, один из блоков - процессор, совместимый с 51-м. Сколько от может весить в размерности вентелей. И как это подсчитывается, только после компиляции описания в гипотетическую плату или можно заранее сказать размер?

Тогда, как сказал KykyryzzZ, вам прямая дорога на OPENCORES.

Выберите там подходящее ядро процессора, скачайте и попробуйте синтезировать например в ISE.

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

К тому же на OPENCORES народ часто пишет в какой FPGA тестировался проект и сколько ресурсов он при этом съедал.

Изменено пользователем o-henry

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


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

Ясно, спасибо

рекомендую посетить сахару, так как раз дебаты по поводу процов в плис.

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


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

2 Igel

А я бы Вам не советовал связываться с различными FPGA реинкарнациями микроконтроллеров. Произодители (Xilinx и Altera) создают оптимизированные процессорные ядра (MicroBlaze и Nios) на свои FPGA (если залезть внуть его потрохов то там практически межсоединения "технологических" элементов а не описание автомаов) в результате это весит меньше и быстрее работает. К тому же полный комплект софта для разработки и отладки имеется (и даже порты линуха). Основная заковырка будет в доступе к памяти команд, например, 50MIPS-овый MicroBlaze запрсто превратится в 1MIPS-овый при работе из SDRAM, без специальных мер.

Ну а по поводу ресурсов, например, в Spartan3-200 (2500slices) влез MicroBlazev4(4k ICACHE, 8k DCACHE), 2 UART, EthernetLite, GPIO, Timer, Interrupt controller, SDRAM controller.

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


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

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

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


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

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

 

 

у пикоблейза ИМХО косяк есть, 16 бит арифметика плохо ложиться.

вот если бы был пикоблейз8 и пикоблейз16 да еще и с конвеером вот тогда было бы счастье :)

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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