13 December

Written Test Question for Physical Design Engineer: Question Set - 6


 Code: ALTRN0Y112020PD

Some companies take a written test sometimes to shortlist the candidates before the interview process. This is a common process if the applicants are large in numbers. In such written test, the format is MCQ and some short questions. 

We are very thankful to one of our follower who has appeared in this test and shared these questions based on memory. The purpose of sharing this question is only to provide the right guidance to the candidate who is going to appear in such a written test. I would encourage all the freshers to practice these question for their future test/Interview. I would also encourage to find the answer to these question either by own. There is no sense of proving the answer to these questions here. But if someone finds any question really difficult to solve and open discussion in the comment section. 

1. Hold slack equation 

2. Setup slack equation
3. When did hold analysis depends on the frequency of the clock 
a) half cycle path
b) single cycle path 
C) multicycle path 
d) it never depends 

4. While doing OCV which things are considered for setup analysis 
a) max launch path delay and min capture path delay
b) min launch path delay and max capture path delay 
c) max launch and capture path delay
d) min launch and capture path delay 

5. How to fix EM effect 
a) decreasing the space between metal layers 
b) decreasing straps 
c) increasing drive strength of the driver 
d) increasing space between metal layers 

6. Why do we add tap cells 
a) to maintain well continuity 
b) to prevent latch up  
c) to prevent DRC's 
d) all of the above 

7. Why do we add metal fillers 
a) to ensure etching properly 
b) to ensure density issues 
c) to increase the area of the chip 
d)to ensure well continuity 

8. If the schematic has 11 and layout is 10 nets then, what might be reason 
a) opens 
b) shorts
c) ERC
d) all of the above 

9. Numerical problem related to finding clock frequency 

10. Numerical problem related to finding slack 

11. High positive skew leads to
a) setup violation 
b) hold violation 
c) DRcs
d) all of the above 

12. In VLSI Design, CMP stands for? 

13. Numerical problem to find setup slack 

14. Nand and Nor gate logic diagram SOP forms

15. Setup uncertainty increases from placement to CTs
a) true 
b) false
c) based on SDC 
d) based on clock frequency 

16. Only clearing LVS leads to the proper functioning of the chip 
a) true 
b) false 

17. Numerical problem related to reg to reg data path delay calculation 

18. A CMOS circuit consumes only a significant amount of power during 
a) static state 
b) when cooling 
c) when warming
d) all of the above 

19. Routing congestion depends on which factors
a) ratio of required layers and available layers 
b) ratio of available and required 
c) depending on availability of metalayers 
d) none of the above 

20. Question related to ground bounce, power bounce and glitch 

21. Value of threshold voltage depends on
a) doping concentration 
b)distance between source and drain 
c) temperature 
d) all of the above 

22. Why we reorder scan chains during placement stage?

23. For multi-voltage blocks which power cells are used 
a) isolation cells
b) retention cells 
c) level shifters 
d) all

24. Which configuration is more preferable for floorplan 
a) double BACK  + channel width spacing 
b) without double back + channel width spacing 
c) double back + row alignment
d) none of the above 

25. Concept of fixing time violations by adjusting clock arrival times at the registers in the preCTS stage is called 
a) time borrowing 
b) managing skew 
c) maintaining timing 
d) none of the above 

26. While calculating standard cell utilization what are all will be considered 
a) macro + blockage + standard cell (area)
b) macro + blockage (area)
c) macro + physical cells + standard cells (area)
d) all of the above 

27. RV checks Are needed for 

28. Inputs for LVS
a) spice + netlist + rule deck
b) spice + rule deck + lib files 
c) OASIS + netlist + lib 
d) none of the above 

29. Via3 will connect which of the following metal layers 
a) 1 and 3
b) 2 and 3
c) 3 and 4
d) none 


30.  A 4-bit modulo 16 ripple counter uses JK flip-flops. If the propagation delay of each FF is 50 ns. The max. clock frequency that can be used is equal to

31. A pulse has a period of 15 ms. Its frequency is

32. A 8-bit successive approximation ADC has a full-scale reading of 2.55 volts and its conversion time for an analog input of 1 volt is 20 ┬Ás. The conversion time for a 2 volts input will be?

33 . How many binary numbers are required to represent a decimal number 748?

 34. DRC is used to 
a)to ensure chip fabrication
b)to ensure chip doesn't get heated 
c)to verify parasitics on chip
d) all of these 

35.  Antenna diodes are used for 
a) to protect the gate 
b) protect VDD and VSS
c) to protect the substrate 
d) all of the above

36.  Buffers are added to 
a) to fix timing violations 
b) to fix DRC
c) to fix parasitic values 
d) all 

37. Metal pitch and metal spacing are the same 

38. What is the effect of high drive strength buffer when added in the long net 
a) delay of net decreases
b) delay of net increases 
c) delay doesn't effect 
d) none of the above 

39. Cross talk glitch leads to 
a)timing failure 
b) functional failure 
c) substrate failure 
d)all of these 

40. Programmable special cells used during ECO
a) gate array filler cells
b) filler cells
c) metal fills 
d)decap cells 

41. What is a physical cell?
a) cell which doesn't have any functionality 
b)  cell is not synthesized 
c) cell which is inserted only in layout 
d) all of the above 

42. Power gating technique in low power is used to reduce 
a)static power 
b)leakage power 
c)internal power 
d) all of the above 

43. Which of the following is not present in SDC 
a) max cap
b) max trans 
c) max current density 
d) max fanout 

44. The phenomenon associated with transistor switching when the gate voltage may appear less than the local ground potential 
a) ground bounce 
b) supply bounce
c) glitch 
D) none 

45. Leakage recovery can be achieved through 
a)Hvt to Svt
b) Lvt to Hvt
C)Rvt to Lvt.
d) svt to lvt

46. Which of the following must be fixed during physical design 
a) floating inputs 
b) floating outputs 
C) floating metals 
d) both b and c 

47. Which slew value will be propagated to slew _out of slew _A is 100 ps and slew_B is 80ps for hold analysis 
a) 80 ps
b) 100 ps
c) 20 pls
d) 180 ps

48. A 16-bit modulo 16 ripple counter uses JK flops if propagation delay is 25 ns, the max frequency of the clock is 
a) 25
b) 10
c) 2
d) 16

49. Digital signals transmitted on a single conductor must be transmitted in 
a) serial 
b) digital 
C) slow speed 
d) none 

50. In a certain digital waveform, the period is four times the pulse width, the duty cycle of the waveform will be? 

51. Follow pin connections to the standard s are done in encounter through
a)z- route 
c)trail route 
d) nano- route 

52.set Y[ ]; 
set Z[a,b,c]; 
lappend $Y,$Z;
What is the output 
a) empty list 
b) [a b]
c) [a b c]
d) none

[ Note: If you find any question has typo error or wrong, comment for the correction.]

 Thank you.

Synthesis and Physical Design Interview Questions: Question Set -5

Code: CYPR2Y102020PD

Introduction and Experiences

  1. Self Introduction
  2. Explain about the projects that you have worked on. (Type of work and tools used)


  1. Explain about Synthesis flow and what happens at each stage. (Inputs required, elaboration, generic stage, mapping and optimization stages)
  2. Explain about Synthesis Inputs. 
  3. Differentiate between Logical and Physical Synthesis. (QoR impact between them)
  4. Wire load model(WLM), Mode, Types of trees
  5. Delay Calculation in WLM method. (Fanout based delay calculation)


Place and Route

  1. What are Inputs for PnR and Initial Checks need to be done?
  2. How to check for uniqueness of Netlist?
  3. Explain stages in PnR.
  4. Explain about useful skew and how it impacts the design.
  5. How do we achieve a better insertion delay?
  6. Explain about the CTS issues that you solved.
  7. Explain Physical Cells at the transistor level.
  8. Explain UPF, power domains, supply sets, isolation cells, retention registers.
  9. Feedthru insertion procedure and minimizing them. How you did Partitioning and improved partition related size, ports creation, Congestion.


  1. RTL Code for synchronous rst and asynchronous rst. (How do we write always block for this?)
  2. How do you write RTL code for FSM? (Explain about the number of always blocks required and significance of each one)
  3. Write RTL code for the traffic light system.


  1. Explain about the LEC procedure and issues faced and solved with respect to non-equivalent points.
  2. How do we fix Setup and Hold time violations?
  3. Explain about Dynamic and Leakage Power Consumption and methods to reduce them.
  4. If the chip is fabricated and hold violation exists. So what will you do? (other than saying that chip won't work)
  5. Scripting related to finding empty modules, Unix commands.

Post Credit: 

These questions are shared by one of our active group members. Thanks a lot for your contribution!!!

21 November

50 Most Useful Linux Commands for VLSI Engineers

Linux is an open-source operating system which is the first choice of every technocrat. For VLSI Design Engineers also most of the EDA tools are only compatible with Linux. In Linux, we interact with OS majorly with Command-Line Interface (CLI). In beginning, it might look a bit tedious as you have to remember lots of commands and we are addicted to GUI interface but later you will definitely love it.

In this article, we will learn some of basic Linux commands with examples. I would request to my reader don't just read this article but, practice these commands parallelly for best understanding and clarity. If you wish you can also make a small cheat sheet for your use. In this article, we will learn 4 categories of 50 most useful basic commands. For advance level commands we are going to publish another article later.

Category-1:  File System Management

1.  ls

: list files and directories


    ls -l   ; indicates file/directory type, permissions, owner, size, last modified

        - normal, d- directory, s-socket file, l-link file

    ls  -a  ; shows hidden files/directories

    ls -t   ; lists the files/directory on basis of modification time

    ls -lart   ; lists all the files and directories in order of last modified.

2.  clear 

: clear the terminal (but keep the history of commands intact)

3.  man / --help 

: Show a manual of command and switches written in details.

4.  pwd

: Print Working Directory, The directory where you are currently.

5.  cd

: Change Directory, to move to another directory.


    cd  .. ; back to parent directory 

    cd  - ; back to previous directory 

    cd ~ ; go to home directory

    cd ../../../ ; back to n steps

    cd ‘abc xyz’   ; go to a directory whose name contain white space

6.  mkdir

: create a directory


    mkdir directory_name ; To create a new directory with the given name.

    mkdir dir1 dir2 dir3 ; To create multiple directories in a single step.


7.  touch

: create a file


    touch file_name ; create a new file

    touch file1 file2 file3 ; To create multiple files

    touch –a file_name ; to change file access time

    touch –m file_name ; to change the file modification time  

8.  gedit file_name &

: create and edit a file in GUI mode


    gedit /path/to/file_name ; create and edit a file in specified location

                                                  ; word count, line no. , language 

9.  vi file_name

: create and edit a file using command-line interface


    i    ; Switch to edit mode

    ESc    ; Exit from edit mode and Switch to command mode

    /string ; find the string

    Esc + :q ;exit without saving

    Esc + :s   ; Save only not exit

    Esc + :wq  ; save and exit

10.  cp source destination

: copy command


    cp source_file destination_dir     ; To copy a file

    cp source_file .     ; To copy a file to current directory ("." means current dir)

    cp -f source_file destination_dir     ; To copy forcefully a regular file

    cp -R source_file destination_dir ; To coppy recursive a directory

11.  mv source destination

: move command, like cut+paste


    mv f1 f2     ; rename f1 by f2

    mv -rf   ; recursive and force moving of a directory

12.  rm

: remove file/directory, like delete


    rm -rf   ; remove recursive and force

                    ! One of dangerous command as root, use carefully!!!

    rm *.txt ; Will remove all the file having extension .txt in PWD

13.  cat 

: stands for concatenate


    cat file_name   ; Display a contain of a file in CLI

    cat text1 > text2 ; redirection of text, overwrite

    cat text1 >> text2 ; appending the text 

14.  which 

: Path of the command


    which virtuoso ; Display the path of the executable file for virtuoso

    which vi ; Will show the vi command path

    which python ; Will show the installation path of the python program

15.  find 

: searching a file/directory


    find / -name "dir_name" ; to find a file/dir

    find /home/user_name -name "file_name" ; to find a file/dir only in user's home area

    man find ; to get more details on find command

16.  history 

: Get the list of executed commands


    history ; the history of all command

    history n   ;list of last n command executed

                !n            ; repeat any command in the history list

    export HISTTIMEFORMAT=‘%F %T ’   ; setting history command with timestamp format

    unset export HISTTIMEFORMAT ; unsetting the time format

    history -c ; clear all the history

    ~/.bash_history ; location of stored command history

17.  chmod

: Change mode, change the permission of file/directory


    ls -l  file_name          ; To see the current permissions of the file/dir

Let's understand the permissions through this ecample.

r   w   x 7     7     7 7      5      4

4   2  1 rwx  rwx rwx rwx   r-x    r- -  

Numeric and Symbolic permissions

    chmod  777 file_name         ; set all the permission for all users

    chmod  754 file_name        ; set rwx for owner, r-x for the group and r– for others

    chmod –R 777 dir_name    ; Set all permission recursively inside the dir

Category-2:  Text processing commands

18. touch

: create a new file


    touch file1 ; create an empty file

    touch file1 file2 file3 ; create multiple files in one command

    touch –am file2   ; change access and modification time

19. gedit

: A GUI based Linux text editor  


    gedit & ; open gedit text editor and release the CLI

    gedit file1 ; create/open a file in geditor

20. head

: To read the first 10 lines of a file in CLI  


    head file_name   ; To read the first 10 lines of a file

    head –n 8 file_name   ; To read first 8 lines of a file OR head -8 file

    head -4 *.log           ; Read first 4 lines of all log files in PWD   


21. tail

: To read the last 10 lines in the command line  


    tail file_name   ; To read last 10 lines of a file

    tail –n 12 file_name   ; To read last 12 lines of a file OR tail -2 file

22. sort

: To sort the list 



    sort file_name   ; sort the content of file

    sort –n file_name   ; sorting a file which has numbers

    sort –r file_name   ; sorting  the file in reverse order

    sort –o outputfile inputfile  ; redirection of sorted output

    sort –n -k2 file_name   ; sorting  the file on basis of the nth column

23. unique

: An utility for filtering the repeated lines in a file


    unique file_name   ; will display only unique lines

    unique –c file_name   ; will tell no. of times a line has repeated

24. more

: Display text one screen at a time


    more  file_name   ; display the text in command line

                               <space> next screen,

                                    <b> back to previous screen,

                                    <enter>  next line

    more -10 file_name ; will display 10 lines at a time

    dmesg | more ; more with pipe.

25. less

: to read the text file in the command line


    less  file_name ; To view the content of a file

                                    similar to more command with some advance features

     less -N file_name ; Will show the content with line number

                                        <Enter> or Down Arrow: To move next line

                                        Up Arrow: to move up a line

                                        <space>: To move down one page

                                        <b>: To move up one page

26. grep

: global regular expression print


    grep –i  words file_name ; display the line contains searched word

    dmesg | grep sda   ; filtered the output and show only line having sda

    dmesg | grep sda –A 5 ; Display 5 lines after the matching word sda

27. diff or vimdiff

: find the difference between two files/dir


    diff file1 file2 ; To check the difference between two files

    diff dir1 dir2 ; To check the difference between contains of two dir

     A similar GUI tool is “meld”

    vimdiff f1 f2 , gvimdiff f1 f2

28. wc

: word count of a file


    wc file_name ; Newline, word and byte count in the file

    wc –l file_name ; To count total new lines in the file

    wc –w file_name ; T count total words only

    wc –c file_name ; T count total characters only

Category-3:  Process management commands

29. top or htop

: It will show the status of various resources and tasks


    top    ; you can see the utilization statics for resources and get PID of all running process

    htop    ; Similar to the top command but an improved version. 

30. ps

: Known as Process Status 


    ps            ; process for the current shell

    ps -e       ; Display all active process

    ps -ef       ; Display all active process in full format

    ps –ef | grep virtuoso   ; If the list is too big we can grep it to a specific command

31. kill

: To terminate a process


    kill PID   ; Killing a process by PID, PID is a numeric value.

    kill PID1 PID2 PID3    ; Kill multiple processes together. You can specify the signal name in between Kill and PID. If no signal has been specified, by default TERM signal will be sent. 

32. who

: Display the users who are currently logged in your Linux machine


    who   ; Without any argument who command will display user's login name, terminal, login time and host

    who –q    ;Display the name of all users and total no. of users logged in

33. w

: information about current logged user and what they are doing

34. users

: Display the all current users name in a single line 

35. last

: it display the list of user who logged the system 


    last   ; If no options provided the last command displays a list of all users   logged in (and out) since /var/log/wtmp file was created

    last user_name      ;Will display the activities of a particular user only

36. free

: Used to check available physical memory and swap memory 


    free   ; Command used to check used and free memory space in KB

    free –m/g ;Space will be shown in MB or GB

    free  -s 5   ; Will update the status in every 5 seconds.

37. lshw

: Used to check hardware information 


    lshw   ; Generates detail reports about various hardware of system

    lshw –class memory  ;Details memory in the system

    lshw –class processor ; Details of processor in the system

    lshw –short –class disk   ; Details about the hard drives (network) 

38. lscpu

: Display information about CPU architecture


lscpu   ; Give the detailed information about the CPU

39. cat /proc/cpuinfo

: Similar information like lscpu

40. dmidecode

: Is a tool for dumping System Management BIOS (SMBIOS) table content in a human-readable format


    dmidecode   ; Gives all the hardware details

    dmidecode –t system   ; Gives the manufacturer, model no. etc details

    dmidecode –t bios ; Gives the bios information of system (/memory)

41. uptime

: Gives the time how long system is running


    uptime -p   ; Gives the duration of the system running 

42. reboot

: Will shutdown and restart the machine instantly

43. shutdown

: Can be used to shut down or restart the machine


    shutdown –h now    ; System will be shut down instantly

    shutdown –h +5 “message” ; System will be shut down after 5 minute

    shutdown –r +5    ; System will be restart after 5 minutes

Category-4:  Bash Environment Related Commands

44. date

: Will show the current date, time and of time zone


    date          ; Will show day, date, current time and timezone

    date –d “1990-12-31” ; Details of any specific date

    timedatectl      ; Will show details of local and universal time and timezone

    timedatectl set-time ‘2018-12-27 07:30:10’ ; to set specific date and time

    timedatectl set-time ‘Asia/Kolkata’    ; Setting time by time zone

45. cal

: Will display the calendar of current month in terminal 


    cal                      ; Will show calendar of current month in terminal

    cal  08 1947      ; To display a calendar of particular month and year

    cal –y 2019            ; Will show calendar of all month of a particular year

46. env

: Used to print all the current environment variables and it’s value

47. whoami

: prints the username of the current user

48. uname

: It provides kernel versions and other details


    uname          ; Without any option, will print kernel name only

    uname -a       ; Get all the information like, kernel name, version,   architecture, host name, current date and time.


49. hostname

: To know the hostname 

    hostname         ;It will display the hostname

    cat /etc/hostname   ;Inside the hostname file hostname is stored and  we can read and edit.

    vi /etc/hostname ;to change a new hostname edit the name here   and reboot the machine

50. echo $BASH_VERSION

: To know the BASH version. For more variables value run env command 

Your suggestions are most welcome in the comment section. If you wish to get this article and upcoming articles of this blog in your email, follow this blog.  

Thank you!