Friday, December 17, 2010

Sizing a n-input standard gate (where n≠1)

Load Capacitance = CLOAD

Input Capacitance of the n-input NAND gate = CN

Beta ratio of n-input NAND gate = βN

Input Capacitance of equivalent inverter = CINV

Beta ratio of equivalent Inverter = βINV

(a) Logical Effort:

(b) Assume an inverter in place of the n-input NAND gate:

Now, the equivalent pull-down strength of the n-input NAND gate is:

Hence, adding WNN and WPN we get CN:


E.g. for ND2, βN = 1 and for INV βINV = 2:

Thursday, December 2, 2010

Wire resistive shielding

With a very long wire, the net RC for calculations is assumed to be 50% of the actual RC. This is because of resistive shielding of the long wire. The driver can only see 50% of the actual RC and increasing the drive-strength by more than that required for a 0.5RC won't give us any more benefit.

Friday, October 8, 2010

Sizing the bit-line pre-charge device

Margins
Slopes
Better Tracking

Sizing the bit-line keeper

The bit-line keeper should be sized so that the following criterion are met:

1. Writability
2. Keeper Leaker Ratio

Design Margins in SRAM Design

To basic types:
  • Self Timed: Does not vary with frequency, process, temperature, voltage
  • Frequency Dependent: Varies with each timing, process corner
Self-Timed Margin (STM) can be of two sub-types:
  • STM(Functional): Not meeting this margin breaks your functionality and the design is broken. For Example: Setup and Hold Violations.
    Typically 15% pre-layout and 10% post-layout
  • STM(Crowbar): Not meeting this margin, causes a crow-bar current. You lose performance and power, but the design is correct functionally. For Example: Turning off pre-charge clock after the word-line turns on, causes the bit-line to discharge very slowly and there is a huge crow-bar current flowing through it. This impacts your clk2q and also is a huge power drain.
    Typically 0-10% pre-layout and 10% post-layout

Thursday, April 1, 2010

Sorting in a huge data file

Instead of writing a perl code that uses Bubble Sort/Quick Sort/or any other sorting algorithm, simply use "sort" command in unix.

## unix sort
## sort -gk 4,4 inputfile -o outputfile
## -g :general, handles scientific notation
## -k 4,4 :start and end on 4th field