Ответы пользователя по тегу FPGA
  • Разработчик систем на ПЛИС. Как, с чего и где начать?

    @Mirn
    0. С разговорного английского, беглово с хорошим словарным запасом и умением понимать шутки и казалось бы странные фразы. Всем абсолютно плевать на Ваш опыт и знания и умения, даже устровшись задаром в корпорацию с шансом роста - его не будет как бы Вы не старались, это реальный мир а не сказочки. Высокий старт решает всё, а для этого надо выдавать бегло много красноречиво на собеседовании на остальное в 99.9999999999999999% случаев всем плевать всегда и даже проверять не будут даже выдав тестовые задания, даже если они толковые. пункты 1 и далее без этого пункта не нужны и бессмыслены.
    Програмист при помощи человечьего языка работает с людьми при помощи инструментов сделаных другими людьми и опять же описанных человечьим языком. Даже код для людей а не для ПК. Запомнить и понять это надо.

    1. Программирование на Си и С++. Усиленно изучать оба понимая что даже чистый си понадобится и очень часто, Вы же FPGA будете использовать не спроста - а значит шевелить огромными данными а их ввод-вывод надо организовать и нередко надо делать драйвера самому на люниксе например, а для этого они оба и понадобятся.
    2. Умения ЧИТАТЬ ассемблер - ТОЛЬКО ЧИТАТЬ и умения исправлять код и параметры компилятора чтоб получить нужный дизасм с нужной скоростью или размера.
    3. Никогда не писать на ассемблере. см пункт 0 (асм это нечитабельное неподдающееся правке г). Современные компиляторы на голову лучше асма делают, даже на мелочах ты продуешь, в целом разница будет и по размеру и по скорости в разы.
    4. Не использовать старое гавно мамонта и не гордится им, забудтье как страшный сон авр и пик микро с чистым i51 если изучать 8051 то современные модели с одним тактом на инструкцию и с нормальным объёмом памяти с частотами 100 мегагерц и выше или в особых случаях. Аналогично забыть: например первые максы альтеры.
    5. Готовиться к имиграции иначе интерес угаснет лет через 5 от такой зп в странах СНГ. Но надо понимать что по миру эта отрасль в среднем оплачивается на 50% ниже ИТ.
    6. Умение работать с людьми и софт скилз. Человек и зп зависит от результативности и умения себя показать, неважно что ты делаешь, важен самопиар, я знаю отличных людей но "серых мышей" которых нафиг уволили а потом удивлялись почему всё перестало работать. Но я не знаю ниодного карьериста и балабола но весьма посредственного в технике который не смог бы обскакать всех по карьерной лестнице. [Социальные скилы при наличии тех минимума] >> [тех уровень лучше всех]. Молчуны быстро сталкиваются с тем что им дают шлак проэкты или не выделяют ресурсы и они загнивают в болоте легаси.
    7. Изучать не только современное но и популярное и задвинуть подальше свои хотелки и свою лень, всем пофиг что серия А интересна если серия Б унылоге гавно но 90% проэктов на ней или она прото в полтора раза дешевле. Изучать надо то что требуется рынком а не то что ты себе внушил что требуется. Самоанализ а не "ну это статья понятная попробую я ка это" "хмм, я это знаю и поэтому дальше буду лепить на этой платформе" "блин а почему никому эта платформа не нужна?"
    8. В начале надо набить ошибок на своих проэктах и потом начать изучать чужие похожие проекты а только потом теорию чтоб понять почему они так сделаны, и так рекурсивно. Не изучать неведомую теор хрень только для галочки - как изучишь так и забудешь сразу же если она без практики.
    9. Изучить паттерны программирования и немного веба с бд (пригодятся и не раз - и как резерв для карьерного манёвра чтоб уйти в веб или гейм или интерпрайз если совсем всё плохо с финансами и зарплата нужна седня а не через пол года)
    10. конечно же схематехнику но без переусердствований - на ардуино уровне вполне хватит

    Из конкретики пример:
    Ардуино на СТМ32 или голый СТМ32 (а лучше в начале ардуино стм32 а потом голый - идеально)
    подключить тяжолые вещи, например: дисплей камеру память, понять ботлнеки, сделать что то годное на этом - поиск лиц например. (работать с живым видео полезно и очень интересно, даже наткнувшись на баги можно получить интересные результаты и их развить и понять причину бага, и самое главное видно сразу результат и он классный)

    понять что МК вообще не годны к такому и потехоньку начать переписывать алгоритм поиска лиц на верилог
    осилить Icarus Verilog или другой тулчейм симуляции
    довести симуляцию до идеала - т.е. bit perfect когда результат симуляции побитово равен исходнику для СТМ32
    купить ФПГА отладку или заказать свою ФПГА плату например минимум циклон 3-5 или спартан 6
    замучаться с интерфейсами и изучить времянки и time constrains и иже с ними
    довести до ума и до реалтайма этот проэкт с поиском лиц

    примерно так
    Ответ написан
    4 комментария