Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
AP(5)				  FILE FORMATS				   AP(5)

NAME
     ap - Alliance physical format

BNF DESCRIPTION
     file ::=
	version
	header
	connectors
	segments
	instances
	transistors
	patterns
	end_of_file

     version ::= 'V ALLIANCE 2.2 SETUP : ' version_number

     header ::= 'H ' name ',' file_type ',' abindex ',' nb_desc
		',' date ',' index_beg ',' link_mode ','
		bounding_box ',' [ abutment_box ]
	/* name 	: name of the figure		       */
	/* file_type	: type of the file		       */
	/* abindex	: index of the abutment box	       */
	/* nb_desc	: number of descriptors 	       */
	/* date 	: saving file date		       */
	/* index_beg	: index of the beginning of the linkage */
	/* link_mode	: indication on the linkage	       */
	/*		  (update or not)		       */
	/* bounding_box : coordinates and size of the	       */
	/*		  bounding box			       */
	/* abutment_box : coordinates and size, if defined,    */
	/*		  of the abutment box		       */

     connectors ::= { connector }

     connector ::= 'C ' index ',' x ',' y ',' w ',' orientation
		   ',' layer ',' name ',' connector_type ','
		   nextindex ',' endnet
	/* x, y, w  : coordinates and size of the connector    */
	/* orientation	  : north, south, east, or west        */
	/* layer	  : layer of the connector	       */
	/* name 	  : name of the connector	       */
	/* connector_type : input or output or ...	       */
	/* nextindex	  : next index in the linkage	       */
	/* endnet	  : end in the linkage of the net      */

     segments ::= { segment }

     segment ::= 'S ' index ',' x ',' y ',' d ',' w ',' direction
		 ',' layer ',' name ',' nextindex ',' endnet
	/* x, y, d, w	 : coordinates and size of the segment */
	/* direction	 : horizontaly or verticaly	       */
	/* layer	 : layer of the segment 	       */
	/* name 	 : name of the segment		       */
	/* nextindex	 : next index in the linkage	       */
	/* endnet	 : end in the linkage of the net       */

     instances ::= { instance [ connectors ] }
	/* In case of updated linkage, an instance is followed */
	/* by his connectors				       */

     instance ::= 'I ' index ',' x ',' y ',' instance_name ','
		  model_name ',' geoop ',' nextindex ',' endnet
	/* x, y 	  : coordinates of the instance        */
	/* instance_name  : local name of the instance	       */
	/* model_name	  : name of the model		       */
	/* geoop	  : geometric operation 	       */
	/* nextindex	  : next index in the linkage	       */
	/* endnet	  : end in the linkage of the net      */

     transistors ::= { transistor }

     transistor ::= 'T ' index ',' x ',' y ',' instance_name ','
		    trans_name ',' geoop ',' nextindex ',' endnet
	/* x, y 	  : coordinates of the transistor      */
	/* instance_name  : name of the instance	       */
	/* trans_name	  : generic name of the transistor     */
	/* geoop	  : geometric operation 	       */
	/* nextindex	  : next index in the linkage	       */
	/* endnet	  : end in the linkage of the net      */

     patterns ::= { pattern }

     pattern ::= 'M ' index ',' x ',' y ',' instance_name ','
		 pattern_name ',' int_index ',' nextindex ','
		 endnet
	/* x, y 	 : coordinates of the pattern	       */
	/* instance_name : name of the instance of the pattern */
	/* pattern_name  : name of the pattern		       */
	/* int_index	 : internal index of the pattern       */
	/* nextindex	 : next index in the linkage	       */
	/* endnet	 : end in the linkage of the net       */

     end_of_file ::= 'EOF'

     version_number ::= number

     file_type ::= 'P'

     abindex ::= index

     nb_desc ::= number

     date ::= day '/' month '/' year

     index_beg ::= index

     index ::= number

     link_mode ::= 'A JOUR' | 'PAS A JOUR'
	/* updated, not updated */

     bounding_box ::= x ',' y ',' dx ',' dy

     abutment_box ::= x ',' y ',' dx ',' dy

     x ::= number

     y ::= number

     d ::= number
	/* length */

     w ::= number
	/* width */

     dx ::= number

     dy ::= number

     direction ::= 'H' | 'V'
	/* horizontaly or verticaly */

     orientation ::= 'NORD' | 'SUD' | 'EST' | 'OUEST'
	/* North, south, east, west */

     layer ::= 'POLY' | 'ALU1' | 'ALU2' | 'DIFN' | 'DIFP' |
	       'T_ALU1' | 'T_ALU2' | 'CAISSON_N' | 'CAISSON_P'
	/* poly       : polysilicium			       */
	/* alu1       : first metal			       */
	/* alu2       : second metal			       */
	/* difn       : N diffusion			       */
	/* difp       : P diffusion			       */
	/* t_alu1     : first metal through route	       */
	/* t_alu2     : second metal through route	       */
	/* caisson_n  : N bulk				       */
	/* caisson_p  : P bulk				       */

     connector_type ::= 'IN' | 'OUT' | 'INOUT'

     nextindex ::= index

     endnet ::= 'NON' | 'FIN'
	/* non	      : not the end of the net		       */
	/* fin	      : end of the net			       */

     model_name ::= name

     instance_name ::= name

     geoop ::= 'NOSYM' | 'ROT_P' | 'ROT_M' | 'SYM_X' | 'SYM_Y' |
	       'SYMXY' | 'SY_RP' | 'SY_RM'
	/* nosym  : no operation			       */
	/* rot_p  : rotates 90 degrees counter clockwise       */
	/* rot_m  : rotates 90 degrees clockwise	       */
	/* sym_y  : y becomes -y			       */
	/* sym_x  : x becomes -x			       */
	/* symxy  : x becomes -x and y becomes -y	       */
	/* sy_rp  : y becomes -y then rotates 90 degrees       */
	/*	    counter clockwise			       */
	/* sy_rm  : y becomes -y then rotates 90 degrees       */
	/*	    clockwise				       */

     trans_name ::= 'T' transistor_type '_' d '_' w

     pattern_name ::= 'CONT_POLY' | 'CONT_DIF_N' | 'CONT_DIF_P' |
		      'CONT_VIA' | 'C_X_N' | 'C_X_P' | 'REF_CON'
		      | 'REF_REF'
	/* cont_poly  : poly alu1 contact		       */
	/* cont_dif_n : alu1 difn contact		       */
	/* cont_dif_p : alu1 difp contact		       */
	/* cont_via   : alu2 alu1 contact		       */
	/* c_x_n      : L shaped N transistor corner filling   */
	/* c_x_p      : L shaped P transistor corner filling   */
	/* ref_con    : kind of reference, for multi-acces     */
	/*		connectors			       */
	/* ref_ref    : kind of reference, for all other uses  */

     int_index ::= index

     transistor_type ::= 'P' | 'N'

     number ::= { '0' | '1'| '2' | '3' | '4' | '5' |
		  '6' | '7'| '8' | '9' }

     name ::= word

