Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FPGA или CPLD
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
vasta
Здравствуйте, господа.
Я здесь пишу в первый раз, звиняйте, если что не так)
В общем нужна помощь.
Сначала коротко о себе. Я долгое время трудился в славном академгородке города Новосибирска. Понятное дело мы сами придумывали устройства, когда надо было создать устройсво с на регистрах, счетчиках итд, тупо брал что-нибудь из МАХ2, и все работало. Схемки как правило были простенькие, поэтому ни в циклоны, ни в стратиксы никогда не лез. Недавно поменял работу, и мне поставили задачу- создать устройство, аналогичное существующему в конторе, на альтере. То что сейчас есть, работает на актеле (A40МХ02). Почему именно этот кристал был выбран- все уже забыли. Даже толком в схеме щас никто не разбирается. Ну я стало быть посмотрел параметры на A40МХ02, пошарился по альтеровскому сайту, мне показалось, что неким аналогом будет ЕР3С5. Но когда я нарисовал в квартусе схему, обнаружилось, что она занимает очень мало ресурсов кристала (400 ячеек). И вот я задумался, а нельзя ли вместо циклона в этом случае взять так любимый и хорошо знакомый мне макс2? Когда я выбираю его в квартусе для той же само схемы, ячеек ему хватает. Единственное, что меня смущает, и почему собственно и возник вопрос - максы относятся к CPLD, а циклоны- к FPGA. А имеющееся сейчас устройство работает на FPGA. Разницу между CPLD и FPGA я если честно не понимаю. То есть понимаю, что фпгашки мощнее и функциональнее, но если схема в плане требований к ресурсам "впихивается" и туда, и туда- что выбрать?
DmitryR
Сейчас граница между CPLD и FPGA стирается. В частности, MAXII имеет архитектуру, похожую на Cyclone, за исключением памяти и PLL. Поэтому лезет - и хорошо.
Михаил_K
Если схема впихивается туда и туда, и вы уверены, что в будущем не будете ее модернизировать (т.к. модернизация может потребовать больше ресурсов) берите CPLD. Они и дешевле, и ПЗУ дополнительное к ним не надо.
vasta
Большое спасибо. Вы меня практически убедили) Пару знакомых, которых я спрашивал, говорят тоже примерно в том духе, что "Ну вроде как без разницы, но на 100% точно не скажу". Еще пару постов в подтверждение- и остановлюсь на максе.
glock17
Берите CPLD, если:
- проект влазит в CPLD по ресурсам и расширения функциональности не планируется (для расширения функциональности советую озаботиться о 30-40% незанятых ресурсов кристалла. Даже если при синтезе проект в CPLD влазит, то это еще не значит, что fitter его скушает и не подавится. В FPGA в этом плане простора для фантазий больше)
- быстродействие CPLD устраивает (в FPGA больше возможностей оптимизации по таймингам)
- не нужны какие-нибудь спец. устройства вроде PLL или блочной памяти
- нужен корпус небольших размеров
- нужно снизить потребляемую мощность девайса
- желательно уменьшить стоимость устройства (например, за счет отсутствия конфигурационной PROM, которая нужна FPGA-шке)

Ну, и как здесь уже советовали, пристальное внимание следует уделить MAX II.
vasta
Можно уточнить, что имеется ввиду под оптимизации по таймингу? Мне казалось (могу ошибаться), что быстродействие определяестя временем прохождения сигнала через логическую ячейку, которое прописывается в маркировке альтеры после корпуса
EvgenyNik
Видимо под CPLD понимается EPM570, потому что именно в нём хватит ресурсов на 400 ячеек. Запас есть, но он не очень велик.
CPLD выигрывают у FPGA преимущественно только по двум параметрам: простота питания, в т.ч. и его разводки и отсутствие внешней конфигурационной памяти.
FPGA выигрывают у CPLD наличием ОЗУ, умножителей, PLL и возможностью переконфигурироваться от внешнего источника сколько угодно раз.
Поэтому Вам надо:
1. обозначить для проекта ближайшие перспективы (на далёкие не смотрите, появятся новые ПЛИСки, плату переразведёте и т.п.) и определиться с необходимым функционалом.
2. сравнить цены полных решений для CPLD и FPGA (включая конф.микруху и стабилизаторы питания)
---
По расходу ресурсов рекомендовал бы ещё посмотреть на Циклон1, в частности EP1C3... 2910 логических ячеек, 7кБ ОЗУ, 1 PLL. Недорогой.
vasta
Ну сейчас это утрясается, узнаю, насколько необходимо иметь запас. Но ведь ничего не мешает мне вместо 570 заложить 1270. Жаль только их в Т100 не делают.
Что касается циклонов, хм, мне всегда казалось, что первые дороже вторых, а вторые дороже третьих, а вы советуете ЕР1С... Надо будет глянуть. В принципе ключевым моментом является стоимость (циклоны в принципе чуть дороже + самая дешовая флешка EPCS4 стоит в нск 6 баксов). Ну и плюс некий психологический момент- с циклонами никогда не работал, поэтому боязно)
EvgenyNik
Для циклонов соотношение цена/функциональность, действительно падает от 1-го к 3-ему. Но цена 1-го всё же ниже, а функциональности порой вполне хватает.
Устаревшие данные, конечно, но наш поставщик по ценам позиционировал циклоны так:
EP1C3T100C8 - 231,90 руб
EP3C5E144C8 - 407,10 руб (всё с НДС).
Насчёт EPCS4 - воспользуйтесь поиском и найдёте их более дешёвый аналог MT... с той же начинкой внутри. Для 1-го достаточно EPCS1, кстати.
sazh
Цитата(vasta @ Feb 3 2009, 11:42) *
Ну сейчас это утрясается, узнаю, насколько необходимо иметь запас. Но ведь ничего не мешает мне вместо 570 заложить 1270. Жаль только их в Т100 не делают.
Ну и плюс некий психологический момент- с циклонами никогда не работал, поэтому боязно)


А разве maxII не тот же циклон, только без памяти. Посмотрите их LE.
По мне так все равно, где загрузочное ПЗУ стоит, извне или внутри MAXII. Внутри даже хуже. Статусные ноги корректного завершения конфигурации скрыты от пользователя. Может кто подскажет, где почитать, что с MAXII будет при просадке питания, супервизор на него уже не посадишь.
Или я чего то недопонимаю, или это не CPLD.
vasta
Цитата(sazh @ Feb 3 2009, 16:47) *
А разве maxII не тот же циклон, только без памяти. Посмотрите их LE.

Вот-вот, хорошо, что вы отписались. В принципе эти слова и есть коротко сформулированная суть моего вопроса. Верно ли утверждение, что макс2- это просто циклон без памяти с меньшим числом ячеек?
Цитата(sazh @ Feb 3 2009, 16:47) *
Внутри даже хуже. Статусные ноги корректного завершения конфигурации скрыты от пользователя.

Можете уточнить, о чем речь? Зачем нужно смотреть на састояние статусных ног конфигураци (у меня проблем с конфигурацией максов никогда не возникало- спрашиваю на будущее)

Цитата(sazh @ Feb 3 2009, 16:47) *
Может кто подскажет, где почитать, что с MAXII будет при просадке питания, супервизор на него уже не посадишь.

Я может быть не так понял, но почему супервизор не посадишь? Я всегда на устройства с максами ставил супервизоры. Это неправильно?
Где почитать про просевшее питание не знаю, но ниже 3В максы не работают (у меня по крайней мере)


И раз пошла такая пьянка, кто-нибудь может сказать, заблуждаюсь я или нет
Цитата(vasta @ Feb 3 2009, 14:32) *
Мне казалось (могу ошибаться), что быстродействие определяестя временем прохождения сигнала через логическую ячейку, которое прописывается в маркировке альтеры после корпуса

Где-то когда-то услышал, может я не прав. Самое отвратительное, что в даташитах на эту тему ничего нет (может плохо смотрел)
sazh
Цитата(vasta @ Feb 3 2009, 14:13) *
Я может быть не так понял, но почему супервизор не посадишь? Я всегда на устройства с максами ставил супервизоры. Это неправильно?
Где почитать про просевшее питание не знаю, но ниже 3В максы не работают (у меня по крайней мере)


