24-29 апреля в Киеве пройдет серия семинаров для школьников, которые не будут похожи на обычные классы со встроенными процессорами, которые стандартно используют Лего / Ардуино / Расберри Пай. Главный фокус семинаров — не научить программировать процессоры, а показать принципы, как процессоры проектируются внутри. Это как разница между «научить водить машину» и «научить проектировать двигатель». На семинарах школьники будут использовать язык описания аппарата Verilog и логический синтез — технологии, которые используют разработчики цифровых микросхем в Apple, Samsung и других электронных компаниях.
Главная официальная страница семинара, там же регистрация.
Для упражнений используются платы с ПЛИС — матрицами логических элементов с изменяемой функцией (это не обычный «процессор + память»). ПЛИС давно используются для обучения студентов проектированию электроники в Стэнфорде и МИТ, и более недавно — в российских и украинских вузах. Использование ПЛИС для обучения школьников — это эксперимент, и у вас есть шанс в нем поучаствовать. Для облегчения ввода в Verilog и ПЛИС мы сначала займемся упражнениями с микросхемами малой степени интеграции на безпаечных макетных платах. Затем мы займемся ПЛИС и в последний день семинаров сравним проектирования ПЛИС с программированием микропроцессора для интернета вещей.
Вы наконец увидите то, что происходит между транзистором и Ардуино, в область, куда школьники заглядывают редко!
Программа для старших школьников и младших студентов
Понедельник 24 апреля. Начинаем путь к ПЛИС: комбинационная логика и двоичная арифметика на микросхемах малого степени интеграции
Место: Студенческий пространство Belka КПИ
- 16:00-17:00 Александр Барабанов, КНУ. От физики к логике.
- Что такое ток, напряжение и сопротивление.
- Как устроена макетная плата.
- Упражнение 1. Первая схема с батарейкой, светодиодом и резистором. Зачем включать резистор в цепь со светодиодом.
- Что такое транзисторы и как из них строятся логические элементы.
- Упражнение 2. Наблюдаем работу транзистора.
- 17:00-18:00 Юрий Панчул, Imagination Technologies. Булева алгебра логики, логические элементы И-ИЛИ-НЕ.
- Упражнение 3. Каждому ученику выдается персональная микросхема логики серии CMOS 4000, с техническим описанием от производителя, с задачей нарисовать таблицу истинности, продемонстрировать ее работу и словесно описать функцию. Логические элементы AND, OR, XOR, NOR, NAND с различным числом входов.
- Упражнение 4. Изучаем, что такое подтягивающие резисторы и зачем они нужны. Добавляем к Упражнения 3 кнопки и подтягивающие резисторы.
- 18:00-19:00 Двоичная арифметика, сложения и умножения.
- Упражнение 5. Каждому ученику выдается сумматор CMOS 4008. Демонстрация работы сумматора на макетной плате.
- 19:00-21:00 Дополнительные упражнения для тех, кто справился с упражнениями 1-5 и не хочет идти домой.
- Упражнение 6. Семисегментный индикатор и его драйвер, как пример комбинационной схемы. Вывод результата работы сумматора на семисегментный индикатор.
Вторник 25 апреля. Добавляем память: Последовательностная логика на микросхемах малой степени интеграции.
- 16:00-16: 30 Юрий Панчул. Последовательностная логика — это то, что делает компьютер «умным», она дает ему память и возможность повторять операции.
- 16: 30-17:00 Юрий Панчул и инструкторы по КПИ.
- Что такое D-триггер.
- Упражнение 7. Подсоединяем генератор тактового сигнала на основе 555 таймеру в D-триггера и исследуем работу составленной схемы.
- 17:00-19:00 Более сложные элементы последовательностной логики.
- Упражнение 8. Регистр сдвига и подвижные огоньки.
- Упражнение 9. Счетчик с выводом состояния на семисегментный индикатор.
- 19:00-21:00 Евгений Короткий, КПИ. Дополнительные упражнения для тех, кто справился с упражнениями 6-8 и не хочет идти домой.
- Упражнение 10. Исследуем генератор тактового сигнала на основе микросхемы 555 таймеру. Наблюдаем, как меняется период тактовой частоты в зависимости от сопротивлений резисторов и емкости конденсатора.
Среда 26 апреля. Комбинационная логика и двоичная арифметика на Verilog и ПЛИС.
Место: Студенческий пространство Belka КПИ.
- 16:00-16: 30 Юрий Панчул, а также инструкторы из КПИ, КНУ. Быстрое вступление в язык описания аппаратуры Verilog и использования логического синтеза для ПЛИС / FPGA. Рассматриваем только комбинационную логику.
- 16: 30-17:00 Инструкторы из КПИ, КНУ. Комбинационная логика на Verilog.
- Упражнение 11. Повторяем упражнение 2 (логические элементы) на ПЛИС с использованием платы Digilent CMOD A7 35T: Breadboardable Artix-7 FPGA Module.
- Упражнение 12. Выводим первые буквы своего имени и фамилии на семисегментный индикатор, переключаясь между ними с помощью кнопки.
- Упражнение 13. Повторяем Упражнение 3 (сумматор) на ПЛИС. Результат выводим на семисегментный индикатор.
- 19:00-21:00. Дополнительные упражнения для тех, кто справился с упражнениями 9-11 и не хочет домой.
- Упражнение 14. Иерархия модулей. Построение мультиплексоров с подмодулей.
- Упражнение 15. Моделирование Verilog кода без ПЛИС. Создаем среду для проверки работы схемы, описанной в Verilog. Используем симулятор Icarus Verilog для моделирования и программу GTKWave для просмотра временных диаграмм.
Пример кода на языке описания аппаратуры Verilog, который транслируется (синтезируется) в схему:
module counter
(
input clock,
input reset_n,
output reg [31:0] count
);
always @(posedge clock or negedge reset_n)
begin
if (! reset_n)
count <= 32'b0;
else
count <= count + 32'b1;
end
endmodule
//----------------------------------------------------------------------------
module seven_segment_display_driver
(
input [3:0] number,
output reg [6:0] abcdefg
);
// a b c d e f g dp Буквы с картинки
// 7 6 4 2 1 9 10 5 Выводы 7-сегментного индикатора
// 7 6 5 4 3 2 1 Выводы сигнала pio в ПЛИС
// --a--
// | |
// f b
// | |
// --g--
// | |
// e c
// | |
// --d--
always @*
case (number)
4'h0: abcdefg = 7'b1111110;
4'h1: abcdefg = 7'b0110000;
4'h2: abcdefg = 7'b1101101;
4'h3: abcdefg = 7'b1111001;
4'h4: abcdefg = 7'b0110011;
4'h5: abcdefg = 7'b1011011;
4'h6: abcdefg = 7'b1011111;
4'h7: abcdefg = 7'b1110000;
4'h8: abcdefg = 7'b1111111;
4'h9: abcdefg = 7'b1111011;
4'ha: abcdefg = 7'b1110111;
4'hb: abcdefg = 7'b0011111;
4'hc: abcdefg = 7'b1001110;
4'hd: abcdefg = 7'b0111101;
4'he: abcdefg = 7'b1001111;
4'hf: abcdefg = 7'b1000111;
endcase
endmodule
//----------------------------------------------------------------------------
module top
(
input CLK, // Тактовый сигнал 12 MHz
inout [48:1] pio // GPIO, General-Purpose Input/Output
);
wire reset_n = ! pio [8];
wire [31:0] count;
counter counter_i
(
.clock ( CLK ),
.reset_n ( reset_n ),
.count ( count )
);
seven_segment_display_driver display_driver_i
(
.number ( count [26:23] ),
.abcdefg ( pio [ 7: 1] )
);
endmodule
Четверг 27 апреля. Последовательностная логика и конечные автоматы на Verilog и ПЛИС.
Место: Студенческий пространство Belka КПИ.
- 16:00-17:00. Юрий Панчул. Последовательностная логика на Verilog, конечные автоматы, концепция методологии RTL (уровень регистровых передач), задержки распространения сигналов и ограничения на процедуру синтеза цифровых схем, определение максимально возможной тактовой частоты работы цифровой схемы.
- 17:00-19:00. Инструкторы из КПИ, КНУ. Последовательностная логика на Verilog.
- Упражнение 16. Счетчик с выводом состояния на семисегментный индикатор. Реализация Упражнения 9 на ПЛИС.
- Упражнение 17. Регистр сдвига и подвижные огоньки. Реализация Упражнения 8 на ПЛИС.
- Упражнение 18. Генерация звуковых тонов различной частоты и их наложения.
- 19:00-21:00. Дополнительные упражнения для тех, кто справился с упражнениями 17-18 и хочет работать дальше.
- Упражнение 19. «Улитка улыбается»: пример конечного автомата.
- Упражнение 20. Строим арифметический конвейер. Используем симулятор Icarus Verilog для налаживания работы последовательностных схем.
Пятница 28 апреля. Сравнение проектирования схем с программированием встроенных микропроцессоров.
Место: Студенческий пространство Belka КПИ.
- 16:00-16: 30. Юрий Панчул. Чем программирования отличается от схемотехники. Машина фон Неймана — особый случай электронной схемы. Программы, как цепочки инструкций для машины фон Неймана. Обзор микропроцессорного ядра, используемого в MediaTek MT7688 и Microchip PIC32MZ.
- 16: 30-19:00 Евгений Короткий. Пример: платформа для Интернета Вещей LinkIt Smart 7688 на основе MediaTek MT7688.
- Упражнение 21. мигает светодиодом с помощью программы на Python.
- Упражнение 22. считывает данные с датчика освещенности Digilent PMOD ALS с помощью протокола SPI.
- Упражнение 23. Вступление в концепции прерываний.
- 19:00-21:00. Дополнительные упражнения для тех, кто справился с упражнениями на LinkIt Smart 7688 и хочет продолжать работу. Пример: Microchip PIC32 микроконтроллер.
- Упражнение 24. мигает светодиодом с помощью программы на языке Си.
- Упражнение 25. считывает данные с датчика освещенности Digilent PMOD ALS с помощью протокола SPI.
- Упражнение 26. Разгружаем основную программу, используя прерывания. Прерывания от таймера запускает SPI транзакцию, прерывания от SPI сигнализирует о получении пакета.
Cуббота 29 апреля. Хакатон
Место: Национальный университет «Киево-Могилянская академия»
- Проекты с микросхемами малого степени интеграции: «Детектор влажности почвы», «Полицейская сирена»
- Проекты с ПЛИС: интерфейсы для сенсоров, конечные автоматы типа «кодовый замок»
- Проекты с микроконтроллерами и встроенные микропроцессоры для Интернета Вещей: соединение с сенсорами и актуаторами
Программа для младших школьников
Апрельский интенсив «Введение в электроники»
Понедельник 24 апреля.Знакомство с основами: закон Ома, пассивные электронные элементы (резисторы и конденсаторы)
Место проведения:офис ООО «Радиомаг Украина», Чоколовский бульвар, 42-А
Время:17:00-19:00
Лектор:Сергей Ченаш
- Что такое ток, напряжение и сопротивление, закон Ома
- Как устроена макетная плата
- Как работать с мультиметром
- Резисторы и их применение
- Конденсатор как накопитель электрического заряда и его применение
Вторник 25 апреля.Активные электронные компоненты: строение и принципы работы диодов и транзисторов
Место проведения:офис ООО «Радиомаг Украина», Чоколовский бульвар, 42-А
Время:17:00-19:00
Лектор:Сергей Ченаш
- Характеристики полупроводников, строение p-n-перехода
- Как работают диоды и их классификация
- Принципы работы транзисторов и их применение
Четверг 27 апреля.Исследования элементов оптоэлектроники: светодиоды, фоторезисторы, фототранзисторы, оптопары
Место проведения:офис ООО «Радиомаг Украина», Чоколовский бульвар, 42-А
Время:17:00-19:00
Лектор:Сергей Ченаш
- Элементы оптоэлектроники, принципы работы и применение
Пятница 28 апреля.Знакомство с микросхемой NE555
Место проведения:офис ООО «Радиомаг Украина», Чоколовский бульвар, 42-А
Время:17:00-19:00
Лектор:Сергей Ченаш
- Что такое микросхемы и их классификации
- Типы сигналов в электронике
- Знакомство с микросхемой NE555, создание генератора
- Работа с осциллографом
Суббота 29 апреля.Бонусное занятия по пайке
Место проведения:офис ООО «Радиомаг Украина», Чоколовский бульвар, 42-А
Время:11:00-12: 30
До встречи на семинарах!
- Открытая лаборатория электроники Lampa и Студенческое пространство Belka, Национальный технический университет Украины «Киевский политехнический институт имени Игоря Сикорского»
- Киевский национальный университет имени Тараса Шевченко
- Национальный университет «Киево-Могилянская академия»
- Малая академия наук Украины
- ООО «Радиомаг Украины»
- Imagination Technologies
Главная официальная страница семинара, там же регистрация.
Автор: YuriPanchul