Сегодня молодой ученый из МФТИ Виктор Прутьянов отлаживал с преподавательницей флейты Марией Беличенко электронную схему, которая распознает мелодии. Упражнения по проектированию таких схем будут выполнять в среду старшие школьники и младшие студенты на проходящей в Сколково «Школе синтеза цифровых схем«.

Это не программирование — на плате, которая видна на видео, вообще нет микропроцессора который мог бы выполнять программу. На ней стоит микросхема ПЛИС, матрица реконфигурируемых логических элементов. ПЛИС используют для обучения, например в курсе 6.111 от Массачуссетского Технологического Института, который выпускает будущих разработчиков чипов в смартфонах, автомобильной и космической электронике. Виктор Прутьянов вместе с студентов Сколтеха Владиславом Молодцовым Поставили такой курс в МФТИ.

Если вы хотите познакомиться с математикой музыки, или методами проектирования электроники на уровне регистровых передач (Register Transfer Level — RTL) с помощью синтеза схем, описанных на яхыке описания аппаратуры Verilog, вы можете бесплатно присоединиться к занятиям онлайн (офлайн места в Сколково уже все разобраны к сожалению).

Если вы при этом еще и пройдете роснановский онлайн-курс «Как работают создатели умных наночипов«, то вам пришлют вот такую плату как в видео бесплатно (это предложение касается только школьников, преподавателей и руководителей кружков). Правда в текущий момент платы тоже все разобрали, но через некоторое время прийдет дозаказ.

На платы для школы пожертвовали сооснователь Eltechs Максим Маслов, Наносемантика (компания Станислав Ашманов, Сергей Рыжков (основатель интернет провайдера RiNet и я. Я считаю, что это самый эффективный вид благотворительности который бывает, так как из современных школьников можно таким образом найти супермикроархитектов, примерно таким же образом, как выявляют будущих олимпийских чемпионов по фигурному катанию, и превратить Россию через 10-20 лет в великую микроэлектронную державу, как это произошло с Японией, Южной Кореей, сейчас происходит с Китаем итд.

Сконфигурируемая схема не использует никакого Фурье-преобразования — только простой zero-crossing, подсчет количества тактов 50MHz генератора на плате между пересечением главной синусоидой звукового сигнала нулевого значения. Точнее не нулевого значения, а некоторого порога. Если использовать нулевой уровень, то схеме будет мерещится много нот в тишине.

Далее мы используем простой конечный автомат, Finite State Machine — FSM. Точнее не одну FSM, а несколько параллельно работающих FSM-ов, распознающих сразу несколько мелодий.

Вот код — https://github.com/DigitalDesignSchool/ce2020labs/blob/master/day_2/piswords/lab_5_mic/top.v

Вот например как выглядит распознавание песни Yesterday группы «Битлз» на верилоге самым прямолинейным образом. Можете написать в комментариях, как бы вы это сделали по другому. Тут большое пространство для решений — от школьных до hi-end:

 // 3. Yesterday by Beatles

    always @ (posedge clk or posedge reset)
        if (reset)
            states [5] <= 0;
        else
            case (states [5])
             0: if ( t_note == G  ) states [5] <=  1;
             1: if ( t_note == F  ) states [5] <=  2;
             2: if ( t_note == A  ) states [5] <=  3;
             3: if ( t_note == B  ) states [5] <=  4;
             4: if ( t_note == Cs ) states [5] <=  5;
             5: if ( t_note == D  ) states [5] <=  6;
             6: if ( t_note == E  ) states [5] <=  7;
             7: if ( t_note == F  ) states [5] <=  8;
             8: if ( t_note == E  ) states [5] <=  9;
             9: if ( t_note == D  ) states [5] <= 10;
            10: if ( t_note == C  ) states [5] <= 11;
            11: if ( t_note == Bf ) states [5] <= 12;
            12: if ( t_note == A  ) states [5] <= 13;
            13: if ( t_note == G  ) states [5] <= 14;
            14: if ( t_note == Bf ) states [5] <= recognized;
            endcase

Отладка выполнялась в студии Филипповский 13 Евразийского коммуникационного центра, ЕКЦ.

Инструкции как присоединиться онлайн и как получить плату - в посте на Хабре Проектировщики RISC-V из Yadro покажут школьникам как проектировать процессоры.

Источник: Habr

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Похожие записи: