Para sistemas em um chip via FPGAs: semana da microeletrônica digital em Kiev - 24 a 29 de abril de 2017


De 24 a 29 de abril, ocorrerá em Kiev uma série de seminários para crianças em idade escolar, que não parecerão aulas comuns com processadores embutidos que a Lego / Arduino / Rasberry Pye usa como padrão. O foco principal dos seminários não é ensinar a programar processadores, mas mostrar os princípios de como os processadores são projetados dentro. É como a diferença entre "ensinar a dirigir um carro" e "ensinar a projetar um motor". Nos seminários, os alunos usarão a linguagem de descrição de dispositivos Verilog e a síntese lógica - tecnologias usadas por desenvolvedores de chips digitais na Apple, Samsung e outras empresas eletrônicas.

A página oficial principal do seminário, inscrição lá .

Para exercícios, são usadas placas com FPGAs - matrizes de elementos lógicos com uma função variável (este não é um “processador + memória” comum). Os FPGAs têm sido usados ​​há muito tempo para ensinar aos alunos como projetar eletrônicos no Stanford e no MIT e, mais recentemente, nas universidades russas e ucranianas. Usar FPGAs para educar crianças em idade escolar é um experimento, e você tem a chance de participar. Para facilitar a entrada no Verilog e nos FPGAs, iniciaremos exercícios com microcircuitos com um pequeno grau de integração em placas de prototipagem sem solda. Em seguida, trataremos dos FPGAs e, no último dia dos seminários, compararemos o design do FPGA com a programação do microprocessador para a Internet das coisas.

Você finalmente verá o que está acontecendo entre o transistor e o Arduino, na área onde os alunos raramente olham!





Programa para alunos do ensino médio e juniores



Segunda-feira, 24 de abril. Começamos o caminho para o FPGA: lógica combinacional e aritmética binária em microcircuitos de pequeno grau de integração
Localização: Belka KPI Student Space

  • 16: 00-17: 00 Alexander Barabanov, KNU. Da física à lógica.

    • O que é corrente, tensão e resistência.
    • Como funciona a tábua de pão?
    • Exercício 1. O primeiro circuito com bateria, LED e resistor. Por que conectar um resistor a um circuito com um LED.
    • O que são transistores e como os elementos lógicos são criados a partir deles.
    • Exercício 2. Observando a operação do transistor.

  • 17: 00-18: 00 Yuri Panchul, Imagination Technologies. Álgebra booleana da lógica, elementos lógicos AND-OR-NOT.

    • Exercício 3. Cada aluno recebe um chip lógico pessoal da série CMOS 4000, com uma descrição técnica do fabricante, com a tarefa de desenhar uma tabela verdade, demonstrando seu trabalho e descrevendo verbalmente a função. Elementos lógicos AND, OR, XOR, NOR, NAND com um número diferente de entradas.
    • Exercício 4. Estudamos o que são os resistores pull-up e por que são necessários. Adicione 3 botões e resistores pull-up ao exercício.

  • 18: 00-19: 00 Aritmética binária, adição e multiplicação.

    • Exercício 5. Cada aluno recebe um somador CMOS 4008. Demonstração do somador na tábua de pão.

  • 19: 00-21: 00 Exercícios adicionais para quem lidou com os exercícios de 1 a 5 e não quer ir para casa.

    • Exercício 6. Um indicador de sete segmentos e seu driver, como um exemplo de um circuito combinatório. Conclusão do resultado do somador ao indicador de sete segmentos.




Terça-feira, 25 de abril. Adicionar memória: lógica sequencial em microcircuitos com um pequeno grau de integração.

  • 16: 00-16: 30 Yuri Panchul. A lógica seqüencial é o que torna um computador "inteligente", ele fornece memória e a capacidade de repetir operações.
  • 16: 30-17: 00 Yuri Panchul e instrutores no KPI.

    • O que é um D-trigger.
    • Exercício 7. Conectamos o gerador de clock com base no timer 555 no flip-flop D e examinamos a operação do circuito compilado.

  • 17: 00-19: 00 Elementos mais complexos da lógica seqüencial.

    • Exercício 8. Trocar o registro e mover as luzes.
    • Exercício 9. Contador com a conclusão de um estado no indicador de sete segmentos.

  • 19: 00-21: 00 Eugene Korotky, KPI. Exercícios adicionais para aqueles que concluíram os exercícios 6-8 e não querem ir para casa.

    • Exercício 10. Examinamos o gerador de clock com base no temporizador de 555 chips. Observamos como o período da frequência do relógio varia dependendo das resistências dos resistores e da capacitância do capacitor.




