Хищник писал(а):
Есть хороший способ - представить, что процессор уже есть И... начать писать для него программу, пользуясь всеми необходимыми регистрами и командами!
Может лучше сраазу на си писать?
Хищник писал(а):
Самое трудное в разработке эффективных решений для ПЛИС - ломка десятилетиями вырабатывавшихся стереотипов, что аппаратная платформа - это данность, и Интел с пути уже не свернет.
Дык интели действительно не свернут, но на них свет клином не сошелся. avr, pic, arm, mips тут уже поминали.
ArtemKAD писал(а):
Вы вероятно не поняли моей мысли. 20 корпусов на РАЗНЫХ платах соединенных ДВУМЯ проводами. Протокол обмена по проводу - асинхронный где-то на 9600...19200 (нечто смахивающее на 1-Wire, LIN, CAN...)
И по этому интерфейсу(кстати, какой топологии: лично с каждым, кольцо, общая магистраль с арбитражем) на скорости 1кбайт/с будем гонять тристокилобайтную картинку?
ArtemKAD писал(а):
Да хоть 100 ядер. Откель эти ядра исполняемые инструкции ОДНОВРЕМЕННО выбирать будут?!
каждый из своего блока памяти. А вот, например, 32м аппаратным ШИМам в спартане ни в какую общую память лазить не надо.
ArtemKAD писал(а):
Кроме того, 10 МК это не только 10 ядер, но и десять оперативок, десять флешей программ (сразу готовых для исполнения, а не после загрузки),
50МГц тактовой, чуть меньше мегабита прошивка. Время загрузки сами посчитаете?
Кстати, а нам что, всё время перезагружаться надо?
ArtemKAD писал(а):
десятка 2-3 таймеров (3-4 десятка аппаратных PWM-ов или таймерных событий), десяток АЦП (более 50 каналов в т.ч. дифференциальных), десяток генераторов, около 200 универсальных ног ...
Подумайте о топологии и логике межпроцессорного взаимодействия.
Пара-тройка каких-нибудь SPI интерфейсов потребует 6-9 ног от каждого микроконтроллера, а программный 1-wire одновременно с 20ШИМ пишите сами.
ArtemKAD писал(а):
Что значит "все равно" ?! Есть громадная разница сколько одновременно считать времянок 3 или 17!
Если допускается последовательная подача импульсов, то задача для 16 каналов решается одним 16-битным таймером и 3-мя компараторами.
В любом случае у нас асинхронно по двум-трём внешним портам могут приходить запросы вида "вышай параметры этого ШИМ" и "вот новые параметры этого ШИМ".
Понятно что задача "в принципе решается", но решение получается громоздким и малорасширяемым.
Кстати, если 1мс поделить на 250 дискретов и на 16 каналов, то получится 4операции на частоте 16МГц.
Kopa писал(а):
ARM контроллеры будут мощнее, а по стоимости уже почти сравнялись
Это только цена кристалла.
Паять на коленке БГА или даже TQFP с шагом ног 1.27мм - это мазохизм, про изготовление плат промолчу, а цена (и доставаемость) готовых плат может сильно отличаться в зависимости от региона, тиража, погоды на марсе итп. (при тираже 1шт наверняка выйдет дороже, чем кит с ФПГАшкой)
На счет IPC. В ПЛИСе я могу сделать тупой 'регистр-ШИМ', который будет наружу работать как ШИМ, а изнутри выглядеть как обычный регистр. К такому регистру тупо подводим параллельную шину данных, шину команд, we/re И всё. Работы минут на десять.