AI(5)

NAME
ai - Alliance icon format

DESCRIPTION
The .ai format is the ALLIANCE format for the icon view of a cell. We give below the BNF description of the format :
file ::=
     version
     header
     bounding_box
     model_name
     instance_name
     label
     connectors
     lines
     shapes
     circles
     arcs
     end_of_file
version ::= 'V ALLIANCE : ' version_number
header ::= 'H ' name ',' file_type ',' date
   /// name : name of the figure
   /// date : saving file date
bounding_box ::= 'B ' x ',' y ',' width ',' height
model_name ::= 'M ' x ',' y ',' horizontal_alignment
               vertical_halignment ',' direction
instance_name ::= 'I ' x ',' y ',' horizontal_alignment
                  vertical_halignment ',' direction
label ::= 'T ' x ',' y ',' horizontal_alignment
          vertical_halignment ',' direction
connectors ::= { connector }
connector ::= 'C ' x ',' y ',' side ',' logical_direction
              ',' name ',' x_name ',' y_name ','
              horizontal_alignment vertical_halignment ','
              direction
lines ::= { line }
line ::= 'L ' x0 ',' y0 ',' x1 ',' y1
shapes ::= { shape components }
   /// a shape is folowed by his components
shape ::= 'S ' number_of_component
components ::= { component }
component ::= 'P ' x ',' y ',' type
circles ::= { circle }
circle ::= 'R ' x0 ',' y0 ',' width ',' height
arcs ::= { arc }
arc ::= 'A ' x0 ',' y0 ',' width ',' height ',' angle1 ','
        angle2
end_of_file ::= 'EOF'
version_number ::= number
file_type ::= 'I'
date ::= day '/' month '/' year
horizontal_alignment ::= 'R' | 'C' | 'L'
   /// R : right
   /// C : center
   /// L : left
vertical_alignment ::= 'U' | 'C' | 'D'
   /// U : up
   /// C : center
   /// D : down
direction ::= 'H' | 'V'
   /// H : horizontal
   /// V : vertical
side ::= 'N' | 'S' | 'W' | 'E'
   /// N : north
   /// S : south
   /// W : west
   /// E : east
logical_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
x ::= number
y ::= number
width ::= number
height ::= number
x_name ::= number
y_name ::= number
x0 ::= number
y0 ::= number
x1 ::= number
y1 ::= number
number_of_component ::= number
type ::= 'L' | 'S' | 'E' | 'C' | 'A'
   /// L : COMP_ISLINE
   /// S : COMP_ISARCSTART
   /// E : COMP_ISARCEND
   /// C : COMP_ISARCCOMP
   /// A : COMP_ISARCSTART & COMP_ISARCEND
angle1 ::= number
angle2 ::= number
number ::= { '0' | '1'| '2' | '3' | '4' | '5' |
             '6' | '7'| '8' | '9' }
name ::= word

EXAMPLES

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

V ALLIANCE : 2
H na2_y,I,09/08/93
B 0,-40,90,60
M 40,-10,CC,H
I 40,-40,CC,H
T 40,20,CC,H
C 0,-20,W,IN,i0,0,-25,RD,H
C 0,0,W,IN,i1,0,-5,RD,H
C 90,-10,E,OUT,f,90,-15,LD,H
L 40,-30,20,-30
L 20,10,20,-30
L 20,10,40,10
L 70,-10,90,-10
L 0,-20,20,-20
L 20,0,0,0
R 60,-15,10,10
A 20,-30,40,40,270,180
EOF

  Example 2
This example is a latch with a shape.

V ALLIANCE : 2
H l1_dp,I,03/03/93
B 0,0,100,90
M 50,60,CC,H
I 50,0,CC,H
T 40,80,CC,H
C 0,40,W,IN,i,0,35,RD,H
C 100,40,E,OUT,o,100,35,LD,H
C 50,90,S,IN,ck,50,85,CD,H
L 100,40,80,40
L 20,40,0,40
L 50,70,50,90
L 50,40,20,70
L 50,40,80,70
S 4
P 20,70,L
P 80,70,L
P 80,10,L
P 20,10,L
EOF

SEE ALSO
Alliance(1), icongate(3), iconcon(3), iconline(3), iconshape(3), iconcomp(3), iconcircle(3), iconarc(3), MBK(1)