ajout de nouvelles cellules et quelques info generales en plus
This commit is contained in:
parent
91c1379ad8
commit
8e7858a9f5
|
@ -1,6 +1,6 @@
|
|||
.\" $Id: sxlib.5,v 1.6 1999/09/29 18:29:08 franck Exp $
|
||||
.\" $Id: sxlib.5,v 1.7 1999/10/21 11:45:10 franck Exp $
|
||||
.\" @(#)Labo.l 0.0 92/09/24 UPMC; Author: Franck Wajsburt
|
||||
.TH SXLIB 5 "September 16, 1999" "ASIM/LIP6" "CAO\-VLSI Reference Manual"
|
||||
.TH SXLIB 5 "October 19, 1999" "ASIM/LIP6" "CAO\-VLSI Reference Manual"
|
||||
.SH NAME
|
||||
.B sxlib - a portable CMOS Standard Cell Library
|
||||
.so man1/alc_origin.1
|
||||
|
@ -9,11 +9,11 @@
|
|||
|
||||
\fBsxlib\fP library contains standard cells that have been developed at
|
||||
UPMC-ASIM/LIP6. This manual gives the list of available cells, with their
|
||||
behavior, width, maximum delay and input fan-in. This manual gives also
|
||||
few thumb rules to help the user to well use the cells. The given delais
|
||||
are the maximum (that means worst case for a generic .35 micron process).
|
||||
More precise delais can be found in ALLIANCE VHDL behavior files (.vbe file).
|
||||
Cell-name is built that way <behavior>_<output drive>
|
||||
behavior, width, maximum delay and input fan-in. This manual gives also
|
||||
few thumb rules to help the user to well use the cells. The given delay
|
||||
are the maximum (that means worst case for a generic .35 micron process).
|
||||
More precise delay can be found in ALLIANCE VHDL behavior files (.vbe file).
|
||||
Cell-name is built that way <behavior>_<output drive>
|
||||
(see explanations below).
|
||||
|
||||
.nf
|
||||
|
@ -71,7 +71,7 @@ the 5x5 grid.
|
|||
Cells have been extracted and simulated by using a generic 0.35um process
|
||||
in order to give realistic values for the delays and capacitances. We
|
||||
chose to give only the worst delay for each output signal, though it is not
|
||||
very realistic. (since delay depends on each input, an input can be easily
|
||||
very realistic (since delay depends on each input, an input can be easily
|
||||
up to twice faster than another). However, we just wanted to give an idea
|
||||
of the relative delay.
|
||||
|
||||
|
@ -91,6 +91,11 @@ delay by 1.5, and best delay by dividing by 2. More detailed data can be
|
|||
found in GENERIC data included in the VHDL files (.vbe). Examples can be
|
||||
found at the end of this manual.
|
||||
|
||||
At last, to get a very better idea about the real delay without simulating
|
||||
the spice transistor netlist, it is required to use the TAS (1) tool, which
|
||||
is a timing static analyzer able to give the longer and the shorter path for
|
||||
a given process.
|
||||
|
||||
.SH OUTPUT DRIVE
|
||||
|
||||
The output drive of a cell gives an information on the faculty for the cell
|
||||
|
@ -110,12 +115,18 @@ With the 0.35um process, an \fBx1\fP is able to drive about \fB125fF\fP,
|
|||
This is just an indication since if a cell is overloaded, the only
|
||||
consequence is to increase the propagation time. On the other hand, it is
|
||||
not very good to under-load a cell because this leads to a signal overshoot.
|
||||
Actually, for big gate, such as noa3ao322_x1, \fBx1\fP means maximal
|
||||
driving strength reachable with a single logic layer, that can be much
|
||||
less than an inv_x1. That is why is the cell list below contains more precise
|
||||
drive strengh. As you can see noa3ao322_x1 as a output drive strengh of 0.6,
|
||||
that means 0.6 time an inverter, so say it can drive about 0.6*125fF=75fF.
|
||||
|
||||
With the 0.35um process, a \fB1\fP lambda interconnect wire is about
|
||||
\fB0.15fF\fP, an average cell fan-in is 10fF. Then, if it needs about 50
|
||||
lambdas to connect 2 cells, an \fBx1\fP cell is able to drive about 7
|
||||
cells (125/(10+50*.15)=7). With 100 lambdas, 5 cells, with 750 lambdas
|
||||
only 2 cells.
|
||||
only 2 cells. Note that 50 lambdas means cells are very close one from
|
||||
each other, nearly abutted, 100 lambdas is an average value.
|
||||
|
||||
All this are indications. Only a timing analysis on the extracted
|
||||
transistor net-list from layout can tell if a cell is well used or not
|
||||
|
@ -123,13 +134,13 @@ transistor net-list from layout can tell if a cell is well used or not
|
|||
|
||||
.SH BEHAVIOR
|
||||
|
||||
The user can deduce the cell behavior just by reading its name. That is
|
||||
very intuitive for \fBinv\fPerter and more complex for and/or cells. For
|
||||
the last, the name gives the and/or tree structure. The input order for
|
||||
the VHDL interface component is always the alphabetic order.
|
||||
For most of cells, the user can deduce the cell behavior just by reading its
|
||||
name. That is very intuitive for \fBinv\fPerter and more complex for and/or
|
||||
cells. For the last, the name gives the and/or tree structure. The input
|
||||
order for the VHDL interface component is always the alphabetic order.
|
||||
|
||||
.nf
|
||||
\fBinv\fP : \fBinv\fPersor
|
||||
\fBinv\fP : \fBinv\fPersor buffer
|
||||
\fBbuf\fP : \fBbuf\fPfer
|
||||
[\fBn\fP]\fBts\fP : [\fBn\fPot] \fBt\fPree-\fBs\fPtate
|
||||
[\fBn\fP]\fBxr\fP<i> : [\fBn\fPot] \fBx\fPo\fBr\fP <i> inputs
|
||||
|
@ -137,10 +148,7 @@ the VHDL interface component is always the alphabetic order.
|
|||
[\fBn\fP][\fBsd\fP]\fBff\fP<i> : [\fBn\fPot] [\fBs\fPtatic|\fBd\fPynamic] \fBf\fPlip-\fBf\fPlop <i> inputs
|
||||
[\fBn\fP]\fBoa\fP... : [\fBn\fPot] \fBa\fPnd/\fBo\fPr function (see below)
|
||||
|
||||
|
||||
|
||||
|
||||
\fBand_or cell (lex grammar):-\fP
|
||||
\fBand_or cell (YACC (1) grammar):-\fP
|
||||
|
||||
NAME : \fBn\fP OA_CELL -> not OA_CELL
|
||||
| OA_CELL -> OA_CELL
|
||||
|
@ -151,6 +159,7 @@ OA_CELL : OPERATOR INPUTS -> function with INPUTS inputs
|
|||
|
||||
OPERATOR : \fBa\fP -> and
|
||||
| \fBo\fP -> or
|
||||
| \fBn\fP -> not
|
||||
|
||||
OA_CELLS : OA_CELLS OA_CELL -> list of OA_CELL
|
||||
| OA_CELL -> last OA_CELL of the list
|
||||
|
@ -160,109 +169,192 @@ INPUTS : \fBinteger\fP -> number of inputs
|
|||
The input names are implicit and formed that way \fBi<number>\fP.
|
||||
They are attributed in order beginning by \fBi0\fP.
|
||||
|
||||
\fBnx\fP where x is a number means there are x inverters in parallel. For
|
||||
example an23 is an \fBand\fP with 3 inputs of which two are inverted, that
|
||||
is \fBand( not(i0), not(i1), i2)\fP.
|
||||
|
||||
\fBExamples:-\fP (some are not in sxlib)
|
||||
|
||||
na2 : not( and(i0,i1))
|
||||
on12 : or( not(i0), i1)
|
||||
noa2a22 : not( or( and(i0,i1), and(i2,i3)))
|
||||
noa23 : not( or( and(i0,i1), i3))
|
||||
noao22a34 : not( or( and( or(i0,i1), i2), and(i3,i4,i5), i6, i7))
|
||||
|
||||
Note that xr2 could not be expressed with an and/or formulea even if
|
||||
.br
|
||||
xr2 = or( and( not(i0), i1), and( not(i1), i0)) = oan12an122
|
||||
.br
|
||||
but the input names are not well distributed.
|
||||
.fi
|
||||
|
||||
.SH CELL LIST
|
||||
|
||||
All available cells are listed below. The first column is the pitch width.
|
||||
The pitch value is 5 lambdas. The height is 50. Area is then <number>*5*50.
|
||||
The delay is in nano-seconds. Remember this delay corresponds to the slower
|
||||
input+0.6ns. The behavior gives logic function. / means not, + means or, .
|
||||
means and, ^ means xor. Each input is followed by fan-in capacitance in fF,
|
||||
|
||||
The second column is the output drive strenght compared with the \fBinv_x1\fP
|
||||
output drive strenght (see explanation above in section OUTPUT DRIVE).
|
||||
|
||||
The following column is the delay in nano-seconds.
|
||||
Remember this delay corresponds to the slower
|
||||
input+0.6ns (see explanation above in section DELAY MODEL).
|
||||
|
||||
The last column gives the function behavior with input capacitance.
|
||||
\fB/\fP means \fBnot\fP, \fB+\fP means \fBor\fP, \fB.\fP
|
||||
means \fBand\fP, \fB^\fP means \fBxor\fP.
|
||||
Each input is followed by fan-in capacitance in fF,
|
||||
(e.g. i0<11> means i0 pin capacitance is 11fF).
|
||||
|
||||
For some cells, such as
|
||||
\fBfulladder\fP, it was not possible to internally connect all inputs.
|
||||
That means there are several inputs that \fBmust be externally connected\fP.
|
||||
In the following list, these inputs are followed by a star (*) character in
|
||||
the equation.
|
||||
|
||||
For example, fulladder equation is sout <= (a* . b* . cin*).
|
||||
a* replaces a0, a1, a2, a3 that must be explicitly connected by the user.
|
||||
Note also few cells have more than one output. In that case there are
|
||||
several lines in the list, one by output.
|
||||
.nf
|
||||
|
||||
|
||||
\fB=================================================================\fP
|
||||
\fBWIDTH NAME DELAY BEHAVIOR\fP
|
||||
\fBWIDTH NAME DRIVE DELAY BEHAVIOR with cin\fP
|
||||
\fB-------------------------------------------------------- INVERSOR\fP
|
||||
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>
|
||||
3 inv_x1 1.0 0.7 nq <= /i<8>
|
||||
3 inv_x2 1.6 0.7 nq <= /i<12>
|
||||
4 inv_x4 3.6 0.7 nq <= /i<26>
|
||||
7 inv_x8 8.4 0.7 nq <= /i<54>
|
||||
\fB---------------------------------------------------------- BUFFER\fP
|
||||
4 buf_x2 1.0 q <= i<6>
|
||||
5 buf_x4 1.0 q <= i<9>
|
||||
8 buf_x8 1.0 q <= i<15>
|
||||
|
||||
4 buf_x2 2.1 1.0 q <= i<6>
|
||||
5 buf_x4 4.3 1.0 q <= i<9>
|
||||
8 buf_x8 8.4 1.0 q <= i<15>
|
||||
\fB------------------------------------------------------ THREE STATE\fP
|
||||
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>
|
||||
6 nts_x1 1.2 0.8 IF (cmd<14>) nq <= /i<14>
|
||||
8 nts_x2 2.4 0.9 IF (cmd<18>) nq <= /i<28>
|
||||
10 ts_x4 4.3 1.1 IF (cmd<19>) q <= i<8>
|
||||
13 ts_x8 8.4 1.2 IF (cmd<19>) q <= i<8>
|
||||
\fB-------------------------------------------------------------- AND\fP
|
||||
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>)
|
||||
4 na2_x1 1.0 0.9 nq <= /(i0<11>.i1<11>)
|
||||
7 na2_x4 4.3 1.2 nq <= /(i0<10>.i1<10>)
|
||||
5 na3_x1 0.9 1.0 nq <= /(i0<11>.i1<11>.i2<11>)
|
||||
8 na3_x4 4.3 1.3 nq <= /(i0<10>.i1<10>.i2<10>)
|
||||
6 na4_x1 0.7 1.0 nq <= /(i0<10>.i1<11>.i2<11>.i3<11>)
|
||||
10 na4_x4 4.3 1.4 nq <= /(i0<10>.i1<11>.i2<11>.i3<11>)
|
||||
5 a2_x2 2.1 1.0 q <= (i0<9>.i1<11>)
|
||||
6 a2_x4 4.3 1.1 q <= (i0<9>.i1<11>)
|
||||
6 a3_x2 2.1 1.1 q <= (i0<10>.i1<10>.i2<10>)
|
||||
7 a3_x4 4.3 1.2 q <= (i0<10>.i1<10>.i2<10>)
|
||||
7 a4_x2 2.1 1.2 q <= (i0<10>.i1<10>.i2<10>.i3<10>)
|
||||
8 a4_x4 4.3 1.3 q <= (i0<10>.i1<10>.i2<10>.i3<10>)
|
||||
5 an12_x1 1.0 1.0 q <= (/i0<12>).i1<9>
|
||||
8 an12_x4 4.3 1.1 q <= (/i0<9>).i1<11>
|
||||
\fB--------------------------------------------------------------- OR\fP
|
||||
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>)
|
||||
4 no2_x1 1.0 0.9 nq <= /(i0<12>+i1<12>)
|
||||
8 no2_x4 4.3 1.2 nq <= /(i0<12>+i1<11>)
|
||||
5 no3_x1 0.8 1.0 nq <= /(i0<12>+i1<12>+i2<12>)
|
||||
8 no3_x4 4.3 1.3 nq <= /(i0<12>+i1<12>+i2<11>)
|
||||
6 no4_x1 0.6 1.1 nq <= /(i0<12>+i1<12>+i2<12>+i3<12>)
|
||||
10 no4_x4 4.3 1.4 nq <= /(i0<12>+i1<12>+i2<12>+i3<12>)
|
||||
5 o2_x2 2.1 1.0 q <= (i0<10>+i1<10>)
|
||||
6 o2_x4 4.3 1.1 q <= (i0<10>+i1<10>)
|
||||
6 o3_x2 2.1 1.1 q <= (i0<10>+i1<10>+i2<9>)
|
||||
10 o3_x4 4.3 1.2 q <= (i0<10>+i1<10>+i2<9>)
|
||||
7 o4_x2 2.1 1.2 q <= (i0<10>+i1<10>+i2<10>+i3<9>)
|
||||
8 o4_x4 4.3 1.3 q <= (i0<12>+i1<12>+i2<12>+i3<12>)
|
||||
5 on12_x1 1.0 0.9 q <= (/i0<11>)+i1<9>
|
||||
8 on12_x4 4.3 1.1 q <= (/i0<9>)+i1<10>
|
||||
\fB--------------------------------------------------------- AND/OR 3\fP
|
||||
6 nao22_x1 .9 nq <= /((i0<14>+i1<14>).i2<14>)
|
||||
10 nao22_x4 1.3 nq <= /((i0<8>+i1<8>).i2<9>)
|
||||
6 noa22_x1 .9 nq <= /((i0<14>.i1<14>)+i2<14>)
|
||||
10 noa22_x4 1.3 nq <= /((i0<8>.i1<8>)+i2<9>)
|
||||
6 ao22_x1 1.2 q <= ((i0<8>+i1<8>).i2<9>)
|
||||
8 ao22_x4 1.3 q <= ((i0<8>+i1<8>).i2<9>)
|
||||
6 oa22_x1 1.2 q <= ((i0<8>.i1<8>)+i2<9>)
|
||||
8 oa22_x4 1.3 q <= ((i0<8>.i1<8>)+i2<9>)
|
||||
6 nao22_x1 1.2 0.9 nq <= /((i0<14>+i1<14>).i2<14>)
|
||||
10 nao22_x4 4.3 1.3 nq <= /((i0<8> +i1<8>) .i2<9>)
|
||||
6 noa22_x1 1.2 0.9 nq <= /((i0<14>.i1<14>)+i2<14>)
|
||||
10 noa22_x4 4.3 1.3 nq <= /((i0<8> .i1<8>) +i2<9>)
|
||||
6 ao22_x2 2.1 1.2 q <= ((i0<8>+i1<8>).i2<9>)
|
||||
8 ao22_x4 4.3 1.3 q <= ((i0<8>+i1<8>).i2<9>)
|
||||
6 oa22_x2 2.1 1.2 q <= ((i0<8>.i1<8>)+i2<9>)
|
||||
8 oa22_x4 4.3 1.3 q <= ((i0<8>.i1<8>)+i2<9>)
|
||||
\fB--------------------------------------------------------- AND/OR 4\fP
|
||||
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>))
|
||||
9 ao2o22_x1 1.2 q <= ((i0<8>+i1<8>).(i2<8>+i3<8>))
|
||||
10 ao2o22_x4 1.3 q <= ((i0<8>+i1<8>).(i2<8>+i3<8>))
|
||||
9 oa2a22_x1 1.2 q <= ((i0<8>.i1<8>)+(i2<8>.i3<8>))
|
||||
10 oa2a22_x4 1.4 q <= ((i0<8>.i1<8>)+(i2<8>.i3<8>))
|
||||
|
||||
|
||||
|
||||
7 nao2o22_x1 1.2 1.0 nq <= /((i0<14>+i1<14>).(i2<14>+i3<14>))
|
||||
11 nao2o22_x4 4.3 1.4 nq <= /((i0<8> +i1<8>) .(i2<8> +i3<8>))
|
||||
7 noa2a22_x1 1.2 1.0 nq <= /((i0<14>.i1<14>)+(i2<14>.i3<14>))
|
||||
11 noa2a22_x4 4.3 1.4 nq <= /((i0<8> .i1<8>) +(i2<8> .i3<8>))
|
||||
9 ao2o22_x2 2.1 1.2 q <= ((i0<8>+i1<8>).(i2<8>+i3<8>))
|
||||
10 ao2o22_x4 4.3 1.3 q <= ((i0<8>+i1<8>).(i2<8>+i3<8>))
|
||||
9 oa2a22_x2 2.1 1.2 q <= ((i0<8>.i1<8>)+(i2<8>.i3<8>))
|
||||
10 oa2a22_x4 4.3 1.4 q <= ((i0<8>.i1<8>)+(i2<8>.i3<8>))
|
||||
\fB--------------------------------------------------------- AND/OR 5\fP
|
||||
7 noa2ao222_x1 0.7 1.1 nq <= /((i0<11>.i1<11>)+((i2<13>+i3<13>).i4<13>))
|
||||
11 noa2ao222_x4 4.3 1.4 nq <= /((i0<11>.i1<11>)+((i2<11>+i3<11>).i4<11>))
|
||||
10 oa2ao222_x2 2.1 1.2 q <= ((i0<8> .i1<8>) +((i2<8> +i3<8>) .i4<8>))
|
||||
11 oa2ao222_x4 4.3 1.3 q <= ((i0<8> .i1<8>) +((i2<8> +i3<8>) .i4<8>))
|
||||
\fB--------------------------------------------------------- AND/OR 6\fP
|
||||
10 noa2a2a23_x1 0.8 1.2 nq <= /((i0<13>.i1<14>) +(i2<14>.i3<14>)
|
||||
+(i4<14>.i5<14>))
|
||||
13 noa2a2a23_x4 4.3 1.3 nq <= /((i0<13>.i1<14>) +(i2<14>.i3<14>)
|
||||
+(i4<14>.i5<14>))
|
||||
12 oa2a2a23_x2 2.1 1.4 q <= ((i0<13>.i1<14>) +(i2<14>.i3<14>)
|
||||
+(i4<14>.i5<14>))
|
||||
13 oa2a2a23_x4 4.3 1.4 q <= ((i0<13>.i1<14>) +(i2<14>.i3<14>)
|
||||
+(i4<14>.i5<14>))
|
||||
\fB--------------------------------------------------------- AND/OR 7\fP
|
||||
9 noa3ao322_x1 0.6 1.2 nq <= /((i0<13>.i1<13>.i2<12>)
|
||||
+((i3<13>+i4<13>+i5<13>).i6<13>))
|
||||
11 noa3ao322_x4 4.3 1.4 nq <= /((i0<10>.i1<9>.i2<9>)
|
||||
+((i3<9>+i4<9>+i5<9>).i6<9>))
|
||||
10 oa3ao322_x2 2.1 1.2 q <= /((i0<10>.i1<9>.i2<9>)
|
||||
+((i3<9>+i4<9>+i5<9>).i6<9>))
|
||||
11 oa3ao322_x4 4.3 1.3 q <= /((i0<10>.i1<9>.i2<9>)
|
||||
+((i3<9>+i4<9>+i5<9>).i6<9>))
|
||||
\fB--------------------------------------------------------- AND/OR 8\fP
|
||||
14 noa2a2a2a24_x1 0.6 1.4 nq <= /((i0<14>.i1<14>)+(i2<13>.i3<13>)
|
||||
+(i4<13>.i5<13>)+(i6<14>.i7<14>))
|
||||
17 noa2a2a2a24_x4 4.3 1.7 nq <= /((i0<14>.i1<14>)+(i2<14>.i3<13>)
|
||||
+(i4<13>.i5<13>)+(i6<14>.i7<14>))
|
||||
15 oa2a2a2a24_x2 2.1 1.5 q <= ((i0<14>.i1<14>)+(i2<14>.i3<13>)
|
||||
+(i4<13>.i5<13>)+(i6<14>.i7<14>))
|
||||
16 oa2a2a2a24_x4 4.3 1.6 q <= ((i0<14>.i1<14>)+(i2<14>.i3<13>)
|
||||
+(i4<13>.i5<13>)+(i6<14>.i7<14>))
|
||||
\fB------------------------------------------------------ MULTIPLEXER\fP
|
||||
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)
|
||||
7 nmx2_x1 1.2 1.0 nq <= /((i0<14>./cmd<21>)+(i1<14>.cmd))
|
||||
12 nmx2_x4 4.3 1.3 nq <= /((i0<8>./cmd<14>)+(i1<9>.cmd))
|
||||
9 mx2_x2 2.1 1.1 q <= (i0<8>./cmd<17>)+(i1<9>.cmd)
|
||||
10 mx2_x4 4.3 1.3 q <= (i0<8>./cmd<17>)+(i1<9>.cmd)
|
||||
12 nmx3_x1 0.4 1.2 nq <= /((i0<9>./cmd0<15>)
|
||||
+(((i1<8>.cmd1<15>)+(i2<8>./cmd1)).cmd0))
|
||||
15 nmx3_x4 4.3 1.7 nq <= /((i0<9>./cmd0<15>)
|
||||
+(((i1<8>.cmd1<15>)+(i2<8>./cmd1)).cmd0))
|
||||
13 mx3_x2 2.1 1.4 q <= ((i0<9>./cmd0<15>)
|
||||
+(((i1<8>.cmd1<15>)+(i2<8>./cmd1)).cmd0))
|
||||
14 mx3_x4 4.3 1.6 q <= ((i0<9>./cmd0<15>)
|
||||
+(((i1<8>.cmd1<15>)+(i2<8>./cmd1)).cmd0))
|
||||
\fB-------------------------------------------------------------- XOR\fP
|
||||
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>)
|
||||
9 nxr2_x1 1.2 1.1 nq <= /(i0<21>^i1<22>)
|
||||
11 nxr2_x4 4.3 1.2 nq <= /(i0<20>^i1<21>)
|
||||
9 xr2_x1 1.2 1.0 q <= (i0<21>^i1<22>)
|
||||
12 xr2_x4 4.3 1.2 q <= (i0<20>^i1<21>)
|
||||
\fB-------------------------------------------------------- FLIP-FLOP\fP
|
||||
."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))
|
||||
."25 nsdff2_x4 4.3 1.0 IF RISE(ck<23>)
|
||||
nq <=/((i0<11>./cmd<13>)+(i1<7>.cmd))
|
||||
18 sff1_x4 4.3 1.7 IF RISE(ck<8>)
|
||||
q <= i<8>
|
||||
24 sff2_x4 4.3 1.9 IF RISE(ck<8>)
|
||||
q <= ((i0<8>./cmd<16>)+(i1<7>.cmd))
|
||||
28 sff3_x4 4.3 2.4 IF RISE(ck<8>)
|
||||
q <= (i0<9>./cmd0<15>)
|
||||
+(((i1<8>.cmd1<15>)+(i2<8>./cmd1)).cmd0)
|
||||
\fB------------------------------------------------------------ ADDER\fP
|
||||
16 halfadder_x2 2.1 1.2 sout <= (a<27>^b<22>)
|
||||
2.1 1.0 cout <= (a.b)
|
||||
18 halfadder_x4 4.3 1.3 sout <= (a<27>^b<22>)
|
||||
4.3 1.1 cout <= (a.b)
|
||||
20 fulladder_x2 2.1 1.8 sout <= (a*<28>^b*<28>^cin*<19>)
|
||||
2.1 1.4 cout <= (a*.b*+a*.cin*+b*.cin*)
|
||||
21 fulladder_x4 4.3 2.2 sout <= (a*<28>^b*<28>^cin*<19>)
|
||||
4.3 1.5 cout <= (a*.b*+a*.cin*+b*.cin*)
|
||||
\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 0 nq <= '0'
|
||||
3 one_x0 0 0 q <= '1'
|
||||
2 tie_x0 0 0 Body tie cell
|
||||
1 rowend_x0 0 0 Empty cell
|
||||
\fB==================================================================\fP
|
||||
.fi
|
||||
|
||||
|
|
Loading…
Reference in New Issue