EXAMPLES
   Example 1
     This example is the physical design of a nand with two input. See example 1
     in the description of alc logical format for more details.

     V ALLIANCE 2.2 SETUP : 2
     H na2_y,P,10,66,25/10/91,-1,PAS A JOUR,0,0,28,53,5,3,18,42
     C 0,20,45,2,NORD,ALU2,i0,INOUT,-1,FIN
     C 1,14,45,2,NORD,ALU2,f,INOUT,-1,FIN
     C 2,8,45,2,NORD,ALU2,i1,INOUT,-1,FIN
     C 3,20,3,2,SUD,ALU2,i0,INOUT,-1,FIN
     C 4,14,3,2,SUD,ALU2,f,INOUT,-1,FIN
     C 5,8,3,2,SUD,ALU2,i1,INOUT,-1,FIN
     C 6,23,43,8,EST,ALU1,vdd,INOUT,-1,FIN
     C 7,5,43,8,OUEST,ALU1,vdd,INOUT,-1,FIN
     C 8,5,5,8,OUEST,ALU1,vss,INOUT,-1,FIN
     C 9,23,5,8,EST,ALU1,vss,INOUT,-1,FIN
     S 11,5,5,18,8,H,ALU1,vss,-1,FIN
     S 12,8,2,12,2,H,DIFP,*,-1,FIN
     S 13,8,27,11,3,V,DIFP,*,-1,FIN
     S 14,20,27,11,3,V,DIFP,*,-1,FIN
     S 15,20,22,6,2,V,ALU1,*,-1,FIN
     S 16,19,22,1,2,H,ALU1,*,-1,FIN
     S 17,5,43,18,8,H,ALU1,vdd,-1,FIN
     S 18,8,33,10,2,V,ALU1,vdd,-1,FIN
     S 19,8,22,6,2,V,ALU1,*,-1,FIN
     S 20,8,22,1,2,H,ALU1,*,-1,FIN
     S 21,14,30,5,2,V,ALU1,*,-1,FIN
     S 22,14,13,17,1,V,ALU1,*,-1,FIN
     S 23,14,13,6,1,H,ALU1,*,-1,FIN
     S 24,17,22,2,2,H,POLY,*,-1,FIN
     S 25,17,20,5,1,V,POLY,*,-1,FIN
     S 26,9,22,2,2,H,POLY,*,-1,FIN
     S 27,11,20,5,1,V,POLY,*,-1,FIN
     S 28,8,45,12,2,H,DIFN,*,-1,FIN
     S 29,5,39,18,26,H,CAISSON_N,*,-1,FIN
     S 30,8,7,11,3,V,DIFN,*,-1,FIN
     S 31,8,3,42,2,V,ALU2,i1,-1,FIN
     S 32,14,3,42,2,V,ALU2,f,-1,FIN
     S 33,14,27,11,3,V,DIFP,*,-1,FIN
     S 34,20,7,11,3,V,DIFN,*,-1,FIN
     S 35,14,7,11,3,V,DIFN,*,-1,FIN
     S 36,20,3,42,2,V,ALU2,i0,-1,FIN
     T 37,17,5,*,TN_15_1,NOSYM,-1,FIN
     T 38,11,5,*,TN_15_1,NOSYM,-1,FIN
     T 39,17,25,*,TP_15_1,NOSYM,-1,FIN
     T 40,11,25,*,TP_15_1,NOSYM,-1,FIN
     S 41,20,43,2,1,V,ALU1,vdd,-1,FIN
     S 42,8,45,12,1,H,ALU1,vdd,-1,FIN
     S 43,20,33,10,2,V,ALU1,vdd,-1,FIN
     S 44,8,2,11,2,V,ALU1,vss,-1,FIN
     S 45,8,2,12,2,H,ALU1,vss,-1,FIN
     M 46,20,37,*,CONT_DIF_P,2,-1,FIN
     M 47,8,37,*,CONT_DIF_P,2,-1,FIN
     M 48,14,45,*,CONT_DIF_N,1,-1,FIN
     M 49,14,2,*,CONT_DIF_P,2,-1,FIN
     M 50,8,13,*,CONT_DIF_N,1,-1,FIN
     M 51,20,13,*,CONT_DIF_N,1,-1,FIN
     M 52,8,33,*,CONT_DIF_P,2,-1,FIN
     M 53,20,33,*,CONT_DIF_P,2,-1,FIN
     M 54,9,22,*,CONT_POLY,0,-1,FIN
     M 55,19,22,*,CONT_POLY,0,-1,FIN
     M 56,8,28,*,CONT_VIA,3,-1,FIN
     M 57,20,28,*,CONT_VIA,3,-1,FIN
     M 58,14,22,*,CONT_VIA,3,-1,FIN
     M 59,8,8,*,CONT_DIF_N,1,-1,FIN
     M 60,20,2,*,CONT_DIF_P,2,-1,FIN
     M 61,8,2,*,CONT_DIF_P,2,-1,FIN
     M 62,20,45,*,CONT_DIF_N,1,-1,FIN
     M 63,8,45,*,CONT_DIF_N,1,-1,FIN
     M 64,14,29,*,CONT_DIF_P,2,-1,FIN
     M 65,14,35,*,CONT_DIF_P,2,-1,FIN
     EOF

   Example 2
     This  example  is	the  physical  design of a small circuit including three
     nand.

     V ALLIANCE 2.2 SETUP : 2
     H test_nand,P,-1,57,12/ 4/92,10,A JOUR,3,1,61,60,
     C 0,12,2,2,SUD,ALU2,a,IN,8,FIN
     C 1,24,2,2,SUD,ALU2,b,IN,21,FIN
     C 2,30,2,2,SUD,ALU2,c,IN,19,FIN
     C 3,42,2,2,SUD,ALU2,d,IN,31,FIN
     C 4,54,2,2,SUD,ALU2,s,OUT,36,FIN
     C 5,4,47,1,EST,ALU1,vdd,IN,39,FIN
     C 6,4,8,1,EST,ALU1,vss,IN,7,FIN
     I 7,9,7,I1,na2_y,NOSYM,33,FIN
     C 8,24,49,2,NORD,ALU2,i0,INOUT,11,NON
     C 9,18,49,2,NORD,ALU2,f,INOUT,18,FIN
     C 10,12,49,2,NORD,ALU2,i1,INOUT,13,NON
     C 11,24,7,2,SUD,ALU2,i0,INOUT,41,NON
     C 12,18,7,2,SUD,ALU2,f,INOUT,9,NON
     C 13,12,7,2,SUD,ALU2,i1,INOUT,40,NON
     C 14,27,47,8,EST,ALU1,vdd,INOUT,15,NON
     C 15,9,47,8,OUEST,ALU1,vdd,INOUT,46,NON
     C 16,9,9,8,OUEST,ALU1,vss,INOUT,45,NON
     C 17,27,9,8,EST,ALU1,vss,INOUT,16,NON
     I 18,27,7,I2,na2_y,NOSYM,35,FIN
     C 19,42,49,2,NORD,ALU2,i0,INOUT,22,NON
     C 20,36,49,2,NORD,ALU2,f,INOUT,29,FIN
     C 21,30,49,2,NORD,ALU2,i1,INOUT,24,NON
     C 22,42,7,2,SUD,ALU2,i0,INOUT,43,NON
     C 23,36,7,2,SUD,ALU2,f,INOUT,20,NON
     C 24,30,7,2,SUD,ALU2,i1,INOUT,42,NON
     C 25,45,47,8,EST,ALU1,vdd,INOUT,26,NON
     C 26,27,47,8,OUEST,ALU1,vdd,INOUT,14,NON
     C 27,27,9,8,OUEST,ALU1,vss,INOUT,17,NON
     C 28,45,9,8,EST,ALU1,vss,INOUT,27,NON
     I 29,45,7,I3,na2_y,NOSYM,-1,FIN
     C 30,60,49,2,NORD,ALU2,i0,INOUT,52,NON
     C 31,54,49,2,NORD,ALU2,f,INOUT,34,NON
     C 32,48,49,2,NORD,ALU2,i1,INOUT,51,NON
     C 33,60,7,2,SUD,ALU2,i0,INOUT,30,NON
     C 34,54,7,2,SUD,ALU2,f,INOUT,44,NON
     C 35,48,7,2,SUD,ALU2,i1,INOUT,32,NON
     C 36,63,47,8,EST,ALU1,vdd,INOUT,37,NON
     C 37,45,47,8,OUEST,ALU1,vdd,INOUT,25,NON
     C 38,45,9,8,OUEST,ALU1,vss,INOUT,28,NON
     C 39,63,9,8,EST,ALU1,vss,INOUT,38,NON
     S 40,12,2,5,2,V,ALU2,*,0,NON
     S 41,24,2,5,2,V,ALU2,*,1,NON
     S 42,30,2,5,2,V,ALU2,*,2,NON
     S 43,42,2,5,2,V,ALU2,*,3,NON
     S 44,54,2,5,2,V,ALU2,*,4,NON
     S 45,4,8,5,1,H,ALU1,*,6,NON
     S 46,4,47,5,1,H,ALU1,*,5,NON
     S 47,18,55,42,1,H,ALU1,x,53,NON
     S 48,36,60,12,1,H,ALU1,y,54,NON
     S 49,18,49,6,2,V,ALU2,*,12,NON
     S 50,36,49,11,2,V,ALU2,*,23,NON
     S 51,48,49,11,2,V,ALU2,*,55,NON
     S 52,60,49,6,2,V,ALU2,*,56,NON
     M 53,18,55,*,CONT_VIA,3,49,NON
     M 54,36,60,*,CONT_VIA,3,50,NON
     M 55,48,60,*,CONT_VIA,3,48,NON
     M 56,60,55,*,CONT_VIA,3,47,NON
     EOF

ASIM/LIP6			 October 1, 1997			   AP(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ap&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help