Quarta-feira, 26 de abril. Lógica combinatória e aritmética binária em Verilog e FPGA.
Localização: Espaço estudantil Belka KPI.

  • 16: 00-16: 30 Yuri Panchul, bem como instrutores do KPI, KNU. Introdução rápida à linguagem de descrição de hardware Verilog e o uso de síntese lógica para FPGAs / FPGAs. Consideramos apenas lógica combinacional.
  • 16: 30-17: 00 Instrutores de KPI, KNU. Lógica Raman em Verilog.

    • Exercício 11. Repita o exercício 2 (elementos lógicos) no FPGA usando a placa Digilent CMOD A7 35T: Módulo FPGA Artix-7 Breadboardable.
    • Exercício 12. Exibimos as primeiras letras do nosso nome e sobrenome em um indicador de sete segmentos, alternando entre elas usando o botão.
    • Exercício 13. Repita o Exercício 3 (somador) no FPGA. O resultado é exibido em um indicador de sete segmentos.

  • 19: 00-21: 00. Exercícios adicionais para quem domina os exercícios 9-11 e não quer ir para casa.

    • Exercício 14. A hierarquia dos módulos. Construção de multiplexadores com submódulos.
    • Exercício 15. Modelando o código Verilog sem FPGA. Criamos um ambiente para verificar a operação do circuito descrito em Verilog. Usamos o simulador Icarus Verilog para modelagem e o programa GTKWave para visualizar diagramas de tempo.

Exemplo de código na linguagem de descrição de hardware da Verilog, que é traduzida (sintetizada) em um circuito:

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 ); // abcdefg dp    // 7 6 4 2 1 9 10 5  7-  // 7 6 5 4 3 2 1   pio   // --a-- // | | // fb // | | // --g-- // | | // ec // | | // --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 

Quinta-feira, 27 de abril. Lógica seqüencial e máquinas de estado no Verilog e FPGA.
Localização: Espaço estudantil Belka KPI.

  • 16: 00-17: 00. Yuri Panchul. Lógica seqüencial em Verilog, máquinas de estado, o conceito de metodologia RTL (nível de transmissão de registros), atrasos na propagação de sinais e restrições na síntese de circuitos digitais, determinando a freqüência de clock máxima possível de um circuito digital.
  • 17: 00-19: 00. Instrutores de KPI, KNU. Lógica seqüencial no Verilog.

    • Exercício 16. Contador com a conclusão de um estado no indicador de sete segmentos. Implementando o Exercício 9 sobre o FPGA.
    • Exercício 17. Registre a mudança e mova as luzes. Implementando o Exercício 8 no FPGA.
    • Exercício 18. Geração de tons de som de várias frequências e suas sobreposições.

  • 19: 00-21: 00. Exercícios adicionais para quem lidou com os exercícios 17-18 e deseja trabalhar.

    • Exercício 19. “Um caracol sorri”: um exemplo de uma máquina de estados finitos.
    • Exercício 20. Construindo um transportador aritmético. Utilizamos o simulador Icarus Verilog para configurar circuitos sequenciais.




