10 January 2011

Fixing Transition Violation

Transition violations can be fixed by different methods based on the design situations.

They include:

  • Up sizing the driver cell 
  • Decreasing the net length by moving cells nearer or reducing long routed net 
  • By adding buffers 
  • By using existing spare cells as buffers 
  • By splitting loads through buffers to reduce the fan out number (number of driven cells) 

First we need to analyze the root causes of violations. Obstructions such as macros, routing blockages, or fixed status of cells might have caused long routed net lengths or detours causing increased load on the connected driver.

Recently I had a chance to work on metal only change ECO wherein no base layer change is carried out. The new ECO cells added are having the same base layers. Special ECO cell library has been used for this purpose. Here new cells have to be added wherever space available by not moving any of the existing placed cells. Naturally placement of the new cells were not based on connectivity of the cells rather it was availability of the placement locations. This caused long routed nets causing huge transition violation.

In this case how did I fix transition?

Newly added cells are moved nearer as much as possible to the nearest available locations based on the connectivity with the existing cells. This reduced overall transition violations. Wherever it was possible driver cells were up sized. There were several situations for which further up sizing was not possible. Here I adopted different technique to solve transition violations. We had good number SPARE cells available in the design. This included Spare AND and OR gates. Inputs of spare AND gate is tied to logic 1 and spare OR gate is connected to logic 0. By using any one of the inputs we can use these spare cells as buffers and that’s what I did. I tried to find a spare cell near the violated net path and inserted it as buffer. Since used spare cells were of high drive strengths my method yielded good results by reducing transition to a large extent.

Wherever I could find enough setup margin I can easily insert high drive strength buffers to tackle transition.


No comments:

Post a Comment

Your Comments... (comments are moderated)