Between 20th and 31st of July I taught an intensive hardware verification course organized by the Department of Electronic Devices, Circuits and Architectures, within Politehnica University of Bucharest. This course is a pilot for introducing verification in the department’s curriculum.
In January 2015 I met Professor Gheorghe M. Stefan and Assistant Professors Lucian Petrica and Radu Hobincu from Politehnica University of Bucharest, to discuss on aligning department’s curriculum with the industry needs. To quote them: “We have requests from the industry to teach engineers about hardware verification, but we lack the knowledge. The easiest way is to find a company that has the expertise and that is willing to help us create a verification course.” It was decided that AMIQ will prepare the course materials and review them with the professors. At the same time the department will organize a pilot course in the summer and work on introducing the course in the MSc degree curriculum.
Without going into the details of aggregating all materials and preparing the lab exercises, the summer came and the 10 day intensive course took place from July 20th to July 31st, 4 hours each day.
The main goal of the pilot course was for students to learn about the importance of verification and to practice using verification specific languages, methodologies and tools.
I used only 8 hours of theory in total, the rest being lab exercises and focused on metrics driven verification using SystemVerilog and UVM. The verification course covered the following topics:
- Introduction to HW/V Domain
- Verification Cycle from Specification to Sign-off
- Verification Tools, Languages and Methodologies
- Metric Driven Verification Planning
- The Verification Environment
- Stimulus Generation
- Monitors and Checkers
- Metrics Definition and Collection
- Verification Closure
We used Cadence tools with licenses provided through Europractice.
Marius Enachescu helped us with the IT infrastructure.
At the end of the course each student received a Certificate of Achievement or a Certificate of Participation, depending on their performance and involvement.
I conducted a small survey after the course and the results show that students can allocate a very limited amount of time for learning (most of them work during summer), but they are happy to learn more, if they have a proper context. Most of them considered the course to be relevant for their careers.
“Verification is cool, since it weaves the hardware with software. Functional coverage is definitely the nicest thing of it all.”
Vlad Saceanu
“I wish we had more time to go deeper into UVM methodology, but I am glad I have a good starting point for my current verification project.”
Horia Razvan Enescu
“Randomization is really helpful and I enjoyed playing with constraints. All you have to do is let the generator take care of stimuli generation.”
Ionela Paparete
“Definitely a nice surprise to find that OOP is part of the hardware world and that hardware verification is not raw testing. I also like using metrics.”
Andrei Radoiu
It was a good experience and for sure I enjoyed teaching. I would like to thank Professor Gheorghe M. Stefan, Lucian, Radu and Marius for making this possible and all students for their involvement.