Sexta-feira, 28 de abril. Comparação do projeto de circuitos com a programação de microprocessadores incorporados.
Localização: Espaço estudantil Belka KPI.

  • 16: 00-16: 30. Yuri Panchul. Como a programação difere dos circuitos. A máquina von Neumann é um caso especial de circuitos eletrônicos. Programas como uma cadeia de instruções para uma máquina von Neumann. Visão geral do núcleo do microprocessador usado no MediaTek MT7688 e Microchip PIC32MZ.
  • 16: 30-19: 00 Eugene Korotky. Exemplo: plataforma LinkIt Smart 7688 Internet das Coisas, equipada com MediaTek MT7688.

    • O Exercício 21. pisca um LED usando um programa Python.
    • Exercício 22. Lê dados do sensor de luz ambiente Digilent PMOD ALS usando o protocolo SPI.
    • Exercício 23. Introdução ao conceito de interrupções.

  • 19: 00-21: 00. Exercícios adicionais para quem domina os exercícios no LinkIt Smart 7688 e deseja continuar trabalhando. Exemplo: Microcontrolador Microchip PIC32.

    • Exercício 24. pisca um LED usando um programa C.
    • Exercício 25. Lê dados do sensor de luz Digilent PMOD ALS usando o protocolo SPI.
    • Exercício 26. Descarregando o programa principal usando interrupções. Interrupções do timer acionam uma transação SPI; interrupções do SPI sinalizam o recebimento de um pacote.



Sábado, 29 de abril. Hackathon
Local: Universidade Nacional “Kyiv-Mohyla Academy”

  • Projetos com microcircuitos de pequeno grau de integração: “Detector de umidade do solo”, “Sirene de polícia”
  • Projetos com FPGAs: interfaces para sensores, máquinas de estado do tipo "code lock"
  • Projetos com microcontroladores e microprocessadores incorporados para a Internet das Coisas: conexão com sensores e atuadores



Programa para alunos do ensino fundamental

Abril Intensivo "Introdução à Eletrônica"
Segunda-feira, 24 de abril. Familiaridade com o básico: lei de Ohm, elementos eletrônicos passivos (resistores e capacitores)
Local: Escritório da Radiomag Ukraine LLC, Chokolovsky Boulevard, 42-A
Horário: 17: 00-19: 00
Palestrante: Sergey Chenash

  • O que é corrente, tensão e resistência, lei de Ohm
  • Como é a tábua de pão
  • Como trabalhar com um multímetro
  • Resistores e sua aplicação
  • Capacitor como dispositivo de armazenamento de carga elétrica e sua aplicação

Terça-feira, 25 de abril. Componentes eletrônicos ativos: estrutura e princípios de operação de diodos e transistores
Local: Escritório da Radiomag Ukraine LLC, Chokolovsky Boulevard, 42-A
Horário: 17: 00-19: 00
Palestrante: Sergey Chenash

  • Características dos semicondutores, estrutura da junção pn
  • Como funcionam os diodos e sua classificação
  • Princípios de operação dos transistores e sua aplicação

Quinta-feira, 27 de abril. Estudos dos elementos da optoeletrônica: LEDs, fotorresistores, fototransistores, optoacopladores
Local: Escritório da Radiomag Ukraine LLC, Chokolovsky Boulevard, 42-A
Horário: 17: 00-19: 00
Palestrante: Sergey Chenash

  • Elementos da optoeletrônica, princípios de operação e aplicação

Sexta-feira, 28 de abril. Apresentando o chip NE555
Local: Escritório da Radiomag Ukraine LLC, Chokolovsky Boulevard, 42-A
Horário: 17: 00-19: 00
Palestrante: Sergey Chenash

  • O que são microcircuitos e sua classificação
  • Tipos de sinais em eletrônica
  • Familiaridade com o chip NE555, criando um gerador
  • Trabalhando com um osciloscópio

Sábado, 29 de abril. Solda de bônus
Local: Escritório da Radiomag Ukraine LLC, Chokolovsky Boulevard, 42-A
Horário: 11: 00-12: 30



Vejo você nos seminários!

  • Laboratório Aberto de Eletrônica Lampa e Espaço Estudantil Belka, Universidade Técnica Nacional da Ucrânia "Instituto Politécnico de Kiev em homenagem a Igor Sikorsky"
  • Universidade Nacional Taras Shevchenko de Kiev
  • Universidade Nacional "Kyiv-Mohyla Academy"
  • Pequena Academia de Ciências da Ucrânia
  • LLC "Radiomag da Ucrânia"
  • Tecnologias de imaginação

A página oficial principal do seminário, inscrição lá .

Source: https://habr.com/ru/post/pt403267/


All Articles