AL(5)

NAME
al - Alliance logical format

ORIGIN
This software belongs to the ALLIANCE CAD system from the
CAO-VLSI team at MASI laboratory, University P. et M. Curie
4, place Jussieu ; 75252 PARIS Cedex 05 ; FRANCE
Fax: (33-1) 44.27.62.86 ; E-mail: cao-vlsi@masi.ibp.fr

DESCRIPTION
The .al format is the ALLIANCE format for the logical view of a cell. We give below the BNF description of the format :
file ::=
     version
     header
     connectors
     instances
     transistors
     signals
     end_of_file
version ::= 'V ALLIANCE : ' version_number
header ::= 'H ' name ',' file_type ',' date
   /// name : name of the figure
   /// date : saving file date
connectors ::= { connector }
connector ::= 'C ' name ',' connector_direction ','
              connector_type ',' net_num
instances ::= { instance connectors }
   /// An instance is followed by his connectors
instance ::= 'I ' model_name ',' instance_name
transistors ::= { transistor }
transistor ::= 'T' type ',' lenght ',' width ',' drain ','
               grid ',' source ',' xs ',' xd ',' ps ',' pd
               ',' x ',' y
   /// drain : number of the net connected to the drain
   /// grid : number of the net connected to the grid
   /// source : number of the net connected to the source
   /// xs, xd : To compute respectivly the source and
   ///          drain area
   /// ps, pd : perimeter of the source and drain
   /// x, y : coordinate of the transistor in a layout
signals ::= { signal }
signal ::= 'S ' net_num ',' signal_type ',' capa
           [ list_of_signal_name ]
list_of_signal_name ::= { ',' signal_name }
end_of_file ::= 'EOF'
version_number ::= number
file_type ::= 'L'
date ::= day '/' month '/' year
connector_direction ::= 'IN' | 'OUT' | 'INOUT' | 'UNKNOWN' |
                        'TRISTATE' | 'TRANSCV'
   /// in : input
   /// out : output
   /// inout : input and output
   /// unknown : no information is available
   /// tristate : tristate output
   /// transcv : tristate output and input
connector_type ::= 'EXTERNAL' | 'INTERNAL'
net_num ::= number
model_name ::= name
instance_name ::= name
type ::= 'N' | 'P'
lenght ::= float
width ::= float
drain ::= net_num
grid ::= net_num
source ::= net_num
xs ::= float
xd ::= float
ps ::= float
pd ::= float
x ::= float
y ::= float
signal_type ::= 'EXTERNAL' | 'INTERNAL'
capa ::= float
signal_name ::= name
number ::= { '0' | '1'| '2' | '3' | '4' | '5' |
             '6' | '7'| '8' | '9' }
float ::= number [ '.' number ]
name ::= word

EXAMPLES

  Example 1
This example is the representation of a nand whith two input.

V ALLIANCE : 4
H na2_y,L,13/ 8/93
C i0,IN,EXTERNAL,4
C i1,IN,EXTERNAL,3
C f,OUT,EXTERNAL,2
C vdd,IN,EXTERNAL,1
C vss,IN,EXTERNAL,5
T N,1,12,2,4,6,20,20,28,28,17,12.5
T N,1,12,6,3,5,20,20,28,28,11,12.5
T P,1,12,1,4,2,20,20,28,28,17,32.5
T P,1,12,2,3,1,20,20,28,28,11,32.5
S 6,INTERNAL,0
S 5,EXTERNAL,0.0119,vss
S 1,EXTERNAL,0.0128,vdd
S 2,EXTERNAL,0.005275,f
S 3,EXTERNAL,0.006025,i1
S 4,EXTERNAL,0.006025,i0
EOF

  Example 2
This example is a small circuit with three nand.

V ALLIANCE : 4
H test_nand,L,13/ 8/93
C a,IN,EXTERNAL,0
C b,IN,EXTERNAL,1
C c,IN,EXTERNAL,2
C d,IN,EXTERNAL,3
C s,OUT,EXTERNAL,4
C vdd,IN,EXTERNAL,5
C vss,IN,EXTERNAL,6
I na2_y,i1
C i0,IN,INTERNAL,1
C i1,IN,INTERNAL,0
C f,OUT,INTERNAL,7
C vdd,IN,INTERNAL,5
C vss,IN,INTERNAL,6
I na2_y,i2
C i0,IN,INTERNAL,3
C i1,IN,INTERNAL,2
C f,OUT,INTERNAL,8
C vdd,IN,INTERNAL,5
C vss,IN,INTERNAL,6
I na2_y,i3
C i0,IN,INTERNAL,7
C i1,IN,INTERNAL,8
C f,OUT,INTERNAL,4
C vdd,IN,INTERNAL,5
C vss,IN,INTERNAL,6
S 8,INTERNAL,32.4,y
S 7,INTERNAL,36.4,x
S 6,EXTERNAL,22,vss
S 5,EXTERNAL,22,vdd
S 4,EXTERNAL,10.4,s
S 3,EXTERNAL,10.4,d
S 2,EXTERNAL,10.4,c
S 1,EXTERNAL,10.4,b
S 0,EXTERNAL,10.4,a
EOF

SEE ALSO
Alliance(1), MBK(1)