Я думаю, что может быть неправильное представление о том, что же такое FPGA и когда она используется в проектах. Итак, позвольте мне сначала попытаться объяснить эту часть.
ПЛИС и когда кто-то может захотеть иметь ...
С риском для упрощения, FPGA - это чуть больше, чем процессор, который оказывается «реконфигурируемым».
Зачем кому-то нужен «реконфигурируемый» микропроцессор? Ну, потому что это слишком дорого, чтобы изготовить кремниевый процессор, чтобы позволить себе сделать это за один, два или даже двести чипов. Вам нужно будет запускать партии тысяч чипов, чтобы сделать это экономически целесообразным.
Поскольку в первый раз ни один дизайн не обходится без ошибок, использование кремниевого маршрута фактически обязывает компанию по крайней мере к двум, если не большему количеству тестов, и все это при огромных затратах на изготовление.
По сути, это означает, что очень немногие коммерческие компании будут заинтересованы в разработке и производстве чего-либо, кроме чипа с достаточно широкой коммерческой привлекательностью.
Итак, если вы придумали блестящий дизайн, оправдывающий использование собственного микропроцессора, вы можете попытаться воплотить свою идею в жизнь при ограниченном бюджете, реализовав ее в FPGA, где настоящий чип представляет собой просто набор логических элементов и «Программа» (обычно VHDL или Verilog) организует эти ворота в настоящий микропроцессор.
Но это довольно далеко по совершенно другой (микропроцессорной конструкции!) Дороге ...
Что заставляет меня предположить, что
... FPGA не являются необходимыми для робототехники - по крайней мере, с самого начала
Для робототехники вам нужен процессор . ПЛИС - это просто особый тип процессора (реконфигурируемый).
Вы спрашиваете, «должны ли»? Ну, это зависит от ваших знаний, а также от того, где лежат ваши реальные интересы - сначала микропроцессор или робототехника?
Если вы увлекаетесь микропроцессорами, то непременно! А робототехника является отличной областью применения для пользовательских микропроцессоров - возможно, кортекса видения со многими параллельными путями принятия решений, обрабатываемыми непосредственно в аппаратном обеспечении, или специального тензорного умножения в аппаратном обеспечении - в основном всего, что обычные процессоры не могут хорошо обрабатывать в готовом виде.
Но если вы собираетесь разрабатывать микропроцессоры в ПЛИС, ну, конечно, вам понадобятся все те знания низкого уровня, о которых вы упомянули, и даже больше - потому что по сути вы будете проектировать свой собственный процессор. Что на самом деле не имеет ничего общего с робототехникой, хотя вашим целевым приложением может быть робототехника.
Большинство дизайнеров, вероятно, могут найти существующий процессор, который будет делать большую часть того, что им когда-либо понадобится.
Поэтому я думаю, что вам, вероятно , не нужна ПЛИС.
Начальная дорожная карта: от коммерческих возможностей до (может быть) FPGA ...
Первая цель, на мой взгляд, состоит в том, чтобы попытаться встроить все ваши творческие концепции в работающий робот (довольно сложная задача сама по себе).
Если вы обнаружите, что у вас есть конкретные и существенные узкие места обработки в вашем дизайне, то следующая цель - оптимизировать выбор / дизайн ваших процессоров, все еще имеющихся в продаже чипов. Может быть, больше, быстрее (компромисс с потреблением мощности, рассеиванием тепла). Возможно меньшие, специализированные чипы, обрабатывающие определенные задачи и взаимодействующие с основным мозгом (компромисс с алгоритмом / логическими усложнениями).
Только если есть возможности, которые вы просто не сможете заставить использовать коммерческие чипы, тогда вы можете рассмотреть возможность внедрения специализированного процессора в FPGA, потому что в этот момент будут очень очевидные преимущества, которые вы надеетесь получить, «свернув свои собственные». ', и вы можете сосредоточиться только на реализации этих возможностей с правильными интерфейсами для остальной части вашего дизайна.
В противном случае вы, скорее всего, будете отвлечены от своей главной цели (которую я собираюсь предположить, на самом деле построить робота!)
Итог: FPGA отвлекают от начала работы в робототехнике - пока вы не пройдете довольно далеко путь робототехники - и не добились значительных успехов в разработке цифровой электроники / микропроцессора где-то на этом пути.