Soldering smoothly transitioned to Verilog and discussion of work in the electronics industry

On Sunday, a meeting took place at the Hacker Dojo hacker club in Silicon Valley. The meeting was announced in a Ukrainian Facebook group U4U Uniting for Ukraine USA and the Russian-speaking group Russian Speaking US QA NetworkThe stated topic was “Learning to solder”, but since the participants asked “and what does this have to do with employment”, then at the end I showed:

  1. As components to which we soldered headers (microphones and audio decoders) – are used in exercises with FPGA boards.

  2. What types of jobs do the exercises on FPGA boards lead to: RTL Design Engineer, Design Verification Engineer, and Application Engineer.

In general, I hold meetings in this club on the SystemVerilog hardware description language. The meetings are attended by people who want to supplement or shift their careers to this area. They learn by helping me develop training materials. I use the materials at seminars in different countries (this year it was Azerbaijan, last year – Georgia, the year before – Kyrgyzstan).

Besides, it just so happened that on Saturday our community Verilog Meetup approved application for participation at the big DIY Maker Faire in Vallejo, California. For this and other planned events, it is necessary not only to solder headers to hundreds of components, but also to prepare a large number of demonstrations with FPGA boards. Preparing such demos with reviews from already experienced engineers is a great way to get your hand in the basics of Verilog. In addition to adapting examples to different types of boards (this requires mainly ingenuity and accuracy), there are also tasks at the level of an interview for a job in an electronics company (demonstrations of microarchitectural techniques with pipelines and FIFO queues). If anyone wants to participate in this – Come to Hacker Dojo any Sunday at 11amand we will take care of this together.

But let's get back to the last soldering meeting. There were about fifteen people there, and from familiar places: the Kiev Mechanics and Mathematics Department and the KPI, Kazan's Innopolis, Moscow, Google. The main soldering specialist was an American named Andrew, another specialist was my friend Alex, originally from the Belarusian BSUIR, who is now designing a block for working with cache (load-store unit) in an AMD processor.

I also helped the process, although I made a mistake: only towards the end I discovered that on one of the soldering irons, Pinecil, a screw had come loose, and the tip was constantly moving down, which is why the soldering iron sometimes soldered, sometimes did not.

After that we went into another room where I showed how the components we soldered the headers to are used:

Naturally, the participants were interested in what kind of work requires training on FPGA boards.

First, I'll say that FPGA labs are not exotic, they have been used in America for a long time and have now penetrated even into the provinces like Montana and technical schools like San Francisco City College. The coolest course of this kind is MIT 6.111 course from the Massachusetts Institute of Technology. The coolness of this course is not in the materials – its slides are quite banal – but in the student projects on processing sound, video, graphics, etc. – see Memorable Project at such a link.

In Russia, the promotion of Verilog and FPGA in higher education is carried out by School of Digital Circuit Synthesiswith which more than 20 universities cooperate: MIET, MIEM, ITMO, Innopolis, etc. – from Moscow and St. Petersburg to Sevastopol and Altai.

In Ukraine, for example, there is also a teacher-activist Evgeniy Korotkiy, who first promoted ASIC and FPGA at the Kiev Polytechnic Instituteand then declared that the KPI does not have high enough requirements for students, and went to do the same at the Kyiv School of Economics, in the spirit of European integration, in partnership with the Swiss polytechnic ETH Zürich.

Both the Russians, Korotkiy, and ETH Zürich use the introductory textbook Harris & Harris, which I also recommend: Digital Design and Computer Architecture, RISC-V Edition by David Harris and Sarah Harris. In Russian translation Digital Circuitry and Computer Architecture. At the same time, Korotkiy shifted the emphasis to the field of analog and mixed signal electronics, and in the Russian school – to the field of microarchitecture and verification. Harris & Harris really does not go very deep into microarchitecture, which can be compensated for by my recommendations for the meetup in Mountain View.

Yes, about the works. I gave an example of working with Verilog and FPGA in a note about FPGA teaching in Donbassnamely the position of FPGA engineer at Apple:

Let me put this into a more understandable form: skills with Verilog and FPGA directly lead to three professions:

  1. Developer of digital ASIC (application-specific integrated circuits) microcircuits at the register-transfer-level RTL using the Verilog hardware description language. These are mass-produced microcircuits that are installed in phones, household equipment, cars, etc. Job titles: RTL Design Engineer, Logic Design Engineer, ASIC Digital Design Engineer, etc.

  2. The same, but for FPGA chips that are used in small-scale devices (for example, in music systems for concerts or in space technology). This is called FPGA Design Engineer.

  3. A tester for (1) and (2) who writes tests and models in the SystemVerilog language. This position is called a Design Verification Engineer, or DV for short. In some companies, such as Blue Origin, which uses FPGAs for flights to the moon, positions (2) and (3) are combined, called FPGA Design & Verification Engineer.

For the Hacker Dojo meetups, in (1) I'm mostly targeting students, in (2) people looking to retrain or expand their skills as embedded systems and microcontroller programmers, and in (3) people with experience in automated software QA who want to retrain for specialized hardware QA like this.

Also, skills with Verilog and FPGA can be used to work as an Application Engineer, helping chip and board manufacturing companies serve their customers.

At the end of the soldering meeting I shared a little bit of the technical background of these technologies, showing how synthesis and configuration work:

Now what I actually want from the Hacker Dojo meetup attendees is that with the new academic year coming up, we urgently need to adapt the new version of the various training examples to about 40 boards. Because the new academic year is starting and different universities are using different boards: Volgograd is using Terasic DE2-115, Minsk is using Digilent Nexys4, Sao Paulo (Brazil) is using Tang Nano 9K, and Nairobi (Kenya) is using DE10-Lite.

To work on adapting examples for boards, you don't need to understand microarchitecture or even understand the concepts of sequential logic. It's enough to understand how to connect wires in the code on Verilog, and also to be able to google information from vendors.

For example, let's take a new board with FPGA from GoWin Semiconductor – Tang Mega 138K Pro.

To adapt the examples to it, I had to change four files:

  1. board_specific.cst – a script for setting the correspondence between the names of pins from the datasheet and the logical names of ports in the code on Verilog.

  2. board_specific.sdc – a script with a command that tells the synthesis program the clock frequency of the generator on the board.

  3. board_specific.tcl – a script that informs the synthesis program of the chip model on the board and the synthesis parameters.

  4. board_specific_top.sv – wrapper, a code in verilog that isolates the student from the specifics of the board, creates an instance of the lab_top module and connects it with wires to modules that receive data from the microphone, send data to the audio decoder and LCD display.

Now you can do all sorts of student exercises on it, for example recognizing a sound note using a microphone with a soldered header:

or sound synthesis using an audio decoder with a soldered header:

If you are interested in such activities, write in the comments or on social networks (best of all on LinkedIn) And come inThis can also be done online, with zoom meetings.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *