Прочитал по ссылке на форум, порылся в инете, на али.
По результатам всяких форумов рекомендуют альтеру, как достаточно универсальное решение + годный софт (по сравнению с ксиликсом). Но это по состоянию на 2005-2010, более нового вроде не встречалось.
Тогда порылся ещё на altera.ru, там хорошие сравнения семейств.
Составил пару табличек: что почём на али + что вообще бывает в природе.
Потом снова перечитал форум по ссылке.
Дальше пойдёт мое корявое изложение про состояние дел альтеры, поправляйте, если что -то неправильно понял:
----====
Итак. Изначально ПЛМ/PAL/PLA/GAL - это группа нескольких десятков простых логических элементов (И, ИЛИ, НЕ), которые навалены на кристалл, а их входы и выходы соединены в некую матрицу, каждый узел которой можно замкнуть или разомкнуть программированием.
Такой логический элемент + управляемые ПЗУшкой входы и выходы имеют, как преимущество - гибкость, как недостаток - сложность (место на кристалле + энергопотребление). Компромиссом является макроячейка, которая представляет собой группу жестко связанных логических элементов, однако входы и выходы макроячейки также могут программно включаться в матрицу.
Если макроячейка представляет собой И / ИЛИ - это в результате CPLD. Если что-то чуть более сложное - FPGA.
????
Примерно считается, что одна макроячейка заменяет полтора простых логических элемента. Эта цифра используется для сравнения возможностей разных кристаллов в условных попугаях (эквивалентных логических элементах).
Дальше. Если к макроячейке подключить фантазию и как следует раздуть её, она может стать узкоспециализированным контроллером (например, DRAM или Ethernet) или тактовым генератором или оперативкой или ещё чем нибудь прикольным. Если дуть вдвоём, то может получиться даже двухядерный Кортекс. Важно, что конструкция макроячейки жёстко задана, программируется только её включение в матрицу.
Собственно, играя числом пинов, числом и типом макроячеек или логических элементов можно получить всё то многообразие, которое предлагает рынок. Альтера в рамках каждого семейства предлагает примерно в 10 раз различающиеся по этим критериям варианты.
-==----
Что ныне и до недавнего времени предлагала альтера, по семействам (внутри семейств есть подсемейства, но они отличаются не столько возможностями, сколько ценником и энергопотреблением):
MAX - это замена групп микросхем простой логики, разная простая обвязка. Неплохая скорость (меньше 10нс), логических элементов в матрице - 30-2000, число лапок - 36-300. Обвязки не требует, конфиг хранится во флеше, флеш шьётся по JTAG.
Вероятно, это самая близкая замена GALок, как по возможностям, так и по нынешним ценам.
MAX10 - как бы в будущем замена для MAX, но пока что это, скорее, взгляд на MAX с другого ракурса: у них логических элементов чуть больше: 2000-50000, лапок примерно столько же - 40-700 и конфига также во флеше. На первый взгляд - бери и радуйся, но : все микры в BGA-корпусах. Даже самый простой корпус на 36 лапок - это BGA размерами 3x3 мм. Проблема не в том, как его припаять, а в том, скольки слойная должна быть плата, чтобы с такого пятачка отвести все 36 линий куда нибудь в стороны ? Наверное, такую микрух хорошо использовать в самодельных наручных электронных часах.
Все остальные семейства в качестве конфига используют SRAM, соответственно, требуют (?) внешней заливки прошивки при подаче питания (имя при этом на борту пользовательский flash....). Кроме того, они все считаются FPGA (семейства MAX - это были CPLD).
Arria - это средней навороченности fpga, предназначенные для телекоммуникации (т.е. имеют на борту готовые шустрые приёмо-передатчики). 21000-90000 эквивалентных логических элементов (ЭЛЭ), число выводов - 400-1100. Недопонял, чем они отличаются от последних stratixов - там тоже этого полно.
Stratix - самые навороченные (т.е. когда важна не цена, а моща). 15000-800000 ЭЛЭ, 300-1700 выводов. Дофигища разной готовой периферии (не софт, а прямо забитой на кристалле).
ХЗ что на них творят, наверное, лайткоины майнят :).
Возможно, обкатывают какие-то суперспециализированные суперпроизводительные суперкомпьютеры.
Cyclone - навороченные, но бюджетные кристаллы. Тут много макроячеек, но только в последнем подсемействе (Cyclone V) стало появляться что-то кроме них: процессорные ядра, контроллеры PCI, трансиверы. ЭЛЭ - 3000-114000 (у пятого подсемейства - 25000-300000), лапок - 100-700 (у пятого - 200-1200).
Как я понимаю, если семейство MAX- это в первую очередь обвязка для обычных процессоров, ну или ядра очень простых устройств (типа переключателя ёлочных гирлянд, программа которого меняется в зависимости от перемещения кошки по квартире), то все остальное - это большей или меньшей степени навороченности основы для построения SoC (или обвязки для какого-то дико мощного ЦП).
Можно на MAX забить какое нибудь, хотя бы простенькое, процессорное ядро?
-=-=-=
Теперь о том, что есть в наличии и близко к моим интересам:
MAX 3000 / epm3064 :
https://ru.aliexpress.com/item/3-3V-50M … Title=true
Около 40 лапок, 64 логических элемента, 2002 год разработки, цена - 500-600р.
MAX II / epm240 :
https://ru.aliexpress.com/item/USB-Blas … Title=true
https://ru.aliexpress.com/item/ALTERA-M … Title=true
Около 100 лапок, 240 логических элементов, 2004 год разработки, цена - 1000р
Cyclone II / ep2c8 + MAX II / EPM240:
https://ru.aliexpress.com/item/CPLD-FPG … Title=true
Около 200 лапок, 8000 элементов, 2004 год, 4000р
На фотке вижу циклон, но не вижу EPM.
Не знаю, хорошо ли такое сочетание или плохо ?
Cyclone IV / ep4ce6 :
https://ru.aliexpress.com/item/xilinx-f … -eub6yrrBy
Около 150 лапок, 6000 элементов, 2009 год, 1000р
Cyclone IV / ep4ce6 :
https://ru.aliexpress.com/item/Free-shi … Title=true
Тоже самое, но периферия приятно-получше, цена - 1500р
Cyclone IV / ep4ce10 :
https://ru.aliexpress.com/store/product … Title=true
Тоже самое. но 10000 элементов, периферия как за 1000р, но за счёт чуть большего числа элементов цена - 1200р.
-=-=-==
1. Мне интересны в первую очередь простые схемы (замена 155й / 555й серии) - в основном, обвязка всяких атмег и прочего похожего. Когда либо не хватает выводов либо скорости.
2. Но, с другой стороны, хочется поиграться в разработку SoC: простое ядро (пусть хоть 8 бит на несколько МГц) + специализированная обвязка.
3. Лезть в так далеко, как завлекает Altera DE0/1 Board мне как-то кажется ненужным (я имею ввиду разработку DSP или чего-то подобного).
4. Была такая задачка: есть НЖМД 5 мб, живой. С него удаётся прочитать несколько десятков байт в буфер цифрового осциллографа. И даже расшифровать их в байты на PC. Но несколько десятков байт - это даже не сектор, а только поле адреса. Больше не лезет в буфер осцила. А в реальном времени он передавать не умеет. Интересно сделать какой нибудь однокристальный контроллер, хотя бы для чтения этого винта. Чтобы на входе поток данных с головки, а на выходе какой нибудь понятный PC-интерфейс, пусть даже в realtime. Т.е. не просто захват данных с пластин, но и раскодирование его налету, с ФАПЧ и прочими делами.
Вопросы:
a) Если освоить п.2, думаю, перейти к п.3 уже будет легко (софт-ARM, например) ?
b) На чём примерно можно соорудить п.2 ?
c) На чём примерно можно соорудить п.4 ?
d) Предполагаю закупить 2-3 разных платы с ценником до 1500р.
Например:
п1.MAX3000 / EPM3064 / 64 ЛЭ
https://ru.aliexpress.com/item/3-3V-50M … Title=true
п2.
MAX II / EPM240T100C5N / 240 ЛЭ
https://ru.aliexpress.com/item/USB-Blas … Title=true
или
CYCLONE IV / EP4CE6E22C8N / 6000 ЭЛЭ
https://ru.aliexpress.com/item/Free-shi … Title=true
Пойдет ?