Back End

Physical Design Flow V: Physical Verification

I. NetlistIn & Floorplan
II. Placement
III. Clock Tree Synthesis
IV. Routing

After routing, your layout is complete. Now a number of checks are performed to verify that the drawn layout works as intended.

  1. Physical verification
  2. Equivalence Checking
  3. Timing Analysis

Equivalence check will compare the netlist we started out with (pre-layout/synthesis netlist) to the netlist written out by the tool after PnR(postlayout netlist).Physical verification will verify that the post-layout netlist and the layout are equivalent. i.e. all connections specified in the netlist is present in the layout.This article explains physical verification.

Physical Verification

After routing, your PnR tool should give you zero DRC/LVS violations. However, the PnR tool deals with abstracts like FRAM or LEF views. We use dedicated physical verification tools for signoff LVS and DRC checks. Some of these are Hercules from Synopsys, Assura from Cadence and Calibre from MentorGraphics.

The major checks are:

  1. DRC
    DRC checks determine if the layout satisfies a set of rules required for manufacturing. The most common of these are spacing rules between metals, minimum width rules, via rules etc.There will also be specific rules pertaining to your technology. An input to the design rule tool is a ‘design rule file’ (called a runset by Synopsys’ hercules). The design rules ensure sufficient margins to correctly define the geometries without any connectivity issues due to proximity in the semiconductor manufacturing processes, so as to ensure that most of the parts work correctly. The minumum width rules exists for all mask layers, and spacing between the same layers are also specified. Spacing rules may change depending on the width of one or both of the layers as well. There can also be rules between two different layers, and specific via density rules etc. If the design rules are violated, the chip may not be functional.
    Spacing & Width checks

    DRC – Spacing & Width checks

    DRC checking software, like Assura, Hercules or Calibre usually takes the layout in any of the supported formats, like GDSII.

  2. LVS

    LVS is another major check in the physical verification stage. Here you are verifying that the layout you have created is functionally the same as the schematic/netlist of the design-that you have correctly transferred into geometries your intent while creating the design. So all the connections should be proper and there shouldn’t any missing connections etc.

    The LVS tool creates a layout netlist, by extracting the geometries. This layout netlist is compared with the schematic netlist. The tool may require some steps to create either of these netlists(e.g. nettran run in synopsys)
    If the two netlists match, we get an LVS clean result. Else the tool reports the mismatch and the component and location of the mismatch. Along with formal verification, which verifies if your pre-layout netlist matches the post-layout netlist,LVS verifies the correctness of the layout w.r.t intended functionality.

    Some of the LVS errors are:

    • Shorts – Wires that should not be connected are overlapping.
    • Opens – Connections are not complete for certain nets.
    • Parameter mismatch – LVS also checks for parameter mismatches. e.g. It may match a resistor in both layout and schematic, but the resistor values may be different. This will be reported as a parameter mismatch.
    • Unbound pins – If the pins don’t have a geometry, but all the connection to the net are made, and unbound pin is reported.
  3. Antenna
  4. Process antenna effect or “plasma induced gate oxide damage” is a manufacturing effect. i.e. this is a type of failure that can occur solely at the manufacturing stage. This is a gate damage that can occur due to charge accumulation on metals and discharge to a gate through gate oxide.

    Let us see how this happens. In the manufacturing process, metals are built layer by layer. i.e. metal1 is deposited first, then all unwanted portions are etched away, with plasma etching. The metal geometries when they are exposed to plasma can collect charge from it. Once metal1 is completed, via1 is built, then metal2 and so on. So with each passing stage, the metal geometries can build up static electricity. The larger the metal area that is exposed to the plasma, the more charge they can collect. If the charge collected is large enough to cause current to flow to the gate, this can cause damage to the gate oxide. This happens because since the layers are built one-by-one, a source/drain implant may not be available for discharge as in fig.b.

    Process Antenna

    Process Antenna

    Antenna rules are normally expressed as an allowable ratio of metal area to gate area. Each foundry sets a maximum allowable antenna ratio for its processes. If the metal area–which is cumulative, i.e. the sum of the ratios of all lower layer interconnects in addition to the layer in check–is greater than the allowable area, the physical verification tool flags an error.For example, let’s say maximum allowable antenna ratio for metal1 is 400. If the gate area is 1 sq.u and if the metal area connecting to the gate is 500 sq.u, there will be a process antenna violation.

  5. ERC
    ERC (Electrical rule check) involves checking a design for all electrical connections that are considered dangerous.

    • Floating gate error – If any gate is unconnected, this could lead to leakage issues.
    • VDD/VSS errors – The well geometries need to be connected to power/Ground and if the PG connection is not complete or if the pins are not defined, the whole layout can report errors like “NWELL not connected to VDD.
47 Comments

47 Comments

  1. JB

    April 1, 2014 at 10:53 pm

    Thanx alot)

  2. Umesh Mehta

    June 10, 2014 at 10:11 pm

    I appreciate sharing your knowledge here.
    Thank you very much.

    Umesh

  3. jinju p k

    September 29, 2014 at 3:58 pm

    What is meant by package lvs?

    • mm

      Sini Mukundan

      September 30, 2014 at 9:37 am

      I have only run package DRC. It checks the rules when your IC is connected by wires to the package you have selected. Checks for minimum and maximum wire length from package pin to a pad, distance between two adjacent wires etc. I would assume package LVs to be similar,checking for LVS rules.

  4. digital Bond

    October 13, 2014 at 3:16 pm

    Would you please describe the soft-connect errors?

  5. zomagboguelou

    November 24, 2014 at 11:08 pm

    How to resolve unbound pin VDD error ?

    • mm

      Sini Mukundan

      November 25, 2014 at 8:19 am

      I am assuming you are getting this in Assura?
      If you did the layout in EDI, make sure you have a terminal for VDD. If not create one using

      before writing out the design.

      You can also edit this in ICFB. You can use “create pin from labels”.

      • pramod

        December 3, 2014 at 7:35 am

        Why we use Higher metal layers for power and ground routing. In my project i am using m6 for P/G connections. How can they have less sheet resistance. I see the same width and resistance for all the metal layers in my library. Please explain it

        • Sini

          December 3, 2014 at 11:03 am

          Sheet resistance also depends on thickness. http://www.ece.gatech.edu/research/labs/vc/theory/sheetRes.html

          Check you technology files for all the metals’ values. Also, your design rule document should have the information. (Am not sure why a technology has all the same RC characteristic for all metals.) If you are using Cadence LEF, these are present in tech_lef.

          RESISTANCE RPERSQ 0.058 ;
          CAPACITANCE CPERSQDIST 1.35e-05 ;
          HEIGHT 2.5 ;
          THICKNESS 0.54 ;

  6. CLR

    January 8, 2015 at 5:33 pm

    Hey we are getting antenna violation on macros and we are restricted to use only till metal 5 and violation is occurring in metal 5 , since the violation is occuring on metal 5 we are not able to use metal jogging technique and we had to continue with antenna diodes insertion and we don’t know how proceed… Should we add diodes manually and connect it or is there any other way out? Please revert back . Thank you.

    • mm

      Sini Mukundan

      January 8, 2015 at 6:47 pm

      Do you mean it is coming to the pins of the hard macro inside your block? Then you might have to add diodes manually. You can write a script to add these to all offending pins.

      If the macro is your block, then you can still jump metal even if the violation is on top metal. Just make sure it is very close to the offending gate.The tool should have fixed the majority of violations in that case. Check you routing options, and see if all the relevant fix options are turned on and the antenna values in tech file is correct. If you have a larger diode in the library, use it for your route iterations.

  7. CLR

    January 16, 2015 at 6:29 am

    HI
    while Physical verification i’m getting some DRC violations like 90 degree gates are not allowed for thin gate and some violations regarding via shapes
    should it be fixed manually or is there a automation in tool

    • mm

      Sini Mukundan

      January 17, 2015 at 7:46 pm

      Sorry cannot help you. You need to debug manually and see why it is coming.

  8. vas

    May 27, 2015 at 3:25 pm

    Hi,
    Could you please let me know in detail how unconnected inputs could lead to leakage issues?

  9. Naveen Reddy

    June 9, 2015 at 9:59 am

    Hi,
    What is halo cell internal diagram?

  10. Naveen Reddy

    June 9, 2015 at 10:01 am

    Hi Sini,
    What is halo cell internal diagram? why we are using rather than dcap,endcap,filler cells.

    • mm

      Sini Mukundan

      June 9, 2015 at 5:00 pm

      When I refer to halo, it is the placement keepout margin around macros. Essentially a placement blockage.

      Maybe you use the term for some other kind of cells in your flow. It is not a generic cell type as far as I know.

  11. Santosh

    June 11, 2015 at 10:55 am

    Why IR drop check is needed? How to solve?

  12. Santosh

    June 11, 2015 at 10:58 am

    What is Power Straping?

  13. Santosh

    June 11, 2015 at 10:59 am

    why need to fix slope violation

  14. sandeep

    June 30, 2015 at 11:07 pm

    Hi Mam,
    Thanks for all the information you have been providing on the website, really appreciate your effort.
    I want to understand why at all there is a min/max width rule specified for metal layers. What is the underlying purpose?

    • mm

      Sini Mukundan

      July 1, 2015 at 10:18 am

      Minimum metal width I believe depends on the feature size possible for the layout and the thickness of the metal used. For example, it is typically taken as 3lambda to ensure it can be manufactured properly. I am not sure though.

      Max Width —
      http://vlsiforyou.blogspot.in/2015/04/metal-slotting-guidelines.html

    • karnakar reddy

      March 4, 2016 at 9:02 pm

      Min width are rules are used, to make sure that metal is manufactured correctly to provide intended functionality, i.e., while manufacturing we may not get the metal widths as we expected , simply , at any critical conditions to get proper connectivity we use min width violation rules

  15. Arif

    August 8, 2015 at 12:47 pm

    If in the top metal layer we get a antenna violation and we do not have any antenna diode available then how to solve the violation??????

    • mm

      Sini Mukundan

      August 8, 2015 at 1:24 pm

      Add a buffer. It will break the net.

    • karnakar reddy

      March 4, 2016 at 9:06 pm

      can solve by changing the stack of metal . for example you got violation on M9 and it is the top most layer then if possible any where break the metal and connect to M8 then V8 to M9 . there metal will be broken and no need to waste space by adding buffers.

  16. Arif

    August 12, 2015 at 12:27 pm

    Question: While doing synthesis,
    a. Unused logic and ports are removed while optimization If we specify so
    b. Unused logic is removed Normally
    c. Unused logic is untouched

    • Basavaraj Shikarakhane

      September 4, 2015 at 6:24 pm

      Great idea

  17. Kashyap Shah

    August 24, 2015 at 11:16 pm

    Hello,
    The article was really helpful. The project that I am working on are having timing violations on working. So, can you please guide regarding how can I close the timing after routing or how can I fix the setup and hold timing after routing?

    • mm

      Sini Mukundan

      August 25, 2015 at 10:26 am

      Kashyap,

      If the tool was unable to meet it on its own after postroute optimizations, you need to analyse your timing reports. This has to be design specific OR due to your SDC constraints.

  18. Rinu Johnson

    August 31, 2015 at 11:53 am

    Hi

    Any library checks need to be done by the end of the PD flow apart from DRC and LVS check…??? Thanks in advance

  19. Basavaraj Shikarakhane

    September 4, 2015 at 12:05 pm

    If I go for lower metal to fix antenna violation what will happen?

  20. sudheer

    September 23, 2015 at 11:05 pm

    Hi sini,
    can u please help me any websites for LAYOUT DESIGN, same as this website.

    • mm

      Sini Mukundan

      September 24, 2015 at 8:50 am

      I haven’t seen a single site for that, but if you google your query it will usually throw up a lot of articles.

      I believe most of my colleagues refer ‘the art of analog layout’ by Alan Hastings.

  21. SKG

    November 9, 2015 at 9:10 pm

    Hi,

    I have a small question on LVS. Was not completely sure why open nets occur in the design and what is the reason for that?

    • karnakar reddy

      March 4, 2016 at 9:11 pm

      while routing if congestion is there in metals , the tool can’t handle and it will left the nets half-routed.

  22. K .P.MANJUNATH

    December 9, 2015 at 1:04 am

    hello madam can we prooceed in there is any timing violations in the netlist provided after the synthesis report and if we procced on which basis we will proceed

  23. chax

    July 21, 2016 at 10:11 am

    Amazing it was . Thank you so much.

  24. mskim

    November 10, 2016 at 12:19 pm

    How do I insert an antenna diode?
    Do i have to define the pin of antenna diode as antenna diode in milkyway?

    • mm

      Sini Mukundan

      November 11, 2016 at 12:58 pm

      I forgot the specific commands but the antenna diodes need to be specified in milkyway library. (Maybe CLF/command)

      e.g.
      If you were using LEF file, you will have the following..

  25. Jeevan.K.Y

    November 16, 2016 at 9:51 pm

    How can i fix floating pin errors after placement

  26. kalyan

    February 17, 2017 at 4:31 pm

    Dear mam…I’m doing my internship here in ARICENT in PD domain so i would like to know in what way i can make use of this internship to get job as well(They said at the end of the internship based on performance they will hire me),so please sir any suggestions?

  27. AKASH SHARMA

    March 3, 2017 at 10:33 pm

    hello mam,
    can we use same metal layer like M6 for all the connection like clock routing,signal rounting etc ? pls mention the reason of your answer.
    Thanks in advance.

  28. Sarath

    October 20, 2017 at 1:12 pm

    After routing, the design goes for Tape-out. What exactly happens at this stage??

  29. Naresh Marikanti

    February 6, 2018 at 10:18 pm

    hi i am naresh i am interested in physical design i am Mtech graduate i am training in pd in hyd one institute please guide me i need your suggestions
    thank you

  30. Vishwanath

    March 11, 2018 at 11:15 am

    Hi Madam, Can you please provide the tcl scripts for physical verification (Calibre tool) ?

Leave a Reply

Your email address will not be published. Required fields are marked *

Most Popular

VLSI Pro is a professional network of VLSI engineers. Here you can find latest news, helpful articles and more on VLSI technology.

Copyright © 2016 VLSI Pro

To Top