De 7 a 9 de novembro, a Primeira Escola de Inverno “Sistemas Digitais Incorporados” foi realizada no Instituto de Tecnologias Espaciais e de Informação da Universidade Federal da Sibéria. Os participantes da escola eram estudantes e estudantes de pós-graduação da Universidade Federal da Sibéria.
Meu nome é Alina e trabalho duro, desenvolvendo os sistemas de controle de missão crítica incorporados para a tecnologia espacial. Também sou aluno do Departamento de Engenharia da Computação da Universidade Federal da Sibéria. Gosto de aprender coisas novas, portanto, tendo aprendido que uma
escola básica de circuitos digitais, arquitetura e uso do Verilog será realizada em Novosibirsk de 2 a 5 de outubro, eu imediatamente me inscrevi lá. Dois colegas foram lá comigo - Boris Dudkin e Dmitry Vlasov, que até era assistente na escola. O programa foi interessante e rico, gostei tanto da escola que, no final, fiz uma pergunta ao nosso professor Stanislav Zhelnio (
SparF ): como conduzir uma escola semelhante em Krasnoyarsk? Stanislav respondeu sem hesitar que nós mesmos poderíamos organizá-lo e executá-lo.
Durante a organização da escola, percebemos que, para a Universidade Federal da Sibéria e para a empresa em que trabalhamos, essas atividades conjuntas, embora sejam uma tarefa nova, mas não difícil. A escola tem o nome "Krasnoyarsk" - a Primeira Escola Regional de Inverno "Sistemas Embarcados Digitais".
1º dia
No dia da abertura, a oportunidade de transmitir foi apresentada a mim. Aqui está o que eu falei primeiro:
• Idioma para descrição do hardware e por que é necessário
• O que é FPGA
• Fundamentos da lógica combinacional
• Elementos lógicos básicos e sua descrição no Verilog
• Ambiente de teste (Testbench)
• Verificação da operação do circuito combinacional usando um simulador (Modelsim)
• Projeto de circuito de síntese, Intel Quartus GUI
• Para que é sintetizado o esquema de combinação quando implementado nos FPGAs?
• Programando uma placa de depuração
• Verificação do projeto no quadro de depuração
• Fundamentos do Makefile e trabalho no modo não-projeto
• Multiplexador e métodos para sua descrição no Verilog HDL
• Desmultiplexador e métodos para sua descrição no Verilog HDL
• Estudo de caso: trabalhando com indicadores de 7 segmentos
Compilação condicional no Verilog HDL
Alunos absolutamente diferentes participaram do trabalho da escola, havia alunos de graduação e pós-graduação. Portanto, a atenção ao básico foi prestada especialmente com cuidado. No início, os ouvintes comentaram o material enviado com as palavras “fizemos isso por 3 semestres”, “tudo é simples aqui”, “podemos fazer quartus” e como “nadamos, sabemos”, mas depois de receber a primeira tarefa prática, os caras se envolveram e, desde então, começaram a surgir comentários e perguntas no caso
Dia 2
No segundo dia, o contador de histórias foi Boris Dudkin, um engenheiro de software que escreve projetos reais para FPGA e ASIC. Aqui está o que ele falou:
• Circuitos combinados e tempo de propagação do sinal
• Circuitos de relógio e série
• Vários tipos de tarefas no Verilog HDL
• D-trigger e sua implementação no Verilog em várias variações: redefinições assíncronas e síncronas, porta de permissão de gravação
• Qual é o circuito seqüencial sintetizado ao implementar com base no FPGA
• Cadastro e sua implementação
• Contador e sua implementação
• Disciplina dinâmica e estática
• Metastabilidade e sincronizador
• Trava indesejada, consequências e maneiras de evitar
• Máquinas de estado finito (Mura e Miles)
• Apresentação da máquina na forma de diagramas de transição
• Implementação da máquina no Verilog HDL
• Abordagem geral para o design de autômatos complexos
• Implementação passo a passo do módulo de interface do sensor de distância ultrassônico no Verilog
Também no dia 2, emitimos uma tarefa para trabalho independente:
- Implementação do módulo de interface de teclado 4x4 para FPGA
- Implementação da calculadora FPGA
Aqui já se podia ouvir como o cérebro dos caras rangeu. Havia perguntas, havia alegria aos olhos dos primeiros resultados, havia exclamações irritantes de que o circuito não funcionava como deveria.
Dia 3
No terceiro dia, toda a diversão começou, na minha opinião. Este dia foi ensinado por Dmitry Vlasov, um engenheiro que se formou em uma universidade apenas em 2018. Dmitry já participou de 3 escolas semelhantes. Na primeira vez (em Tomsk), ele participou, na segunda (em Novosibirsk), e agora em Krasnoyarsk Dmitry falou sobre a implementação do processador schoolMIPS. No dia 3, tivemos:
• Noções básicas de pipelining
Arquitetura e microarquitetura
• Fundamentos de escrita de programas no MIPS assembler
• Trabalhar com o simulador MARS (MIPS)
• Projetar o processador de ciclo único mais simples no exemplo do schoolMIPS
• Caminho de dados e dispositivo de controle
• Compilando o programa, iniciando o processador no simulador e na placa de depuração
Trabalho independente. Adicionando suporte para novas instruções ao processador
Materiais
- Todos os materiais do curso (slides, scripts, fontes, literatura) estão disponíveis online ( github , materiais adicionais ). Os slides são projetados em um estilo duvidoso, quando há muito texto neles, na esperança de que isso facilite o conhecimento de materiais off-line.
- Tarefas práticas e independentes foram realizadas nas placas-mãe Terasic DE10-Lite com o Intel MAX10 FPGA na placa.
- O livro "Circuitos digitais e arquitetura de computadores", disponível gratuitamente em formato eletrônico ( link ), ou pode ser adquirido em papel ( link ). É fácil de ler, leva como ficção. Ele tem um limite baixo de entrada - não é necessário algum conhecimento especial para começar a lê-lo. Recentemente, foi lançada uma adição na arquitetura ARM ( link ); Existem exemplos de código disponíveis para o livro, além de slides (versões em inglês e russo) que você pode usar para criar seu próprio curso ( link ).
Agradecimentos
- Agradecemos a Stanislav Zhelnio ( SparF ) e Yuri Panchul ( YuriPanchul ), que apoiaram nossas tentativas, ajudaram com conselhos, enviaram quadros de depuração e geralmente nos incentivaram de todas as maneiras possíveis para realizar este evento.
- Separadamente, quero observar os sistemas de informações via satélite da empresa com o nome de Academician M.F. Reshetnyova. Meus colegas e eu estamos trabalhando lá e as mais altas autoridades da organização, bem como nossa liderança direta nos apoiaram em nosso esforço e de todas as maneiras possíveis ajudadas.
- O organizador do evento da Universidade Federal da Sibéria é Oleg Vladimirovich Nepomnyashchy, que, sendo o chefe do departamento que nos hospedava, estabeleceu momentos burocráticos na universidade. Além disso, foram realizadas aulas no laboratório RoboLab, que foi implantado como parte do projeto APPLE, no qual Oleg Vladimirovich é o coordenador. Sirotinina Natalya Yuryevna, professora associada, diretora do NUL “Microprocessor Systems”, executora do projeto APPLE, também nos ajudou muito com a escola. E Anton Khantimirov, assistente, NUL "Microprocessor Systems", executor do projeto APPLE.
- Muito obrigado aos meus colegas Dmitry Vlasov e Boris Dudkin por concordarem em me ajudar e cavalgar todos os dias de Zheleznogorsk a Krasnoyarsk e vice-versa!
- Bem, obrigado também aos alunos! Nós gostamos de você e fomos perspicazes e engraçados. Venha trabalhar conosco quando se formar.
Comentários da escola
Alexander Kalashnikov:
Durante esses três dias, foi realizada uma breve excursão ao mundo do FPGA. A complexidade cresceu cada vez mais, mas um prazer verdadeiramente infantil surgiu quando tudo deu certo. A imagem do mundo é reconstruída quando você aprende sobre processos paralelos que ocorrem nos FPGAs. “Tocando” na microarquitetura, eu até consegui adicionar minha própria equipe, depois o meu primeiro código de montador ... Essa escola foi uma ótima oportunidade para conhecer novos membros, ganhar experiência na comunicação com pessoas realmente interessantes que puderam despertar uma faísca. Espero que não desapareça e se torne um incêndio. Obrigada
Svetlana Leshchenko:
Muito obrigado por uma experiência tão interessante e enorme. De fato, foi interessante ouvir exatamente os comentários e a experiência dos trabalhadores da produção, porque nossos professores são em sua maioria teóricos. É por isso que nunca usamos, por exemplo, o Visual Code, que acabou sendo muito conveniente.
Como revisão, só posso dizer que nesta escola aprendi muito e espero continuar os estudos. Suas aulas realmente me deram interesse em programar para FPGAs.
Anton Khantimirov:
Impressões positivas da escola, tentarei adotar o máximo possível para o meu trabalho.
Tais mergulhos são úteis para entender vários aspectos não óbvios do desenvolvimento.
Muito obrigado aos organizadores.
Goreva Veronica:
Gostei de tudo, graças à sua equipe pelo trabalho realizado, seria legal ter esses professores em nosso instituto.
P.S.
APPLE - Currículos aplicados em exploração espacial e sistemas robóticos inteligentes. Programas de treinamento aplicados em exploração espacial e sistemas robóticos inteligentes. Este é um projeto internacional cujas tarefas incluem:
- modernização dos currículos existentes na área-alvo, levando em conta os requisitos do processo de Bolonha e com base nas melhores práticas das principais universidades europeias;
- integração no processo educacional de desenvolvimentos metodológicos dos parceiros do consórcio europeu;
- criação de um laboratório de treinamento para sistemas robóticos espaciais inteligentes RoboLab;
- formação de professores;
- cooperação ativa em atividades científicas e práticas no campo-alvo aplicado.