How we conducted the Winter School “Digital Embedded Systems” in Krasnoyarsk


    From November 7 to November 9, the 1st Winter School “Digital Embedded Systems” was held at the Institute of Space and Information Technologies of the Siberian Federal University. School participants were students and postgraduates of the Siberian Federal University.

    My name is Alina, and I’m working to develop embedded control systems for critical applications for space technology. I am also a graduate student of the department "Computer Engineering" at the Siberian Federal University. I love to learn new things, so after learning that a school on the basics of digital circuitry, architecture and the use of Verilog will take place from 2 to 5 October in Novosibirsk , I immediately signed up there. Together with me there went two colleagues - Boris Dudkin and Dmitry Vlasov, who was even an assistant at the school. The program was interesting and intense, I liked the school so much that at the end I asked our teacher Stanislav Zhelio a question ( SparF): how to conduct a similar school in Krasnoyarsk? Stanislav, without thinking, answered that we ourselves will be able to organize and conduct it.

    In the course of organizing the school, we realized that for the SFU and the company, where we work, holding such joint events is a new, but not difficult task. The school got a “Krasnoyarsk” name - the First Regional Winter School “Digital Embedded Systems”.

    Day 1

    On the opening day, the opportunity to broadcast presented itself to me. This is what I described first:

    • The hardware description language and why it is needed
    • What is the FPGA
    • Basics of combinational logic
    • Basic logic elements and their description on Verilog
    • Test environment (Testbench)
    • Test of the combinational circuit using a simulator (Modelsim)
    • Synthesis of combinational circuit, Intel Quartus graphical interface
    • What is the synthesized synthesized circuit when implemented on the FPGA
    • Programming the debugging board
    • Checking the project performance on the debugging board
    • Basic Makefile and working in non-project mode
    • Multiplexer and how to describe it on Verilog HDL
    • Demultiplexer and ways to describe it on Verilog HDL
    • Practical example: working with 7-segment indicators
    • Conditional compilation in Verilog HDL


    Absolutely different students took part in the school, there were undergraduates, undergraduate students, and graduate students. Therefore, attention was paid to the basics especially carefully. At first, the students commented on the material given by the words “we were doing this for 3 semesters,” “everything is simple here”, “we can quartus” and like “we swam, we know”, but after receiving the first practical task, the guys got involved and since then began comments and questions on business.

    Day 2

    On the second day, the narrator was Boris Dudkin, a software engineer who writes real projects for FPGA and ASIC. That's what he talked about:

    • Combination circuits and signal propagation time
    • Clock signal and sequential circuits
    • Different types of assignments in Verilog HDL
    • D-trigger and its implementation on Verilog in different variations: asynchronous and synchronous resets, port of recording resolution
    • In what synthesized sequential diagram when implemented on FPGA
    • register and its implementation
    • meter and its implementation
    • The dynamic and static discipline
    • Metastability and synchronizer
    • Unwanted latch, effects and methods zbezhat
    • Finite state machines (Mealy and Moore)
    • Presentation of the automaton in the form of a transition diagram
    • Implementation of the automaton on Verilog HDL
    • General approach to designing complex automata
    • Step-by-step implementation of the interface module of the ultrasonic distance sensor on Verilog


    Also on day 2 we gave the task for independent work:

    • The implementation of the interface module keyboard 4x4 for FPGA
    • Implementation of the calculator on the FPGA

    There was already heard how the guys brain creak. There were questions, there was joy in the eyes of the first results, there were annoying exclamations about the fact that the scheme did not work as it should.

    Day 3

    On the third day all the fun began, in my opinion. On this day, Dmitry Vlasov, an engineer who graduated from a university only in 2018, taught. Dmitri participated already in 3 similar school. For the first time (in Tomsk) he was a participant, in the second (in Novosibirsk) he assisted, and now in Krasnoyarsk Dmitry spoke about the implementation of the schoolMIPS processor. On Day 3, we had:

    • Pipeline basics
    • Architecture and micro-architecture
    • Basics of writing programs in MIPS assembler
    • Working with the MARS simulator (MIPS)
    • Designing the simplest one-cycle processor using the schoolMIPS as an example
    • Data path and control unit
    • Compiling a program, starting the processor the simulator and on the debug board
    • Independent work. Adding support for new instructions to the processor



    • All course materials (slides, scripts, source codes, literature) are available online ( github , additional materials ). Slides are designed in a dubious style, when there is a lot of text on them, in the hope that it will simplify acquaintance with offline materials.
    • Practical and independent assignments were carried out on Terasic DE10-Lite boards with Intel MAX10 FPGAs on board.
    • The book "Digital circuit design and computer architecture", which is available free of charge in electronic form ( link ), or can be purchased in paper ( link ). Reads easily, fascinates like fiction. It has a low entry threshold - no special knowledge is needed to start reading it. Recently, an ARM architecture supplement was released ( link ); Sample code is available for the book, as well as slides (English and Russian versions) that can be used to build your own course ( link ).


    • Thanks to Stanislav Zhelio ( SparF ) and Yuri Panchula ( YuriPanchul ), who supported our attempts, helped with advice, sent debug boards and generally encouraged us in every way to hold this event.
    • Separately, I want to mention the enterprise Information Satellite Systems named after academician M.F. Reshetnyova. My colleagues and I work there and the highest authorities of the organization, as well as our direct leadership supported us in our endeavor and helped in every way.
    • Oleg Vladimirovich Nepomnyashchiy, organizer of the event from the Siberian Federal University, who, being the head of the department hosting us, settled bureaucratic moments at the university. In addition, classes were held on the basis of the laboratory "RoboLab", deployed in the framework of the project APPLE, in which Oleg Vladimirovich is the coordinator. Also, Sirotinina Natalya Yuryevna, associate professor, head of the microprocessor systems department of education management, project manager APPLE, helped us a lot in conducting the school. And Hantimirov Anton Gennadievich, Assistant of the Scientific Laboratory of Microprocessor Systems NLU, executor for the APPLE project.
    • Many thanks to my colleagues Dmitry Vlasov and Boris Dudkin for agreeing to help me and skating every day from Zheleznogorsk to Krasnoyarsk and back!
    • Well, students, too, thank you very much! We liked you and were quick-witted and funny. Come to work with us when you graduate.

    School Reviews

    Alexander Kalashnikov:

    During these three days, a brief excursion into the world of FPGA was held. The difficulty grew incrementally, but there was a truly childish delight when everything worked out. The picture of the world is rebuilt when you learn about parallel processes occurring in FPGA. Having “touched” the micro-architecture, I even managed to add my team, then my first assembly code… This school was a great opportunity to make new acquaintances, get experience in communicating with really interesting people who were able to light a spark. I hope it will not fade away and grow into a fire. Thank!
    Svetlana Leshchenko:

    Thank you very much for such an interesting and vast experience. In fact, it was interesting to hear exactly the remarks and experience of production workers, because our teachers are mostly theorists. That is why we have never used, for example, Visual Code, which turned out to be very convenient.

    As a review, I can only say that I learned a lot in this school and I hope to continue studying further. Your classes really gave me an interest in programming under the FPGA.
    Anton Khantimirov: I

    will try to take positive impressions of the school, as much as possible for my work.
    Such dives are useful for understanding the various non-obvious aspects of the development.
    Many thanks to the organizers.
    Goreva Veronika:

    I liked everything, thanks to your team for the work done, it would be great to have such teachers in our institute.
    P.S. APPLE - Applied curricula in space exploration and intelligent robotic systems. Applied curricula for space exploration and intelligent robotic systems. This is an international project whose objectives include:

    • modernization of existing curricula in the target area to meet the requirements of the Bologna process and based on the best practices of leading European universities;
    • integration into the educational process of methodological developments of European partners in the consortium;
    • the creation of an educational laboratory of intelligent robotic systems for space applications RoboLab;
    • teacher development;
    • active cooperation in scientific and practical activities in the target applied field.

    Also popular now: