Господа! Мы с Тимуром Палташевым из AMD в Саннивейл, Калифорния, а также с несколькими соратниками из России, Украины и Казахстана решили спланировать несколько семинаров разных форматов, которые покрывают темы на стыке хардвера и софтвера: цифровая логика, Verilog, правила RTL (Register Transfer Level), введение в микроахитектуру (строение конвейера) процессоров, низкоуровневое программирование на ассемблере, использование микроконтроллеров, особенности чипов для интернета вещей, введение в RTOS-ы, лабы на ПЛИС-ах / FPGA, а также (для части аудитории, которая интересуется производством чипов) физические аспекты проектирования и производства на фабрике (для последнего мы решили привлечь материалы от преподавателя курса в Университете Калифорнии Санта Круз, отделение в Silicon Valley).

Цель этого поста — обсудить кому что нравится на основе детального плана первого из таких семинаров, который будет в Казахстане. Идея данного семинара в том, чтобы пригласить некоторое преподавателей казахстанских вузов и сделать для них обзор, чтобы помочь им сориентироваться, в каких местах можно повысить качество их программ в программировании встроенных систем, электронике, а также затронуть связанные области типа интернета вещей и роботики.

elizabeth_panchul_160702_085714-2


Про большую часть материалов, на которых все строится, я на Хабре уже писал:

1. Русский перевод учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», пост про который получил на Хабре 140 тысяч просмотров и который используют преподаватели во многих вузах, в том числе в МФТИ и МВТУ.

2. Курс по микроконтроллерам Microchip PIC32MZ, созданный профессором Александром Дином из университета Северной Каролины, в кооперации с Imagination Technologies, Microchip Technology и Digilent (отделением National Instruments), над ревью которого работали и российские вузы, в том числе МИЭТ в Зеленограде и СГАУ в Самаре.

3. MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно софтвер и хардвер и т.д. См. также пост Как делать парсинг текста голым хардвером, без процессора и без софтвера про один из блоков MIPSfpga.

Кроме этого, уже после Казахстана, мы планируем привлечь для подготовки семинаров в России и в Украине преподавателя из UC Santa Cruz Extension in Silicon Valley по имени Чарльз Данкак который разрешил мне сделать краткую вырезку из слайдов его курса «Разработка нанометровых специализированных микросхем: от спецификации до кремния»:

Developing the Nanometer ASIC: From Spec to Silicon by Charles T Dancak

Но теперь вот для вашей критики расписание в Казахстане. Мне интересно кто бы как расставил акценты:












Для обоснования семинара в Казахстане его устроителям я написал такой текст:

Семинар нацелен на следущие группы университетских преподавателей:

1. Преподаватели цифровой схемотехники, заинтересованные в улучшении своих существующих курсов. На семинаре мы представим русский перевод популярного учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», который, помимо введения в основы цифровой логики, содержит введение в языки описания аппаратуры Verilog и VHDL, а также показывает студенту, как построить собственный конвейерный микропроцессор, который может быть реализован на недорогих студенческих платах с микросхемами ПЛИС.

Студенты, изучившие цифровыу схемотехнику на основе языков описания аппаратуры, смогут применять микросхемы ПЛИС прототипирования и разработки электронных устройст для сетевых устройств, обработки звука и других применений.

2. Преподаватели программирования на языках высокого уровня, заинтересованные в расширении своих курсов с помощью включения низкоуровневого программирования на ассемблере MIPS, одной из трех главных ахитектур (ARM, MIPS, x86), которые применяются во встроенных системах.

Студенты, изучившие этот материал, смогут специализироваться в программировании микроконтроллеров (например Microchip PIC32MZ) и встроенных процессоров (например MediaTek MT7688), с самым широким спектром применений – в транспорте, агропромышленных системах и «интернете вещей». Кроме этого, студенты смогут специализироваться в направлениях, которые требуют знания низкоуровневого программирования – написание компиляторов, ядер операционных систем и гипервизоров для виртуализации.

3. Преподаватели программирования микроконтроллеров, которые хотят улучшить свои курсы, используя курс Connected MCU, разработанном в университете Северной Каролины, в сотрудничестве с Imagination Technologies, Microchip Technology и Digilent (отделения National Instruments).

Помимо обсуждения интерфейсов микроконроллера с периферийными устройствами, этот курс содержит элементы микроархитектуры микропроцессорного ядра и работы кэшей, что помогает студентам анализировать производительность. Кроме этого, курс последовательно, шаг за шагом, учит писать параллельные программы, начиная от объяснения механизма работы прерываний и применения таймеров, и заканчивая лабораторными работами с операционной системой реального времени FreeRTOS.

4. Преподаватели специализированных дисциплин, таких как роботехника. Эта дисциплина используют встроенные процессоры и требуют понимания и аппаратуры, и программной части системы. Материалы семинара содержат объяснение, чем отличаются различные классы процессоров – от простых микроконтроллеров, которые применяются для контроля механических манипуляторов, до высокопроизводительных многоядерных суперскалярных встроенных компьютеров, которые применяются для обработки визуальной информации, поступающей на камеры робота.

5. Преподаватели, желающие внедрить новое для многих вузов преподавание проектирования систем на кристалле (System on Chip – SoC). Сейчас даже небольшие компании в области интернета вещей начали проектировать собственные специализированные системы на кристалле, соединяющие экономичные процессорные ядра с их собственной периферией, после чего использовать контрактное производство таких микросхем в Китае. Пакет MIPSfpga, который сожержится в материалах семинара, позволяет прототипировать такие системы, используя недорогие студенческие платы ПЛИС.

В целом, семинар позволяет преподавателям разных специализаций в электронике и программировании получить общее представление о смежных областях, как и о том, что происходит в индустрии, а также выбрать области специализации и темы студенческих проектов для своих университетов.
Темы какой части планируемой программы вас интересуют?

Проголосовал 41 человек. Воздержалось 27 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться с друзьями
-->

