oagTimer::LinearWireModel Class Reference

#include <oagTimerLinearWireModel.h>

Inheritance diagram for oagTimer::LinearWireModel:

Inheritance graph
[legend]
Collaboration diagram for oagTimer::LinearWireModel:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LinearWireModel (oaTech *tech=0)
 ~LinearWireModel ()
 Destructor.
void set (oaTech *tech)
double getWireCap (oaNet *net)
DelayType getWireDelay (oaNet *net)

Private Attributes

oaTech * _tech
 Tech library to use.
double _capPerLength
double _resPerLength

Detailed Description

A simple wire model class.

This class implements a simple wire delay model for the timer. It is based on a linear wire delay model (the linear model is used here to simulate the effect of optimal buffering; see Otten, Brayton DAC 1998).

R/C values are taken from the metal3 layer of the given tech library. Routing is estimated by assuming a wire with length equal to the bounding box of the net and width the minimium wire width of the metal3 layer.

Todo:
Check all units and make more efficient by not converting everything to user units (use DB units instead).


Constructor & Destructor Documentation

oagTimer::LinearWireModel::LinearWireModel oaTech *  tech = 0  ) 
 

Constructor.

Parameters:
tech Tech to use.

Here is the call graph for this function:

oagTimer::LinearWireModel::~LinearWireModel  )  [inline]
 

Destructor.


Member Function Documentation

double oagTimer::LinearWireModel::getWireCap oaNet *  net  )  [virtual]
 

Get the wire capacitance associated with the given net.

Todo:
Check correctness and units
Parameters:
net The net.
Returns:
Capacitance in picofarads.

Implements oagTimer::WireModel.

double oagTimer::LinearWireModel::getWireDelay oaNet *  net  )  [virtual]
 

Get the wire delay associated with the given net.

Todo:
Check correctness and units.
Parameters:
net The net.
Returns:
Delay in nanoseconds.

Implements oagTimer::WireModel.

void oagTimer::LinearWireModel::set oaTech *  tech  ) 
 

Set the tech library associated with this wire model instance.

Parameters:
tech Tech to use.


Member Data Documentation

double oagTimer::LinearWireModel::_capPerLength [private]
 

Capacitance per unit length. Units are picofarads/DB units.

Todo:
Check units.

double oagTimer::LinearWireModel::_resPerLength [private]
 

Resistance per unit length. Units are ohms/DB units.

Todo:
Check units.

oaTech* oagTimer::LinearWireModel::_tech [private]
 

Tech library to use.


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 14:25:11 2011 by  doxygen 1.3.9.1