Severe Siberian and Kazakh microelectronics in 2017: Verilog, ASIC and FPGA in Tomsk, Novosibirsk and Astana

    The year 2017 was a year of great changes in the nascent ecosystem of Russian microelectronics. These changes were noticed even by a society that was previously indifferent to Russian iron. The Russian ELISE chip for smart cameras from ELVIS-NeoTek came out on a convenient board for developers . This board was shown on the First channel of Russian television. Any programmer can now work with the Russian processor Baikal-T through access to the servers of a remote laboratory that the Baikal residents created together with Moscow State University. They began to use Russian processors from NIIIS for telecommunication equipment .

    To move from single successes to a developed ecosystem, it is necessary to tighten education. In September , a meeting was held in Tomsk , at which teachers and engineers from Moscow, Siberia, the Volga region, California and other places exchanged experiences in teaching microelectronics. At the same time, there was a training seminar on SystemVerilog, VHDL, FPGA, CPU IP, which was attended not only by Russians, but also by students from China and Vietnam, among whom information was quickly spread that they were learning something useful for their career. Under the cut - a report on this and related events. Actors: Tomsk and Novosibirsk universities, Moscow State University, Moscow Institute of Physics and Technology and Moscow Institute of Economics and Technology, Novosibirsk lyceums, the Russian company MTsST, American MIPS, AMD and National Instruments, British Imagination and Kazakh Nazarbayev University.

    Before you see photos of pretty dinners of the seminar in a restaurant of Siberian cuisine, let's say a few words about the position of the discussed technologies in the universe, for those who came to this post from another part of the technological universe.

    There is hardware-software dualism in any serious modern electronic device:

    Not only a processor is designed in the hardware description languages, but also peripheral device controllers and their connections in the system:

    you all know how programs are compiled - in instructions that the processor executes:

    But here the descriptions of circuits in the language of the description of the equipment Verilog are compiled (synthesized) not in the instruction, but in the circuit. As a special case - into a processor circuit that takes from memory and executes instructions. In the end, the description on the verilo turns into tracks and transistors of the microcircuit. This is not “microcode”, honestly (“microcode” is about something else). Therefore, to say “programming on a veril” is not entirely correct, it is like saying “programming on HTML” Programs are a series of instructions for a von Neumann machine, not a circuit (although veril can also be used for programming how to travel on an airplane by plane). It’s correct to say “design schemes on a verilog at the level of register transfers” or simply “write code on a verilog”.

    Now let's move on to the event in Tomsk. The idea to hold a workshop on the development of digital microcircuits was born in December 2016 right here at this table in the beer center of Silicon Valley, California. Physicist / chemist Anatoly Korkin (second from left) initially planned to make a pure conference in Tomsk for physicists and chemists, including those who create production technologies in the semiconductor industry. Anatoly himself once worked at Motorola in Arizona, and some of his colleagues, whom he invited to the conference, developed technologies for the production of memory chips.

    The problem is that physicists without programmers themselves will not build a computer system. Even worse, physicists will not build this system with programmers. For a computer or gadget to work, between physics and programming there must be a bridge from a chain of technologies that include microarchitecture, logical design of equipment at the register transfer level (RTL), automation of design using logical and physical synthesis (logic synthesis, floorplanning , place & route). Therefore, Anatoly met with a professor from the University of California, Charles Danchek, who last year gave very popular lectures at MISiS with an overview of the chip design chain (first from left), as well as AMD manager Timur Paltashev(first right), and your humble servant. And it was decided to do a seminar in Siberia (although Timur and Charles were able to participate only remotely).

    Tomsk turned out to be a visually interesting city, with a cozy center and a large number of buildings that are very different from the architecture of the Silicon Valley:

    The city has a high percentage of residents, because there are several universities in Tomsk, including Tomsk State University (we held a seminar in it) , Tomsk Polytechnic University (students came to us from it) and Tomsk University of Control Systems and Radio Electronics (TUSUR), from which students came to us:

    On the first day, students were taught by Nikita Polyakov from ICST and MIPT (with a beard on the left - he taught Verilog) and Ilya Kudryavtsev from Samara University (with a beard on the right - he taught VHDL). VHDL is also a language for describing equipment, it is loved by the military of all countries and some groups of some companies (Texas Instruments, IBM, Imagination Technologies). PoverVR inside the Apple iPhone is written in VHDL.

    Please note that the students have such boards on the tables:

    The central chip on this board is a "changing iron" FPGA (Field Programmable Gate Array) or FPGA (Field Programmable Gate Array). FPGA / FPGA - a matrix of cells with a variable logical function. One cell can become AND, another - OR, the third - a memory bit. This FPGA does not have a processor, but it can be created on the fly by changing the contents of a special configuration memory, bits that are connected to multiplexers that change the function of the cell:

    At a meeting in another room, it was interesting to observe that when it comes to teaching electronics, Each Russian university has its own face:

    1. The Moscow Institute of Electronic Technology (MIET), as you see in the photo of Alexander Silantyev with his slide below, is notable for relations with Zelenograd electronic companies ( , , http: // km211 .ru ), factories Mikron and Angstrom, and other companies surrounding them.

    2. Moscow Institute of Physics and Technology (MIPT) rests on processor architecture and microarchitecture. This happened because of the cooperation of the Moscow Institute of Physics and Technology with ICST (Elbrus developer) and Intel.

    3. Moscow State University (MSU) focuses on algorithms for the automation of electronic design (Electronic Design Automation - EDA).

    4. Regional universities - Nizhny Novgorod NSTU, Samara University (formerly Samara State Aerospace University - SSAU), Novosibirsk NSTU - no longer look at chip design, but at the system level, offering courses in microcontrollers, DSP and FPGA, oriented to demand from Russian equipment manufacturers.

    In addition to Timur Paltashev from AMD and MIPS from me, representatives of other development companies spoke at the meeting, in particular:

    1. Sergey Brazhnikov (NPK Technological Center) spoke about their programs for designing semi-custom VLSI systems using CAD software “Ark”.

    2. Alexander Kamkin, a leading researcher at the Institute for System Programming of the Russian Academy of Sciences (ISP RAS) spoke about verification. He made the report “General methodology for microprocessor verification: test programs, execution paths, co-simulation of RTL models and architecture models. Automation of test programs generation for microprocessors with MIPS architecture using MicroTESK tool .

    3. Representatives of National Instruments spoke about their means of prototyping control devices, in particular LabVIEW .

    As I already mentioned, some of the reports at the seminar were deleted. Charles Danchek, author of the popular eNano distance learning course(RUSNANO education department) and Timur Paltashev, AMD manager, spoke on Skype from California.

    In the gray cap in the top row is Stanislav Zhelnio, creator of the schoolMIPS project - the simplest RISC processor in the universe.

    Even schoolchildren can understand the structure of schoolMIPS, its description takes only a few hundred lines on the veril. But at the same time, programs compiled using the standard GCC toolchain can be run on schoolMIPS:

    Stanislav Zhelnio also significantly expanded the MIPSfpga processor - a variant of the industrial MIPS microAptiv UP processor core, free of charge for university researchers for projects such as creating your own coprocessors and observing the operation of the pipeline. Stanislav is now leading the MIPSfpga + projectto which he added an interrupt controller, an interface from external SDRAM, and sorted Linux onto it on a board from Altera / IntelFPGA.

    Although MIPSfpga is considered a small economical core, it is hundreds of times more lines in verilo than schoolMIPS, implements the full MIPS32 architecture and executes instructions using a five-stage pipeline with bypasses, includes a cache and a memory management device:

    But for comparison, the processor pipeline MIPS I6400 kernel, which contains an order of magnitude more verilogue lines than MIPSfpga. The 64-bit MIPS I6400 is built around a superscalar pipeline with hardware support for multithreading and virtualization, vector registers and an interface with a coherence manager that provides consistent state of caches in a multi-core system.

    Here the seminar participants talk about the integration of schoolMIPS into the simplest system on a chip with a light sensor:

    But on the left is schoolgirl Dasha Krivoruchko, who also mastered schoolMIPS, and on the right is the harsh Chelyabinsk woman chemist Katerina Polutina, who organized the conference:

    Here Dasha tells how she added the multiplication instruction to schoolMIPS:

    Dasha also performed at the Tomsk Lyceum number 8, where she talked about what she was doing:

    But another schoolchild, Arseny Chegodaev, shows her project. He also came to Tomsk to make a presentation in a special section for schoolchildren, but we made the video itself at the Summer School for Young Programmers in Novosibirsk:

    In the end, our company of speakers and teachers at the seminar dined in sophisticated Siberian restaurants:

    in which there are planed fish, frozen taiga berries and other local delicacies:

    A series of short unedited videos from the meeting telephone and courses from the telephone:

    Long unedited entries in total:

    Verdict : Tomsk is a great place to arrange teacher meetings, offsite brainstorming sessions and other similar events. This is an opportunity to change the environment for Muscovites and Petersburgers, and the collection of museums (local history with Kulai culture, the Gulag Museum and others) are interesting, including for guests from Silicon Valley and other distant places. I want to return there. A serious center for the development of microelectronics will not be in Tomsk soon, but Harris & Harris textbooks are already used in universities, people there are smart, so the appearance of such a focus there is possible and is a matter of the amount of effort.

    The biggest gap in the current Russian microelectronics training programs that I noticed is a severe lack of materials and verification teachers (unit-level and system-level) using SystemVerilog, coverage-based constrained-random, assertions, formal, etc. - without this group technologies of real chips cannot be done.

    After Tomsk there was Novosibirsk, where a two-day seminar / hackathon of students of a dozen (or more?) Novosibirsk lyceums was held under the leadership of Tatyana Kolesnikova , head of the technopark for schoolchildren . The technopark itself is located in a building that residents of the Novosibirsk academic campus call "Geese." There is also a Geese restaurant:

    Here is a photo of this building from LJ (my photos of this building are less impressive):

    At the entrance there was a poster depicting a stern Siberian peasant: The

    seminar and hackathon for schoolchildren consisted of two parts - exercises with microcircuits of a small degree of integration and exercises with FPGA / FPGA. For exercises with FPGAs , such a set was used as the basis .

    Microcircuits with a small degree of integration (we used CMOS 4000) - this is an old one (issued since the 1970s), but so far the most obvious way to show the logic elements, the operation of the D-trigger and simple counters. This helps prepare for work with FPGAs and Verilog, as it helps to build a mental model of the scheme in the student’s brain. Otherwise, the student will treat the verilogue as something like a strange version of Python, and as a result will make ineffective schemes.

    Lecture at the seminar / hackathon:

    Results :

    1. Pupils sorted out the CMOS 4000 in less than a day, with a lack of time, this material can be omitted
    2. Verilog can only deal with combinational logic in one day
    3. Verilog sequential logic needs a second day or better prepared examples

    Before the two-day seminar / hackathon in Novosibirsk Akademgorodsk there was a week-long seminar / hackathon in Kiev and in the two-week Summer School for young programmers in the Novosibirsk region . A comparison of all three seminars is in the presentation at the round table at Moscow State University , which took place on October 8. Here are his materials . This round table was organized by eNano, the educational department of RUSNANO.

    The next stop after Novosibirsk was Nazarbayev University in Astana, the Republic of Kazakhstan. From the main entrance, the university looks like this:

    Go inside:

    We work with FPGA boards:

    The Republic of Kazakhstan is a rather interesting place. On the one hand, it is a country whose economy is built on natural resources (ores, gas, oil, uranium). On the other hand, the society of Kazakhstan is very similar to the Russian one, both in the organization of the state and in respect for culture - in Kazakhstan, for example, are good museums. For example, in Abu Dhabi (through which I flew from Kazakhstan), society is richer, but museums have built (or rather bought) recently.

    Timur Paltashev (who is from AMD) told me that in the 1970s there was laboratory work in the Kazakh Polytechnic with the creation of microcode for EC computers (IBM 360/370), and closer to modern times, the acquaintance Dzholdas Dzhuruntaev (right) wrote a decent course on the basics of digital circuitry, though covering only part of the area, which is not enough now:

    But Kazakhstan is now of course at a very early stage of ecosystem development in the microelectronic field. The management of Nazarbayev University (which has people from the Moscow Institute of Physics and Technology) and other Kazakh organizations are racking their brains to optimize development. They invited several teachers from abroad who are familiar with the subject of VLSI. Teachers have introduced a course on VHDL and are now starting to introduce labs on FPGA. They live in a high-quality apartment complex at the university, which is similar to the Marriott Residence Inn.

    There was a girl at Nazarbayev University (it’s a pity that I forgot to photograph her) who makes a device for collecting information from a telescope using information processing on FPGA / FPGA.

    The university is also trying to spread the culture of makers among residents of Kazakhstan and are thinking about how to establish cooperation with local Kazakh companies. There are such companies. For example, there is Eltex Alatau, the manufacturer of switches, or these two gentlemen: on the left, Konstantin Malishich, with a seismic analyzer designed in Kazakhstan, based on several microcontrollers and integrated processors, and on the right, Vladimir Makhonin, the developer of the network of devices worn by Kazakh miners. Vladimir Makhonin has an idea to make the first ASIC in Kazakhstan (in cooperation with Russian colleagues in Zelenograd):

    In the end, to consolidate the material, I will show two more slides with the theory - from a presentation by Amir Ayupov, a Russian engineer who works at Intel in Santa Clara, California, where he models the microarchitecture of Intel processors and analyzes their performance. In October, Amir and I gave a joint Skype lecture to enhance the morale of students at Samara University, at the request of their dean, Ilya Kudryavtsev, one of the participants in the seminar in Tomsk. A lecture with all the slides of the two presentations and sound lies here . Amir took these slides from the presentation of his colleague, MIPT teacher Pavel Kryukov:

    In September, Amir visited the Naval Forces of Moscow State University, where labs with Verilog and FPGA are now rapidly developing, even designed their own small MIPS-compatible processor core for educational purposes. Here is Amir (left) together with Deputy Dean of the Naval Forces of Moscow State University Sergey Lozhkin and a student of the Naval Forces Vladimir Zhukov.

    What did I bring Amir and the VMKU MSU staff: we, together with the participants in the seminar in Tomsk, are all working together on the Verilog and FPGA manuals in order to make a manual that excels, for example , course materials from MIT. On this occasion, we will meet this Monday January 25 at Moscow State University, then maybe there will be another meeting in St. Petersburg, also during the New Year week. Ahead of the New Year holidays, during which many participants in this project will write these labs. Here is a picture from the lab on the principles of pipelining, the code for which we hold on the github (but not the text - the text will appear when everyone writes and the beta testing of the course begins):

    Summary:The next stage in the development of the electronics ecosystem is expansion. For Russia, it is not enough to have just a few teams for the development of specialized microcircuits for the domestic market. For everything to become like in Silicon Valley, universities need to graduate an order of magnitude more young engineers who have the skills to develop logical blocks in the description languages ​​of the Verilog and VHDL equipment, use software for physical design such as Synopsys IC Compiler and Cadence Innovus, knowledge of algorithms to create their own Russian programs for the automation of chip design, etc. The first steps in the field of smart chip design using the methodology of register transfers (register transfer level - RTL) can be taken by already advanced students of physics schools,

    After meetings in Moscow and St. Petersburg - to be continued.

    Only registered users can participate in the survey. Please come in.

    What topics do you consider important when learning digital circuitry?

    • 32.5% Fundamentals of Digital Circuitry with a schematic entry 13
    • 55% Verilog and SystemVerilog 22 Basics
    • 27.5% VHDL Basics 11
    • 37.5% Arithmetic schemes 15
    • 42.5% Finite state machines - theory, decomposition 17
    • 45% State machines - application to device protocols 18
    • 40% Data Stream Pipeline 16
    • 55% Building the Simplest Processors 22
    • 30% More Advanced Processor Microarchitecture 12
    • 35% Caches and processor clusters 14
    • 40% Transition from FPGA to ASIC Engineering, Physical Engineering 16
    • 22.5% Create test environments for digital devices on SystemVerilog, with introduction to UVM 9
    • 35% Heterogeneous computing with a combination of CPU, DSP, GPU, FPGA 14

    Also popular now: