2 chiffres significatif pour les delais et un debut de commentaire des generics

This commit is contained in:
Franck Wajsburt 1999-09-24 18:25:00 +00:00
parent 34213de79e
commit de45dcadaa
1 changed files with 88 additions and 57 deletions

View File

@ -1,4 +1,4 @@
.\" $Id: sxlib.5,v 1.1 1999/09/22 13:52:10 czo Exp $
.\" $Id: sxlib.5,v 1.2 1999/09/24 18:25:00 franck Exp $
.\" @(#)Labo.l 0.0 92/09/24 UPMC; Author: Franck Wajsburt
.pl -.4
.TH SXLIB 5 "September 16, 1999" "ASIM/LIP6" "CAO\-VLSI Reference Manual"
@ -75,7 +75,8 @@ cells, but 0.6ns is a good approximation.
The given delay is then a worst case (70degree, 2.7Volt, slow process,
worst input), an idea of the typical delay can be obtain by dividing worst
delay by 1.5, and best delay by dividing by 2. More detailed data can be
found in VHDL (.vbe) files.
found in GENERIC data included in the VHDL files (.vbe). Examples can be
found at the end of this manual.
.SH OUTPUT DRIVE
@ -164,68 +165,68 @@ means and, ^ means xor. Each input is followed by fan-in capacitance in fF,
\fB=================================================================\fP
\fBWIDTH NAME DELAY BEHAVIOR\fP
\fB---------------------------------------------------------- BUFFER\fP
3 inv_x1 .73 nq <= /i<8>
3 inv_x2 .76 nq <= /i<12>
4 inv_x4 .74 nq <= /i<26>
7 inv_x8 .73 nq <= /i<54>
4 buf_x2 1.00 q <= i<6>
5 buf_x4 1.00 q <= i<9>
8 buf_x8 1.00 q <= i<15>
3 inv_x1 .7 nq <= /i<8>
3 inv_x2 .7 nq <= /i<12>
4 inv_x4 .7 nq <= /i<26>
7 inv_x8 .7 nq <= /i<54>
4 buf_x2 1.0 q <= i<6>
5 buf_x4 1.0 q <= i<9>
8 buf_x8 1.0 q <= i<15>
\fB------------------------------------------------------ THREE STATE\fP
6 nts_x1 .85 IF (cmd<14>) nq <= /i<14>
8 nts_x2 .93 IF (cmd<18>) nq <= /i<28>
10 ts_x4 1.08 IF (cmd<19>) q <= i<8>
13 ts_x8 1.21 IF (cmd<19>) q <= i<8>
6 nts_x1 .8 IF (cmd<14>) nq <= /i<14>
8 nts_x2 .9 IF (cmd<18>) nq <= /i<28>
10 ts_x4 1.1 IF (cmd<19>) q <= i<8>
13 ts_x8 1.2 IF (cmd<19>) q <= i<8>
\fB-------------------------------------------------------------- AND\fP
4 na2_x1 .88 nq <= /(i0<11>.i1<11>)
7 na2_x4 1.19 nq <= /(i0<10>.i1<10>)
5 na3_x1 .96 nq <= /(i0<11>.i1<11>.i2<11>)
8 na3_x4 1.28 nq <= /(i0<10>.i1<10>.i2<10>)
6 na4_x1 1.02 nq <= /(i0<10>.i1<11>.i2<11>.i3<11>)
10 na4_x4 1.36 nq <= /(i0<10>.i1<11>.i2<11>.i3<11>)
5 a2_x2 1.03 q <= (i0<9>.i1<11>)
6 a2_x4 1.11 q <= (i0<9>.i1<11>)
6 a3_x2 1.11 q <= (i0<10>.i1<10>.i2<10>)
7 a3_x4 1.18 q <= (i0<10>.i1<10>.i2<10>)
7 a4_x2 1.17 q <= (i0<10>.i1<10>.i2<10>.i3<10>)
8 a4_x4 1.24 q <= (i0<10>.i1<10>.i2<10>.i3<10>)
4 na2_x1 .9 nq <= /(i0<11>.i1<11>)
7 na2_x4 1.2 nq <= /(i0<10>.i1<10>)
5 na3_x1 1.0 nq <= /(i0<11>.i1<11>.i2<11>)
8 na3_x4 1.3 nq <= /(i0<10>.i1<10>.i2<10>)
6 na4_x1 1.0 nq <= /(i0<10>.i1<11>.i2<11>.i3<11>)
10 na4_x4 1.4 nq <= /(i0<10>.i1<11>.i2<11>.i3<11>)
5 a2_x2 1.0 q <= (i0<9>.i1<11>)
6 a2_x4 1.1 q <= (i0<9>.i1<11>)
6 a3_x2 1.1 q <= (i0<10>.i1<10>.i2<10>)
7 a3_x4 1.2 q <= (i0<10>.i1<10>.i2<10>)
7 a4_x2 1.2 q <= (i0<10>.i1<10>.i2<10>.i3<10>)
8 a4_x4 1.3 q <= (i0<10>.i1<10>.i2<10>.i3<10>)
\fB--------------------------------------------------------------- OR\fP
4 no2_x1 .89 nq <= /(i0<12>+i1<12>)
8 no2_x4 1.20 nq <= /(i0<12>+i1<11>)
5 no3_x1 1.00 nq <= /(i0<12>+i1<12>+i2<12>)
8 no3_x4 1.31 nq <= /(i0<12>+i1<12>+i2<11>)
6 no4_x1 1.09 nq <= /(i0<12>+i1<12>+i2<12>+i3<12>)
10 no4_x4 1.40 nq <= /(i0<12>+i1<12>+i2<12>+i3<12>)
5 o2_x2 1.00 q <= (i0<10>+i1<10>)
6 o2_x4 1.08 q <= (i0<10>+i1<10>)
6 o3_x2 1.10 q <= (i0<10>+i1<10>+i2<9>)
10 o3_x4 1.21 q <= (i0<10>+i1<10>+i2<9>)
7 o4_x2 1.22 q <= (i0<10>+i1<10>+i2<10>+i3<9>)
8 o4_x4 1.30 q <= (i0<12>+i1<12>+i2<12>+i3<12>)
4 no2_x1 .9 nq <= /(i0<12>+i1<12>)
8 no2_x4 1.2 nq <= /(i0<12>+i1<11>)
5 no3_x1 1.0 nq <= /(i0<12>+i1<12>+i2<12>)
8 no3_x4 1.3 nq <= /(i0<12>+i1<12>+i2<11>)
6 no4_x1 1.1 nq <= /(i0<12>+i1<12>+i2<12>+i3<12>)
10 no4_x4 1.4 nq <= /(i0<12>+i1<12>+i2<12>+i3<12>)
5 o2_x2 1.0 q <= (i0<10>+i1<10>)
6 o2_x4 1.1 q <= (i0<10>+i1<10>)
6 o3_x2 1.1 q <= (i0<10>+i1<10>+i2<9>)
10 o3_x4 1.2 q <= (i0<10>+i1<10>+i2<9>)
7 o4_x2 1.2 q <= (i0<10>+i1<10>+i2<10>+i3<9>)
8 o4_x4 1.3 q <= (i0<12>+i1<12>+i2<12>+i3<12>)
\fB-------------------------------------------------------------- XOR\fP
9 nxr2_x1 1.09 nq <= /(i0<21>^i1<22>)
11 nxr2_x4 1.15 nq <= /(i0<20>^i1<21>)
9 xr2_x1 1.00 q <= (i0<21>^i1<22>)
12 xr2_x4 1.24 q <= (i0<20>^i1<21>)
9 nxr2_x1 1.1 nq <= /(i0<21>^i1<22>)
11 nxr2_x4 1.2 nq <= /(i0<20>^i1<21>)
9 xr2_x1 1.0 q <= (i0<21>^i1<22>)
12 xr2_x4 1.2 q <= (i0<20>^i1<21>)
\fB----------------------------------------------------------- AND/OR\fP
7 nao2o22_x1 .97 nq <= /((i0<14>+i1<14>).(i2<14>+i3<14>))
11 nao2o22_x4 1.39 nq <= /((i0<8>+i1<8>).(i2<8>+i3<8>))
7 noa2a22_x1 .96 nq <= /((i0<14>.i1<14>)+(i2<14>.i3<14>))
11 noa2a22_x4 1.39 nq <= /((i0<8>.i1<8>)+(i2<8>.i3<8>))
7 nao2o22_x1 1.0 nq <= /((i0<14>+i1<14>).(i2<14>+i3<14>))
11 nao2o22_x4 1.4 nq <= /((i0<8>+i1<8>).(i2<8>+i3<8>))
7 noa2a22_x1 1.0 nq <= /((i0<14>.i1<14>)+(i2<14>.i3<14>))
11 noa2a22_x4 1.4 nq <= /((i0<8>.i1<8>)+(i2<8>.i3<8>))
\fB------------------------------------------------------ MULTIPLEXER\fP
7 nmx2_x1 1.00 nq <= /((i0<14>./cmd<21>)+(i1<14>.cmd))
12 nmx2_x4 1.29 nq <= /((i0<8>./cmd<14>)+(i1<9>.cmd))
9 mx2_x2 1.12 q <= (i0<8>./cmd<17>)+(i1<9>.cmd)
10 mx2_x4 1.28 q <= (i0<8>./cmd<17>)+(i1<9>.cmd)
7 nmx2_x1 1.0 nq <= /((i0<14>./cmd<21>)+(i1<14>.cmd))
12 nmx2_x4 1.3 nq <= /((i0<8>./cmd<14>)+(i1<9>.cmd))
9 mx2_x2 1.1 q <= (i0<8>./cmd<17>)+(i1<9>.cmd)
10 mx2_x4 1.3 q <= (i0<8>./cmd<17>)+(i1<9>.cmd)
\fB-------------------------------------------------------- FLIP-FLOP\fP
."25 nsdff2_x4 1.04 IF RISE(ck<23>) nq <=/((i0<11>./cmd<13>)+(i1<7>.cmd))
18 sff1_x4 1.68 IF RISE(ck<8>) q <= i<8>
24 sff2_x4 1.93 IF RISE(ck<8>) q <= ((i0<8>./cmd<16>)+(i1<7>.cmd))
."25 nsdff2_x4 1.0 IF RISE(ck<23>) nq <=/((i0<11>./cmd<13>)+(i1<7>.cmd))
18 sff1_x4 1.7 IF RISE(ck<8>) q <= i<8>
24 sff2_x4 1.9 IF RISE(ck<8>) q <= ((i0<8>./cmd<16>)+(i1<7>.cmd))
\fB---------------------------------------------------------- SPECIAL\fP
3 zero_x0 0 nq <= '0'
3 one_x0 0 q <= '1'
2 tie_x0 0 Body tie cell
1 rowend_x0 0 Empty cell
3 zero_x0 0 nq <= '0'
3 one_x0 0 q <= '1'
2 tie_x0 0 Body tie cell
1 rowend_x0 0 Empty cell
\fB==================================================================\fP
.fi
@ -234,7 +235,7 @@ means and, ^ means xor. Each input is followed by fan-in capacitance in fF,
\fB MBK_CATA_LIB (1), catal(1), scr(1), lynx(1), bop(1), glop(1), scmap(1),
c4map(1), tas(1), yagle(1), genlib(1), ap(1), al(1), vbe(1)\fP
.SH NOTES
.SH NEW CELLS
It is possible to add new cells in the library just by providing the 3
files .ap, .al and .vbe in the standard cell directory. The layout view
@ -249,4 +250,34 @@ files.
If you develop new cells, please send the corresponding files
to alliance\-support@asim.lip6.fr
.SH VHDL FILES
You can find below the commented VHDL GENERIC for the na2_x4 cell.
.nf
ENTITY na2_x4 IS
GENERIC (
CONSTANT area : NATURAL := 1750; -- lamba * lambda
CONSTANT transistors : NATURAL := 10; -- number of
CONSTANT cin_i0 : NATURAL := 10; -- femto Farad for i0
CONSTANT cin_i1 : NATURAL := 10; -- femto Farad for i1
CONSTANT tplh_i1_nq : NATURAL := 606; -- propag. time in pico-sec
-- from i1 falling
-- to nq rizing
CONSTANT rup_i1_nq : NATURAL := 890; -- resitance in Ohms when nq
-- rizing due to i1 change
CONSTANT tphl_i1_nq : NATURAL := 349; -- propag time when nq falls
CONSTANT rdown_i1_nq : NATURAL := 800; -- resist when nq falls
CONSTANT tplh_i0_nq : NATURAL := 557; -- idem for i0
CONSTANT rup_i0_nq : NATURAL := 890;
CONSTANT tphl_i0_nq : NATURAL := 408;
CONSTANT rdown_i0_nq : NATURAL := 800
);
PORT (
i0 : in BIT;
i1 : in BIT;
nq : out BIT;
vdd : in BIT;
vss : in BIT
);
.fi
.so man1/alc_bug_report.1