We have come a long way since the days when CAD Engineers used to draw layouts on Graph papers. Sophisticated tools with multiple utilities to draw, verify and correct the layouts, and enhanced ‘User Interface’ has improved efficiencies of Layout Engineers many folds to draw complex layouts with flexibility and high pace. Design Automation Industry is working with Design houses ‘hand in hand’, understanding the needs of technology as well as the requirements of Design Engineers.
The advent in VLSI technology created the Jobs of CAD Engineers, now completely got replaced by Layout Engineers, who are equipped with Engineering knowledge. The need was obvious due to complexity in ‘Design Rules’, logically drawn Layouts to give optimum area and performance and ability to complete the task in given time. This was complemented by automation techniques provided by EDA tools. A number of utilities are available in the ‘Layout Design Entry tools’ these days to give enhanced experience to Layout Designers.
I remember my initial days as Layout Engineer, I was working on a ‘Processor’ project. My assignment was to fix DRC’s for a Block of the Processor. There were some 10 more Engineers working on other blocks in the same project. There was a type of DRC violation for Metal5 for which I had to stretch Metal5 by 0.02u. There were 563 violations of the type in my block and other Engineers also had similar DRC violation, some had even more than my number in their Blocks. My estimate to fix this particular violation was about two days. Including all of us, it would have been taken 20-22 days of efforts. Our lead came up with a small script and ‘BOOM’ 20-22 days’ job got fixed in 20-22 minutes. We used many such scripts to make the task easy and deliver it fast. The above experience taught me, not all the utilities can be provided by Tool vendors but many times, we have to write our own utilities to ease out our work. There might be needs due to PDK change, spec changes, design style changes or any other reason.
Even today, I ask my team members to get skilled with ‘Skill Programming’ and at least one scripting language. Many times we find sudden requirement or issue in design, which we never accounted for; and the leads look at the Engineers with questions like ‘can your Skill code help here?’ or ‘can you write a script to quickly fix this’. In my opinion, every Layout Engineer should have adequate knowledge of ‘Skill programming’ and one scripting language like Shell, Perl, tcl etc. so that they can focus on higher performance from Layout and leave the time-consuming jobs to the ‘Automation Scripts’.
Please share your opinions and inputs.
Author: Mr. Prafulla Galphade, 17+ years in VLSI Industry