Комментарии (74)


  1. golf2109
    03.07.2016 10:20
    +1

    цитата — заинтересованные в расширении своих курсов с помощью включения низкоуровневого программирования на ассемблере MIPS, одной из трех главных ахитектур (ARM, MIPS, x86), которые применяются во встроенных системах.

    тут нужно добавить — одной из самых малораспостраненных из трех архитектур

    цитата — Студенты, изучившие этот материал, смогут специализироваться в программировании микроконтроллеров (например Microchip PIC32MZ)

    а почему собственно выбран PIC32MZ, а не например STM32?
    просто в прикладном плане количество проектов на базе STM32 на порядки превышает количество проектов на PIC32.
    Кому нужен после института специалист, который знает очень много о малоиспользуемой платформе?
    Это как программист, который плохо знает английский, но хорошо знает латинский...(просто в институте учили латинский).

    P.S. Я конечно догадываюсь о материальном участии фирмы Microchip


    1. YuriPanchul
      03.07.2016 10:26
      +4

      Как всегда под такой статьей первый коммент — от поклонника ARM и STM32 который кипит праведным негодованием, что MIPS и PIC32MZ вообще смеют существовать.

      Прежле всего, если вам хочется курса на основе STM32 — напишите его сами и опубликуйте пост на Хабре.

      Далее, в STM32 F4 / ARM Cortex M4, которые по классу соответствуют MIPS M5150 в PIC32MZ EF,
      в STM32 F4 / ARM Cortex M4 нет кэшей, нет хардверной виртуализации и ниже производительность. А вот в MIPS M5150 в PIC32MZ EF кэши и хардверная виртуализация есть. И TLB MMU.

      Кэши студентам учить надо или не надо?


    1. beeruser
      04.07.2016 01:09
      +3

      >> тут нужно добавить — одной из самых малораспостраненных из трех архитектур
      Странные придирки. MIPS или ARM ассемблер — абсолютно не имеет никакого значения. Построены они на схожих принципах, а SoC так вообще ничем не отличаются. Ядро другое ну и кого это волнует?

      >> Кому нужен после института специалист, который знает очень много о малоиспользуемой платформе?
      Давайте вы инженеров из ARM уговорите провести семинар про разработку микроархитектуры процессоров в Казахстане, а я пока за попкорном схожу.


      1. golf2109
        04.07.2016 01:44
        -1

        >>Давайте вы инженеров из ARM уговорите провести семинар про разработку микроархитектуры процессоров в Казахстане, а я пока за попкорном схожу.

        Вместо похода за попкорном, сходите на arm.com или mips.com, пользы будет гараздо больше, чем от инженеров, даже из ARM…


        1. beeruser
          04.07.2016 02:10
          +4

          А там ничего и нет полезного кроме TRM-ок. Есть некоторый софт, модели и т.п. для универов. Но мне с него ни холодно, ни жарко.

          >> пользы будет гараздо больше, чем от инженеров
          В чём там польза? Я и так эти TRM-ки 15 лет читаю.
          У машины 4 колеса. Офигеть как интересно.

          А вот особенности реализации предикатов на Cortex-A9, например, интересны.


  1. golf2109
    03.07.2016 10:42
    +3

    никто негодованием не кипит, насчет права существования MIPS и PIC32MZ, которые объективно уже сушествуют, речь идет о том что нужно
    студенту давать разносторонние и полезные в будущей жизни знания, а вот ограничение кругозора одним MIPS — надругательство над студентом

    писать ещё один курс на основе STM32 — уже моветон, их столько написано...(в том числе и на Хабре)

    и к сожалению жизнь говорит об обратном, — студентам после учебы нужно найти сразу РАБОТУ,
    а вот не зная STM, но зная кэши от PIC32, до «кэша» в виде «зелени» доберется он не скоро…


    1. YuriPanchul
      03.07.2016 10:53
      +2

      *** а вот ограничение кругозора одним MIPS — надругательство над студентом ***

      Никто ничего не ограничивает — студенту нужно владеть несколькими архитектурами. Это вы хотите всех заставить изучать только то, что используете вы лично.

      *** писать ещё один курс на основе STM32 — уже моветон, их столько написано...(в том числе и на Хабре) ***

      Приведите ссылку на курс на основе STM32, в котором разбирается не только как подсоедить какой-нибудь SPI, но и работу микроконтроллера с RTOS и эффекты конвейера на производительность.

      *** а вот не зная STM, но зная кэши от PIC32, до «кэша» в виде «зелени» доберется он не скоро… ***

      Работа кэша процессора — необходимый элемент образования инженера.

      И если вы считаете, что якобы на PIC32 работы нет, то почему семинары Microchip Technology в Питере собирают кучу народа?


      1. ittakir
        03.07.2016 18:41
        -3

        Мне кажется, изучать как раз и нужно «как подсоединить какой-нибудь SPI», и стараться не засорять голову всяким мусором вроде «эффекты конвейера на производительность».
        Пользователям давно уже по барабану, что там под капотом — 8 битный микроконтроллер или MiniATX компьютер на Windows 10. Пользователю главное, чтобы машина работала, робот сам шагал, а злые птички запускались из рогатки. За это платят деньги.

        Могу привести такой пример. Можно долго изучать сопромат, металлургию, токарное дело и потом найти работу высококлассным токарем на станке ЧПУ и изготавливать детали для автомобилей какой-то конкретной модели на заводе Toyota.

        А можно быть рабочим в СТО, знать, как в целом устроены автомобили, уметь чинить как двигатель в BMW, так и тормоза в Toyota. Да, рабочий будет получать чуть меньше (но не всегда!), но для того, чтобы устроиться на работу, не нужно ехать в Японию, в любом селе можно устроиться.

        Каждый выбирает работу по себе. Но нельзя всех _принудительно_ учить быть профессиональным токарем в Toyota.


        1. YuriPanchul
          03.07.2016 18:44
          +2

          *** Пользователям давно уже по барабану, что там под капотом — 8 битный микроконтроллер или MiniATX компьютер на Windows 10. Пользователю главное, чтобы машина работала, робот сам шагал, а злые птички запускались из рогатки. За это платят деньги. ***

          Это так, только если вы гововорите о высокоуровневом программировании.

          Большая часть семинара — не о программировании (ARM или MIPS), а о разработке системы на кристалле, т.е. главным пунктом является день 4 с MIPSfpga, где интегрируется микропроцессорное ядро на верилоге с памятью и устройствами ввода-вывода, после чего эта система синтезируется для реализации в ПЛИС / FPGA.

          Введеление в Verilog и программирование на ассемблере делаются сначала, чтобы часть с MIPSfpga могли сделать даже люди с нуля, а часть с PIC32MZ вводится в конце, так как PIC32MZ EC использует ровно то же самое процессорное ядро MIPS micrpAptiv UP (а PIC32MZ EF — MIPS M5150), что и MIPSfpga, т.е. слушатель получает возможность сравнить систему изнутри и снаружи, в виде готового микроконтроллера.

          У ARM точного аналога MIPSfpga вообше нет, так как пакет от ARM под названием Design Start содержит ядро ARM Cortex M0 в obfuscated нечитаемом виде, его нельзя менять, добавлять в него новые инструкции, смотреть как изменения в железе влияют на производительность.

          Конечная цель семинаров — чтобы в России образовалось больше команд типа ELVEES-NeoTek и Байкал Электроникс, которые бы разрабатывали чипы встроенных специализированных процессоров.

          См. пресс-релиз от ЭЛВИС-НеоТек:

          elvees.ru/home/index.php?id=17&tx_ttnews%5Btt_news%5D=766&cHash=89a2b4a4dba86aa5dac54e69ffa45d7a

          «ЭЛВИС-НеоТек», проектная компания РОСНАНО, входящая в группу компаний «ЭЛВИС», и компания Imagination Technologies передали в производство семантический процессор ELISE (ELVEES Image Semantic Engine) – мультиплатформенную систему-на-кристалле (СнК) нового поколения, разработанную по технологическому процессу 28 нм, которая предназначена для создания систем для быстрорастущих мировых рынков видеоаналитики: умные города, ритейл, интернет вещей, дополненная реальность, мультимедиа и т.д.

          На основе чипа ELISE могут создаваться IP-камеры с функциями видеоаналитики на борту, мультимедийные устройства и мобильные гаджеты, системы помощи водителю (ADAS), устройства связи и навигации, роботы.

          Для СнК ELISE компания «ЭЛВИС-НеоТек» приобрела права на использование широкой линейки IP-модулей и платформ Imagination:


          Высокопроизводительный двухъядерный процессор MIPS Warrior P5607, а также процессор MIPS InterAptiv, позволяющий работать с несколькими потоками, и энергоэффективный процессор MIPS M5150, которые обеспечивают значительное повышение скорости работы приложений видеоаналитики и обработки звука, требующих большой вычислительной мощности.



  1. golf2109
    03.07.2016 11:04
    +5

    не сочтите за рекламу сайта trud.com

    Работа: stm32 Россия 52 вакансии
    Работа: pic32 Россия 1 вакансия


    1. olartamonov
      03.07.2016 14:36
      +6

      Работа: менеджер магазина Россия 17 178 вакансий

      Мне кажется, вам вообще микроконтроллеры учить не надо. Никакие. Не найдёте вы с ними работы.

      А если серьёзно — человек, который может писать только под микроконтроллер X, потому что его учили писать только под микроконтроллер X, называется «кодер», а не «программист», и в общем и целом вряд ли заработает много — будет годами фигачить шаблонный код для шаблонных проектов. Минимально приличный же программист, освоив MIPS, без особых проблем займётся и другими архитектурами.

      И, внезапно, именно поэтому на сайте trud.com там мало нужны люди, умеющие фигачить шаблонный код под конкретную архитектуру.


      1. hogans
        11.11.2016 07:37

        просто не пойдут данные, если передумаете нажимать
        пойдут, если однозначно нажмете
        будущее предопределено, а фундаментальной трудностью как раз будет это осознать


        1. olartamonov
          03.07.2016 14:51
          +4

          передергивать про менеджеров глупо с Вашей стороны, Вы еще президента сюда приплетите


          Ну, не я первый начал. Вытащили на свет сайт третьего эшелона, вбили в него глупый запрос — получили глупый ответ.

          а нормальный программист освоит сначала именно STM32 и вообще ARM архитектуру


          А если он освоит не STM32, то тогда он не нормальный или не программист? Какова цель освоения им именно STM32? И нет, «я освоил STM32, потому что на алиэкспрессе платы на них по $5» — это не цель, это её отсутствие.


          1. golf2109
            03.07.2016 15:34
            +3

            цитата-
            Вытащили на свет сайт третьего эшелона, вбили в него глупый запрос — получили глупый ответ.
            предложите сайт первого эшелона и вбейте на нем не глупый запрос, — наверное он будет звучать, как поиск работы для программиста, разбирающегося в кэше PIC32?

            цель освоения именно STM32 & ARM именно и в том, что платы на них по 5 долларов (ибо студенты не могут их покупать по 50-100 как на PIC32, хотя Вы и считаете это наверное «нещебродством»), а самая главная цель — изучение самой распостранненой архитектуры на сегодня.
            Ваши возражения против приоритета изучения самых распостраненных архитектур — это из области, Windows — must die & Linux forever — я имею цель показать, что я крутой и знаю MIPS, а то что работодателям нужен ARM — так они лохи, считают каждую копейку и жадничают сотку купить платку у Microchip.
            И называть освоение архитектуры ARM отсутствием цели — это даже не грубость, а просто разговор из серии «сам дурак»


            1. olartamonov
              03.07.2016 15:42
              +3

              ибо студенты не могут их покупать по 50-100 как на PIC32


              Платы для обучения покупает университет, а не студенты. Если же вы имеете в виду «студенту понравится и он продолжит экспериментировать дома», то он точно так же сделает это на архитектуре, отличной от изучавшейся в университете, иначе грош цена его экспериментам.

              хотя Вы и считаете это наверное «нещебродством»


              Если уж вы начали приписывать мне слова, то хотя бы не делайте в них орфографических ошибок — я без них думаю.

              Ваши возражения против приоритета изучения самых распостраненных архитектур — это из области, Windows — must die & Linux forever — я имею цель показать, что я крутой и знаю MIPS, а то что работодателям нужен ARM — так они лохи, считают каждую копейку и жадничают сотку купить платку у Microchip.


              а) Я не знаю ни MIPS, ни ARM, ни даже x86, хотя мы работаем со всеми тремя. AVR могу со словарём.
              б) Зато я — работодатель.

              И фраза «я знаю STM32, потому что мы проходили его в университете» для меня будет с большой вероятностью означать конец собеседования.


          1. denis_obrezkov
            03.07.2016 18:21
            -1

            Я сам недавно выпущенный студент и хочу ответить вам. Вакансий для начинающих на хэдхантере с упоминанием mips нет совсем (Санкт-Петербург). Поэтому логично, что мне, как начинающему нормальному (среднему) программисту, пришлось разбираться в первую очередь в архитектуре arm.

            Кроме того, вы упоминаете RTOS. Операционные системы являются абстракцией и позволяют программисту отрешиться от проблем с конвейеризацией и кэшированием. И у меня возникает вопрос: а какова цель ваших семинаров?
            Большая часть того, что вы предлагаете, дается в университетской программе, даже в средненьком вузе.


            1. YuriPanchul
              03.07.2016 18:41
              +2

              Большая часть семинара — не о программировании (ARM или MIPS), а о разработке системы на кристалле, т.е. главным пунктом является день 4 с MIPSfpga, где интегрируется микропроцессорное ядро на верилоге с памятью и устройствами ввода-вывода, после чего эта система синтезируется для реализации в ПЛИС / FPGA.

              Введение в Verilog и программирование на ассемблере делаются сначала, чтобы часть с MIPSfpga могли сделать даже люди с нуля, а часть с PIC32MZ вводится в конце, так как PIC32MZ EC использует ровно то же самое процессорное ядро MIPS micrpAptiv UP (а PIC32MZ EF — MIPS M5150), что и MIPSfpga, т.е. слушатель получает возможность сравнить систему изнутри и снаружи, в виде готового микроконтроллера.

              У ARM точного аналога MIPSfpga вообше нет, так как пакет от ARM под названием Design Start содержит ядро ARM Cortex M0 в obfuscated нечитаемом виде, его нельзя менять, добавлять в него новые инструкции, смотреть как изменения в железе влияют на производительность.

              Конечная цель семинаров — чтобы в России образовалось больше команд типа ELVEES-NeoTek и Байкал Электроникс, которые бы разрабатывали чипы встроенных специализированных процессоров.

              См. пресс-релиз от ЭЛВИС-НеоТек:

              elvees.ru/home/index.php?id=17&tx_ttnews%5Btt_news%5D=766&cHash=89a2b4a4dba86aa5dac54e69ffa45d7a

              «ЭЛВИС-НеоТек», проектная компания РОСНАНО, входящая в группу компаний «ЭЛВИС», и компания Imagination Technologies передали в производство семантический процессор ELISE (ELVEES Image Semantic Engine) – мультиплатформенную систему-на-кристалле (СнК) нового поколения, разработанную по технологическому процессу 28 нм, которая предназначена для создания систем для быстрорастущих мировых рынков видеоаналитики: умные города, ритейл, интернет вещей, дополненная реальность, мультимедиа и т.д.

              На основе чипа ELISE могут создаваться IP-камеры с функциями видеоаналитики на борту, мультимедийные устройства и мобильные гаджеты, системы помощи водителю (ADAS), устройства связи и навигации, роботы.

              Для СнК ELISE компания «ЭЛВИС-НеоТек» приобрела права на использование широкой линейки IP-модулей и платформ Imagination:


              Высокопроизводительный двухъядерный процессор MIPS Warrior P5607, а также процессор MIPS InterAptiv, позволяющий работать с несколькими потоками, и энергоэффективный процессор MIPS M5150, которые обеспечивают значительное повышение скорости работы приложений видеоаналитики и обработки звука, требующих большой вычислительной мощности.



              *** Большая часть того, что вы предлагаете, дается в университетской программе, даже в средненьком вузе.
              html-теги ***

              В последнее время ситуация в России улучшилась, но даже 5 лет назад во многих программах были дыры, например были программы с цифровой схемотехникой, но без использования Verilog или VHDL, или скажем с архитектурой (ассемблером), но без микроахитектуры (структуры конвейера). В Украине и Казахстане эти дыры тоже сейчас постепенно закрывают.


              1. denis_obrezkov
                03.07.2016 21:04

                Мне кажется, что проблемы в разработке чипов под разные нужды сейчас нет. SoC доступны на любой вкус и под любые задачи. Мне видится, что сейчас наибольшей проблемой является низкий уровень культуры разработки встраиваемых систем, то, чего как раз и не хватает в вузе, и чему мало уделяется внимания в классических книгах.

                Интересен бы был семинар о способах правильной готовки RTOS, верификации и тестирования RTOS, синхронизации потоков и их отладке, широкой межплатформенной переносимости, перспектив развития уровней абстракции во встраиваемых системах.
                К примеру, вы используете для демонстрации систему FreeRTOS, которая не является POSIX-совместимой. В противном случае для отладки программ с некоторой натяжкой можно было бы использовать Linux. С другой стороны, имеем необходимость отладки и тестирования, и симулятор QEMU, на котором можно запустить и FreeRTOS, и Linux. В добавок к этому, существует необходимость настройки периферии и работы с ней. Таким образом, получаем, что разработчику, который собирается изготовить некое встраиваемое устройство и сделать это по уму, необходимо гигантское количество времени затратить на продумывание и архитектуры системы, и инфраструктуры разработки, фактически придумать всё с нуля. И судя по некоторым предприятиям, эта проблема стоит крайне остро.

                В вашем же случае получается, что те люди, кто заинтересован в разработке SoC — они поступают в специализированные магистратуры, читают известные книги, едут в Зеленоград. То есть, в принципе, если у человека есть интерес, то ему есть куда расти, и направление примерно задано(Prototyping by Verilog Examples, Harris&Harris, opencores.org). Но сама идея таких семинаров мне нравится — они могут послужить действительно неплохим началом, после которого человек может сам решить, в каком направлении ему двигаться.


                1. beeruser
                  04.07.2016 01:46
                  +2

                  >> SoC доступны на любой вкус и под любые задачи
                  И поэтому не нужно знать как их проектировать? Правильный подход. Ведь потом можно громко плакаться что людей нет, просрали все полимеры.

                  >> Интересен бы был семинар о способах правильной готовки RTOS, верификации и тестирования RTOS, синхронизации потоков
                  Вам просто интересен софт, а не железо. Вот и всё. Чему тут возмущаться?
                  Вы возмущаетесь что «Инженер по верификации микропроцессорных ядер» не читает вам лекцию о синхронизации потоков в Linux?

                  >> В вашем же случае получается, что те люди, кто заинтересован в разработке SoC — они поступают в…
                  Поэтому семинары по железу не нужны, так получается?

                  >> Большая часть того, что вы предлагаете, дается в университетской программе, даже в средненьком вузе.
                  При этом крайне редко можно встретить (даже в тематических форумах) русскоговорящего человека, который понимает хотя бы базовые концепции построения процессоров.

                  Мне вот непонятно. Комментаторы тут воротят нос и минусуют Юрия по той причине что, мол, мороженое не ванильное, а фисташковое им дают. Не нравится — не ходи. Всё просто.


                1. UA3MQJ
                  05.07.2016 11:25
                  +1

                  Я читал серию статей про FreeRTOS, там в итоге написание примеров и тестирование проводили вообще под x86 архитектурой. Так что проблемы, вроде бы как и нет.


                  1. denis_obrezkov
                    05.07.2016 11:54

                    Вот вы читали, а я еще нет. И хотя я не разработчик чипов, я знаком с книгами Harris&Harris и знаю о существовании openRISC, openSPARC. Если есть желание развиваться в этой области, я даже знаю в какую компанию пойти. В этой области для меня всё довольно понятно. В то время как в разработке под SoC у меня возникают трудности.
                    Вы же понимаете, что FreeRTOS в серьезных вещах никто не использует. У нее свой собственный непереносимый API, нет нативный поддержки хотя бы POSIX. Поэтому нужно искать либо правильный подход к ней, либо использовать другие ОС для прототипирования. Все вопросы, озвученные мной, не представляют проблемы по отдельности. В сети куча материалов по тестированию многопоточных приложений, верификации RTOS, использованию FreeRTOS, и даже о том, как сделать Linux чуть более real-time. Для меня же сложным является другой момент: как все это использовать вместе, получив при этом максимальную выгоду (минимальное время до получения готового прототипа).


                    1. UA3MQJ
                      05.07.2016 12:01
                      +1

                      Да. Мне тоже хочется побыстрее получать результат. Для этого пришлось взять STM32 (в сторону отказа от монолитного ПЛИС решения). Считаю, что сейчас уже можно все мышкой «программировать». Через STM32Cube можно все настроить. И даже USB устройство настроить, оно там аппаратно поддерживается. Казалось бы красота. Но, к сожалению, легко и просто удалось только помигать светодиодами в лице простых процессов в FreeRTOS. На деле же, мне нужно создать USB MIDI устройство, но в списке поддерживаемых шаблонов USB устройств его нет. Поэтому придется опять включать голову. А так не хотелось, потому что хотелось получить результат максимально быстро. :)


                      1. denis_obrezkov
                        05.07.2016 12:07

                        Справедливости ради стоит заметить, что и UART, и SPI в STM32Cube работают из коробки. А где можно прочитать про ваш проект?


                        1. UA3MQJ
                          05.07.2016 12:11
                          +1

                          Вообще STM32Cube очень сильно порадовал. Чего только стоит графическая настройка тактовых частот. По проекту напишу в лс.


            1. olartamonov
              03.07.2016 20:48
              +2

              Вы путаете вуз с ПТУ, а меня с автором поста (второе, впрочем, менее существенно).

              Овладение конкретной профессией, которой вы начинаете заниматься сразу после выпуска, вам даёт профтехучилище.

              Вуз даёт вам умение получать знания, систематизировать их и пользоваться ими — ну и некоторый набор собственно знаний, на котором эти навыки тренируются, но это в общем побочный эффект.

              Если бы вы полученными в вузе навыками пользовались по назначению, к моменту поиска работы вы бы либо уже успели бы поковыряться и в ARM (и не только STM32 — бывает ещё TI, SiLabs и много чего другого), и в MIPS, и в 8051, либо необходимость в них разбираться не вызывала бы у вас вообще никакого удивления. Потому что вы, по крайней мере, знали бы две вещи:

              а) Вам гарантированно придётся разбираться в вещах, про которые вам не рассказали в вузе. Ну научили вас программировать STM32. Ну пришли вы ко мне устраиваться на работу. А мне надо, чтобы вы RIOT OS на чипы TI портировали. И что? Вы мне расскажете, что вас этому не учили?

              б) ARM, MIPS, 8051 и всё остальное, что вы реально встретите на рынке, похоже друг на друга на порядок больше, чем, скажем, современные языки высокоуровневого программирования, поэтому когда вы устраиваете выступление на тему «мне пришлось» — оно больше про вас, а не про платформу, на которой в вашем вузе преподавали

              P.S. У меня специальность — физика низкотемпературной плазмы. Я работал в IT-журналистике (успешно), в маркетинге и продуктовом менеджменте (успешно), сейчас вот руковожу компанией, занимающейся разработкой электроники и низкоуровневого ПО. Как вы думаете, что из этого было в вакансиях для начинающих на хедхантере с упоминанием низкотемпературной плазмы?


              1. denis_obrezkov
                03.07.2016 22:17

                Да, действительно, как-то получилось отправить одним комментарием вопросы двум разным людям.

                Я не говорил ни слова про ВУЗ и его назначение, пожалуйста, не спорьте с тезисом, которого я не выдвигал. С этими очевидными истинами о различии ПТУ и ВУЗа я согласен.

                Хочу вас удивить, но к моменту окончания ВУЗа я успел поковыряться в ARM — в STM32 и в TI ARM, и в TI DSP, и посмотреть мельком на архитектуры SPARC и x86. И с прикладной точки зрения я вам говорю, что мне, как студенту, связывающему свою будущую работу с embedded, было интересно разбираться в архитектуре ARM, потому что именно она позволила бы мне на что-то жить. Именно это я понимаю под словом «пришлось» — рынок труда вынудил меня выбрать STM32, а не PIC32. Повторюсь — рынок труда меня вынудил выбрать, но не изучить. Изучение — это уже мой выбор.
                Кроме того, вы подменяете понятия — я не говорю, что не хочу разбираться в новых вещах, я говорю, что не вижу необходимости разбираться в PIC, если есть ARM.

                Я утверждаю, что студент, задавшийся целью стать разработчиком ПО для микроконтроллеров, в большинстве случаев не выберет PIC, как платформу для обучения.
                Автор поста выше уже прояснил мне, какую цель ставит перед собой он и его команда, проводя такие семинары. И я с ним полностью согласен — если человек хочет научиться создавать SoC, то такое введение ему будет крайне полезно. Однако, если мы с вами говорим о разработке ПО для SoC, то моя позиция в том, что в большинстве случаев выбирать контроллеры PIC в качестве первой платформы не рационально.

                P.S. По странному стечению обстоятельств, когда я пришел на нынешнюю работу, мне дали задание писать HAL на один из чипов TI. И, нет, я не удивился.


                1. golf2109
                  03.07.2016 22:44

                  как «ветеран», который начинал в конце 80-х писать на 8080 рад услышать такие мысли от нынешних выпускников


                1. olartamonov
                  04.07.2016 10:05

                  Однако, если мы с вами говорим о разработке ПО для SoC, то моя позиция в том, что в большинстве случаев выбирать контроллеры PIC в качестве первой платформы не рационально.


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

                  А если вы хотите, чтобы вас кодить на STM32 научили, то вам в ПТУ. Целью вуза не является научить вас чему-то, на что вы могли бы тут же начать без лишних хлопот жить — вуз должен давать фундаментальные знания.


                  1. denis_obrezkov
                    04.07.2016 10:35

                    Вы абсолютно правы в том, что не имеет абсолютно никакого значения какую архитектуру изучать. Но если рынок требует людей, имеющих представление об ARM, то выбор студента очевиден.

                    В какой это вселенной ВУЗы должны давать только фундаментальные знания? Как в нашей стране, так и в любой другой ВУЗы готовят специалистов для предприятий. Посмотрите программы обучения в тех же немецких ВУЗах — они заточены под определенный вид железа, под определенные архитектуры и под конкретную СРВ.


                    1. olartamonov
                      04.07.2016 10:55
                      +1

                      Но если рынок требует людей, имеющих представление об ARM, то выбор студента очевиден.


                      Вот именно — выбор студента. Студент делает выбор — и идёт самостоятельно изучать то, что он считает для себя нужным. Будет неплохо, если вуз предоставит ему такие возможности факультативно, но не более того.

                      Посмотрите программы обучения в тех же немецких ВУЗах — они заточены под определенный вид железа, под определенные архитектуры и под конкретную СРВ.


                      Не «заточены под», а «используют в учебном процессе и лабораторных работах», и определяется эта среда обычно тем, кто вузу предоставит данное оборудование и помощь в подготовке курсов по нему.

                      Вы немного путаете современные вузы с советской распределительной системой. Это, конечно, здорово — готовить специалистов для предприятий, но что эти специалисты будут делать, если предприятию они будут не нужны?


                  1. golf2109
                    04.07.2016 10:36
                    -2

                    адрес сайта такого ПТУ скиньте, «фундаментальный», Вы наш


                    1. olartamonov
                      04.07.2016 10:56

                      (пожав плечами) Вам нужно — вы и ищите. Ну или нойте, что вас не научили кодить под STM32 на блюдечке с голубой каёмочкой. Выбор целиком ваш, идея, что вуз или кто-то ещё его за вас сделает — она немного ошибочная.


                      1. golf2109
                        04.07.2016 11:58

                        с STM32 давно уже «разобрался» самостоятельно, а ноете как раз — вы, предлагая проплаченную рекламу микрочипа с мало растраненными пиками


                        1. olartamonov
                          04.07.2016 12:48
                          +1

                          Вообще вы очень смешной. У вас в жизни бывали случаи, что отличная от вашей точка зрения не была никем проплачена?..

                          Я не только не знаком с Microchip, но даже не знаю, есть ли у них вообще в России офис (ну, из общих соображений — наверное, есть). У нас ни в одном проекте нет ни одной микросхемы Microchip сложнее АЦП за доллар двадцать, а конкретно PIC32MZ нам нужен примерно как рыбе зонтик.

                          Что ничуть не мешает мне продолжать считать, что задача вуза — вправлять мозги, а не готовить рабочие специальности, поэтому вуз выбирает ту платформу, на которой ему удобнее вправлять мозги. И если Imagination Technologies (ах да, если бы вы потратили 30 секунд своего времени и узнали бы, где работает Юрий, то мы бы с вами над вашим бредом о том, что ему платит Microchip, смеялись бы ещё веселее) хочет сделать программно-аппаратную платформу, адаптированную специально под вправление мозгов студентам — я не вижу ни единой причины, почему вузы не должны её использовать.

                          P.S. А где, кстати, российский офис Microchip? Может, мне пора уже за деньгами заехать?


                    1. ittakir
                      04.07.2016 11:14

                      Бешенно плюсую. В Новосибирском Государственном Университете меня научили фундаментально программировать под PIC16F84A на ассемблере на уровне помигать светодиодами и прочитать температуру по I2C.
                      Это в те времена, когда 32 битные ARMы уже набирали обороты. Никто из моих сокурсников не устроился после этого на работу программировать PIC на ассемблере.
                      И какой тогда толк от этих бесполезных курсов, на которые было потрачено пол-года?

                      Зато те, кто программировал на C# и Java в свободное от учебы время уехали по разным Америкам почти сразу.
                      К чему вся эта «фундаментальность», если она не приносит денег (а если она не приносит денег, значит она никому не нужна, никто её не покупает).


                      1. olartamonov
                        04.07.2016 12:42

                        Вас учили не фундаментальности. Вас учили мигать светодиодом на ассмеблере на PIC16. То есть сделали из вас кодера под конкретную платформу. При этом учиться чему-то другому самостоятельно вам было неохота.

                        И сейчас вы ратуете за то, что надо было делать из вас кодера под другую платформу.


                      1. YuriPanchul
                        04.07.2016 18:34

                        Вы смешиваете 16-битные proprietary микроконтроллеры Microchip с их-же 32-битными микроконтроллерами на основе лицензируемых ядер MIPS.

                        PIC32MZ EF — это не PIC16F884A. Это микроконтроллер на основе 32-битного ядра MIPS M5150 (развития предшествующих MIPS microAptiv UP / MIPS M14Kc), которые не только находятся в одном классе я микроконтроллерными ядрами ARM Cortex M3 / M4, но и превосходят их по ряду параметров (наличие кэшей, лучшая производительность).

                        *** К чему вся эта «фундаментальность», если она не приносит денег (а если она не приносит денег, значит она никому не нужна, никто её не покупает). ***

                        Затем, что сейчас в России становится на ноги индустрия разработки и собственных современных микросхем (см. напр. http://elvees.ru/home/index.php?id=17&tx_ttnews%5Btt_news%5D=766&cHash=89a2b4a4dba86aa5dac54e69ffa45d7a, и для таких проектов нужно понимание и низкоуровневого программирования, и разработки SoC (а у ARM нет эквивалента пакета MIPSfpga — см. коммент выше), поэтому ARM объективно хуже для изучения разработки хардверной части в университете.

                        *** Зато те, кто программировал на C# и Java в свободное от учебы время уехали по разным Америкам почти сразу.К чему вся эта «фундаментальность», если она не приносит денег (а если она не приносит денег, значит она никому не нужна, никто её не покупает).***

                        Я работаю в Калифорнии 25 лет и могу вам сказать, что квалифицированный разработчик микросхем и систем на кристалле на уровне Verilog (RTL designer — Register Transfer Level) зарабатывает как правило больше, чем C# и Java программисты. Кроме этого, когда вокруг сотни тысяч людей программируют вебсайты, это не так интересно, а разработка специализированных SoC — это нечто другое.


                        1. ittakir
                          04.07.2016 18:55

                          PIC16F84A — древнючий 8 битный МК с 1К памяти программ и «кривой» архитектурой.
                          Я не сомневаюсь, что квалифицированый разработчик микросхем в США зарабатывает больше, но:
                          1. Таких вакансий существенно меньше обычного программирования, и не в разы, а на несколько порядков.
                          2. В России разработчики электроники зарабатывают меньше, чем PHP программисты.


              1. ittakir
                04.07.2016 18:59

                Ну и скажите теперь, пригодились ли вам потраченые 4-5 лет на изучение физики плазмы в том, чем вы сейчас занимаетесь?
                Или лучше было их потратить на управление продуктами, основы маркетинга, курсы программирования?
                Может и BlackSwift бы все-таки взлетел тогда?


                1. olartamonov
                  04.07.2016 22:27
                  +1

                  Ну и скажите теперь, пригодились ли вам потраченые 4-5 лет на изучение физики плазмы в том, чем вы сейчас занимаетесь?


                  Я так полагаю, всё написанное мной выше вы то ли не поняли, то ли посчитали, что я шучу. OK, для тех, кто в танке: пригодились. Ни секунды не жалел о том, что пошёл именно в естественнонаучный вуз.

                  Или лучше было их потратить на управление продуктами, основы маркетинга, курсы программирования?


                  В смысле, вместо Физфака МГУ пойти в ПТУ осваивать рабочие специальности?

                  Может и BlackSwift бы все-таки взлетел тогда?


                  Мне всегда нравилось, когда люди, знающие про мой бизнес ровно ноль целых ноль десятых, пытаются меня уязвить тем, что он «не взлетел».


                  1. ittakir
                    05.07.2016 06:29

                    Рабочие специальности, которым обучают в ПТУ в нашей стране — это сварщик, повар и т.д.
                    Чувствуется в ваших словах некоторое превосходство над ПТУшниками, некоторое пренебрежение.


                    1. olartamonov
                      05.07.2016 08:07
                      +1

                      Рабочие специальности, друг мой — это любые специальности, в рамках которых обучают навыкам, необходимым для того, чтобы по окончании обучения немедленно приступить к работе. А является это навыком закручивания гаек или навыком написания на ассемблере для STM32 — вопрос глубоко вторичный. Первично то, что «немедленно приступить к работе» — единственная цель такого образования.

                      И да, таки высшее образование действительно превосходит среднее специальное. Посему немного удивительно видеть людей, требующих, чтобы вместо первого им дали второе.


        1. jok40
          03.07.2016 15:49

          Я начал писать программы в те времена, когда миром правил Intel 8080. С тех пор на моём счету сотни проектов для самых различных процессоров/микроконтроллеров: Intel, Motorola, Microchip, Zilog, Atmel. Сравнительно недавно пришлось и под ARM кое-что делать. Имею опыт использования софтпроцессоров в составе FPGA Xilinx и Altera. Только вот до STM32 что-то никак руки не дошли. Честно говоря — даже не знаю, что это такое. Но клятвенно обещаю — погуглить!

          Я ненормальный программист?


  1. k_levin
    03.07.2016 18:21

    В Москве семинар планируется?


    1. YuriPanchul
      03.07.2016 18:21

      Да, в конце октября


      1. nerudo
        03.07.2016 18:54

        А в Питере?


        1. YuriPanchul
          03.07.2016 19:10

          Очень вероятно, тоже в конце октября — начале ноября


  1. Vladimir_Sklyar
    04.07.2016 09:04

    Спасибо авторам, вы делаете нужное дело, забейте на троллей, которые кроме слова 'я' ничего не выучили.
    Планируется ли расшарить он-лайн материалы семинаров, если да, то на каких условиях?


    1. YuriPanchul
      04.07.2016 09:12

      Да, все материалы мы выложим, но большую часть слайдов можно уже сейчас загрузить с

      https://community.imgtec.com/university/resources/

      http://silicon-russia.com/public_materials/2015_11_14_mipsfpga_related_presentations/

      и (более старые) http://panchul.com/dropbox/


  1. Fayzahmad
    04.07.2016 09:04

    Когда в Казахстане планируется семинар ???


    1. YuriPanchul
      04.07.2016 09:05

      22 – 26 августа 2016 г

      http://www.almau.edu.kz/9891


      1. Sergei2405
        04.07.2016 12:44

        Чем обусловлен выбор места проведения курса?
        На мой взгляд бывший политех был бы более подходящим местом http://kazntu.kz/ru/node/
        Кроме того курс платный, 69000 (59000) тг для Казахстана очень существенные деньги.
        Embedded программирование еще какое никакое есть в Казахстане, а вот если вы там найдете разработчиков заказных чипов, то для меня это будет открытием.


        1. YuriPanchul
          04.07.2016 18:13

          *** Чем обусловлен выбор места проведения курса? ***

          Инициативой вуза, который старается создать у себя центр таких технологий + личные контакты.

          В данном случае курс платный, так как трудно было найти спонсора бесплатного курса. В России спонсоров находить проще — есть как российские коммерческие компании разрабатывающие чипы, так и международные компании, получающие доход с российского рынка.


  1. Mirn
    04.07.2016 11:26
    -1

    Зачем нужны SoC c софт процессорами?
    В 99% случаях нужен микроконтроллер с общими интерфейсами и остальное решается ножкодрыганием, иногда на запредельной частоте в 160+ мегагерц, очень редко двухядерным МК или гибридом МК+DSP.
    В оставшихся 1% помогает CPLD максимум на пару тысяч логических ячеек без PLL, без умножителей, без памяти.
    Почти «никогда» всё таки требуется младшая FPGA такая чтоб умножители и память хотя-бы были, 5 шт и 10 блоков озу например. Но на моей практике только один проект где требовалась FPGA дошёл до производства — остальные оказались слишком сложны для Российской действительности.

    Поэтому, было бы интересно услышать реальные кейсы необходимости установки такой гибридной SoC с софтовым процессорном на плис?


    1. YuriPanchul
      04.07.2016 18:09

      *** Зачем нужны SoC c софт процессорами? ***

      Потому что современные микроконтроллеры, такие как Microchip PIC32MZ, STM32 и другие тоже разрабатываются на основе синтезированного soft core (т.е. ядра написанного на Verilog). Разница между микроконтроллером выпущенным на фабрике и системой, реализованной в плисе — это в основном разница в маршруте разработки:

      Verilog -> Synopsys Design Compiler -> Synopsys IC Compiler -> GDSII -> фабрика -> микроконтроллер
      (или соответствующий маршрут от Cadence)

      Verilog -> синтез, размещение, трассировка в Altera Quartus II или Xilinx Vivado -> конфигурация ПЛИС / FPGA

      При этом для выпуска коммерческого чипа по первому маршруту требуется начальная плата миллион долларов, а по второму маршруту — студенческая плата за сто долларов.

      Ясно, что учить студентов проектировать SoC (одновременно с их программированием) стоит по второму маршруту.

      Специализированные SoC сейчас проектируют не только крупные компании типа Qualcomm, но и даже стартапы — для проектов в Internet of Things.


      1. Mirn
        04.07.2016 18:57
        +1

        извиняюсь, я ошибся и не написал явно, а хотел спросить так:
        «Зачем нужны SoC с софт процессорами именно промышленному разработчику?», а не студенту
        Я SoC знаю, и использовал, в том числе и для самообучения, но дальше например такого дело не заходило:
        вот вывод видео и звука с декодингом JPG где DCT, квантизация, хаффман и прочие стадии аппаратные на плис, разбиение форматов и стриминг на NIOS
        https://www.youtube.com/watch?v=GBiXfsnlLHc

        мне просто интересно что другие люди проектируют на именно SoC?
        Причём такое что у нас продаётся и производится, а не всякое редкое, экзотическое и прочее штучное оборудование, это не в счёт.
        Интересует именно крупносерийный выпуск на SoC, такие условия когда он оправдан или без него никак не обойтись?
        Какие это должны быть коллективы и изделия чтоб себя окупить? — вот это мне интересно.
        Я в своём корневом ответе описал свой опыт и опыт других знакомых которые плис используют.
        Я реально не встречал ни разу задачу, которую можно реализовать ТОЛЬКО на SoC из экономических, временных или прочих соображений.

        А почему я это спрашиваю?
        Да потому что в реальной промышленной практике SoC в десятки раз сложнее и существенно дороже, а так же имеют море подводных камней и минусов для малых фирм в связи с отсутствием верификации и тд. Но в России электронику производят в основном как раз малые фирмы, я буквально одно предприятие знаю которое скорее всего их использует — НТЦ метротек, т.к. они официально на хабре представлены и писали статьи про SoC.

        Тоесть меня интересует SoC тусовка как источник прибыли или чего то очень мощного/уникального для серийного и массового производства.
        Извините, но я не хотел развить холивар что он не нужен.


        1. UA3MQJ
          05.07.2016 11:52
          +1

          Из задач, которые надо решать более крупными ПЛИСами, что я знаю — это, пожалуй, только SDR Radio. Там как раз обработка данных с АЦП, много умножителей, т.к. фильтры, и память (для того же). Но в принципе, давно есть микросхемы SDR и без ПЛИС тоже можно обойтись.


        1. jok40
          05.07.2016 12:46
          +1

          Существует ряд устройств, которые всё-таки при всём желании невозможно реализовать на «чистом» микроконтроллере — каким бы быстрым он не был: различные тестовые/измерительные/отладочные приборы.

          Например, из моей практики — внутрисхемный отладчик/эмулятор для процессоров Intel 80186/80188. Совершенно нереально сделать подобное устройство на микроконтроллере. Но для его работы требуется наличие определённого протокола общения с компьютером. Реализовывать его полностью аппаратно? Тот ещё головняк. Поэтому в FPGA, на базе которого этот дивайс был сделан, был добавлен простенький софт-процессор, который этим и занимался.

          Другой пример: нужен прибор для тестирования работы скоростной параллельной шины. Результат он должен записывать на SD-карточку или же по запросу сливать дамп на компьютер. Опять-же FPGA-симбиоз с софт-процессором — идеальное решение.


          1. Mirn
            05.07.2016 22:23
            +1

            у меня много было практики на CPLD и FPGA, а так же с использованием рассыпной логики.
            И всегда как вменяемый инженер я стремился сделать одновременно надёжно и развиваемо, но максимально просто.

            Например: «некая скоростная паралельная шина» персооналки лет 15 назад мною была реализована на AVR но помощью RS триггера и И-НЕ гейта на 155 логике — простейшая цепь формирования сигнала "#BUSY", это ISA шина для промышленого компа на базе пня3, Там была проблема что AVR 2313 не успевала за шиной вот я и влепил штуку которая просила «подождать».

            Если что посложнее: например 10 лет назад надо было сделать ISDN E1, то я тоже поступил как можно проще — разработал на максе 2 штуку которая последовательные биты складывает в внешнюю память АРМ, а тот уже дальше уже с собранными и выравнеными в байты данными спокойно работает.

            И так далее делая как можно проще я в основном использую CPLD, и чертовски крайне редко FPGA как толстую CPLD. Но чаще всего естественно голый МК без ПЛИС справляется с 99% задач.

            Т.е. если мыслить критерием «то что не могут сделать МК» то я делая конверторы в то во что могут МК в итоге не сталкивался ни разу с потребностью колхозить SoC.

            Почему «колхозить»?
            Потому что у SoC есть свои минусы и они очень жирные для меня:
            1. Надо ставить FPGA — это минимум 4 слоя, а часто 6 и более — плата дорогая.
            2. Надо ставить кучу стабилизаторов, просто адовую уйму — плата больше.
            3. Нужна внешняя флешка — могут украсть прошивку, надо её как то защищать.
            4. Нужна внешняя ОЗУ — существенно сложнее разводка и опять же плата ещё больше.
            5. Пункты 1-4 дают просто неподъёмную стоимость изделия в случае крупной серии и необходимости конкурировать в ценовом диапазоне 5-10тр за штуку диллерам.
            6. Но самое неприятное — сложность написания софта: надо разработать не одну сущность — прошивку для МК, а сразу кучу сущностей — HDL исходники для своей периферии SoC, настройку FPGA включая физику и тайминги, конфигурацию SoC (параметры шин, связи, топологии шин), прошивку для встроенного в SoC проца, а так же архитектурно-системный уровень соединения всего это воедино (взаимодействие аппаратуры и программы, адреса, прерывания, потоки данных и тд). При этом связи тут идут все ко всем, т.е. скрытая сложность и трудоёмкость не в 5 раз выше, а в 25 раз выше.

            Т.е. вместо того чтоб выбрать из каталога подходящий двигатель. шасси, кузов и подвеску, мы берём в руки геологическую карту, лопату и идём копать руду… ну да, сама поршневая с впуском нам дана заранее и хотябы с циклами термодинамики и газораспределением у нас проблем не будет.

            А так же надо решать такие интересные вопросы как тестирования собранных плат на производстве, защиты от копирования, пайки уже BGA и причём установки компонентов с двух сторон. Про верификацию (а она самая трудоёмкая часть во всём что связано с плис) я вообще тихо в подушку проплачу.

            Вывод:
            Для таких малых фирм как мы где есть пара программистов и пара схемотехников фирм, SoC — это крайняя мера и поэтому интересно узнать кто ими занимается для массового выпуска, а не штучное разовое для измерений и отладки. (в третьем камменте пишу это, пожалуйста хотя-бы раз прочтите что именно я спрашиваю, минусовать все рады). Поэтому я написал «колхозить», что такими малыми людскими ресурсами мы не сможем полноценную SoC сделать с верификацией.

            Но я всеми руками за преподавания SoC, и даже за обязательность преподавания SoC микроконтроллерщикам: только это даёт понимание работы переферии МК на уровне эксперта и понимания почему падает скорость в неочевидных местах, как настраивать шины и как подключать к МК разную переферию и часто нестандартую. Почему именно так переферию нада настраивать и тд и тп. Без знаний SoC сложно вырасти в истинного эксперта-микроконтроллерщика который может с помощью пары аппаратных хитростей и немного CPLD творить чудеса на baremetal такие в какие не смогли люди на запилить мощной малине.


            1. Khort
              06.07.2016 12:39

              Согласитесь, что меряете узко — по себе. Примеры приводите свои частные, порядком морально устаревшие. Интерфейсы плавно перетекают из параллельных в последовательные, с мегагерц в гигагерцы, и Ваши решения «на коленке» да «на россыпи» не сегодня так завтра устареют — это неизбежно. К примеру, гигабитный эсернет наверное можно на 4-х слойке развести, но с плейнами земли/питания все же понадежней будет. А если BGA корпуса надо ставить? Платы с 4-6 слоями тоже потихоньку уходят в прошлое.
              Нужен ли FPGA/CPLD? Однозначно нужен, хотя бы для защиты разработки от копирования. Нужен ли SoC в FPGA? Все зависит от стоимости ядер — в РФ большинство разработчков пользуется ворованным софтом, и ядра им ничего не стоят. А вот если платить — тогда разработка на дискретных элементах пожалуй дешевле выйдет, чем все в FPGA интегрировать. Многое, конечно, зависит от размера платы — SoC в FPGA будет сильно компактнее. Но, соглашусь с Вами -писать прошивку для FPGA и МК это не то же самое что писать прошивку только для МК. Учитывая статический временной анализ и прочую атрибутику разработки для современных FPGA, нижняя планка квалификации персонала только повышается. И наконец, нужен ли МИПС в SoC? Учитывая долю рынка, занимаемую этой архитектурой — пожалуй что не нужен, рядовым разработчикам уж точно. Нужно ли учить студентов этому? Думаю что нужно, поскольку уровень преподавания электроники в стране, которая отстала по этой самой электронике лет на 10-15 (по разным оценкам), вероятно что тоже отстает лет на 10-15 от мирового уровня. Т.е. как бы выбирать не из чего — если знания предлагают, надо брать, а не вилять хвостом.


              1. Mirn
                06.07.2016 13:24

                переделаю вопрос на проблемы не технического плана:
                1. Кто купит плату или изделие уже не за 10к а за 30к у нас в России?
                2. Где найти спецов которые сумеют развести DDR2 без скрытых косяков, верификаторов и ещё разрабов ПЛИС? (просто плисоводов годами ищут и закидывают тупыми вакансиями всех всподряд включая меня, это москвичи, но есть же остальная Россия)
                3. Где найти инвестиции и столько времени на разработку на SoC?

                Откуда на SoC взять ресурсы: деньги, время, люди?
                И как и чем их окупить тем-более когда разница в разы?

                Да и пожалуйста покажите тут хотя-бы одну небольшую фирму или стартап серийная продукция которой базируется на SoC.
                Хотя-бы одну, главное чтоб товар не был штучным или показушно-распильным.

                «Примеры приводите свои частные, порядком морально устаревшие.» — хех мне без разницы: они до сих пор производятся и продаются, и приносят мне долю с маржи, и продажи особо и не падают, может я не зря позаморачивался с их себестоимостью?


                1. Khort
                  06.07.2016 13:33
                  +1

                  Вы понимаете, что если в МК кроме ядра есть еще хотя бы один UART, то это уже SoC?
                  Вопрос наверное следовало бы поставить по другому — где сейчас используются FPGA со встроенным процессором? И на это ответить действительно сложно — пожалуй что и нигде. Но такие FPGA только-только появились (с АРМами и МИПСами), поэтому делать подобные оценки сейчас — преждевременно.


                  1. Mirn
                    06.07.2016 13:43

                    «Вопрос наверное следовало бы поставить по другому — где сейчас используются FPGA со встроенным процессором? И на это ответить действительно сложно — пожалуй что и нигде.»
                    да, полностью согласен что имел ввиду FPGA с софткоре процессорами. И именно про это говорил что именно что почти нигде (за редкими и очень дорогими исключениями типа 10-40 гигабитных умных роутеров и HFT финтехе).

                    «Но такие FPGA только-только появились»
                    Но появились они давно вообще-то — я их начал ковырять и пробовать лет восемь назад на базе кортекса М1.


                    1. YuriPanchul
                      11.07.2016 05:03

                      FPGA с софткоре процессорами — это способ учить будущих проектировщиков ASIC-ов. Все чипы ASIC в таких гаджетах как Apple iPhone или там российский процессор Бакал-Т проектируются в виде SoC с soft-core, on-chip buses и т.д.


              1. ittakir
                06.07.2016 16:02
                +1

                ***Нужно ли учить студентов этому?***
                Зачем учить тому, что, как только что выяснили, в реальной практике практически никогда не нужно? Не лучше ли это время потратить на более полезные курсы?
                Также с позиции производителя, зачем тратить деньги на разработку экстремально сложных продуктов, если за то же время можно сделать 10 более простых продуктов, которые дадут больше прибыли?


                1. YuriPanchul
                  11.07.2016 04:57

                  *** Зачем учить тому, что, как только что выяснили, в реальной практике практически никогда не нужно? ***

                  Я не понимаю. Все чипы в таких гаджетах как Apple iPhone или там российский процессор Бакал-Т проектируются в виде SoC с soft-core, on-chip buses и т.д. Вы что, считаете, что эти SoC на деревьях ростут и что нет людей, которые их проектируют, или эти люди выучили все сами?


  1. hdmi
    04.07.2016 13:40
    +2

    Юрий, слежу за вашей активной деятельностью в сфере образования и хочу выразить свое уважение. Не понимаю негодования многих комментаторов выше. По-моему, никогда не бывает слишком много хорошего матерьяла по слишком большому количеству архитектур. Прекрасно, когда есть различные платформы и море детальной информации про каждую из них. Печально, когда все стремится к унифицированному решению для всех задач. И еще печальней, когда юные разработчики ратуют за такое однообразие.


  1. malishich
    04.07.2016 16:39

    YuriPanchul, даты курса в Алматы зафиксированы? Мне нужно знать, потому как надо брать отгул на работе. Если даты зафиксированы, готов записаться.


    1. YuriPanchul
      04.07.2016 17:57
      +1

      Да, даты зафиксированы, авиабилеты куплены


  1. BalinTomsk
    04.07.2016 18:14
    +1

    ---Темы какой части планируемой программы вас интересуют?

    А какой курс читает красивая девушка с платами в руках?


  1. 32bit_me
    05.07.2016 13:17
    +1

    Существуют ли курсы от MIPS с выдачей сертификата по завершении курса?


    1. YuriPanchul
      11.07.2016 05:01

      Этот курс официально одобрен MIPS business unit of Imagination Technologies — есть письмо за подписью Robert Owen, Worldwide manager of University Program. Мы планирует cертификат о прослушивании курса.

      Кроме данного семинара есть и курсы для коммерческих лицензиатов ядер MIPS, но они гораздо дороже (коммерческий training).


      1. 32bit_me
        11.07.2016 08:38

        А есть дистанционные курсы, типа курсеры?


        1. YuriPanchul
          11.07.2016 08:47

          Есть какие-то видео курсы. Я завтра спрошу у группы в офисе, которая ведет коммерческий training