Ever heard of companies like Apple, Intel, Mellanox, Marvell, Samsung? Of course you have! Do you know what fundamental elements make these companies so successful and constantly one step ahead? The high quality of the chips that are inside the machines we use everyday.
I get asked all the time what a Hardware Design Verification Engineer is. I often explain it as follows. Before we manufacture thousands or millions of computer chips, we want to know that they will work. We use what’s called a hardware descriptor language which allows us to write software code that mimics the behavior of the physical chip. We then write tests that inject inputs into the hardware design. We try to simulate as many scenarios as possible. We then compare what we get from the chip to what we expect the output to be. The more tests we run,the more bugs we catch, and the more confidence we have that the chip design works.
Once I explain that, some people say, “so it’s kind of like Quality Assurance”. And that’s what I thought before coming to ITC. I quickly learned, however, that Design Verification is much more than QA. You must understand the design requirements and algorithms and build an entire environment to test the designs. You must think like a detective and seek out ever corner of the design because the one area you didn’t test will be the source of the next bug. You are working side-by-side with engineers on every team and touching each step of development from conception through production.
Studying design verification at ITC taught me the necessary technical skills to become that detective and to succeed in the field. Along with those technical skills came some crucial life lessons that I’d like to share with you.
1. There is always a bug
Our job is to find bugs in the design, yet on day one we learn that we will never find all the bugs. It’s impossible. You have to work as hard as you can to find as many bugs as possible before you fabricate a chip, but you have to accept that you won’t find everything. At some point, once you’ve done enough, you can send it to the fab lab.
The same is true in life: things will never be perfect. You strive to mitigate the “bugs” but they’ll never be completely gone. There will always be struggles. Sometimes, you’ll catch a big bug and sometimes you won’t and it can be costly, but it’s all part of the circle of life.
2. The designer and verifier can’t be the same person
You need at least two sets of eyes, two people looking at the requirements and working through it. It helps you iron out the kinks, identify gaps in the logic and prevents the trap of one-way thinking.
If the designer and verifier were the same person, then they would build the verification environment to verify exactly what they designed. If they designed something incorrectly, their environment won’t catch it.
This is also true in life. You can’t do it all alone, whether it be in your personal life or at work. You need a team, friends, family, fresh eyes, alternative opinions. Sometimes because it’s just helpful and more efficient, but more often than not, having help is the only way to succeed.
I hope this inspires you to seek out and mitigate the largest bugs and struggles in life while accepting that things will never be perfect. Remember that you can’t do it alone; you can’t be the designer and the verifier. Take advantage of those around you, seek out their help and guidance whether it be your friends and family, or colleagues.
As the world becomes more connected, the devices we use and need are getting smarter and more data is being produced than ever before. Becoming a Chip Design Verification Engineer is one of the careers at the forefront of these revolutionary changes. By developing better, faster, and innovative chips, we are making breakthroughs in the technology we love.
Do you have what it takes to become a Hardware Engineer?
Learn from the best and work on projects with leaders in the field by joining the Chip Design Verification track at ITC. The main focus of this track is to gain skills in hardware verification languages, common verification methodologies, hardware description languages and more, through exercises, self-led learning and teamwork.