Comment nous avons passé l'école d'hiver "Digital Embedded Systems" à Krasnoïarsk

image

Du 7 au 9 novembre, la première école d'hiver «Digital Embedded Systems» s'est tenue à l'Institut des technologies spatiales et de l'information de l'Université fédérale de Sibérie. Les participants à l'école étaient des étudiants et des étudiants diplômés de l'Université fédérale de Sibérie.

Je m'appelle Alina et je travaille dur pour développer des systèmes de contrôle embarqués critiques pour la technologie spatiale. Je suis également un étudiant diplômé du Département de génie informatique de l'Université fédérale de Sibérie. J'aime apprendre de nouvelles choses, donc, après avoir appris qu'une école sur les bases des circuits numériques, de l'architecture et de l'utilisation de Verilog se tiendra à Novossibirsk du 2 au 5 octobre, je me suis immédiatement inscrite là-bas. Deux collègues m'ont accompagné - Boris Dudkin et Dmitry Vlasov, qui était même assistant de l'école. Le programme était intéressant et riche, j'ai tellement aimé l'école qu'à la fin j'ai posé une question à notre professeur Stanislav Zhelnio ( SparF ): comment diriger une école similaire à Krasnoïarsk? Stanislav a répondu sans hésitation que nous pourrions nous-mêmes l'organiser et le réaliser.

Lors de l'organisation de l'école, nous avons réalisé que pour l'Université fédérale de Sibérie et l'entreprise où nous travaillons, la tenue de tels événements conjoints est une tâche nouvelle mais pas difficile. L'école porte le nom de "Krasnoyarsk" - la première école régionale d'hiver "Digital Embedded Systems".

Jour 1


Le jour de l'ouverture, l'opportunité de diffuser m'a été présentée. Voici ce dont j'ai parlé en premier:

• Langue pour la description du matériel et pourquoi il est nécessaire
• Qu'est-ce que le FPGA
• Bases de la logique combinatoire
• Éléments logiques de base et leur description sur Verilog
• Environnement de test (Testbench)
• Vérification du fonctionnement du circuit combinatoire à l'aide d'un simulateur (Modelsim)
• Conception du circuit de synthèse, Intel Quartus GUI
• À quoi sert le schéma de combinaison lorsqu'il est implémenté sur des FPGA?
• Programmation d'une carte de débogage
• Vérification du projet sur la carte de débogage
• Fondamentaux de Makefile et travail en mode non-projet
• Multiplexeur et méthodes pour sa description sur Verilog HDL
• Démultiplexeur et méthodes pour sa description sur Verilog HDL
• Étude de cas: travailler avec des indicateurs à 7 segments
• Compilation conditionnelle dans Verilog HDL

image

Des étudiants absolument différents ont participé aux travaux de l'école, il y avait des étudiants de premier cycle et des étudiants de premier cycle et des cycles supérieurs. Par conséquent, une attention particulière a été portée aux principes de base. Au début, les auditeurs ont commenté le matériel soumis avec les mots «nous l'avons fait pendant 3 semestres», «tout est simple ici», «nous pouvons faire quartus» et comme «nagé, nous savons», mais après avoir reçu la première tâche pratique, les gars se sont impliqués et depuis lors, les commentaires et les questions ont commencé dans le cas.

2e jour


Le deuxième jour, le conteur était Boris Dudkin, un ingénieur logiciel qui écrit de vrais projets pour FPGA et ASIC. Voici ce dont il a parlé:

• Circuits combinés et temps de propagation du signal
• Circuits d'horloge et de série
• Différents types de missions dans Verilog HDL
• D-trigger et son implémentation sur Verilog dans diverses variantes: réinitialisations asynchrones et synchrones, port d'autorisation d'écriture
• À quoi sert le circuit séquentiel synthétisé lors de la mise en œuvre sur la base du FPGA
• Registre et sa mise en œuvre
• Compteur et sa mise en œuvre
• Discipline dynamique et statique
• Métastabilité et synchroniseur
• Verrou indésirable, conséquences et moyens d’éviter
• Machines à états finis (Mura et Miles)
• Présentation de la machine sous forme de diagrammes de transition
• Implémentation de la machine sur Verilog HDL
• Approche générale de la conception d'automates complexes
• Implémentation pas à pas du module d'interface du capteur de distance à ultrasons sur Verilog

image

Le deuxième jour, nous avons également confié une tâche à un travail indépendant:

  • Implémentation d'un module d'interface clavier 4x4 pour FPGA
  • Implémentation d'une calculatrice FPGA

Ici, on pouvait déjà entendre comment le cerveau des gars grinçait. Il y avait des questions, il y avait de la joie aux premiers résultats, il y avait des exclamations ennuyeuses que le circuit ne fonctionnait pas comme il se doit.

3e jour


Le troisième jour, tout le plaisir a commencé, à mon avis. Cette journée a été enseignée par Dmitry Vlasov, un ingénieur diplômé d'une université uniquement en 2018. Dmitry a déjà participé à 3 écoles similaires. La première fois (à Tomsk), il a participé, la deuxième (à Novossibirsk), il a aidé, et maintenant à Krasnoyarsk Dmitry a parlé de la mise en œuvre du processeur schoolMIPS. Le jour 3, nous avons eu:

