Joys of being an ASIC Designer
Posted by anasimtiaz on Jul 1, 2010 in Geek Speak | 2 commentsAfter spending hours and hours of deciphering a set of specs written by someone else you start writing code for hardware that will perform a certain set of operations. Usually the specs contain inputs and outputs and a lot of details of how things should be processed in between. Translating the pseudo-code in hardware is not an easy task. Usually something is missing in that doc.
Anyway, you code and code, and keep looking at the number of lines of code you’ve reached while adding those shitty comments which not even you can understand after an hour. Then goes an attempt to compile the code and obviously when there are hundreds of lines of hardware code it can’t compile in the first attempt. It shouldn’t. Then pops up a list of errors which in many cases is not that helpful to sort out the problems. Code finally compiles after fixing those bugs. Time for a celebratory break. Coffee?
Quickly write a test environment (testbench) to make sure the output of your hardware is correct. Trust me, it won’t be. You’ll be lucky if you’re getting an output. If and when you do get an output signal, it obviously won’t be correct because you missed something small in your hardware. Good thing that these days you can code a hardware and simulate it. It can take hours (or days) to find those issues and finally come up with the correct output after testing for all corner cases. This is one of the moments you’d want to savour being an ASIC designer. It doesn’t come very often. Go ahead and celebrate because tough times lie ahead.
To be continued…

It sounds pretty interesting. Even though the frustration level might be a tad high when a gazillion errors pop up (but since it should happen, this shouldn’t be an issue).
Best of luck!
Designer is the good profession Learn lot of thing and create some new ideas