So you want to do a VLSI Project? Part I
Lately I have been seeing a lot of “organic” hits from Google onto my blog with keywords like “VLSI project” or “Main project VLSI”. This reminded me back of the time 2 years back when I was at the other end of Google frantically searching for project ideas, heck, at least some info on how to make sense of a VLSI Project. There has been a large explosion of different well paying VLSI related jobs in India and hence the craze to do a VLSI project is understandable. I know of lot of people who already have a software job offer from multi domain companies and are hoping to do an impressive project to try and get into the VLSI department.
But the trouble is that, like with any electronic projects (not to belittle any software engineers as a software project also lends to similar difficulties) is that, conceiving the idea is one thing but getting it working in a satisfactory manner is a altogether different thing. And especially since VLSI domain is a comparatively new one, with hindsight, I believe that there are some things that need to be understood/ considered by the person before jumping into the world of VLSI. I am going to try to pen down these concepts/ considerations as a starting point for people trying to do the same.
Two Faces
Chip design is, in a very broad sense, two part affair. The first part of the design life cycle purely exists on a computer. At this sage you are designing your whole system, coding it, simulating it, and testing it etc in a computer using suitable software. This is true whether it Analog or Digital or FPGA or Custom ASIC. Once this stage reaches a decent enough level of maturity then the outputs from this state is “transferred” to Silicon. How and when this is done is dependent on what kind of a chip you are making.
Analog
When you talk about VLSI, it includes both analog and digital parts. I am a digital engineer and hence won’t be able to comment much on the Analog Projects. But still there are some concepts that are common which I shall explain. Like I said earlier, the first part of the design cycle is carried out entirely inside a computer. For analog and digital it would be different tools. I believe that analog uses tools like SPICE etc for doing transistor level simulation. Once this phase is over the output might be in for a mask file which will then need to be given to a foundry (in case of analog and custom ASIC) using which they will manufacture the chip and give it back to us. I am not aware of any analog foundries that would take up work for academic projects.
Digital
Digital chips can be widely classified into Custom ASIC and Field Programmable
Custom ASIC
Its not proper terminology but for the purpose of this discussion I shall refer to all digital Chips that require to be manufactured at the foundry as Custom ASIC. If you know basic VLSI theory (Which I strongly suggest you learn if you are panning to do such a project
) you will understand that the manufacturing processes of ASIC’s involve a large number of “masks” that aid in the manufacture of the desired transistor -> gate structures. Depending on the number of masks that are programmed by the end user we can have different types of Chips which are a result of a trade-off. The more masks you can program, the more control you have over the logic and more efficient you chip but this is met with increasing costs too. In custom ASIC’s we have either no or only some of the mask’s being predefined, hence allowing greater programmability. For a more exhaustive discussion on this matter please refer John Smith’s excellent book or similar books.
Since these chips allow more programmability, they need to be designed at the transistor level or gate level using suitable software like MAGIC and then the masks that are the output need to be given to the foundries that would manufacture and give the chip back. Since you would be operating at the transistor level you can do only functionally very simple projects in this manner. Another option is that the foundries would give you their library cell definitions and you would have to write RTL (HDL) and “synthesize” netlists using these library components. You would then have to do layout and “close” the timing (remove volitions) and give that mask to the foundry. But this can be very hard to do due to non-availability of tools and also due to want of know-how
Semiconductor Complex, Chandigarh (Thanks to my friend Vaibhav Mathur
) is one such foundry in India. They also undertake academic projects between certain periods of time. This needs to be carefully considered while going in for a project. Also since you are starting at the transistor level and the level of abstraction is minimal, you need to take up seemingly simple projects, at least from the functional point of view.
Field Programmable
As their name suggests, they can be programmed from the comfort of ones home or college (some comfort eh?). You can possibly guess that we that lesser number of masks are programmable, i.e. the interconnect masks, the rest of the masks have special structures (ROM based or Look-Up Table based) that make this kind of programming possible. FPGA’s are one type of these chips with others including CPLD, PSoC, PLA, PAL etc
From a normal Indian college (that I came from) perspective this one of the most practical type of project to choose and also I did my main project on FPGA
so I would be discussing more about it.