• Bases du pipelining
• Architecture et microarchitecture
• Principes de base de l'écriture de programmes dans l'assembleur MIPS
• Travailler avec le simulateur MARS (MIPS)
• Conception du processeur simple cycle le plus simple sur l'exemple de schoolMIPS
• Chemin de données et dispositif de contrôle
• Compilation du programme, démarrage du processeur dans le simulateur et sur la carte de débogage
• Travail indépendant. Ajout de la prise en charge de nouvelles instructions au processeur

image

Matériaux


  • Tous les supports de cours (diapositives, scripts, sources, littérature) sont disponibles en ligne ( github , supports supplémentaires ). Les diapositives sont conçues dans un style douteux, lorsqu'elles contiennent beaucoup de texte, dans l'espoir que cela facilitera la familiarisation avec les documents hors ligne.
  • Des tâches pratiques et indépendantes ont été effectuées sur les cartes mères Terasic DE10-Lite avec Intel MAX10 FPGA à bord.
  • Le livre "Circuit numérique et architecture informatique", qui est disponible gratuitement sous forme électronique ( lien ), ou peut être acheté sur papier ( lien ). Il est facile à lire, emporte comme une fiction. Il a un seuil d'entrée bas - certaines connaissances spéciales ne sont pas nécessaires pour commencer à le lire. Récemment, un ajout sur l'architecture ARM a été publié ( lien ); Il existe des exemples de code disponibles pour le livre, ainsi que des diapositives (versions anglaise et russe) que vous pouvez utiliser pour créer votre propre cours ( lien ).

Remerciements


  • Merci à Stanislav Zhelnio ( SparF ) et Yuri Panchul ( YuriPanchul ), qui ont soutenu nos tentatives, aidé avec des conseils, envoyé des tableaux de débogage et nous ont généralement encouragés de toutes les manières possibles à organiser cet événement.
  • Par ailleurs, je tiens à noter les systèmes d'information par satellite de l'entreprise nommés d'après l'académicien M.F. Reshetnyova. Mes collègues et moi y travaillons et les plus hautes autorités de l'organisation, ainsi que notre direction directe, nous ont soutenus dans nos efforts et ont aidé de toutes les manières possibles.
  • L'organisateur de l'événement de l'Université fédérale de Sibérie est Oleg Vladimirovich Nepomnyashchy, qui, en tant que chef du département qui nous accueille, a réglé les moments bureaucratiques à l'université. En outre, des cours ont eu lieu au laboratoire RoboLab, qui a été déployé dans le cadre du projet APPLE, dont Oleg Vladimirovich est le coordinateur. Sirotinina Natalya Yuryevna, professeure adjointe, responsable du NUL «Microprocessor Systems», contractante du projet APPLE, nous a également beaucoup aidés avec l'école. Et Anton Khantimirov, Assistant, NUL «Microprocessor Systems», APPLE Project Executor.
  • Un grand merci à mes collègues Dmitry Vlasov et Boris Dudkin d'avoir accepté de m'aider et de rouler tous les jours de Zheleznogorsk à Krasnoyarsk et retour!
  • Eh bien, merci aussi aux étudiants! Nous vous aimions et étions vifs et drôles. Venez chez nous pour travailler lorsque vous serez diplômé.

Avis sur l'école


Alexander Kalashnikov:

Au cours de ces trois jours, une brève excursion dans le monde du FPGA a été réalisée. La complexité augmentait de plus en plus, mais un véritable plaisir enfantin se manifestait lorsque tout fonctionnait. L'image du monde est reconstruite lorsque vous découvrez les processus parallèles se produisant dans les FPGA. «Touchant» la microarchitecture, j'ai même réussi à ajouter ma propre équipe, puis mon premier code assembleur ... Cette école a été une excellente occasion de faire de nouvelles connaissances, d'acquérir de l'expérience dans la communication avec des personnes vraiment intéressantes qui ont pu déclencher une étincelle. J'espère qu'il ne s'estompe pas et se transforme en feu. Je vous remercie!
Svetlana Leshchenko:

Merci beaucoup pour une expérience aussi intéressante et énorme. En fait, il était intéressant d'entendre exactement les commentaires et l'expérience des travailleurs de la production, car nos professeurs sont pour la plupart des théoriciens. C'est pourquoi nous n'avons jamais utilisé, par exemple, Visual Code, qui s'est avéré très pratique.

En guise de revue, je peux seulement dire que dans cette école, j'ai beaucoup appris et j'espère poursuivre mes études. Vos cours m'ont vraiment intéressé par la programmation des FPGA.
Anton Khantimirov:

Impressions positives de l'école, j'essaierai d'adopter autant que possible pour mon travail.
Ces plongées sont utiles pour comprendre divers aspects non évidents du développement.
Un grand merci aux organisateurs.
Goreva Veronica:

J'ai tout aimé, merci à votre équipe pour le travail accompli, ce serait cool d'avoir de tels professeurs dans notre institut.
P.S. APPLE - Programmes d'études appliqués à l'exploration spatiale et aux systèmes robotiques intelligents. Programmes de formation appliquée en exploration spatiale et systèmes robotiques intelligents. Il s'agit d'un projet international dont les tâches comprennent:

  • modernisation des programmes existants dans le domaine cible, en tenant compte des exigences du processus de Bologne et sur la base des meilleures pratiques des principales universités européennes;
  • intégration dans le processus éducatif des développements méthodologiques des partenaires du consortium européen;
  • création d'un laboratoire de formation pour les systèmes robotiques spatiaux intelligents RoboLab;
  • formation des enseignants;
  • coopération active dans les activités scientifiques et pratiques dans le domaine d'application visé.

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


All Articles