Не посадишь в смысле я не знаю куда, зачем и на что в MAXII сажать супервизор. Про градации скорости, наверно смотрите отчет временной.
Что значит ниже 3В не работают. А потом, подняв до I/O начинают снова работать. Или надо питание выключать.
EvgenyNik
Цитата
которое прописывается в маркировке альтеры после корпуса

Да, например у тех же Циклонов - x6 это самый шустрый, x7 - средний, а x8 - медленный. Здесь "х" либо C - коммерческое исполнение, либо I - промышленное.
Цитата
Можете уточнить, о чем речь? Зачем нужно смотреть на састояние статусных ног конфигураци (у меня проблем с конфигурацией максов никогда не возникало- спрашиваю на будущее)

Это полезно в устройствах, где заложено автоматическое обновление прошивки, чтобы "программатор" мог отслеживать процесс (сигнал Conf_Done). И в быстрых системах важно, когда необходимо что-то блокировать до полной инициализации ПЛИС (сигнальчик там есть такой Init_Done).
Забыл упомянуть - у Максов2 перед Циклонами есть специфическое преимущество - они имеют опцию "триггер Шмидта" для входных каскадов, что порой упрощает жизнь в шумных схемах или на плохо согласованных линиях. Но таких линий, как правило, мало и вполне устраивает решение с внешним триггером Шмидта.
vasta
Цитата(sazh @ Feb 3 2009, 17:32) *
Не посадишь в смысле я не знаю куда, зачем и на что в MAXII сажать супервизор.

Может я что-то не так понял, но я сажал супервизоры на питание. Как только супервизор срабатывал, альтера выдавала внешнему пользователю что-то типа еррора.
Цитата(sazh @ Feb 3 2009, 17:32) *
А потом, подняв до I/O начинают снова работать. Или надо питание выключать.

Я не знаю я специально эксперименты на эту тему не проводил. Была просто ситуация в жизни при отладке девайса, когда источник питания (самодельный) вместо 3,3выдавал 2,8- устройство при этом не работало. Выключил, отладил источник- все заработало.
Шурила
Цитата(vasta @ Feb 3 2009, 13:41) *
Я не знаю я специально эксперименты на эту тему не проводил. Была просто ситуация в жизни при отладке девайса, когда источник питания (самодельный) вместо 3,3выдавал 2,8- устройство при этом не работало. Выключил, отладил источник- все заработало.

Странно, вот таблица по питанию МАХ II
Нажмите для просмотра прикрепленного файла
и это действительно так, был даже случай (ошибка) когда на VCCINT у МАХ II (без G) было подано 1,8 вместо рекомендованных 2,5 - работало.
Правда по температурам не гоняли.
А в Вашем случае скорее всего просто было "грязное" питание.
vasta
Цитата(Евгений Николаев @ Feb 3 2009, 14:34) *
FPGA выигрывают у CPLD наличием ОЗУ

Слушайте, щас наткнулся на непонятное место. Понятно что в максах никакой оперативной памяти нет. Почему тогда менеджер плагинов показывает какой-то RAM.
andrew_b
Цитата(vasta @ Feb 3 2009, 16:48) *
Вы молодец выкладывать мегабайтные рисунки!
EvgenyNik
Цитата
Почему тогда менеджер плагинов показывает какой-то RAM.

Потому что он будет реализован на LE. А в случае FPGA мастер бы дал выбрать - на чём хотите сделать: LE или RAM-block?
P.S. Иногда для независимых маленьких блочков RAM даже в FPGA удобно применить LE, чтобы не расходовать целый блок на 512 или 1024 байт для хранения нескольких байт.
vasta
Цитата(andrew_b @ Feb 3 2009, 20:05) *
Вы молодец выкладывать мегабайтные рисунки!

Я знаю) Просто у нас тут давно у всех поголовно безлимит, на будущее учту
glock17
Цитата(vasta @ Feb 3 2009, 17:32) *
Можно уточнить, что имеется ввиду под оптимизации по таймингу? Мне казалось (могу ошибаться), что быстродействие определяестя временем прохождения сигнала через логическую ячейку, которое прописывается в маркировке альтеры после корпуса


Не только. Еще и задержками сигнала между ячейками (в цепях их соединений) и задержками ячейка-пин.
А про оптимизацию можно подробно посмотреть в Quartus (Tools -> Advisors -> Timing Optimization Advisor. Ну и хелп, естественно).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.