diff --git a/.gitignore b/.gitignore
index 2f30e04..e0a57f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-alliance-5.0-20090901.tar.gz
+/alliance-5.1.1.tar.bz2
diff --git a/0000-alliance-5.1.1-gitd8c05cd.patch b/0000-alliance-5.1.1-gitd8c05cd.patch
new file mode 100644
index 0000000..c929c21
--- /dev/null
+++ b/0000-alliance-5.1.1-gitd8c05cd.patch
@@ -0,0 +1,47893 @@
+diff --git a/alliance/src/.asim b/alliance/src/.asim
+index 19d050f..7508a04 100755
+--- a/alliance/src/.asim
++++ b/alliance/src/.asim
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ #
+ # This file is used to remove experimental tools from a complete
+-# cvs checkout of the alliance cvs tree. It should be lauched
++# cvs checkout of the alliance cvs tree. It should be launched
+ # in the same directory where you did the `cvs co alliance'
+ #
+ # $Id: .asim,v 1.10 2003/11/27 15:17:44 xtof Exp $
+diff --git a/alliance/src/README b/alliance/src/README
+index d769dcd..600d1ff 100644
+--- a/alliance/src/README
++++ b/alliance/src/README
+@@ -1,5 +1,5 @@
+ # Alliance VLSI CAD System
+-# Copyright (C) 1990, 2002 ASIM/LIP6/UPMC
++# Copyright (C) 1990, 2016 UPMC
+ #
+ # Home page : http://asim.lip6.fr/recherche/alliance/
+ # E-mail : mailto:alliance-users@asim.lip6.fr
+@@ -13,6 +13,7 @@
+ This file discuss about installation of Alliance on UNIX machines.
+
+
++
+ # Downloading and installing binary distribution :
+ # ===================================================================
+
+@@ -37,7 +38,7 @@ Alliance naming scheme:
+ - sources: alliance-XXX-YYY.tar.gz
+ where:
+ XXX = Alliance version number. eg 5.0
+- YYY = Alliance release number, wich is the date of the build. eg 20020624
++ YYY = Alliance release number, which is the date of the build. eg 20020624
+
+ - binaries: alliance-XXX-YYY-ZZZ.KKK
+ where:
+@@ -143,7 +144,7 @@ This explains how to proceed from the Alliance CVS tree.
+ > cvs update -d -P
+
+ 2/ Remove some directories from the Alliance tree. These directories
+- contain tools that may be helpfull but are not maintained anymore,
++ contain tools that may be helpful but are not maintained anymore,
+ so they will likely not compile.
+ Assuming Alliance sources reside in "~fred/alliance", do:
+ > cd src
+diff --git a/alliance/src/README.macosx b/alliance/src/README.macosx
+index 3cdd547..1c26361 100644
+--- a/alliance/src/README.macosx
++++ b/alliance/src/README.macosx
+@@ -19,7 +19,7 @@ This file discuss about installation of Alliance on Mac OS X machines.
+
+ ===================================================================
+
+-Alliance has been succesfully build on Mac OS X.2 (Jaguar) and Mac OS X.3 (Panther)
++Alliance has been successfully build on Mac OS X.2 (Jaguar) and Mac OS X.3 (Panther)
+ This is what is needed to build ALLIANCE:
+ * get the developer tools.
+ ( install XCode, this will install gcc 3.3)
+diff --git a/alliance/src/abl/man1/abl.1 b/alliance/src/abl/man1/abl.1
+index 19cbc3e..066bc42 100644
+--- a/alliance/src/abl/man1/abl.1
++++ b/alliance/src/abl/man1/abl.1
+@@ -6,7 +6,7 @@
+ \fBabl\fP \- Prefixed representation for boolean functions
+ .so man1/alc_origin.1
+ .SH DESCRIPTION
+-\fIlibablmmm.a\fP is a library that enables to represent a boolean function in a LISP-like form. An ABL is a prefixed internal representation for a boolean function having standard operators as OR,NOR,NAND,XOR,NOT and AND. An ABL is only made up of doublets. A doublet is composed of two fields wich are accessible by the functionnal \fI#define\fP \fICAR\fP and \fICDR\fP. A doublet is implemented with a MBK \fIchain_list\fP.
++\fIlibablmmm.a\fP is a library that enables to represent a boolean function in a LISP-like form. An ABL is a prefixed internal representation for a boolean function having standard operators as OR,NOR,NAND,XOR,NOT and AND. An ABL is only made up of doublets. A doublet is composed of two fields which are accessible by the functionnal \fI#define\fP \fICAR\fP and \fICDR\fP. A doublet is implemented with a MBK \fIchain_list\fP.
+ .br
+ \fIExpression\fP is the generic term for a boolean function represented by an ABL. An expression can be an atomic expression or an operator expression. The function \fBf = a\fP is represented by an atomic expression whereas \fBf = (or a b)\fP is represented by an operator expression. An atomic expression is made up of a single doublet having the \fINEXT\fP pointer equal to NULL and \fIDATA\fP pointer equal to the identifier pointer. A constant atomic expression is an atomic expression having the string "'0'" or "'1'" as identifier.
+ .br
+diff --git a/alliance/src/abl/man3/addablhexpr.3 b/alliance/src/abl/man3/addablhexpr.3
+index fadc34a..0c46347 100644
+--- a/alliance/src/abl/man3/addablhexpr.3
++++ b/alliance/src/abl/man3/addablhexpr.3
+@@ -5,7 +5,7 @@
+ addablhexpr \- adds a new argument in head of an expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/addablqexpr.3 b/alliance/src/abl/man3/addablqexpr.3
+index e2a465d..5fbd3aa 100644
+--- a/alliance/src/abl/man3/addablqexpr.3
++++ b/alliance/src/abl/man3/addablqexpr.3
+@@ -5,7 +5,7 @@
+ addablqexpr \- adds a new argument in queue of an expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/createablatom.3 b/alliance/src/abl/man3/createablatom.3
+index 469f72e..0e90668 100644
+--- a/alliance/src/abl/man3/createablatom.3
++++ b/alliance/src/abl/man3/createablatom.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createablatom \- creates an atomic expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/createablbinexpr.3 b/alliance/src/abl/man3/createablbinexpr.3
+index cc49a7e..b04f782 100644
+--- a/alliance/src/abl/man3/createablbinexpr.3
++++ b/alliance/src/abl/man3/createablbinexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createablbinexpr \- creates a binary operator expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/createablnotexpr.3 b/alliance/src/abl/man3/createablnotexpr.3
+index a56b901..a3ba03d 100644
+--- a/alliance/src/abl/man3/createablnotexpr.3
++++ b/alliance/src/abl/man3/createablnotexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createablnotexpr \- complements an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/createabloper.3 b/alliance/src/abl/man3/createabloper.3
+index f85b72a..dc9be6c 100644
+--- a/alliance/src/abl/man3/createabloper.3
++++ b/alliance/src/abl/man3/createabloper.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createabloper \- creates the head of an operator expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/createablunaryexpr.3 b/alliance/src/abl/man3/createablunaryexpr.3
+index 27cc9d7..b173cb4 100644
+--- a/alliance/src/abl/man3/createablunaryexpr.3
++++ b/alliance/src/abl/man3/createablunaryexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createablunaryexpr \- creates an unary operator expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/createablxorbinexpr.3 b/alliance/src/abl/man3/createablxorbinexpr.3
+index 61096b3..644097a 100644
+--- a/alliance/src/abl/man3/createablxorbinexpr.3
++++ b/alliance/src/abl/man3/createablxorbinexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createablxorbinexpr \- creates an 'xor' or 'xnor' operator expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/delablexpr.3 b/alliance/src/abl/man3/delablexpr.3
+index 13d5591..4079573 100644
+--- a/alliance/src/abl/man3/delablexpr.3
++++ b/alliance/src/abl/man3/delablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delablexpr \- deletes an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/delablexprnum.3 b/alliance/src/abl/man3/delablexprnum.3
+index 5365283..86cbaf5 100644
+--- a/alliance/src/abl/man3/delablexprnum.3
++++ b/alliance/src/abl/man3/delablexprnum.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delablexprnum \- deletes an operand in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/devablxorexpr.3 b/alliance/src/abl/man3/devablxorexpr.3
+index abd99b4..e16ee6c 100644
+--- a/alliance/src/abl/man3/devablxorexpr.3
++++ b/alliance/src/abl/man3/devablxorexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ devablxorexpr \- develops 'xor', 'nxor' in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/devdupablxorexpr.3 b/alliance/src/abl/man3/devdupablxorexpr.3
+index e57cb55..b7704b1 100644
+--- a/alliance/src/abl/man3/devdupablxorexpr.3
++++ b/alliance/src/abl/man3/devdupablxorexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ devdupablxorexpr \- duplicates and develops 'xor', 'nxor'.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/dupablexpr.3 b/alliance/src/abl/man3/dupablexpr.3
+index 8acd827..97b1fda 100644
+--- a/alliance/src/abl/man3/dupablexpr.3
++++ b/alliance/src/abl/man3/dupablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ dupablexpr \- duplicates an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/flatablexpr.3 b/alliance/src/abl/man3/flatablexpr.3
+index 9517487..0b7da4d 100644
+--- a/alliance/src/abl/man3/flatablexpr.3
++++ b/alliance/src/abl/man3/flatablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ flatablexpr \- merges the operators of an expression
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/freeablexpr.3 b/alliance/src/abl/man3/freeablexpr.3
+index 336dda4..3fb6241 100644
+--- a/alliance/src/abl/man3/freeablexpr.3
++++ b/alliance/src/abl/man3/freeablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ freeablexpr \- frees an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprdepth.3 b/alliance/src/abl/man3/getablexprdepth.3
+index 4783796..b800456 100644
+--- a/alliance/src/abl/man3/getablexprdepth.3
++++ b/alliance/src/abl/man3/getablexprdepth.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprdepth \- gives the depth of an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprlength.3 b/alliance/src/abl/man3/getablexprlength.3
+index 087d0b1..df95213 100644
+--- a/alliance/src/abl/man3/getablexprlength.3
++++ b/alliance/src/abl/man3/getablexprlength.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprlength \- gives the length of an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprmax.3 b/alliance/src/abl/man3/getablexprmax.3
+index 5f34a62..e0402f0 100644
+--- a/alliance/src/abl/man3/getablexprmax.3
++++ b/alliance/src/abl/man3/getablexprmax.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprmax \- applies a function to all operands.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprmin.3 b/alliance/src/abl/man3/getablexprmin.3
+index 6c6d4f2..2f27e16 100644
+--- a/alliance/src/abl/man3/getablexprmin.3
++++ b/alliance/src/abl/man3/getablexprmin.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprmin \- applies a function to all operands.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprnum.3 b/alliance/src/abl/man3/getablexprnum.3
+index 0dd6dc2..1295414 100644
+--- a/alliance/src/abl/man3/getablexprnum.3
++++ b/alliance/src/abl/man3/getablexprnum.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprnum \- gives a specified operand of an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprnumatom.3 b/alliance/src/abl/man3/getablexprnumatom.3
+index f86327e..14dc2a5 100644
+--- a/alliance/src/abl/man3/getablexprnumatom.3
++++ b/alliance/src/abl/man3/getablexprnumatom.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprnumatom \- gives the number of atom in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprnumbinoper.3 b/alliance/src/abl/man3/getablexprnumbinoper.3
+index cddd29f..1f84459 100644
+--- a/alliance/src/abl/man3/getablexprnumbinoper.3
++++ b/alliance/src/abl/man3/getablexprnumbinoper.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprnumbinoper \- gives the number of binary operators in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/getablexprnumocc.3 b/alliance/src/abl/man3/getablexprnumocc.3
+index 0f92d93..e5fb5d3 100644
+--- a/alliance/src/abl/man3/getablexprnumocc.3
++++ b/alliance/src/abl/man3/getablexprnumocc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprnumocc \- how many times a name appears in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -24,10 +24,10 @@ Expression.
+ \fIName\fP
+ Name to find.
+ .SH DESCRIPTION
+-\fBgetablexprnumocc\fP gives the number of occurents of \fIName\fP in \fIExpr\fP.
++\fBgetablexprnumocc\fP gives the number of occurrents of \fIName\fP in \fIExpr\fP.
+ .br
+ .SH RETURN VALUE
+-\fBgetablexprnumocc\fP returns number of occurents of \fIName\fP in \fIExpr\fP.
++\fBgetablexprnumocc\fP returns number of occurrents of \fIName\fP in \fIExpr\fP.
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+ .nf
+diff --git a/alliance/src/abl/man3/getablexprsupport.3 b/alliance/src/abl/man3/getablexprsupport.3
+index 70150b3..f610a07 100644
+--- a/alliance/src/abl/man3/getablexprsupport.3
++++ b/alliance/src/abl/man3/getablexprsupport.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getablexprsupport \- gives the expression's support.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/isablbinaryoper.3 b/alliance/src/abl/man3/isablbinaryoper.3
+index a0bc12a..951b9e6 100644
+--- a/alliance/src/abl/man3/isablbinaryoper.3
++++ b/alliance/src/abl/man3/isablbinaryoper.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ isablbinaryoper \- tests if an operator is binary.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/isablequalexpr.3 b/alliance/src/abl/man3/isablequalexpr.3
+index 50cc37a..e9d97e1 100644
+--- a/alliance/src/abl/man3/isablequalexpr.3
++++ b/alliance/src/abl/man3/isablequalexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ isablequalexpr \- tests if two expressions are strictly identicals.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/isablnameinexpr.3 b/alliance/src/abl/man3/isablnameinexpr.3
+index fa15843..d4b4bf6 100644
+--- a/alliance/src/abl/man3/isablnameinexpr.3
++++ b/alliance/src/abl/man3/isablnameinexpr.3
+@@ -4,7 +4,7 @@
+ .SH OPER
+ isablnameinexpr \- tests if a name appears in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/isabloperinexpr.3 b/alliance/src/abl/man3/isabloperinexpr.3
+index f4c4143..847ddd2 100644
+--- a/alliance/src/abl/man3/isabloperinexpr.3
++++ b/alliance/src/abl/man3/isabloperinexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ isabloperinexpr \- tests if an operator appears in an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/isablsimilarexpr.3 b/alliance/src/abl/man3/isablsimilarexpr.3
+index 5951cc5..d080ddd 100644
+--- a/alliance/src/abl/man3/isablsimilarexpr.3
++++ b/alliance/src/abl/man3/isablsimilarexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ isablsimilarexpr \- tests if two expressions have the same morphology.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/isablunaryoper.3 b/alliance/src/abl/man3/isablunaryoper.3
+index 5e7ad23..ec011b0 100644
+--- a/alliance/src/abl/man3/isablunaryoper.3
++++ b/alliance/src/abl/man3/isablunaryoper.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ isablunaryoper \- tests if an operator is unary.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/mapablanyexpr.3 b/alliance/src/abl/man3/mapablanyexpr.3
+index ff43fd2..1f6efe1 100644
+--- a/alliance/src/abl/man3/mapablanyexpr.3
++++ b/alliance/src/abl/man3/mapablanyexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ mapablanyexpr \- applies a function to all operands.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/mapableveryexpr.3 b/alliance/src/abl/man3/mapableveryexpr.3
+index 818cf1a..40e7098 100644
+--- a/alliance/src/abl/man3/mapableveryexpr.3
++++ b/alliance/src/abl/man3/mapableveryexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ mapableveryexpr \- applies a function to all operands.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/mapablexpr.3 b/alliance/src/abl/man3/mapablexpr.3
+index 441b800..a5b5e8d 100644
+--- a/alliance/src/abl/man3/mapablexpr.3
++++ b/alliance/src/abl/man3/mapablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ mapablexpr \- applies a function to all operands.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/mapabloperexpr.3 b/alliance/src/abl/man3/mapabloperexpr.3
+index 260e0da..e9cea53 100644
+--- a/alliance/src/abl/man3/mapabloperexpr.3
++++ b/alliance/src/abl/man3/mapabloperexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ mapabloperexpr \- applies a function to all operands.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/polarablexpr.3 b/alliance/src/abl/man3/polarablexpr.3
+index f267fac..b74081e 100644
+--- a/alliance/src/abl/man3/polarablexpr.3
++++ b/alliance/src/abl/man3/polarablexpr.3
+@@ -5,7 +5,7 @@
+ polarablexpr \- moves inverters to the atomic level.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/polardupablexpr.3 b/alliance/src/abl/man3/polardupablexpr.3
+index 900aba1..26abeb7 100644
+--- a/alliance/src/abl/man3/polardupablexpr.3
++++ b/alliance/src/abl/man3/polardupablexpr.3
+@@ -5,7 +5,7 @@
+ polardupablexpr \- duplicates an expression and moves down the inverters.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/simpablexpr.3 b/alliance/src/abl/man3/simpablexpr.3
+index d61be30..c11c688 100644
+--- a/alliance/src/abl/man3/simpablexpr.3
++++ b/alliance/src/abl/man3/simpablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ simpablexpr \- simplies an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/simpdupablexpr.3 b/alliance/src/abl/man3/simpdupablexpr.3
+index 23e8802..41743d3 100644
+--- a/alliance/src/abl/man3/simpdupablexpr.3
++++ b/alliance/src/abl/man3/simpdupablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ simpdupablexpr \- duplicates and simplies an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/substablexpr.3 b/alliance/src/abl/man3/substablexpr.3
+index a302b60..f01b8e0 100644
+--- a/alliance/src/abl/man3/substablexpr.3
++++ b/alliance/src/abl/man3/substablexpr.3
+@@ -5,7 +5,7 @@
+ substablexpr \- substitutes a given atom by an expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/substdupablexpr.3 b/alliance/src/abl/man3/substdupablexpr.3
+index 95615ea..559c480 100644
+--- a/alliance/src/abl/man3/substdupablexpr.3
++++ b/alliance/src/abl/man3/substdupablexpr.3
+@@ -5,7 +5,7 @@
+ substdupablexpr \- substitutes a given atom by an expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/unflatablexpr.3 b/alliance/src/abl/man3/unflatablexpr.3
+index 61e6e2c..1b788b5 100644
+--- a/alliance/src/abl/man3/unflatablexpr.3
++++ b/alliance/src/abl/man3/unflatablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ unflatablexpr \- unflats the operators of an expression
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/vhdlablname.3 b/alliance/src/abl/man3/vhdlablname.3
+index 2fc4714..562c182 100644
+--- a/alliance/src/abl/man3/vhdlablname.3
++++ b/alliance/src/abl/man3/vhdlablname.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ vhdlablname \- returns a compatible VHDL name.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/vhdlablvector.3 b/alliance/src/abl/man3/vhdlablvector.3
+index b48dd23..96b6ada 100644
+--- a/alliance/src/abl/man3/vhdlablvector.3
++++ b/alliance/src/abl/man3/vhdlablvector.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ vhdlablvector \- gives the index and the name of a vectorized name.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/viewablexpr.3 b/alliance/src/abl/man3/viewablexpr.3
+index 926f677..71cd96c 100644
+--- a/alliance/src/abl/man3/viewablexpr.3
++++ b/alliance/src/abl/man3/viewablexpr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ viewablexpr \- displays an expression.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/viewablexprfile.3 b/alliance/src/abl/man3/viewablexprfile.3
+index b61775e..c5fc47c 100644
+--- a/alliance/src/abl/man3/viewablexprfile.3
++++ b/alliance/src/abl/man3/viewablexprfile.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ viewablexprfile \- displays an expression in a file.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abl/man3/viewablexprstr.3 b/alliance/src/abl/man3/viewablexprstr.3
+index 1ba40e1..56b4e44 100644
+--- a/alliance/src/abl/man3/viewablexprstr.3
++++ b/alliance/src/abl/man3/viewablexprstr.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ viewablexprstr \- displays an expression in a str.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/abt/src/bhl_depend.c b/alliance/src/abt/src/bhl_depend.c
+index 28ea6c9..b6d6a52 100644
+--- a/alliance/src/abt/src/bhl_depend.c
++++ b/alliance/src/abt/src/bhl_depend.c
+@@ -249,7 +249,7 @@ struct befig *pt_fig;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* process simple ouputs. */
++ /* process simple outputs. */
+ /* check that the signal does not already belong to the */
+ /* dependency list before adding it to the list */
+ /* ###------------------------------------------------------### */
+@@ -272,7 +272,7 @@ struct befig *pt_fig;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* process bussed ouputs. */
++ /* process bussed outputs. */
+ /* check that the signal does not already belong to the */
+ /* dependency list before adding it to the list */
+ /* ###------------------------------------------------------### */
+diff --git a/alliance/src/alcban/man1/alcbanner.1 b/alliance/src/alcban/man1/alcbanner.1
+index 20b6cb1..3b1bc33 100644
+--- a/alliance/src/alcban/man1/alcbanner.1
++++ b/alliance/src/alcban/man1/alcbanner.1
+@@ -85,7 +85,7 @@ will display :
+ .SH DIAGNOSTICS
+
+ The output is centered for a 80 columns screen, so it can be used on most
+-display easilly, and not found at execution time.
++display easily, and not found at execution time.
+
+ \f4alliancebanner: Error: Resulting size bigger than 80 columns not allowed\fR
+ .RS
+diff --git a/alliance/src/asimut/man1/asimut.1 b/alliance/src/asimut/man1/asimut.1
+index b9c3073..9655ba1 100644
+--- a/alliance/src/asimut/man1/asimut.1
++++ b/alliance/src/asimut/man1/asimut.1
+@@ -51,7 +51,7 @@ list of directories containing description and pattern files (using $PATH
+ syntax). The default path is the current directory (see mbk(1)).
+ .TP 20
+ \fIMBK_WORK_LIB\fP
+-specifies the current working directory. The working directory idicates the
++specifies the current working directory. The working directory indicates the
+ place where all output files are written.
+ .TP 20
+ \fIMBK_CATAL_NAME\fP
+@@ -75,7 +75,7 @@ The default file extension is \fBdly\fP.
+ .TP 20
+ \fIVH_MAXERR\fP
+ maximum number of errors allowed during simulation phase. If the number of
+-errors occured during simulation reaches VH_MAXERR, \fBasimut\fP stops
++errors occurred during simulation reaches VH_MAXERR, \fBasimut\fP stops
+ the simulation at the end of processing the current pattern. Patterns following
+ the current pattern remain unprocessed and are reproduced in the result file.
+ The default value of \fIVH_MAXERR\fP is 10.
+@@ -126,7 +126,7 @@ be used as initialization file in a further session. If the \fI\-nores\fP
+ option is specified a pattern file is also produced.
+ .TP 20
+ \fI\-dbg[sbpldc]\fP
+-call the debugger (developper usage)
++call the debugger (developer usage)
+ .TP 20
+ \fI\-defaultdelay (\-dd)\fP
+ only null delays (no after clause in the VHDL file) are changed if
+@@ -166,7 +166,7 @@ for \fIn\fP is 0 which makes the whole pattern
+ file be loaded.
+ .TP 20
+ \fI\-t\fP
+-trace signals when making BDDs (developper usage).
++trace signals when making BDDs (developer usage).
+ .TP 20
+ \fI\-transport\fP
+ use transport delay model (default is inertial).
+diff --git a/alliance/src/asimut/src/c_fsyn_sr1k_1.c b/alliance/src/asimut/src/c_fsyn_sr1k_1.c
+index 05c345a..27cb741 100644
+--- a/alliance/src/asimut/src/c_fsyn_sr1k_1.c
++++ b/alliance/src/asimut/src/c_fsyn_sr1k_1.c
+@@ -108,7 +108,7 @@ struct lkdins *pt_lkdins;
+ {
+ /* ###------------------------------------------------------### */
+ /* read the content of the ram and write the result into the */
+- /* projected value of ouput data */
++ /* projected value of output data */
+ /* ###------------------------------------------------------### */
+
+ if (oe == 1)
+diff --git a/alliance/src/asimut/src/c_fsyn_sr1k_10.c b/alliance/src/asimut/src/c_fsyn_sr1k_10.c
+index 094adf9..8f4e67d 100644
+--- a/alliance/src/asimut/src/c_fsyn_sr1k_10.c
++++ b/alliance/src/asimut/src/c_fsyn_sr1k_10.c
+@@ -108,7 +108,7 @@ struct lkdins *pt_lkdins;
+ {
+ /* ###------------------------------------------------------### */
+ /* read the content of the ram and write the result into the */
+- /* projected value of ouput data */
++ /* projected value of output data */
+ /* ###------------------------------------------------------### */
+
+ if (oe == 1)
+diff --git a/alliance/src/asimut/src/c_fsyn_sr1k_24.c b/alliance/src/asimut/src/c_fsyn_sr1k_24.c
+index 24b06f0..149a647 100644
+--- a/alliance/src/asimut/src/c_fsyn_sr1k_24.c
++++ b/alliance/src/asimut/src/c_fsyn_sr1k_24.c
+@@ -108,7 +108,7 @@ struct lkdins *pt_lkdins;
+ {
+ /* ###------------------------------------------------------### */
+ /* read the content of the ram and write the result into the */
+- /* projected value of ouput data */
++ /* projected value of output data */
+ /* ###------------------------------------------------------### */
+
+ if (oe == 1)
+diff --git a/alliance/src/asimut/src/c_fsyn_sr1k_4.c b/alliance/src/asimut/src/c_fsyn_sr1k_4.c
+index 97fa43c..1cd99c3 100644
+--- a/alliance/src/asimut/src/c_fsyn_sr1k_4.c
++++ b/alliance/src/asimut/src/c_fsyn_sr1k_4.c
+@@ -108,7 +108,7 @@ struct lkdins *pt_lkdins;
+ {
+ /* ###------------------------------------------------------### */
+ /* read the content of the ram and write the result into the */
+- /* projected value of ouput data */
++ /* projected value of output data */
+ /* ###------------------------------------------------------### */
+
+ if (oe == 1)
+diff --git a/alliance/src/asimut/src/c_fsyn_sr1k_56.c b/alliance/src/asimut/src/c_fsyn_sr1k_56.c
+index 04377fe..3a3ddd3 100644
+--- a/alliance/src/asimut/src/c_fsyn_sr1k_56.c
++++ b/alliance/src/asimut/src/c_fsyn_sr1k_56.c
+@@ -118,7 +118,7 @@ struct lkdins *pt_lkdins;
+ {
+ /* ###------------------------------------------------------### */
+ /* read the content of the ram and write the result into the */
+- /* projected value of ouput data */
++ /* projected value of output data */
+ /* ###------------------------------------------------------### */
+
+ dh_out = local->HI_RAM [adr];
+diff --git a/alliance/src/asimut/src/c_fsyn_sr4k_10.c b/alliance/src/asimut/src/c_fsyn_sr4k_10.c
+index 66d37e1..83b1ee9 100644
+--- a/alliance/src/asimut/src/c_fsyn_sr4k_10.c
++++ b/alliance/src/asimut/src/c_fsyn_sr4k_10.c
+@@ -108,7 +108,7 @@ struct lkdins *pt_lkdins;
+ {
+ /* ###------------------------------------------------------### */
+ /* read the content of the ram and write the result into the */
+- /* projected value of ouput data */
++ /* projected value of output data */
+ /* ###------------------------------------------------------### */
+
+ if (oe == 1)
+diff --git a/alliance/src/asimut/src/c_hada_repondeur.c b/alliance/src/asimut/src/c_hada_repondeur.c
+index 30f8222..4bff23f 100644
+--- a/alliance/src/asimut/src/c_hada_repondeur.c
++++ b/alliance/src/asimut/src/c_hada_repondeur.c
+@@ -142,7 +142,7 @@ struct lkdins *pt_lkdins;
+
+ if ((full_old == 0) && (write == 1) && (nb_sorties != 0))
+ {
+- fprintf(stderr,"NEW OUPUT FIFO VALUE : %d\n", hadout);
++ fprintf(stderr,"NEW OUTPUT FIFO VALUE : %d\n", hadout);
+ fprintf(fecrire,"0x%x\t",hadout);
+ nb_sorties--;
+ if ( (nb_sorties%8) == 0 ) fprintf(fecrire,"\n");
+diff --git a/alliance/src/asimut/src/c_sr1k_8a.c b/alliance/src/asimut/src/c_sr1k_8a.c
+index 6590254..230c58c 100644
+--- a/alliance/src/asimut/src/c_sr1k_8a.c
++++ b/alliance/src/asimut/src/c_sr1k_8a.c
+@@ -94,7 +94,7 @@ struct lkdins *pt_lkdins;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* write the result into the projected value of ouput signals */
++ /* write the result into the projected value of output signals */
+ /* ###------------------------------------------------------### */
+
+ if ((e_n == 0) && (w_n == 1))
+diff --git a/alliance/src/asimut/src/c_sr1k_8b.c b/alliance/src/asimut/src/c_sr1k_8b.c
+index 72017e3..6735b09 100644
+--- a/alliance/src/asimut/src/c_sr1k_8b.c
++++ b/alliance/src/asimut/src/c_sr1k_8b.c
+@@ -255,7 +255,7 @@ struct lkdins *pt_lkdins;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* write the result into the projected value of ouput signals */
++ /* write the result into the projected value of output signals */
+ /* ###------------------------------------------------------### */
+
+ if ((e_n == 0) && (w_n == 1))
+diff --git a/alliance/src/asimut/src/c_sr8k_8a.c b/alliance/src/asimut/src/c_sr8k_8a.c
+index dc58310..bf3cf9e 100644
+--- a/alliance/src/asimut/src/c_sr8k_8a.c
++++ b/alliance/src/asimut/src/c_sr8k_8a.c
+@@ -94,7 +94,7 @@ struct lkdins *pt_lkdins;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* write the result into the projected value of ouput signals */
++ /* write the result into the projected value of output signals */
+ /* ###------------------------------------------------------### */
+
+ if ((e_n == 0) && (w_n == 1))
+diff --git a/alliance/src/asimut/src/sch_debug.c b/alliance/src/asimut/src/sch_debug.c
+index f99016a..ae5c16a 100644
+--- a/alliance/src/asimut/src/sch_debug.c
++++ b/alliance/src/asimut/src/sch_debug.c
+@@ -283,7 +283,7 @@ char **str ; /* recognized strings */
+ /* function : splitline */
+ /* description : read a line (the space must have been reserved by the */
+ /* caller - *words) from the standard input and split it */
+-/* into seperate words. Return the number of words read. */
++/* into separate words. Return the number of words read. */
+ /* called func. : none */
+ /* ###--------------------------------------------------------------### */
+
+@@ -599,7 +599,7 @@ char *type; /* structure's type */
+ {
+ /* ###------------------------------------------------------### */
+ /* if the first word of the line has not been recognized, */
+- /* print an error message. Otherwise, proccess the command line */
++ /* print an error message. Otherwise, process the command line */
+ /* (generally it is a request for displaying a specific field). */
+ /* */
+ /* At this point : */
+diff --git a/alliance/src/asimut/src/vh_debug.c b/alliance/src/asimut/src/vh_debug.c
+index 32ab290..82a70f1 100644
+--- a/alliance/src/asimut/src/vh_debug.c
++++ b/alliance/src/asimut/src/vh_debug.c
+@@ -1319,7 +1319,7 @@ char **str ; /* recognized strings */
+ /* function : splitline */
+ /* description : read a line (the space must have been reserved by the */
+ /* caller - *words) from the standard input and split it */
+-/* into seperate words. Return the number of words read. */
++/* into separate words. Return the number of words read. */
+ /* called func. : none */
+ /* ###--------------------------------------------------------------### */
+
+@@ -1711,7 +1711,7 @@ char *type; /* structure's type */
+ {
+ /* ###------------------------------------------------------### */
+ /* if the first word of the line has not been recognized, */
+- /* print an error message. Otherwise, proccess the command line */
++ /* print an error message. Otherwise, process the command line */
+ /* (generally it is a request for displaying a specific field). */
+ /* */
+ /* At this point : */
+diff --git a/alliance/src/asimut/src/vh_init.h b/alliance/src/asimut/src/vh_init.h
+index 5de76e0..82c3fa9 100644
+--- a/alliance/src/asimut/src/vh_init.h
++++ b/alliance/src/asimut/src/vh_init.h
+@@ -5,7 +5,7 @@
+ /* date : Jan 11 2014 */
+ /* version : v3.0 */
+ /* authors : J.-P. CHAPUT , P. BAZARGAN */
+-/* content : contains defines, external variables and funtions */
++/* content : contains defines, external variables and functions */
+ /* used by init functions */
+ /* ###--------------------------------------------------------------### */
+
+diff --git a/alliance/src/asimut/src/vh_lspec.c b/alliance/src/asimut/src/vh_lspec.c
+index 6b270ae..5d07196 100644
+--- a/alliance/src/asimut/src/vh_lspec.c
++++ b/alliance/src/asimut/src/vh_lspec.c
+@@ -1341,10 +1341,10 @@ struct paseq *pt_paseq;
+ /* description : restore the mode of external ports of the description */
+ /* when the declared mode is LINKAGE. */
+ /* */
+-/* First, it restores (if necessary) the informations on */
++/* First, it restores (if necessary) the information on */
+ /* internal ports checking the consistency between the */
+ /* model and the instance. Then, it propagates restored */
+-/* informations through the signals til the external */
++/* information through the signals til the external */
+ /* ports. In the final step it checks the consistency of */
+ /* connexions on the signals */
+ /* called funct : beh_initab , beh_chktab, beh_addtab, beh_fretab, */
+@@ -1800,7 +1800,7 @@ struct befig *head_befig;
+
+ /* ###--------------------------------------------------------------### */
+ /* function : vhl_getref */
+-/* description : get signal refernces for a distributed simulation */
++/* description : get signal references for a distributed simulation */
+ /* called func. : beh_chktab, */
+ /* ###--------------------------------------------------------------### */
+
+diff --git a/alliance/src/asimut/src/vh_lspec.h b/alliance/src/asimut/src/vh_lspec.h
+index 12433f8..b6956db 100644
+--- a/alliance/src/asimut/src/vh_lspec.h
++++ b/alliance/src/asimut/src/vh_lspec.h
+@@ -4,7 +4,7 @@
+ /* date : Aug 20 1997 */
+ /* version : v3.0 */
+ /* authors : VUONG H.N., Pirouz BAZARGAN SABET */
+-/* content : contains defines, external variables and funtions used*/
++/* content : contains defines, external variables and functions used*/
+ /* by the linker */
+ /* ###--------------------------------------------------------------### */
+
+diff --git a/alliance/src/asimut/src/vh_simulad.c b/alliance/src/asimut/src/vh_simulad.c
+index c3ade54..6be10b7 100644
+--- a/alliance/src/asimut/src/vh_simulad.c
++++ b/alliance/src/asimut/src/vh_simulad.c
+@@ -268,7 +268,7 @@ char *argv[];
+ arg_flg [i+1] = 1;
+ }
+
+- /* The spy option has been supressed (09 Sep 1999). */
++ /* The spy option has been suppressed (09 Sep 1999). */
+ /* Spied signals are now specified in the pattern file. */
+
+ /*---------------
+@@ -887,7 +887,7 @@ char *argv[];
+ lst_papat = vhx_insertspypat (pt_paseq, lst_papat, pt_lkdspy, cur_date, labelsiz);
+ }
+ /* ###------------------------------------------------------### */
+- /* If a fatal error has been occured during the simulation */
++ /* If a fatal error has been occurred during the simulation */
+ /* (Assert Violation, Bus conflict), set the end flag of the */
+ /* pattern sequence to avoid loading new patterns and break the */
+ /* simulation cycle */
+diff --git a/alliance/src/asimut/src/vh_util.h b/alliance/src/asimut/src/vh_util.h
+index 8bfe6b2..e1a265e 100644
+--- a/alliance/src/asimut/src/vh_util.h
++++ b/alliance/src/asimut/src/vh_util.h
+@@ -4,7 +4,7 @@
+ /* date : Nov 13 1995 */
+ /* version : v3.0 */
+ /* authors : VUONG H.N., L.A. TABUSSE, P. BAZARGAN */
+-/* content : contains defines, external variables and funtions used*/
++/* content : contains defines, external variables and functions used*/
+ /* by utility functions */
+ /* ###--------------------------------------------------------------### */
+
+diff --git a/alliance/src/asimut/src/vh_xcomm.c b/alliance/src/asimut/src/vh_xcomm.c
+index 165f11b..11bcbd5 100644
+--- a/alliance/src/asimut/src/vh_xcomm.c
++++ b/alliance/src/asimut/src/vh_xcomm.c
+@@ -1132,7 +1132,7 @@ struct papat *pt_papat;
+
+ /* ###------------------------------------------------------### */
+ /* if no user predicted event has been found and an event has */
+- /* been occured, add a new paevt structure to the pattern. Use */
++ /* been occurred, add a new paevt structure to the pattern. Use */
+ /* a wrong value (the previous value) as user defined value. */
+ /* Remember that a user predicted '?*' is always an event. */
+ /* ###------------------------------------------------------### */
+@@ -1168,7 +1168,7 @@ struct papat *pt_papat;
+ /* if there is an event related to the input-output, and if */
+ /* the value predicted by the user and the simulated value do */
+ /* not match print out an error message. In such a case add an */
+- /* event on the same input-ouput with a wrong predicted value */
++ /* event on the same input-output with a wrong predicted value */
+ /* to the next pattern (if it exists). */
+ /* ###------------------------------------------------------### */
+
+@@ -1224,7 +1224,7 @@ struct papat *pt_papat;
+
+ /* ###------------------------------------------------------### */
+ /* If an error occurs, and if no user event is scheduled in the */
+- /* next pattern, add an event on the same input-ouput with a */
++ /* next pattern, add an event on the same input-output with a */
+ /* wrong predicted value to the next pattern (if it exists). */
+ /* ###------------------------------------------------------### */
+
+@@ -1407,9 +1407,9 @@ unsigned int labelsiz;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* if an event has been occured, switch ON a spy_flag. */
++ /* if an event has been occurred, switch ON a spy_flag. */
+ /* and append the paiol IOLNBR to the label. */
+- /* if an event has been occured, add a new paevt structure. */
++ /* if an event has been occurred, add a new paevt structure. */
+ /* ###------------------------------------------------------### */
+
+ if (pt_paiol->VALUE != value)
+@@ -1507,7 +1507,7 @@ unsigned int labelsiz;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* if an event has been occured, add a new paevt structure. */
++ /* if an event has been occurred, add a new paevt structure. */
+ /* ###------------------------------------------------------### */
+
+ if (pt_paiol->VALUE != value)
+diff --git a/alliance/src/asimut/src/vh_xspec.c b/alliance/src/asimut/src/vh_xspec.c
+index c252c68..e6bb510 100644
+--- a/alliance/src/asimut/src/vh_xspec.c
++++ b/alliance/src/asimut/src/vh_xspec.c
+@@ -902,7 +902,7 @@ unsigned int cur_date;
+ VHX_SIGUPD = NULL;
+
+ /* ###------------------------------------------------------### */
+- /* update bused signals' value (also handles errors occured */
++ /* update bused signals' value (also handles errors occurred */
+ /* when resolution functions are called) */
+ /* ###------------------------------------------------------### */
+
+@@ -971,7 +971,7 @@ unsigned int cur_date;
+
+ /* ###------------------------------------------------------### */
+ /* update internal bussed signals's value (also handles */
+- /* errors occured when resolution functions are called) */
++ /* errors occurred when resolution functions are called) */
+ /* ###------------------------------------------------------### */
+
+ cur_chain = VHX_BUXUPD;
+@@ -1037,7 +1037,7 @@ unsigned int cur_date;
+ VHX_BUXUPD = NULL;
+
+ /* ###------------------------------------------------------### */
+- /* updating registers (also handles errors occured when */
++ /* updating registers (also handles errors occurred when */
+ /* resolution functions are called) */
+ /* ###------------------------------------------------------### */
+
+diff --git a/alliance/src/attila/doc/attila/man_attila.html b/alliance/src/attila/doc/attila/man_attila.html
+index ae006e6..46f34b0 100644
+--- a/alliance/src/attila/doc/attila/man_attila.html
++++ b/alliance/src/attila/doc/attila/man_attila.html
+@@ -188,7 +188,7 @@ CLASS="LITERAL"
+ your ~/.rhosts to access them whithout
++> to access them without
+ passwords. You also can uses sshinstall is
+- assumed. If you want to completly uninstall a tool and clean
++ assumed. If you want to completely uninstall a tool and clean
+ it's build directory you can pass
+ bip) and on one Solaris
+ computer (beny). As to connect on thoses
+ computer it will uses rsh so you must setup
+- your ~/.rhosts to access them whithout
++ your ~/.rhosts to access them without
+ passwords. You also can uses ssh (but the
+ procedure to allow automatic login is more complicated).
+
+@@ -285,7 +285,7 @@
+ as is to the subsequent call to
+ make. If no -m-
+ argument is given, then install is
+- assumed. If you want to completly uninstall a tool and clean
++ assumed. If you want to completely uninstall a tool and clean
+ it's build directory you can pass
+ uninstall clean
+
+diff --git a/alliance/src/aut/man3/autallocblock.3 b/alliance/src/aut/man3/autallocblock.3
+index 4cf8454..9f6862c 100644
+--- a/alliance/src/aut/man3/autallocblock.3
++++ b/alliance/src/aut/man3/autallocblock.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ autallocblock \- memory allocator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/aut/man3/autallocheap.3 b/alliance/src/aut/man3/autallocheap.3
+index c82bdcd..4dc8870 100644
+--- a/alliance/src/aut/man3/autallocheap.3
++++ b/alliance/src/aut/man3/autallocheap.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ autallocheap \- heap memory allocator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/aut/man3/autfreeblock.3 b/alliance/src/aut/man3/autfreeblock.3
+index 225619c..ef8db67 100644
+--- a/alliance/src/aut/man3/autfreeblock.3
++++ b/alliance/src/aut/man3/autfreeblock.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ autfreeblock \- releases a memory block
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/aut/man3/autfreeheap.3 b/alliance/src/aut/man3/autfreeheap.3
+index 1d78528..e9f358e 100644
+--- a/alliance/src/aut/man3/autfreeheap.3
++++ b/alliance/src/aut/man3/autfreeheap.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ autfreeheap \- releases a memory block, and put it on the heap.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/aut/man3/autresizeblock.3 b/alliance/src/aut/man3/autresizeblock.3
+index 226b6e7..9b4d650 100644
+--- a/alliance/src/aut/man3/autresizeblock.3
++++ b/alliance/src/aut/man3/autresizeblock.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ autresizeblock \- resizes a memory block
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/autostuff b/alliance/src/autostuff
+index abbdfd6..53083eb 100755
+--- a/alliance/src/autostuff
++++ b/alliance/src/autostuff
+@@ -291,28 +291,28 @@ find $ordered_dirs -name configure.in | while read config; do
+ echo "" >> configure.in
+ echo "dnl Infos extracted from $config" >> configure.in
+
+- for version_line in `grep -h _CUR= $config`; do
++ for version_line in `grep -ah _CUR= $config`; do
+ echo "$version_line" >> configure.in
+ version_name=`echo $version_line | sed 's,=.*,,'`
+ echo "AC_SUBST($version_name)" >> configure.in
+ done
+- for version_line in `grep -h _REV= $config`; do
++ for version_line in `grep -ah _REV= $config`; do
+ echo "$version_line" >> configure.in
+ version_name=`echo $version_line | sed 's,=.*,,'`
+ echo "AC_SUBST($version_name)" >> configure.in
+ done
+- for version_line in `grep -h _REL= $config`; do
++ for version_line in `grep -ah _REL= $config`; do
+ echo "$version_line" >> configure.in
+ version_name=`echo $version_line | sed 's,=.*,,'`
+ echo "AC_SUBST($version_name)" >> configure.in
+ done
+
+- for dll_line in `grep -h _DLL_VERSION= $config`; do
++ for dll_line in `grep -ah _DLL_VERSION= $config`; do
+ echo "$dll_line" >> configure.in
+ dll_name=`echo $dll_line | sed 's,=.*,,'`
+ echo "AC_SUBST($dll_name)" >> configure.in
+ done
+- for version_line in `grep -h _VERSION= $config | grep -v DLL`; do
++ for version_line in `grep -ah _VERSION= $config | grep -v DLL`; do
+ echo "$version_line" >> configure.in
+ version_name=`echo $version_line | sed 's,=.*,,'`
+ echo "AC_SUBST($version_name)" >> configure.in
+diff --git a/alliance/src/bdd/man1/bdd.1 b/alliance/src/bdd/man1/bdd.1
+index 3906a8d..f8cc113 100644
+--- a/alliance/src/bdd/man1/bdd.1
++++ b/alliance/src/bdd/man1/bdd.1
+@@ -121,10 +121,10 @@ as a Multi Reduced Ordered Binary Decision Diagrams.
+ \- converts a \fBbdd\fP node to an \fBabl\fP.
+ .TP
+ \fBexistbddnodeassocon\fP
+-\- computes an existantial quantification.
++\- computes an existential quantification.
+ .TP
+ \fBexistbddnodeassocoff\fP
+-\- computes an existantial quantification.
++\- computes an existential quantification.
+ .TP
+ \fBgarbagebddsystem\fP
+ \- forces a \fBbdd\fP garbage collection.
+diff --git a/alliance/src/bdd/man3/addbddassoc.3 b/alliance/src/bdd/man3/addbddassoc.3
+index 6c761fb..7c3c4bd 100644
+--- a/alliance/src/bdd/man3/addbddassoc.3
++++ b/alliance/src/bdd/man3/addbddassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddassoc \- creates a new association variables.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddcircuitabl.3 b/alliance/src/bdd/man3/addbddcircuitabl.3
+index fab0f9d..3b7657d 100644
+--- a/alliance/src/bdd/man3/addbddcircuitabl.3
++++ b/alliance/src/bdd/man3/addbddcircuitabl.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddcircuitabl \- converts an \fBabl\fP expression to a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddcircuitin.3 b/alliance/src/bdd/man3/addbddcircuitin.3
+index 1fe8ce5..ff8fc85 100644
+--- a/alliance/src/bdd/man3/addbddcircuitin.3
++++ b/alliance/src/bdd/man3/addbddcircuitin.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddcircuitin \- adds an input in a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddcircuitout.3 b/alliance/src/bdd/man3/addbddcircuitout.3
+index 50861b6..f31f6e6 100644
+--- a/alliance/src/bdd/man3/addbddcircuitout.3
++++ b/alliance/src/bdd/man3/addbddcircuitout.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddcircuitout \- adds an output in a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddnode.3 b/alliance/src/bdd/man3/addbddnode.3
+index abc88a7..f59b7fe 100644
+--- a/alliance/src/bdd/man3/addbddnode.3
++++ b/alliance/src/bdd/man3/addbddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddnode \- adds a new \fBbdd\fP node in the \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddnodeassoc.3 b/alliance/src/bdd/man3/addbddnodeassoc.3
+index 61c9399..810fe71 100644
+--- a/alliance/src/bdd/man3/addbddnodeassoc.3
++++ b/alliance/src/bdd/man3/addbddnodeassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddnodeassoc \- adds a \fBbdd\fP node in a variable association.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddnodelist.3 b/alliance/src/bdd/man3/addbddnodelist.3
+index c510795..b0fcf31 100644
+--- a/alliance/src/bdd/man3/addbddnodelist.3
++++ b/alliance/src/bdd/man3/addbddnodelist.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddnodelist \- adds a node in a \fIchain_list\fP.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddvar.3 b/alliance/src/bdd/man3/addbddvar.3
+index 325b52c..6222cfb 100644
+--- a/alliance/src/bdd/man3/addbddvar.3
++++ b/alliance/src/bdd/man3/addbddvar.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddvar \- adds a new variable in the \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddvarafter.3 b/alliance/src/bdd/man3/addbddvarafter.3
+index c3dfaba..2344db3 100644
+--- a/alliance/src/bdd/man3/addbddvarafter.3
++++ b/alliance/src/bdd/man3/addbddvarafter.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddvarafter \- adds a new variable, after an existing one.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddvarbefore.3 b/alliance/src/bdd/man3/addbddvarbefore.3
+index 2a85f35..c6085a5 100644
+--- a/alliance/src/bdd/man3/addbddvarbefore.3
++++ b/alliance/src/bdd/man3/addbddvarbefore.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddvarbefore \- adds a new variable, before an existing one.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddvarfirst.3 b/alliance/src/bdd/man3/addbddvarfirst.3
+index 80c09c3..0deb7db 100644
+--- a/alliance/src/bdd/man3/addbddvarfirst.3
++++ b/alliance/src/bdd/man3/addbddvarfirst.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddvarfirst \- adds a new variable, before all others.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/addbddvarlast.3 b/alliance/src/bdd/man3/addbddvarlast.3
+index e8b4c98..ddaade7 100644
+--- a/alliance/src/bdd/man3/addbddvarlast.3
++++ b/alliance/src/bdd/man3/addbddvarlast.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ addbddvarlast \- adds a new variable, after all others.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/applybddnode.3 b/alliance/src/bdd/man3/applybddnode.3
+index 25250f2..8ef52cc 100644
+--- a/alliance/src/bdd/man3/applybddnode.3
++++ b/alliance/src/bdd/man3/applybddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ applybddnode \- applies an operator on two \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/applybddnodeite.3 b/alliance/src/bdd/man3/applybddnodeite.3
+index 51de266..2558329 100644
+--- a/alliance/src/bdd/man3/applybddnodeite.3
++++ b/alliance/src/bdd/man3/applybddnodeite.3
+@@ -5,7 +5,7 @@
+ applybddnodeite \- computes the IF-THEN-ELSE logical operation.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/applybddnodelist.3 b/alliance/src/bdd/man3/applybddnodelist.3
+index 7dc2126..3d82dce 100644
+--- a/alliance/src/bdd/man3/applybddnodelist.3
++++ b/alliance/src/bdd/man3/applybddnodelist.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ applybddnodelist \- applies an opertor to a \fBbdd\fP nodes list.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/applybddnodenot.3 b/alliance/src/bdd/man3/applybddnodenot.3
+index f4e26a7..3f6b29f 100644
+--- a/alliance/src/bdd/man3/applybddnodenot.3
++++ b/alliance/src/bdd/man3/applybddnodenot.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ applybddnodenot \- complements a \fBbdd\fP.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/applybddnodeterm.3 b/alliance/src/bdd/man3/applybddnodeterm.3
+index c9bace5..fbdd83d 100644
+--- a/alliance/src/bdd/man3/applybddnodeterm.3
++++ b/alliance/src/bdd/man3/applybddnodeterm.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ applybddnodeterm \- applies an operator on two \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/clearbddsystemref.3 b/alliance/src/bdd/man3/clearbddsystemref.3
+index e8cca16..a257915 100644
+--- a/alliance/src/bdd/man3/clearbddsystemref.3
++++ b/alliance/src/bdd/man3/clearbddsystemref.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ clearbddsystemref \- clears the references for all \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/clearbddsystemrefext.3 b/alliance/src/bdd/man3/clearbddsystemrefext.3
+index 472812a..0ad6a34 100644
+--- a/alliance/src/bdd/man3/clearbddsystemrefext.3
++++ b/alliance/src/bdd/man3/clearbddsystemrefext.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ clearbddsystemrefext \- clears the external references for all \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/clearbddsystemrefint.3 b/alliance/src/bdd/man3/clearbddsystemrefint.3
+index 4346d56..851d4a9 100644
+--- a/alliance/src/bdd/man3/clearbddsystemrefint.3
++++ b/alliance/src/bdd/man3/clearbddsystemrefint.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ clearbddsystemrefint \- clears the internal references for all \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/cofactorbddnode.3 b/alliance/src/bdd/man3/cofactorbddnode.3
+index 7ee0c5b..a417210 100644
+--- a/alliance/src/bdd/man3/cofactorbddnode.3
++++ b/alliance/src/bdd/man3/cofactorbddnode.3
+@@ -5,7 +5,7 @@
+ cofactorbddnode \- computes the generalized cofactor.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/composebddnode.3 b/alliance/src/bdd/man3/composebddnode.3
+index f42eea0..3d296bd 100644
+--- a/alliance/src/bdd/man3/composebddnode.3
++++ b/alliance/src/bdd/man3/composebddnode.3
+@@ -5,7 +5,7 @@
+ composebddnode \- substitutes a variable by a \fBbdd\fP in another \fBbdd\fP.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/convertbddcircuitabl.3 b/alliance/src/bdd/man3/convertbddcircuitabl.3
+index e2f1e82..37fb813 100644
+--- a/alliance/src/bdd/man3/convertbddcircuitabl.3
++++ b/alliance/src/bdd/man3/convertbddcircuitabl.3
+@@ -5,7 +5,7 @@
+ convertbddcircuitabl \- converts a \fBbdd\fP node to an \fBabl\fP expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/convertbddcircuitsumabl.3 b/alliance/src/bdd/man3/convertbddcircuitsumabl.3
+index f3e9901..c69a5c6 100644
+--- a/alliance/src/bdd/man3/convertbddcircuitsumabl.3
++++ b/alliance/src/bdd/man3/convertbddcircuitsumabl.3
+@@ -5,7 +5,7 @@
+ convertbddcircuitsumabl \- converts a \fBbdd\fP node to an \fBabl\fP expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/convertbddindexabl.3 b/alliance/src/bdd/man3/convertbddindexabl.3
+index c964a84..3338ab5 100644
+--- a/alliance/src/bdd/man3/convertbddindexabl.3
++++ b/alliance/src/bdd/man3/convertbddindexabl.3
+@@ -5,7 +5,7 @@
+ convertbddindexabl \- converts a \fBbdd\fP index to an \fBabl\fP expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/convertbddmuxabl.3 b/alliance/src/bdd/man3/convertbddmuxabl.3
+index 5a5426d..32b6948 100644
+--- a/alliance/src/bdd/man3/convertbddmuxabl.3
++++ b/alliance/src/bdd/man3/convertbddmuxabl.3
+@@ -5,7 +5,7 @@
+ convertbddmuxabl \- converts two \fBbdd\fP nodes to an \fBabl\fP multiplexor expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/convertbddnodeabl.3 b/alliance/src/bdd/man3/convertbddnodeabl.3
+index c375cb9..068bc07 100644
+--- a/alliance/src/bdd/man3/convertbddnodeabl.3
++++ b/alliance/src/bdd/man3/convertbddnodeabl.3
+@@ -5,7 +5,7 @@
+ convertbddnodeabl \- converts a \fBbdd\fP node to an \fBabl\fP expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/convertbddnodesumabl.3 b/alliance/src/bdd/man3/convertbddnodesumabl.3
+index de9403f..7001370 100644
+--- a/alliance/src/bdd/man3/convertbddnodesumabl.3
++++ b/alliance/src/bdd/man3/convertbddnodesumabl.3
+@@ -5,7 +5,7 @@
+ convertbddnodesumabl \- converts a \fBbdd\fP node to an \fBabl\fP expression.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/createbddcircuit.3 b/alliance/src/bdd/man3/createbddcircuit.3
+index 6c7599d..623e23c 100644
+--- a/alliance/src/bdd/man3/createbddcircuit.3
++++ b/alliance/src/bdd/man3/createbddcircuit.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createbddcircuit \- creates a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/createbddsystem.3 b/alliance/src/bdd/man3/createbddsystem.3
+index d13b71b..f577d43 100644
+--- a/alliance/src/bdd/man3/createbddsystem.3
++++ b/alliance/src/bdd/man3/createbddsystem.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ createbddsystem \- creates a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/decbddrefext.3 b/alliance/src/bdd/man3/decbddrefext.3
+index f5dd396..faae159 100644
+--- a/alliance/src/bdd/man3/decbddrefext.3
++++ b/alliance/src/bdd/man3/decbddrefext.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ decbddrefext \- decrements the external reference of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -33,7 +33,7 @@ of the \fBbdd\fP node \fIBddNode\fP.
+ "negative reference, index xxx error !"
+ .ft R
+ .RS
+-The \fIBddNode\fP must have a postive number of external reference.
++The \fIBddNode\fP must have a positive number of external reference.
+ .RE
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/bdd/man3/decbddrefint.3 b/alliance/src/bdd/man3/decbddrefint.3
+index 46e3eff..9dc446e 100644
+--- a/alliance/src/bdd/man3/decbddrefint.3
++++ b/alliance/src/bdd/man3/decbddrefint.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ decbddrefint \- decrements the internal reference of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -33,7 +33,7 @@ of the \fBbdd\fP node \fIBddNode\fP.
+ "negative reference, index xxx error !"
+ .ft R
+ .RS
+-The \fIBddNode\fP must have a postive number of internal reference.
++The \fIBddNode\fP must have a positive number of internal reference.
+ .RE
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/bdd/man3/delbddassoc.3 b/alliance/src/bdd/man3/delbddassoc.3
+index 43abf93..c522321 100644
+--- a/alliance/src/bdd/man3/delbddassoc.3
++++ b/alliance/src/bdd/man3/delbddassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delbddassoc \- deletes a variable association.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/delbddcircuitout.3 b/alliance/src/bdd/man3/delbddcircuitout.3
+index a49a379..48ddfbf 100644
+--- a/alliance/src/bdd/man3/delbddcircuitout.3
++++ b/alliance/src/bdd/man3/delbddcircuitout.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delbddcircuitout \- deletes an output in a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/delbddnode.3 b/alliance/src/bdd/man3/delbddnode.3
+index 4a64770..940904e 100644
+--- a/alliance/src/bdd/man3/delbddnode.3
++++ b/alliance/src/bdd/man3/delbddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delbddnode \- deletes an unused \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/delbddnodeassoc.3 b/alliance/src/bdd/man3/delbddnodeassoc.3
+index 668ac88..7007451 100644
+--- a/alliance/src/bdd/man3/delbddnodeassoc.3
++++ b/alliance/src/bdd/man3/delbddnodeassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delbddnodeassoc \- deletes a \fBbdd\fP node in a variable association.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/delbddnodelist.3 b/alliance/src/bdd/man3/delbddnodelist.3
+index 045fa23..ca75991 100644
+--- a/alliance/src/bdd/man3/delbddnodelist.3
++++ b/alliance/src/bdd/man3/delbddnodelist.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ delbddnodelist \- deletes a list of \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/destroybddassoc.3 b/alliance/src/bdd/man3/destroybddassoc.3
+index 395b013..7ac33c3 100644
+--- a/alliance/src/bdd/man3/destroybddassoc.3
++++ b/alliance/src/bdd/man3/destroybddassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ destroybddassoc \- frees all the variable associations.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/destroybddcircuit.3 b/alliance/src/bdd/man3/destroybddcircuit.3
+index 1757ffd..5a949cf 100644
+--- a/alliance/src/bdd/man3/destroybddcircuit.3
++++ b/alliance/src/bdd/man3/destroybddcircuit.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ destroybddcircuit \- destroys a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/destroybddsystem.3 b/alliance/src/bdd/man3/destroybddsystem.3
+index 0c90898..3bae538 100644
+--- a/alliance/src/bdd/man3/destroybddsystem.3
++++ b/alliance/src/bdd/man3/destroybddsystem.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ destroybddsystem \- destroys a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/existbddnodeassocoff.3 b/alliance/src/bdd/man3/existbddnodeassocoff.3
+index 8b3ce67..c9b5c25 100644
+--- a/alliance/src/bdd/man3/existbddnodeassocoff.3
++++ b/alliance/src/bdd/man3/existbddnodeassocoff.3
+@@ -2,9 +2,9 @@
+ .\" @(#)existbddnodeassocoff.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
+ .TH EXISTBDDNODEASSOCOFF 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
+ .SH NAME
+-existbddnodeassocoff \- computes an existantial quantification.
++existbddnodeassocoff \- computes an existential quantification.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/existbddnodeassocon.3 b/alliance/src/bdd/man3/existbddnodeassocon.3
+index 86c40f6..8e69f3e 100644
+--- a/alliance/src/bdd/man3/existbddnodeassocon.3
++++ b/alliance/src/bdd/man3/existbddnodeassocon.3
+@@ -2,9 +2,9 @@
+ .\" @(#)existbddnodeassocon.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
+ .TH EXISTBDDNODEASSOCON 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
+ .SH NAME
+-existbddnodeassocon \- computes an existantial quantification.
++existbddnodeassocon \- computes an existential quantification.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/garbagebddsystem.3 b/alliance/src/bdd/man3/garbagebddsystem.3
+index 8dc239e..8788342 100644
+--- a/alliance/src/bdd/man3/garbagebddsystem.3
++++ b/alliance/src/bdd/man3/garbagebddsystem.3
+@@ -5,7 +5,7 @@
+ garbagebddsystem \- Forces a \fBbdd\fP garbage collection.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddnodenum.3 b/alliance/src/bdd/man3/getbddnodenum.3
+index 40d1074..51a4187 100644
+--- a/alliance/src/bdd/man3/getbddnodenum.3
++++ b/alliance/src/bdd/man3/getbddnodenum.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddnodenum \- gets the number of nodes in a \fBbdd\fP.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddnodesize.3 b/alliance/src/bdd/man3/getbddnodesize.3
+index c7257e0..cd278d2 100644
+--- a/alliance/src/bdd/man3/getbddnodesize.3
++++ b/alliance/src/bdd/man3/getbddnodesize.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddnodesize \- gets the number of nodes in a \fBbdd\fP.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddnodesupport.3 b/alliance/src/bdd/man3/getbddnodesupport.3
+index 485fa26..209ec40 100644
+--- a/alliance/src/bdd/man3/getbddnodesupport.3
++++ b/alliance/src/bdd/man3/getbddnodesupport.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddnodesupport \- gives the variable support of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddvarbyindex.3 b/alliance/src/bdd/man3/getbddvarbyindex.3
+index c3d813e..191db3f 100644
+--- a/alliance/src/bdd/man3/getbddvarbyindex.3
++++ b/alliance/src/bdd/man3/getbddvarbyindex.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddvarbyindex \- converts \fBbdd\fP index to a variable number.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddvarindex.3 b/alliance/src/bdd/man3/getbddvarindex.3
+index f04089a..6013746 100644
+--- a/alliance/src/bdd/man3/getbddvarindex.3
++++ b/alliance/src/bdd/man3/getbddvarindex.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddvarindex \- converts a variable number in a \fBbdd\fP index.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddvarnode.3 b/alliance/src/bdd/man3/getbddvarnode.3
+index ada3177..5736166 100644
+--- a/alliance/src/bdd/man3/getbddvarnode.3
++++ b/alliance/src/bdd/man3/getbddvarnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddvarnode \- gives the \fBbdd\fP node of a variable.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/getbddvarnodebyindex.3 b/alliance/src/bdd/man3/getbddvarnodebyindex.3
+index 1d5c941..9e74aac 100644
+--- a/alliance/src/bdd/man3/getbddvarnodebyindex.3
++++ b/alliance/src/bdd/man3/getbddvarnodebyindex.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ getbddvarnode \- gives the \fBbdd\fP node of a variable.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/implybddnode.3 b/alliance/src/bdd/man3/implybddnode.3
+index 1686cb1..a247d36 100644
+--- a/alliance/src/bdd/man3/implybddnode.3
++++ b/alliance/src/bdd/man3/implybddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ implybddnode \- computes a \fBbdd\fP that implies a conjonction of two \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/incbddrefext.3 b/alliance/src/bdd/man3/incbddrefext.3
+index e70d22b..87f56cb 100644
+--- a/alliance/src/bdd/man3/incbddrefext.3
++++ b/alliance/src/bdd/man3/incbddrefext.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ incbddrefext \- increments the external reference of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/incbddrefint.3 b/alliance/src/bdd/man3/incbddrefint.3
+index a9c596d..0078a42 100644
+--- a/alliance/src/bdd/man3/incbddrefint.3
++++ b/alliance/src/bdd/man3/incbddrefint.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ incbddrefint \- increments the internal reference of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/intersectbddnode.3 b/alliance/src/bdd/man3/intersectbddnode.3
+index a637348..8578bfb 100644
+--- a/alliance/src/bdd/man3/intersectbddnode.3
++++ b/alliance/src/bdd/man3/intersectbddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ intersectbddnode \- tests for an intersection between two \fBbdd\fP nodes.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/isbddvarinsupport.3 b/alliance/src/bdd/man3/isbddvarinsupport.3
+index f0aac9e..ef2c356 100644
+--- a/alliance/src/bdd/man3/isbddvarinsupport.3
++++ b/alliance/src/bdd/man3/isbddvarinsupport.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ isbddvarinsupport \- tests if a variable appears in a \fBbdd\fP.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/markbddnode.3 b/alliance/src/bdd/man3/markbddnode.3
+index babc469..ec1894b 100644
+--- a/alliance/src/bdd/man3/markbddnode.3
++++ b/alliance/src/bdd/man3/markbddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ markbddnode \- marks \fBbdd\fP node with a specified mask.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ This function does a OR with the field MARK of the \fBbdd\fP node \fIBddNode\fP,
+ and the bit mask \fIMark\fP.
+ .br
+ .SH RETURN VALUE
+-\fBmarkbddnode\fP returns the number of the differents marked nodes.
++\fBmarkbddnode\fP returns the number of the different marked nodes.
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+ .nf
+diff --git a/alliance/src/bdd/man3/relprodbddnodeassoc.3 b/alliance/src/bdd/man3/relprodbddnodeassoc.3
+index c923c57..fecadc8 100644
+--- a/alliance/src/bdd/man3/relprodbddnodeassoc.3
++++ b/alliance/src/bdd/man3/relprodbddnodeassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ relprodbddnodeassoc \- computes a relational product.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/reorderbddsystemdynamic.3 b/alliance/src/bdd/man3/reorderbddsystemdynamic.3
+index f2631ca..94ed2da 100644
+--- a/alliance/src/bdd/man3/reorderbddsystemdynamic.3
++++ b/alliance/src/bdd/man3/reorderbddsystemdynamic.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ reorderbddsystemdynamic \- specifies the dynamic \fBbdd\fP reorder parameters.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/reorderbddsystemsimple.3 b/alliance/src/bdd/man3/reorderbddsystemsimple.3
+index 8501e43..2098295 100644
+--- a/alliance/src/bdd/man3/reorderbddsystemsimple.3
++++ b/alliance/src/bdd/man3/reorderbddsystemsimple.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ reorderbddsystemsimple \- reorders the \fBbdd\fP nodes of a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/reorderbddsystemtop.3 b/alliance/src/bdd/man3/reorderbddsystemtop.3
+index 389b1ee..2e4fcd6 100644
+--- a/alliance/src/bdd/man3/reorderbddsystemtop.3
++++ b/alliance/src/bdd/man3/reorderbddsystemtop.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ reorderbddsystemtop \- reorders the \fBbdd\fP nodes of a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/reorderbddsystemwindow.3 b/alliance/src/bdd/man3/reorderbddsystemwindow.3
+index 0accbe8..da8ffd9 100644
+--- a/alliance/src/bdd/man3/reorderbddsystemwindow.3
++++ b/alliance/src/bdd/man3/reorderbddsystemwindow.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ reorderbddsystemwindow \- reorders the \fBbdd\fP nodes of a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/resetbddcircuit.3 b/alliance/src/bdd/man3/resetbddcircuit.3
+index f7a2340..2b1fa32 100644
+--- a/alliance/src/bdd/man3/resetbddcircuit.3
++++ b/alliance/src/bdd/man3/resetbddcircuit.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ resetbddcircuit \- resets a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/resetbddsystem.3 b/alliance/src/bdd/man3/resetbddsystem.3
+index 9f0a1da..6248a25 100644
+--- a/alliance/src/bdd/man3/resetbddsystem.3
++++ b/alliance/src/bdd/man3/resetbddsystem.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ resetbddsystem \- resets a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/restrictbddnode.3 b/alliance/src/bdd/man3/restrictbddnode.3
+index 77fc0ab..e37c940 100644
+--- a/alliance/src/bdd/man3/restrictbddnode.3
++++ b/alliance/src/bdd/man3/restrictbddnode.3
+@@ -5,7 +5,7 @@
+ restrictbddnode \- substitutes a variable by a zero or one, in a \fBbdd\fP.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/satisfybddnode.3 b/alliance/src/bdd/man3/satisfybddnode.3
+index 2c8e0aa..b1e0bf4 100644
+--- a/alliance/src/bdd/man3/satisfybddnode.3
++++ b/alliance/src/bdd/man3/satisfybddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ satisfybddnode \- finds a satisfying path for a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/searchbddcircuitin.3 b/alliance/src/bdd/man3/searchbddcircuitin.3
+index 185350e..4b15292 100644
+--- a/alliance/src/bdd/man3/searchbddcircuitin.3
++++ b/alliance/src/bdd/man3/searchbddcircuitin.3
+@@ -2,9 +2,9 @@
+ .\" @(#)searchbddcircuitin.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
+ .TH SEARCHBDDCIRCUITIN 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
+ .SH NAME
+-searchbddcircuitin \- searchs an input in a \fBbdd\fP circuit.
++searchbddcircuitin \- searches an input in a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -24,7 +24,7 @@ The \fBbdd\fP circuit.
+ \fIInputName\fP
+ The name of the input to look for.
+ .SH DESCRIPTION
+-\fBsearchbddcircuitin\fP searchs the input \fIInputName\fP in the \fBbdd\fP
++\fBsearchbddcircuitin\fP searches the input \fIInputName\fP in the \fBbdd\fP
+ circuit \fIBddCircuit\fP.
+ If a null pointer is given, the default \fBbdd\fP circuit is used.
+ .br
+diff --git a/alliance/src/bdd/man3/searchbddcircuitout.3 b/alliance/src/bdd/man3/searchbddcircuitout.3
+index de4379f..b5fd040 100644
+--- a/alliance/src/bdd/man3/searchbddcircuitout.3
++++ b/alliance/src/bdd/man3/searchbddcircuitout.3
+@@ -2,9 +2,9 @@
+ .\" @(#)searchbddcircuitout.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
+ .TH SEARCHBDDCIRCUITOUT 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
+ .SH NAME
+-searchbddcircuitout \- searchs an output in a \fBbdd\fP circuit.
++searchbddcircuitout \- searches an output in a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -24,7 +24,7 @@ The \fBbdd\fP circuit.
+ \fIOutputName\fP
+ The name of the output to look for.
+ .SH DESCRIPTION
+-\fBsearchbddcircuitout\fP searchs the output \fIOutputName\fP in the \fBbdd\fP
++\fBsearchbddcircuitout\fP searches the output \fIOutputName\fP in the \fBbdd\fP
+ circuit \fIBddCircuit\fP.
+ If a null pointer is given, the default \fBbdd\fP circuit is used.
+ .br
+diff --git a/alliance/src/bdd/man3/setbddrefext.3 b/alliance/src/bdd/man3/setbddrefext.3
+index d264ea8..52823d2 100644
+--- a/alliance/src/bdd/man3/setbddrefext.3
++++ b/alliance/src/bdd/man3/setbddrefext.3
+@@ -5,7 +5,7 @@
+ setbddrefext \- increments the external reference,
+ and decrements the internal reference of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ internal reference.
+ "negative reference, index xxx error !"
+ .ft R
+ .RS
+-The \fIBddNode\fP must have a postive number of internal reference.
++The \fIBddNode\fP must have a positive number of internal reference.
+ .RE
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/bdd/man3/simpbddnodedcoff.3 b/alliance/src/bdd/man3/simpbddnodedcoff.3
+index 9489c80..7f4a677 100644
+--- a/alliance/src/bdd/man3/simpbddnodedcoff.3
++++ b/alliance/src/bdd/man3/simpbddnodedcoff.3
+@@ -5,7 +5,7 @@
+ simpbddnodedcoff \- simplifies a \fBbdd\fP with don't cares on its off-set part.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/simpbddnodedcon.3 b/alliance/src/bdd/man3/simpbddnodedcon.3
+index a743f87..5c09ddb 100644
+--- a/alliance/src/bdd/man3/simpbddnodedcon.3
++++ b/alliance/src/bdd/man3/simpbddnodedcon.3
+@@ -5,7 +5,7 @@
+ simpbddnodedcon \- simplifies a \fBbdd\fP with don't cares on its on-set part.
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/substbddnodeassoc.3 b/alliance/src/bdd/man3/substbddnodeassoc.3
+index 788316b..bc38a60 100644
+--- a/alliance/src/bdd/man3/substbddnodeassoc.3
++++ b/alliance/src/bdd/man3/substbddnodeassoc.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ substbddnodeassoc \- substitutes a set of variables with a set of \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/swapbddvar.3 b/alliance/src/bdd/man3/swapbddvar.3
+index b50d1be..f052c5f 100644
+--- a/alliance/src/bdd/man3/swapbddvar.3
++++ b/alliance/src/bdd/man3/swapbddvar.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ swapbddvar \- swaps two contiguous variables.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,7 +27,7 @@ The variable to swap.
+ \fBswapbddvar\fP swaps the variable number \fIVariable\fP with
+ the variable number \fIVariable\fP + 1, in the \fBbdd\fP system \fIBddSystem\fP.
+ If a null pointer is given, the default \fBbdd\fP system is used.
+-This function is usefull for the \fBbdd\fP nodes reordering.
++This function is useful for the \fBbdd\fP nodes reordering.
+ .br
+ .SH RETURN VALUE
+ \fBswapbddvar\fP returns nothing.
+diff --git a/alliance/src/bdd/man3/testbddcircuit.3 b/alliance/src/bdd/man3/testbddcircuit.3
+index c845f2c..fac540a 100644
+--- a/alliance/src/bdd/man3/testbddcircuit.3
++++ b/alliance/src/bdd/man3/testbddcircuit.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ testbddcircuit \- debugs a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/unmarkbddnode.3 b/alliance/src/bdd/man3/unmarkbddnode.3
+index 5ae405e..ba3efb0 100644
+--- a/alliance/src/bdd/man3/unmarkbddnode.3
++++ b/alliance/src/bdd/man3/unmarkbddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ unmarkbddnode \- unmarks \fBbdd\fP node with a specified mask.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ This function does a AND with the field MARK of the \fBbdd\fP node \fIBddNode\fP
+ and the complemented bit mask \fIMark\fP.
+ .br
+ .SH RETURN VALUE
+-\fBunmarkbddnode\fP returns the number of the differents unmarked nodes.
++\fBunmarkbddnode\fP returns the number of the different unmarked nodes.
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+ .nf
+diff --git a/alliance/src/bdd/man3/unsetbddrefext.3 b/alliance/src/bdd/man3/unsetbddrefext.3
+index ca45555..b4d65d2 100644
+--- a/alliance/src/bdd/man3/unsetbddrefext.3
++++ b/alliance/src/bdd/man3/unsetbddrefext.3
+@@ -5,7 +5,7 @@
+ unsetbddrefext \- increments the internal reference,
+ and decrements the external reference of a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ external reference.
+ "negative reference, index xxx error !"
+ .ft R
+ .RS
+-The \fIBddNode\fP must have a postive number of external reference.
++The \fIBddNode\fP must have a positive number of external reference.
+ .RE
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/bdd/man3/viewbddcircuit.3 b/alliance/src/bdd/man3/viewbddcircuit.3
+index 8d7d7d2..9278721 100644
+--- a/alliance/src/bdd/man3/viewbddcircuit.3
++++ b/alliance/src/bdd/man3/viewbddcircuit.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ viewbddcircuit \- displays a \fBbdd\fP circuit.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -22,7 +22,7 @@ void viewbddcircuit( BddCircuit, ViewIndex )
+ The \fBbdd\fP circuit to display.
+ .TP
+ \fIViewName\fP
+-Flag to display more informations.
++Flag to display more information.
+ .SH DESCRIPTION
+ \fBviewbddcircuit\fP displays the \fBbdd\fP circuit \fIBddCircuit\fP.
+ If \fIViewName\fP is true, \fBviewbddcircuit\fP displays also the field \fINAME_IN\fP.
+diff --git a/alliance/src/bdd/man3/viewbddnode.3 b/alliance/src/bdd/man3/viewbddnode.3
+index fdb51bb..c61c070 100644
+--- a/alliance/src/bdd/man3/viewbddnode.3
++++ b/alliance/src/bdd/man3/viewbddnode.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ viewbddnode \- displays a \fBbdd\fP node.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/bdd/man3/viewbddsystem.3 b/alliance/src/bdd/man3/viewbddsystem.3
+index 71e4e1e..0136d5c 100644
+--- a/alliance/src/bdd/man3/viewbddsystem.3
++++ b/alliance/src/bdd/man3/viewbddsystem.3
+@@ -4,7 +4,7 @@
+ .SH NAME
+ viewbddsystem \- displays a \fBbdd\fP system.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -22,7 +22,7 @@ void viewbddsystem( BddSystem, ViewIndex )
+ The \fBbdd\fP system to display.
+ .TP
+ \fIViewIndex\fP
+-Flag to display more informations.
++Flag to display more information.
+ .SH DESCRIPTION
+ \fBviewbddsystem\fP displays the \fBbdd\fP system \fIBddSystem\fP.
+ If \fIViewIndex\fP is true, \fBviewbddsystem\fP displays also
+diff --git a/alliance/src/bdd/man3/viewbddsysteminfo.3 b/alliance/src/bdd/man3/viewbddsysteminfo.3
+index 609f74d..fae3c3f 100644
+--- a/alliance/src/bdd/man3/viewbddsysteminfo.3
++++ b/alliance/src/bdd/man3/viewbddsysteminfo.3
+@@ -2,9 +2,9 @@
+ .\" @(#)viewbddsysteminfo.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
+ .TH VIEWBDDSYSTEMINFO 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
+ .SH NAME
+-viewbddsysteminfo \- displays statistical informations.
++viewbddsysteminfo \- displays statistical information.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -20,7 +20,7 @@ void viewbddsysteminfo( BddSystem )
+ \fIBddSystem\fP
+ The \fBbdd\fP system to examines.
+ .SH DESCRIPTION
+-\fBviewbddsysteminfo\fP provides statistical informations
++\fBviewbddsysteminfo\fP provides statistical information
+ on the \fBbdd\fP system \fIBddSystem\fP, for example the
+ perfomance of the different caches.
+ If a null pointer is given, the default \fBbdd\fP system is used.
+diff --git a/alliance/src/beh/man3/beh.3 b/alliance/src/beh/man3/beh.3
+index 304ff07..b65e19a 100644
+--- a/alliance/src/beh/man3/beh.3
++++ b/alliance/src/beh/man3/beh.3
+@@ -74,7 +74,7 @@ To enable work, a static version of each library is always present for the
+ user. Libraries and header files are suffixed by a number (the library's
+ version). The programmer can prefer to work with an earlier version of a
+ library rather than the most recent one. However, it is recommended to adapt
+-softwares to libraries as soon as possible in order to spotlight potential
++software to libraries as soon as possible in order to spotlight potential
+ compatibility problems before old libraries are removed.
+
+ .PP
+@@ -85,12 +85,12 @@ It can't be achieved an other way, so do use \fImakefile\fP.
+
+ .PP
+ For each behavioural description format a parser and a driver have been
+-developed . These are organized in as many seperate libraries as description
++developed . These are organized in as many separate libraries as description
+ format. So if a parser or driver changes it is not needed to recompile
+ \fBBEH\fP. Only a relink of the application is needed.
+
+ .PP
+-In terms of software organization, \fBBEH\fP is splitted into two libraries
++In terms of software organization, \fBBEH\fP is split into two libraries
+ for the basic functions, a header file for structures and variable declarations,
+ and , up to now, one parser\-driver library for VHDL format.
+
+diff --git a/alliance/src/beh/man3/beh_debug.3 b/alliance/src/beh/man3/beh_debug.3
+index 0c6f80a..9ad5d1d 100644
+--- a/alliance/src/beh/man3/beh_debug.3
++++ b/alliance/src/beh/man3/beh_debug.3
+@@ -7,7 +7,7 @@
+ .PP
+ \fBbeh_debug\fP \- BEH structures displayer\-debugger
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ void beh_debug (pnt, type)
+diff --git a/alliance/src/beh/man3/beh_depend.3 b/alliance/src/beh/man3/beh_depend.3
+index ccd328e..532a2ba 100644
+--- a/alliance/src/beh/man3/beh_depend.3
++++ b/alliance/src/beh/man3/beh_depend.3
+@@ -7,7 +7,7 @@
+ .PP
+ \fBbeh_depend\fP \- compute forward dependencies in a description
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ void beh_depend (fig_pnt)
+diff --git a/alliance/src/beh/man3/beh_error.3 b/alliance/src/beh/man3/beh_error.3
+index d6dba94..07590f0 100644
+--- a/alliance/src/beh/man3/beh_error.3
++++ b/alliance/src/beh/man3/beh_error.3
+@@ -7,7 +7,7 @@
+ .PP
+ \fBbeh_error\fP
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ int beh_error (code, str)
+diff --git a/alliance/src/beh/man3/beh_makbdd.3 b/alliance/src/beh/man3/beh_makbdd.3
+index 623e4d4..c7e3012 100644
+--- a/alliance/src/beh/man3/beh_makbdd.3
++++ b/alliance/src/beh/man3/beh_makbdd.3
+@@ -7,7 +7,7 @@
+ .PP
+ \fBbeh_makbdd\fP \- create a BDD for each expression in a description
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ void beh_makbdd (fig_pnt)
+diff --git a/alliance/src/beh/man3/beh_makgex.3 b/alliance/src/beh/man3/beh_makgex.3
+index d44b99c..87dced5 100644
+--- a/alliance/src/beh/man3/beh_makgex.3
++++ b/alliance/src/beh/man3/beh_makgex.3
+@@ -7,7 +7,7 @@
+ .PP
+ \fBbeh_makgex\fP \- create a GEX for each expression in a description
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ void beh_makgex (fig_pnt)
+diff --git a/alliance/src/beh/man3/beh_message.3 b/alliance/src/beh/man3/beh_message.3
+index 8cc0307..7298dd9 100644
+--- a/alliance/src/beh/man3/beh_message.3
++++ b/alliance/src/beh/man3/beh_message.3
+@@ -7,7 +7,7 @@
+ .PP
+ \fBbeh_message\fP
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ void beh_message (code, str)
+diff --git a/alliance/src/bhl/src/beh_debug.c b/alliance/src/bhl/src/beh_debug.c
+index ff21533..43d91ef 100644
+--- a/alliance/src/bhl/src/beh_debug.c
++++ b/alliance/src/bhl/src/beh_debug.c
+@@ -637,7 +637,7 @@ char **str; /* recognized strings */
+ /* function : splitline */
+ /* description : read a line (the space must have been reserved by the */
+ /* caller - *words) from the standard input and split it */
+-/* into seperate words. Return the number of words read. */
++/* into separate words. Return the number of words read. */
+ /* called func. : none */
+ /* ###--------------------------------------------------------------### */
+
+diff --git a/alliance/src/bhl/src/beh_depend.c b/alliance/src/bhl/src/beh_depend.c
+index 9ead907..fd896e6 100644
+--- a/alliance/src/bhl/src/beh_depend.c
++++ b/alliance/src/bhl/src/beh_depend.c
+@@ -208,7 +208,7 @@ struct befig *pt_fig;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* process simple ouputs */
++ /* process simple outputs */
+ /* check that the signal does not already belong to the */
+ /* dependency list before adding it to the list */
+ /* ###------------------------------------------------------### */
+@@ -231,7 +231,7 @@ struct befig *pt_fig;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* process bussed ouputs. */
++ /* process bussed outputs. */
+ /* check that the signal does not already belong to the */
+ /* dependency list before adding it to the list */
+ /* ###------------------------------------------------------### */
+diff --git a/alliance/src/bhl/src/beh_makquad.c b/alliance/src/bhl/src/beh_makquad.c
+index 49a0249..7a84676 100644
+--- a/alliance/src/bhl/src/beh_makquad.c
++++ b/alliance/src/bhl/src/beh_makquad.c
+@@ -64,7 +64,7 @@ void beh_makquad ( struct befig *pt_befig )
+ }
+
+ /* ###------------------------------------------------------### */
+- /* bussed ouput ports */
++ /* bussed output ports */
+ /* ###------------------------------------------------------### */
+
+ pt_bebus = pt_befig->BEBUS;
+diff --git a/alliance/src/boog/doc/boog.1 b/alliance/src/boog/doc/boog.1
+index 052524c..c9dcb73 100644
+--- a/alliance/src/boog/doc/boog.1
++++ b/alliance/src/boog/doc/boog.1
+@@ -115,7 +115,7 @@ Here is the default lax file (see the user's manual for further information abou
+ \f4 Mapping with a standard cell library\fP
+ .br
+ Every cell appearing in the directory defined by the environment variable MBK_TARGET_LIB may be used by \f4boog\fP since they are described as a '.vbe' file. There are some restrictions about the type of the cell used. Every cell has to have only one output.
+-The cell must be characterized. The timing and area informations required by \f4boog\fP are specified in the "generic" clause of the ".vbe" file.
++The cell must be characterized. The timing and area information required by \f4boog\fP are specified in the "generic" clause of the ".vbe" file.
+ .br
+
+ .SH OPTION
+@@ -130,10 +130,10 @@ Optimization mode. Can be defined in lax file, it's only a shortcut to define it
+ Generate a '.xsc' file. It is a color map for each signals contained in \fIoutput_file\fP network. This file is used by \f4xsch\fP to view the netlist. By choosing level 0 or 1 for xsch_mode, you can color respectively the critical path or all signals with delay graduation.
+ .TP 10
+ \f4\-o output_file\fP
+-Just another way to show explicitely the \f4VST\fP output file name.
++Just another way to show explicitly the \f4VST\fP output file name.
+ .TP 10
+ \f4\-l lax_file\fP
+-Just another way to show explicitely the \f4LAX\fP parameter file name.
++Just another way to show explicitly the \f4LAX\fP parameter file name.
+ .TP 10
+ \f4\-d debug_file\fP
+ Generates a \f4VBE\f debug file. It comes from internal result algorithm. Users aren't concerned.
+diff --git a/alliance/src/boog/doc/lax.5 b/alliance/src/boog/doc/lax.5
+index 9e56d88..1aa7e51 100644
+--- a/alliance/src/boog/doc/lax.5
++++ b/alliance/src/boog/doc/lax.5
+@@ -113,7 +113,7 @@ ep_3;
+
+ ## Set the list of auxiliary (intermediate) signals to keep
+ ## This can be used to decrease the memory consuption
+-## when trying to reorder Bdds. Those signals wont
++## when trying to reorder Bdds. Those signals won't
+ ## be reordered.
+ #S{
+ cs_ea;
+diff --git a/alliance/src/boog/src/bog_lib_complete.c b/alliance/src/boog/src/bog_lib_complete.c
+index 044f434..eca10df 100644
+--- a/alliance/src/boog/src/bog_lib_complete.c
++++ b/alliance/src/boog/src/bog_lib_complete.c
+@@ -437,7 +437,7 @@ extern void control_lib()
+ case ABL_XOR: case ABL_NXOR: xor=add_dual(xor,cell); break;
+ case ABL_NOT: not=cell; break;
+ default:
+- fprintf(stderr,"control_lib: unknow oper %ld\n",
++ fprintf(stderr,"control_lib: unknown oper %ld\n",
+ ABL_OPER(cell->ABL));
+ exit(1);
+ }
+diff --git a/alliance/src/boog/src/bog_lib_format.c b/alliance/src/boog/src/bog_lib_format.c
+index abae542..e4a9ce3 100644
+--- a/alliance/src/boog/src/bog_lib_format.c
++++ b/alliance/src/boog/src/bog_lib_format.c
+@@ -225,7 +225,7 @@ extern int format_cell(befig_list* befig)
+ if (befig->BEREG) {
+ /*only one register*/
+ if (befig->BEREG->NEXT || befig->BEBUS || befig->BEBUX) return 0;
+- /*one ouput*/
++ /*one output*/
+ if (!befig->BEOUT || befig->BEOUT->NEXT) return 0;
+ /* forbid logic on output */
+ if (!ABL_ATOM(befig->BEOUT->ABL)) {
+@@ -246,14 +246,14 @@ extern int format_cell(befig_list* befig)
+ if (befig->BEBUS) {
+ /*only one bus*/
+ if (befig->BEBUS->NEXT || befig->BEREG || befig->BEBUX) return 0;
+- /*one ouput: bebus*/
++ /*one output: bebus*/
+ if (befig->BEOUT) return 0;
+ }
+
+ if (befig->BEBUX) {
+ /*only one internal bus*/
+ if (befig->BEBUX->NEXT || befig->BEREG || befig->BEBUS) return 0;
+- /*one ouput: beout*/
++ /*one output: beout*/
+ if (!befig->BEOUT || befig->BEOUT->NEXT) return 0;
+ /* forbid logic on output */
+ if (!ABL_ATOM(befig->BEOUT->ABL)) {
+@@ -281,7 +281,7 @@ extern int format_cell(befig_list* befig)
+ }
+
+ if (befig->BEOUT) {
+- /*one ouput: beout*/
++ /*one output: beout*/
+ if (befig->BEOUT->NEXT || befig->BEBUS) return 0;
+ }
+
+diff --git a/alliance/src/boog/src/bog_lib_reader.c b/alliance/src/boog/src/bog_lib_reader.c
+index fca9bd2..da3603b 100644
+--- a/alliance/src/boog/src/bog_lib_reader.c
++++ b/alliance/src/boog/src/bog_lib_reader.c
+@@ -149,7 +149,7 @@ static int distribCell(befig_list* befig)
+ }
+
+ /*patterns aren't equal, new is more precise*/
+- if (!biabl_befig) continue;
++ if (biabl_befig) continue;
+
+ /*patterns are equal -->comparison*/
+ if (cell->AREANAME=befig->NAME;
+ cell->DELAY=0;
+- cell->MODE='P'; /*cell won't be developped in lofig result*/
++ cell->MODE='P'; /*cell won't be developed in lofig result*/
+ cell->AREA=getgenericarea(befig);
+ cell->ABL=NULL;
+ cell->BIABL=NULL;
+diff --git a/alliance/src/boog/src/bog_main.c b/alliance/src/boog/src/bog_main.c
+index f1e0cd3..5352fef 100644
+--- a/alliance/src/boog/src/bog_main.c
++++ b/alliance/src/boog/src/bog_main.c
+@@ -423,7 +423,7 @@ extern int main (int argc, char* argv[])
+ freeptype(loins_num);
+ }
+
+- /*colors and weight informations for xsch alliance displayer*/
++ /*colors and weight information for xsch alliance displayer*/
+ if (xsch_file) {
+ FILE* xsch_stream;
+
+@@ -447,7 +447,7 @@ extern int main (int argc, char* argv[])
+
+ /*for debugging extract a resulting vbe file to compare with source*/
+ if (debug_file) {
+- fprintf(stdout,"Formating debug file '%s.vbe'...\n",debug_file);
++ fprintf(stdout,"Formatting debug file '%s.vbe'...\n",debug_file);
+ put_back_STABLE(befig); /*put in condition register STABLE*/
+ normalize_nameindex(befig); /*for bits of vectors*/
+ sort_vector(befig); /*needed to be recognized by parser/driver */
+diff --git a/alliance/src/boog/src/bog_map_pattern.c b/alliance/src/boog/src/bog_map_pattern.c
+index 9ffed7c..cc36918 100644
+--- a/alliance/src/boog/src/bog_map_pattern.c
++++ b/alliance/src/boog/src/bog_map_pattern.c
+@@ -384,7 +384,7 @@ extern int eval_pattern(chain_list* expr, chain_list* pattern, int negativ)
+
+
+ /******************************************************************************/
+-/* return the cell wich matches expr */
++/* return the cell which matches expr */
+ /*fulfill the ORDER field of cell with leaves of pattern matching */
+ /******************************************************************************/
+ extern cell_list* cell_pattern(chain_list* expr)
+@@ -413,7 +413,9 @@ extern cell_list* cell_pattern(chain_list* expr)
+
+ /*improve speed*/
+ if (ABL_ATOM(cell->ABL)!=ABL_ATOM(expr)) continue;
+-
++ if (ABL_ATOM(expr)&&
++ ((ABL_ATOM_VALUE(expr)==getablatomzero() || ABL_ATOM_VALUE(expr)==getablatomone())
++ && ABL_ATOM_VALUE(expr)!=ABL_ATOM_VALUE(cell->ABL))) continue;
+ /*improve speed*/
+ if (!ABL_ATOM(expr) && ABL_OPER(expr)!=ABL_NOT/*match all*/) {
+ if (ABL_ARITY(cell->ABL)!=ABL_ARITY(expr)) continue;
+@@ -547,7 +549,7 @@ extern cell_list* cell_pattern(chain_list* expr)
+
+
+ /******************************************************************************/
+-/* return the cell tristate wich matches biabl */
++/* return the cell tristate which matches biabl */
+ /*fulfill the ORDER field of cell with leaves of pattern matching */
+ /******************************************************************************/
+ extern cell_list* cell_pattern_bus(biabl_list* biabl)
+diff --git a/alliance/src/boog/src/bog_map_pattern.h b/alliance/src/boog/src/bog_map_pattern.h
+index b7be3b9..169fb70 100644
+--- a/alliance/src/boog/src/bog_map_pattern.h
++++ b/alliance/src/boog/src/bog_map_pattern.h
+@@ -51,19 +51,19 @@
+ extern int eval_pattern __P ((chain_list* expr, chain_list* pattern, int negativ));
+
+ /******************************************************************************/
+-/* return the cell wich matches expr */
++/* return the cell which matches expr */
+ /*fulfill the ORDER field of cell with leaves of pattern matching */
+ /******************************************************************************/
+ extern cell_list* cell_pattern __P ((chain_list* expr));
+
+ /******************************************************************************/
+-/* return the cell tristate wich matches biabl */
++/* return the cell tristate which matches biabl */
+ /*fulfill the ORDER field of cell with leaves of pattern matching */
+ /******************************************************************************/
+ extern cell_list* cell_pattern_bus __P ((biabl_list* biabl));
+
+ /******************************************************************************/
+-/* return the cell register wich matches biabl */
++/* return the cell register which matches biabl */
+ /*fulfill the ORDER field of cell with leaves of pattern matching */
+ /******************************************************************************/
+ extern cell_list* cell_pattern_reg __P ((biabl_list* biabl));
+diff --git a/alliance/src/boog/src/bog_normalize_DC.c b/alliance/src/boog/src/bog_normalize_DC.c
+index a84f045..00dc6bb 100644
+--- a/alliance/src/boog/src/bog_normalize_DC.c
++++ b/alliance/src/boog/src/bog_normalize_DC.c
+@@ -74,7 +74,7 @@ static void find_d_z_abl(chain_list* abl, long value)
+
+
+ /****************************************************************************/
+-/* change 'z' and 'd' occurence in '0' or '1' in all expressions of befig */
++/* change 'z' and 'd' occurrence in '0' or '1' in all expressions of befig */
+ /****************************************************************************/
+ extern void remove_DC(befig_list* befig)
+ {
+diff --git a/alliance/src/boog/src/bog_normalize_DC.h b/alliance/src/boog/src/bog_normalize_DC.h
+index 9111594..d1163ef 100644
+--- a/alliance/src/boog/src/bog_normalize_DC.h
++++ b/alliance/src/boog/src/bog_normalize_DC.h
+@@ -43,7 +43,7 @@
+
+
+ /****************************************************************************/
+-/* change 'z' and 'd' occurence in '0' or '1' in all expressions of befig */
++/* change 'z' and 'd' occurrence in '0' or '1' in all expressions of befig */
+ /****************************************************************************/
+ extern void remove_DC __P ((befig_list* befig));
+
+diff --git a/alliance/src/boog/src/bog_signal_nameindex.c b/alliance/src/boog/src/bog_signal_nameindex.c
+index d8346b0..7605026 100644
+--- a/alliance/src/boog/src/bog_signal_nameindex.c
++++ b/alliance/src/boog/src/bog_signal_nameindex.c
+@@ -94,7 +94,7 @@ extern int forbid_radical(char* name)
+
+
+ /***************************************************************************/
+-/* return name concatenated with an index and seperated by '_' */
++/* return name concatenated with an index and separated by '_' */
+ /* this index is : how many times I have sent this name to getnameindex() */
+ /* unicity is guaranteed until you run Put_index_to_zero() below */
+ /***************************************************************************/
+@@ -117,7 +117,7 @@ extern char* getnameindex(char* name)
+ return name; /*unchanged*/
+ }
+ else {
+- /*add an occurence*/
++ /*add an occurrence*/
+ elem->VALUE++;
+ memo_char=SEPAR; /*external value from MBK environment*/
+ SEPAR='_';
+diff --git a/alliance/src/boog/src/bog_signal_nameindex.h b/alliance/src/boog/src/bog_signal_nameindex.h
+index 2989da6..c86d2b1 100644
+--- a/alliance/src/boog/src/bog_signal_nameindex.h
++++ b/alliance/src/boog/src/bog_signal_nameindex.h
+@@ -53,7 +53,7 @@ extern void free_nameindex __P (());
+ extern int forbid_radical __P ((char* name));
+
+ /***************************************************************************/
+-/* return name concatenated with an index and seperated by '_' */
++/* return name concatenated with an index and separated by '_' */
+ /* this index is : how many times I have sent this name to getnameindex() */
+ /* unicity is guaranteed until you run free_nameindex() below */
+ /***************************************************************************/
+diff --git a/alliance/src/boom/man1/boom.1 b/alliance/src/boom/man1/boom.1
+index 87e2963..5f11192 100644
+--- a/alliance/src/boom/man1/boom.1
++++ b/alliance/src/boom/man1/boom.1
+@@ -36,7 +36,7 @@ Each step of the optimization is displayed on the standard output.
+ .TP 10
+ \f4\-T\fP
+ Trace mode on.
+-Some debug informations are displayed on the standard output.
++Some debug information are displayed on the standard output.
+ .TP 10
+ \f4\-O\fP
+ Reverses initial Bdd variables order.
+@@ -88,7 +88,7 @@ Specifies the delay optimization percent
+ (default is 0% delay, 100% surface).
+ .TP 10
+ \f4\-i num\fP
+-Specifies the number of iterations for the choosen optimization algorithm
++Specifies the number of iterations for the chosen optimization algorithm
+ (for experts only).
+ .TP 10
+ \f4\-a num\fP
+diff --git a/alliance/src/boom/src/boom_aux.c b/alliance/src/boom/src/boom_aux.c
+index d34d7bf..587bfcd 100644
+--- a/alliance/src/boom/src/boom_aux.c
++++ b/alliance/src/boom/src/boom_aux.c
+@@ -465,7 +465,7 @@ void BoomBehDeleteUselessAux( BehFigure, InitialAux, RemoveBerin )
+
+ if ( IsBoomDebugLevel1() )
+ {
+- BoomPrintf( stdout, "Count Occurences\n" );
++ BoomPrintf( stdout, "Count Occurrences\n" );
+ }
+
+ BoomBehScanAbl( BehFigure, BoomCountAuxOccurAbl, 0 );
+diff --git a/alliance/src/bvl/src/bvl_drive.c b/alliance/src/bvl/src/bvl_drive.c
+index b94add8..3010093 100644
+--- a/alliance/src/bvl/src/bvl_drive.c
++++ b/alliance/src/bvl/src/bvl_drive.c
+@@ -564,7 +564,7 @@ long trace_mode;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* print a concurrent signal assignment for each ouput port */
++ /* print a concurrent signal assignment for each output port */
+ /* ###------------------------------------------------------### */
+
+ pt_out = pt_fig->BEOUT;
+diff --git a/alliance/src/cells/src/Makefile.am b/alliance/src/cells/src/Makefile.am
+index 64e6972..b4c0f2a 100644
+--- a/alliance/src/cells/src/Makefile.am
++++ b/alliance/src/cells/src/Makefile.am
+@@ -1,4 +1,4 @@
+ # $Id: Makefile.am,v 1.5 2005/10/04 15:46:25 jpc Exp $
+
+-SUBDIRS = dp_sxlib padlib pxlib rflib rf2lib ramlib romlib sxlib
++SUBDIRS = dp_sxlib padlib pxlib mpxlib rflib rf2lib ramlib romlib sxlib msxlib
+
+diff --git a/alliance/src/cells/src/dp_sxlib/dp_dff_x4.ap b/alliance/src/cells/src/dp_sxlib/dp_dff_x4.ap
+index bb6f720..bd47a67 100644
+--- a/alliance/src/cells/src/dp_sxlib/dp_dff_x4.ap
++++ b/alliance/src/cells/src/dp_sxlib/dp_dff_x4.ap
+@@ -1,170 +1,173 @@
+ V ALLIANCE : 6
+-H dp_dff_x4,P,26/ 9/2000,100
++H dp_dff_x4,P, 6/ 8/2015,100
+ A 0,0,7000,5000
+-R 3000,2000,ref_ref,nckx
+-R 500,4000,ref_ref,i_40
+-R 500,1000,ref_ref,i_10
+-R 500,1500,ref_ref,i_15
+-R 500,2000,ref_ref,i_20
+-R 500,3500,ref_ref,i_35
+-R 500,3000,ref_ref,i_30
+-R 6000,1500,ref_ref,q_15
+-R 6000,1000,ref_ref,q_10
+-R 6000,4000,ref_ref,q_40
+-R 6000,3000,ref_ref,q_30
+-R 6000,2000,ref_ref,q_20
+-R 6000,3500,ref_ref,q_35
+-R 500,2500,ref_ref,i_25
+-R 6000,2500,ref_ref,q_25
+-R 1000,2000,ref_ref,wenx
+-R 2000,2000,ref_ref,nwenx
+ R 4500,2000,ref_ref,ckx
+-S 3000,1500,3400,1500,200,*,RIGHT,ALU1
+-S 3000,3000,3900,3000,200,*,RIGHT,ALU1
+-S 3000,1500,3000,3000,100,*,DOWN,ALU1
+-S 3000,2000,3000,2000,200,nckx,LEFT,CALU3
+-S 4400,2500,4400,3500,100,*,DOWN,ALU1
+-S 3700,3500,3700,4000,100,*,DOWN,ALU1
+-S 3700,3500,4400,3500,100,*,RIGHT,ALU1
+-S 300,3300,300,4600,300,*,UP,PDIF
+-S 5100,2600,5100,4900,100,*,DOWN,PTRANS
+-S 6300,2600,6300,4900,100,*,DOWN,PTRANS
+-S 6600,2800,6600,4700,300,*,DOWN,PDIF
+-S 0,4000,7000,4000,2600,*,RIGHT,NWELL
+-S 2400,3100,2400,4400,100,*,UP,PTRANS
+-S 1900,3100,1900,4400,100,*,UP,PTRANS
+-S 1100,3100,1100,4400,100,*,UP,PTRANS
+-S 5700,2600,5700,4900,100,*,DOWN,PTRANS
+-S 6000,2800,6000,4700,300,*,DOWN,PDIF
+-S 4700,2600,4700,4900,100,*,DOWN,PTRANS
+-S 5300,2800,5300,4700,300,*,DOWN,PDIF
+-S 4400,2800,4400,4700,300,*,DOWN,PDIF
+-S 3700,3800,3700,4700,300,*,DOWN,PDIF
+-S 2700,3300,2700,4700,300,*,UP,PDIF
+-S 3000,3600,3000,4900,100,*,DOWN,PTRANS
+-S 3400,3600,3400,4900,100,*,DOWN,PTRANS
+-S 600,3100,600,4400,100,*,UP,PTRANS
+-S 1500,3300,1500,4200,500,*,UP,PDIF
+-S 4700,100,4700,1400,100,*,UP,NTRANS
+-S 6300,100,6300,1400,100,*,UP,NTRANS
+-S 1900,600,1900,1400,100,*,DOWN,NTRANS
+-S 2400,600,2400,1400,100,*,DOWN,NTRANS
+-S 1100,600,1100,1400,100,*,DOWN,NTRANS
+-S 3400,600,3400,1400,100,*,UP,NTRANS
+-S 3000,600,3000,1400,100,*,UP,NTRANS
+-S 600,600,600,1400,100,*,DOWN,NTRANS
+-S 5700,100,5700,1400,100,*,UP,NTRANS
+-S 5100,100,5100,1400,100,*,UP,NTRANS
+-S 4400,300,4400,1200,300,*,DOWN,NDIF
+-S 300,400,300,1200,300,*,DOWN,NDIF
+-S 300,300,300,1200,300,*,DOWN,NDIF
+-S 5400,300,5400,1200,300,*,DOWN,NDIF
+-S 6000,300,6000,1200,300,*,DOWN,NDIF
+-S 2700,400,2700,1200,300,*,DOWN,NDIF
+-S 6600,300,6600,1200,300,*,DOWN,NDIF
+-S 1500,800,1500,1200,500,*,UP,NDIF
+-S 3700,800,3700,1200,300,*,DOWN,NDIF
+-S 5700,1400,5700,2600,100,*,DOWN,POLY
+-S 4700,2500,4700,2600,100,*,DOWN,POLY
+-S 5100,1400,5100,2600,100,*,DOWN,POLY
+-S 5500,2000,6300,2000,100,*,RIGHT,POLY
+-S 6300,1400,6300,2600,100,*,DOWN,POLY
+-S 4300,1400,4700,1400,100,*,LEFT,POLY
+-S 3900,2500,4700,2500,100,*,LEFT,POLY
+-S 3900,2500,3900,3000,100,*,UP,POLY
+-S 4300,1400,4300,2000,100,*,DOWN,POLY
+-S 3400,2000,4300,2000,100,*,RIGHT,POLY
+-S 1500,2000,3000,2000,100,*,RIGHT,POLY
+-S 1100,1400,1100,2500,100,*,UP,POLY
+-S 1100,2500,1900,2500,100,*,RIGHT,POLY
+-S 3400,2000,3400,3600,100,*,DOWN,POLY
+-S 3000,900,3000,3600,100,*,DOWN,POLY
+-S 1900,2500,1900,3100,100,*,DOWN,POLY
+-S 600,1400,600,3100,100,*,DOWN,POLY
+-S 2500,1500,2500,3000,100,*,UP,ALU1
+-S 2700,500,2700,1000,200,*,UP,ALU1
+-S 1000,4000,2000,4000,100,*,LEFT,ALU1
+-S 2000,1500,2000,4000,100,*,UP,ALU1
+-S 1500,1000,1500,3500,100,*,UP,ALU1
+-S 6600,500,6600,1000,200,*,DOWN,ALU1
+-S 6600,3000,6600,4500,200,*,DOWN,ALU1
+-S 4400,4000,4900,4000,100,*,RIGHT,ALU1
+-S 3700,1000,3900,1000,200,*,RIGHT,ALU1
+-S 3900,1500,5000,1500,100,*,RIGHT,ALU1
+-S 3900,1000,3900,2500,100,*,DOWN,ALU1
+-S 3900,2500,4400,2500,100,*,RIGHT,ALU1
+-S 4900,2500,4900,4000,100,*,DOWN,ALU1
+-S 1000,3000,1000,4000,100,*,DOWN,ALU1
+-S 2700,3500,2700,4500,200,*,DOWN,ALU1
+-S 5400,3000,5400,4500,200,*,DOWN,ALU1
+-S 4900,2500,5500,2500,100,*,RIGHT,ALU1
+-S 4400,1000,5500,1000,100,*,LEFT,ALU1
+-S 5500,1000,5500,2500,100,*,DOWN,ALU1
+-S 5000,1500,5000,1900,100,*,UP,ALU1
+-S 1000,2000,4500,2000,200,*,RIGHT,TALU2
+-S 0,300,7000,300,600,vss,RIGHT,CALU1
+-S 0,4700,7000,4700,600,vdd,RIGHT,CALU1
+-S 500,1000,500,4000,200,i,UP,CALU1
+-S 6000,1000,6000,4000,200,q,DOWN,CALU1
+-S 2500,2500,6000,2500,200,q,RIGHT,CALU2
+-S 1000,2000,1000,2000,200,wenx,LEFT,CALU3
+-S 2000,2000,2000,2000,200,nwenx,LEFT,CALU3
++R 2000,2000,ref_ref,nwenx
++R 1000,2000,ref_ref,wenx
++R 6000,2500,ref_ref,q_25
++R 500,2500,ref_ref,i_25
++R 6000,3500,ref_ref,q_35
++R 6000,2000,ref_ref,q_20
++R 6000,3000,ref_ref,q_30
++R 6000,4000,ref_ref,q_40
++R 6000,1000,ref_ref,q_10
++R 6000,1500,ref_ref,q_15
++R 500,3000,ref_ref,i_30
++R 500,3500,ref_ref,i_35
++R 500,2000,ref_ref,i_20
++R 500,1500,ref_ref,i_15
++R 500,1000,ref_ref,i_10
++R 500,4000,ref_ref,i_40
++R 3000,2000,ref_ref,nckx
++S 4500,2000,4500,2000,200,ckx,RIGHT,CALU2
++S 3000,2000,3000,2000,200,nckx,RIGHT,CALU2
++S 2000,2000,2000,2000,200,nwenx,RIGHT,CALU2
++S 1000,2000,1000,2000,200,wenx,RIGHT,CALU2
+ S 4500,2000,4500,2000,200,ckx,LEFT,CALU3
+-V 3000,2000,CONT_VIA,*
+-V 3000,2000,CONT_VIA2,*
+-V 5400,4000,CONT_DIF_P,*
+-V 5400,4500,CONT_DIF_P,*
+-V 6600,4500,CONT_DIF_P,*
+-V 6600,3000,CONT_DIF_P,*
+-V 5400,3500,CONT_DIF_P,*
+-V 900,4700,CONT_BODY_N,*
+-V 2100,4700,CONT_BODY_N,*
+-V 1500,4700,CONT_BODY_N,*
+-V 5400,3000,CONT_DIF_P,*
+-V 1500,3500,CONT_DIF_P,*
+-V 2700,4500,CONT_DIF_P,*
+-V 4400,4000,CONT_DIF_P,*
+-V 6600,3500,CONT_DIF_P,*
+-V 3700,4000,CONT_DIF_P,*
+-V 2700,3500,CONT_DIF_P,*
+-V 300,4500,CONT_DIF_P,*
+-V 2700,4000,CONT_DIF_P,*
+-V 6000,3000,CONT_DIF_P,*
+-V 6600,4000,CONT_DIF_P,*
+-V 2700,500,CONT_DIF_N,*
+-V 4400,1000,CONT_DIF_N,*
+-V 6000,1000,CONT_DIF_N,*
+-V 5400,500,CONT_DIF_N,*
+-V 6600,500,CONT_DIF_N,*
+-V 6600,1000,CONT_DIF_N,*
++S 2000,2000,2000,2000,200,nwenx,LEFT,CALU3
++S 1000,2000,1000,2000,200,wenx,LEFT,CALU3
++S 2500,2500,6000,2500,200,q,RIGHT,CALU2
++S 6000,1000,6000,4000,200,q,DOWN,CALU1
++S 500,1000,500,4000,200,i,UP,CALU1
++S 0,4700,7000,4700,600,vdd,RIGHT,CALU1
++S 0,300,7000,300,600,vss,RIGHT,CALU1
++S 5000,1500,5000,1900,100,*,UP,ALU1
++S 5500,1000,5500,2500,100,*,DOWN,ALU1
++S 4400,1000,5500,1000,100,*,LEFT,ALU1
++S 4900,2500,5500,2500,100,*,RIGHT,ALU1
++S 5400,3000,5400,4500,200,*,DOWN,ALU1
++S 2700,3500,2700,4500,200,*,DOWN,ALU1
++S 1000,3000,1000,4000,100,*,DOWN,ALU1
++S 4900,2500,4900,4000,100,*,DOWN,ALU1
++S 3900,2500,4400,2500,100,*,RIGHT,ALU1
++S 3900,1000,3900,2500,100,*,DOWN,ALU1
++S 3900,1500,5000,1500,100,*,RIGHT,ALU1
++S 3700,1000,3900,1000,200,*,RIGHT,ALU1
++S 4400,4000,4900,4000,100,*,RIGHT,ALU1
++S 6600,3000,6600,4500,200,*,DOWN,ALU1
++S 6600,500,6600,1000,200,*,DOWN,ALU1
++S 1500,1000,1500,3500,100,*,UP,ALU1
++S 2000,1500,2000,4000,100,*,UP,ALU1
++S 1000,4000,2000,4000,100,*,LEFT,ALU1
++S 2700,500,2700,1000,200,*,UP,ALU1
++S 2500,1500,2500,3000,100,*,UP,ALU1
++S 600,1400,600,3100,100,*,DOWN,POLY
++S 1900,2500,1900,3100,100,*,DOWN,POLY
++S 3000,900,3000,3600,100,*,DOWN,POLY
++S 3400,2000,3400,3600,100,*,DOWN,POLY
++S 1100,2500,1900,2500,100,*,RIGHT,POLY
++S 1100,1400,1100,2500,100,*,UP,POLY
++S 1500,2000,3000,2000,100,*,RIGHT,POLY
++S 3400,2000,4300,2000,100,*,RIGHT,POLY
++S 4300,1400,4300,2000,100,*,DOWN,POLY
++S 3900,2500,3900,3000,100,*,UP,POLY
++S 3900,2500,4700,2500,100,*,LEFT,POLY
++S 4300,1400,4700,1400,100,*,LEFT,POLY
++S 6300,1400,6300,2600,100,*,DOWN,POLY
++S 5500,2000,6300,2000,100,*,RIGHT,POLY
++S 5100,1400,5100,2600,100,*,DOWN,POLY
++S 4700,2500,4700,2600,100,*,DOWN,POLY
++S 5700,1400,5700,2600,100,*,DOWN,POLY
++S 3700,800,3700,1200,300,*,DOWN,NDIF
++S 1500,800,1500,1200,500,*,UP,NDIF
++S 6600,300,6600,1200,300,*,DOWN,NDIF
++S 2700,400,2700,1200,300,*,DOWN,NDIF
++S 6000,300,6000,1200,300,*,DOWN,NDIF
++S 5400,300,5400,1200,300,*,DOWN,NDIF
++S 300,300,300,1200,300,*,DOWN,NDIF
++S 300,400,300,1200,300,*,DOWN,NDIF
++S 4400,300,4400,1200,300,*,DOWN,NDIF
++S 5100,100,5100,1400,100,*,UP,NTRANS
++S 5700,100,5700,1400,100,*,UP,NTRANS
++S 600,600,600,1400,100,*,DOWN,NTRANS
++S 3000,600,3000,1400,100,*,UP,NTRANS
++S 3400,600,3400,1400,100,*,UP,NTRANS
++S 1100,600,1100,1400,100,*,DOWN,NTRANS
++S 2400,600,2400,1400,100,*,DOWN,NTRANS
++S 1900,600,1900,1400,100,*,DOWN,NTRANS
++S 6300,100,6300,1400,100,*,UP,NTRANS
++S 4700,100,4700,1400,100,*,UP,NTRANS
++S 1500,3300,1500,4200,500,*,UP,PDIF
++S 600,3100,600,4400,100,*,UP,PTRANS
++S 3400,3600,3400,4900,100,*,DOWN,PTRANS
++S 3000,3600,3000,4900,100,*,DOWN,PTRANS
++S 2700,3300,2700,4700,300,*,UP,PDIF
++S 3700,3800,3700,4700,300,*,DOWN,PDIF
++S 4400,2800,4400,4700,300,*,DOWN,PDIF
++S 5300,2800,5300,4700,300,*,DOWN,PDIF
++S 4700,2600,4700,4900,100,*,DOWN,PTRANS
++S 6000,2800,6000,4700,300,*,DOWN,PDIF
++S 5700,2600,5700,4900,100,*,DOWN,PTRANS
++S 1100,3100,1100,4400,100,*,UP,PTRANS
++S 1900,3100,1900,4400,100,*,UP,PTRANS
++S 2400,3100,2400,4400,100,*,UP,PTRANS
++S 0,4000,7000,4000,2600,*,RIGHT,NWELL
++S 6600,2800,6600,4700,300,*,DOWN,PDIF
++S 6300,2600,6300,4900,100,*,DOWN,PTRANS
++S 5100,2600,5100,4900,100,*,DOWN,PTRANS
++S 300,3300,300,4600,300,*,UP,PDIF
++S 3700,3500,4400,3500,100,*,RIGHT,ALU1
++S 3700,3500,3700,4000,100,*,DOWN,ALU1
++S 4400,2500,4400,3500,100,*,DOWN,ALU1
++S 3000,2000,3000,2000,200,nckx,LEFT,CALU3
++S 3000,1500,3000,3000,100,*,DOWN,ALU1
++S 3000,3000,3900,3000,200,*,RIGHT,ALU1
++S 3000,1500,3400,1500,200,*,RIGHT,ALU1
++V 1000,2000,CONT_VIA2,wenx
++V 4500,2000,CONT_VIA2,*
++V 2000,2000,CONT_VIA2,*
++V 2500,2500,CONT_VIA,*
++V 1000,2000,CONT_VIA,*
++V 2000,2000,CONT_VIA,*
++V 6000,2500,CONT_VIA,*
++V 4500,2000,CONT_VIA,*
++V 4400,2000,CONT_POLY,*
++V 1000,2000,CONT_POLY,*
++V 1000,3000,CONT_POLY,*
++V 2500,3000,CONT_POLY,*
++V 2500,1500,CONT_POLY,*
++V 2000,1500,CONT_POLY,*
++V 5500,2000,CONT_POLY,*
++V 3400,1500,CONT_POLY,*
++V 1500,2000,CONT_POLY,*
++V 5000,2000,CONT_POLY,*
++V 3900,3000,CONT_POLY,*
++V 500,1500,CONT_POLY,*
++V 500,3000,CONT_POLY,*
++V 3700,300,CONT_BODY_P,*
++V 2100,300,CONT_BODY_P,*
++V 900,300,CONT_BODY_P,*
++V 1500,300,CONT_BODY_P,*
++V 1500,1000,CONT_DIF_N,*
+ V 300,500,CONT_DIF_N,*
+-V 2700,1000,CONT_DIF_N,*
+ V 3700,1000,CONT_DIF_N,*
++V 2700,1000,CONT_DIF_N,*
+ V 300,500,CONT_DIF_N,*
+-V 1500,1000,CONT_DIF_N,*
+-V 1500,300,CONT_BODY_P,*
+-V 900,300,CONT_BODY_P,*
+-V 2100,300,CONT_BODY_P,*
+-V 3700,300,CONT_BODY_P,*
+-V 500,3000,CONT_POLY,*
+-V 500,1500,CONT_POLY,*
+-V 3900,3000,CONT_POLY,*
+-V 5000,2000,CONT_POLY,*
+-V 1500,2000,CONT_POLY,*
+-V 3400,1500,CONT_POLY,*
+-V 5500,2000,CONT_POLY,*
+-V 2000,1500,CONT_POLY,*
+-V 2500,1500,CONT_POLY,*
+-V 2500,3000,CONT_POLY,*
+-V 1000,3000,CONT_POLY,*
+-V 1000,2000,CONT_POLY,*
+-V 4400,2000,CONT_POLY,*
+-V 4500,2000,CONT_VIA,*
+-V 6000,2500,CONT_VIA,*
+-V 2000,2000,CONT_VIA,*
+-V 1000,2000,CONT_VIA,*
+-V 2500,2500,CONT_VIA,*
+-V 2000,2000,CONT_VIA2,*
+-V 1000,2000,CONT_VIA2,*
+-V 4500,2000,CONT_VIA2,*
++V 6600,1000,CONT_DIF_N,*
++V 6600,500,CONT_DIF_N,*
++V 5400,500,CONT_DIF_N,*
++V 6000,1000,CONT_DIF_N,*
++V 4400,1000,CONT_DIF_N,*
++V 2700,500,CONT_DIF_N,*
++V 6600,4000,CONT_DIF_P,*
++V 6000,3000,CONT_DIF_P,*
++V 2700,4000,CONT_DIF_P,*
++V 300,4500,CONT_DIF_P,*
++V 2700,3500,CONT_DIF_P,*
++V 3700,4000,CONT_DIF_P,*
++V 6600,3500,CONT_DIF_P,*
++V 4400,4000,CONT_DIF_P,*
++V 2700,4500,CONT_DIF_P,*
++V 1500,3500,CONT_DIF_P,*
++V 5400,3000,CONT_DIF_P,*
++V 1500,4700,CONT_BODY_N,*
++V 2100,4700,CONT_BODY_N,*
++V 900,4700,CONT_BODY_N,*
++V 5400,3500,CONT_DIF_P,*
++V 6600,3000,CONT_DIF_P,*
++V 6600,4500,CONT_DIF_P,*
++V 5400,4500,CONT_DIF_P,*
++V 5400,4000,CONT_DIF_P,*
++V 3000,2000,CONT_VIA2,*
++V 3000,2000,CONT_VIA,*
+ EOF
+diff --git a/alliance/src/cells/src/mpxlib/CATAL b/alliance/src/cells/src/mpxlib/CATAL
+new file mode 100644
+index 0000000..6b55fa3
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/CATAL
+@@ -0,0 +1,13 @@
++pck_mpx C
++piot_mpx C
++pi_mpx C
++po_mpx C
++pot_mpx C
++pvddeck_mpx C
++pvdde_mpx C
++pvddick_mpx C
++pvddi_mpx C
++pvsseck_mpx C
++pvsse_mpx C
++pvssick_mpx C
++pvssi_mpx C
+diff --git a/alliance/src/cells/src/mpxlib/Makefile.am b/alliance/src/cells/src/mpxlib/Makefile.am
+new file mode 100644
+index 0000000..9469aab
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/Makefile.am
+@@ -0,0 +1,34 @@
++
++mpxlibdir=$(prefix)/cells/mpxlib
++
++mpxlib_DATA=CATAL \
++ pck_mpx.ap \
++ pck_mpx.vbe \
++ piot_mpx.ap \
++ piot_mpx.vbe \
++ pi_mpx.ap \
++ pi_mpx.vbe \
++ po_mpx.ap \
++ po_mpx.vbe \
++ pot_mpx.ap \
++ pot_mpx.vbe \
++ padreal_mpx.ap \
++ pvddeck_mpx.ap \
++ pvddeck_mpx.vbe \
++ pvdde_mpx.ap \
++ pvdde_mpx.vbe \
++ pvddick_mpx.ap \
++ pvddick_mpx.vbe \
++ pvddi_mpx.ap \
++ pvddi_mpx.vbe \
++ pvsseck_mpx.ap \
++ pvsseck_mpx.vbe \
++ pvsse_mpx.ap \
++ pvsse_mpx.vbe \
++ pvssick_mpx.ap \
++ pvssick_mpx.vbe \
++ pvssi_mpx.ap \
++ pvssi_mpx.vbe
++
++EXTRA_DIST=$(mpxlib_DATA)
++
+diff --git a/alliance/src/cells/src/mpxlib/padreal_mpx.ap b/alliance/src/cells/src/mpxlib/padreal_mpx.ap
+new file mode 100644
+index 0000000..f1edeaf
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/padreal_mpx.ap
+@@ -0,0 +1,5 @@
++V ALLIANCE : 6
++H padreal_mpx,P,14/9/2014,100
++A 0,0,40000,40000
++S 20000,8100,20000,31900,24400,pad,UP,CALU1
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pck_mpx.ap b/alliance/src/cells/src/mpxlib/pck_mpx.ap
+new file mode 100644
+index 0000000..55cb0c6
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pck_mpx.ap
+@@ -0,0 +1,1385 @@
++V ALLIANCE : 6
++H pck_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 29000,35100,29000,39700,400,pad,UP,ALU1
++S 29000,25900,29000,34900,400,pad,UP,ALU1
++S 28600,33000,29000,33000,600,pad,RIGHT,POLY
++S 28600,31800,29000,31800,600,pad,RIGHT,POLY
++S 28600,30600,29000,30600,600,pad,RIGHT,POLY
++S 28600,25800,29000,25800,600,pad,RIGHT,POLY
++S 20000,48100,20000,71900,24400,pad,UP,CALU1
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 24000,34200,24400,34200,600,vdde,RIGHT,POLY
++S 16800,29900,16800,38300,400,vdde,UP,ALU2
++S 16800,34600,17200,34600,200,vdde,RIGHT,POLY
++S 16800,35800,17200,35800,200,vdde,RIGHT,POLY
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 6800,22200,8400,22200,200,vdde,RIGHT,POLY
++S 3600,22200,5200,22200,200,vdde,RIGHT,POLY
++S 25100,28800,27900,28800,400,vdde,RIGHT,ALU1
++S 25100,24000,27900,24000,400,vdde,RIGHT,ALU1
++S 24000,35800,24400,35800,600,vdde,RIGHT,POLY
++S 16800,33400,17200,33400,200,vdde,RIGHT,POLY
++S 16800,32200,17200,32200,200,vdde,RIGHT,POLY
++S 10500,21800,14300,21800,400,vdde,RIGHT,ALU2
++S 25100,21600,27900,21600,400,vdde,RIGHT,ALU1
++S 25100,26400,27900,26400,400,vdde,RIGHT,ALU1
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 32000,9600,32000,11000,200,vddi,UP,POLY
++S 3100,16000,36900,16000,2400,vddi,RIGHT,ALU1
++S 17800,22900,17800,31900,400,vsse,UP,ALU2
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 7600,22900,7600,37500,400,vsse,UP,ALU1
++S 4400,22900,4400,37500,400,vsse,UP,ALU1
++S 30400,36400,30400,36600,200,vsse,UP,POLY
++S 20800,22900,20800,37100,400,vsse,UP,ALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 3100,6000,36900,6000,2400,vssi,RIGHT,ALU1
++S 14800,22500,14800,36700,200,n15d,UP,NTRANS
++S 26600,11100,26600,13100,200,p17c,UP,PTRANS
++S 31700,6000,37100,6000,400,93onymous_,RIGHT,ALU2
++S 31600,20200,31600,20600,600,92onymous_,UP,POLY
++S 31400,19100,31400,28300,400,91onymous_,UP,ALU2
++S 2700,20200,15700,20200,400,53onymous_,RIGHT,ALU1
++S 17900,31600,18700,31600,400,249nymous_,RIGHT,ALU1
++S 16400,7500,16400,9100,620,210nymous_,UP,NDIF
++S 23100,19200,38100,19200,400,13onymous_,RIGHT,ALU1
++S 36800,6900,36800,17300,400,126nymous_,UP,ALU2
++S 23100,37600,27700,37600,400,10onymous_,RIGHT,ALU1
++S 36800,11100,36800,15900,400,127nymous_,UP,ALU1
++S 17500,22600,19100,22600,200,n6d,RIGHT,NTRANS
++S 13400,10900,13400,14900,200,p18b,UP,PTRANS
++S 6800,22500,6800,36700,200,n14c,UP,NTRANS
++S 26000,12100,26000,15900,400,52onymous_,UP,ALU1
++S 17900,30400,18700,30400,400,248nymous_,RIGHT,ALU1
++S 26000,11300,26000,12900,620,51onymous_,UP,PDIF
++S 16400,11100,16400,14700,620,211nymous_,UP,PDIF
++S 900,19000,9300,19000,2400,169nymous_,RIGHT,ALU2
++S 23000,19300,23000,37500,400,11onymous_,UP,ALU1
++S 23000,19080,23000,37920,600,12onymous_,UP,NTIE
++S 27000,24900,27000,36700,400,56onymous_,UP,ALU2
++S 27200,7500,27200,9100,620,57onymous_,UP,NDIF
++S 27200,8100,27200,8900,400,58onymous_,UP,ALU1
++S 32000,8100,32000,8500,400,94onymous_,UP,ALU1
++S 23600,6100,23600,7900,400,16onymous_,UP,ALU1
++S 31400,20900,31400,34300,200,p14a,UP,PTRANS
++S 16400,12100,16400,15900,400,212nymous_,UP,ALU1
++S 12200,9600,12200,10600,200,170nymous_,UP,POLY
++S 23080,37600,29920,37600,600,15onymous_,RIGHT,NTIE
++S 22880,19200,38320,19200,600,14onymous_,RIGHT,NTIE
++S 37000,21300,37000,36300,400,130nymous_,UP,ALU1
++S 36800,10880,36800,16120,600,128nymous_,UP,NTIE
++S 37000,21100,37000,36500,620,129nymous_,UP,PDIF
++S 16500,20200,24300,20200,400,213nymous_,RIGHT,ALU2
++S 31400,35300,31400,36100,200,p11,UP,PTRANS
++S 23600,7500,23600,9100,620,17onymous_,UP,NDIF
++S 16800,20300,16800,23300,400,214nymous_,UP,ALU1
++S 12400,20700,12400,36300,400,171nymous_,UP,ALU1
++S 17900,34000,18700,34000,400,250nymous_,RIGHT,ALU1
++S 16500,21200,25300,21200,400,215nymous_,RIGHT,ALU2
++S 12400,22700,12400,36500,620,172nymous_,UP,NDIF
++S 26400,18600,26400,38600,8400,54onymous_,UP,NWELL
++S 12400,18500,12400,22100,2400,173nymous_,UP,ALU2
++S 26600,9600,26600,10800,200,55onymous_,UP,POLY
++S 14600,10900,14600,14900,200,p18c,UP,PTRANS
++S 14600,7300,14600,9300,200,n18c,UP,NTRANS
++S 12500,4000,17900,4000,400,175nymous_,RIGHT,ALU2
++S 12800,3700,12800,11300,400,174nymous_,UP,ALU2
++S 1800,17700,1800,38300,1600,252nymous_,UP,ALU2
++S 16800,23200,16800,25400,600,217nymous_,UP,POLY
++S 16800,20900,16800,24700,400,216nymous_,UP,ALU2
++S 23600,12100,23600,15900,400,19onymous_,UP,ALU1
++S 17900,36400,18700,36400,400,251nymous_,RIGHT,ALU1
++S 23600,11300,23600,12900,620,18onymous_,UP,PDIF
++S 32000,8500,32000,9100,620,pad2,UP,NDIF
++S 2900,20600,15500,20600,400,pad2,RIGHT,ALU1
++S 2700,20600,15700,20600,400,pad2,RIGHT,ALU1
++S 38200,19080,38200,37920,600,133nymous_,UP,NTIE
++S 37000,17700,37000,38300,2400,131nymous_,UP,ALU2
++S 2800,20500,2800,36300,400,62onymous_,UP,ALU1
++S 27800,9600,27800,10800,200,61onymous_,UP,POLY
++S 27200,11300,27200,12900,620,60onymous_,UP,PDIF
++S 27200,11100,27200,12500,400,59onymous_,UP,ALU1
++S 3200,5880,3200,8720,600,97onymous_,UP,PTIE
++S 3200,5700,3200,8300,400,96onymous_,UP,ALU2
++S 12900,9000,17500,9000,400,177nymous_,RIGHT,ALU1
++S 32000,11100,32000,15900,400,95onymous_,UP,ALU1
++S 12800,7500,12800,9100,420,176nymous_,UP,NDIF
++S 18200,9600,18200,10600,200,253nymous_,UP,POLY
++S 38200,19300,38200,37500,400,132nymous_,UP,ALU1
++S 3600,22500,3600,36700,200,n14a,UP,NTRANS
++S 28400,6100,28400,8900,400,65onymous_,UP,ALU1
++S 32600,8300,32600,9300,200,n16c,UP,NTRANS
++S 24000,33900,24000,36100,400,21onymous_,UP,ALU2
++S 16800,24100,16800,29500,400,218nymous_,UP,ALU2
++S 4400,22700,4400,38300,2400,137nymous_,UP,ALU2
++S 24000,27100,24000,29100,400,20onymous_,UP,ALU1
++S 4400,22900,4400,37500,400,136nymous_,UP,ALU1
++S 4400,22700,4400,36500,620,135nymous_,UP,NDIF
++S 4400,21800,4400,22200,600,134nymous_,UP,POLY
++S 16900,24400,17700,24400,400,219nymous_,RIGHT,ALU1
++S 16800,25500,16800,28100,400,220nymous_,UP,ALU1
++S 18500,6000,32300,6000,400,254nymous_,RIGHT,ALU2
++S 12800,11100,12800,14700,620,178nymous_,UP,PDIF
++S 18800,6100,18800,8900,400,255nymous_,UP,ALU1
++S 12900,11000,17500,11000,400,179nymous_,RIGHT,ALU1
++S 3200,6100,3200,9100,400,98onymous_,UP,ALU1
++S 18800,5700,18800,11300,400,256nymous_,UP,ALU2
++S 18800,7500,18800,9100,620,257nymous_,UP,NDIF
++S 2900,6000,11900,6000,400,99onymous_,RIGHT,ALU2
++S 27800,7300,27800,9300,200,n17d,UP,NTRANS
++S 3200,7700,3200,15700,400,100nymous_,UP,ALU2
++S 13400,9600,13400,10600,200,180nymous_,UP,POLY
++S 3200,11100,3200,15900,400,101nymous_,UP,ALU1
++S 27800,11100,27800,13100,200,p17d,UP,PTRANS
++S 2800,22700,2800,36500,620,63onymous_,UP,NDIF
++S 2200,13600,37800,13600,6800,64onymous_,RIGHT,NWELL
++S 36200,20900,36200,36700,200,p14d,UP,PTRANS
++S 25100,37000,27900,37000,1600,fbul,RIGHT,ALU1
++S 25100,25200,27900,25200,400,fbul,RIGHT,ALU1
++S 13200,22200,14800,22200,200,cn,RIGHT,POLY
++S 10000,22200,11600,22200,200,cn,RIGHT,POLY
++S 4100,21800,7900,21800,400,cn,RIGHT,ALU2
++S 25100,22800,27900,22800,400,cn,RIGHT,ALU1
++S 25100,20400,27900,20400,400,cn,RIGHT,ALU1
++S 25000,20100,25000,23100,400,cn,UP,ALU2
++S 24900,21600,28100,21600,420,25onymous_,RIGHT,PDIF
++S 24900,20400,28100,20400,620,24onymous_,RIGHT,PDIF
++S 28400,11300,28400,12900,620,67onymous_,UP,PDIF
++S 28400,7500,28400,9100,620,66onymous_,UP,NDIF
++S 18200,7300,18200,9300,200,n18f,UP,NTRANS
++S 6000,20700,6000,36300,400,138nymous_,UP,ALU1
++S 18200,10900,18200,14900,200,p18f,UP,PTRANS
++S 24000,18900,24000,20500,400,22onymous_,UP,ALU2
++S 6000,22700,6000,36500,620,139nymous_,UP,NDIF
++S 16800,28200,16800,29800,600,221nymous_,UP,POLY
++S 7600,21800,7600,22200,600,140nymous_,UP,POLY
++S 16900,29200,18700,29200,400,222nymous_,RIGHT,ALU1
++S 24200,9600,24200,10800,200,23onymous_,UP,POLY
++S 7300,21800,10100,21800,400,141nymous_,RIGHT,ALU2
++S 18500,10000,35900,10000,2400,258nymous_,RIGHT,ALU2
++S 3200,10880,3200,16120,600,102nymous_,UP,NTIE
++S 14000,21800,14000,22200,600,181nymous_,UP,POLY
++S 2900,17000,19100,17000,400,103nymous_,RIGHT,ALU2
++S 14000,22700,14000,36500,620,182nymous_,UP,NDIF
++S 14000,22900,14000,39700,400,183nymous_,UP,ALU1
++S 11600,22500,11600,36700,200,n15b,UP,NTRANS
++S 32200,21300,32200,39700,400,105nymous_,UP,ALU1
++S 32200,21100,32200,36500,620,104nymous_,UP,PDIF
++S 19800,32900,19800,35100,400,262nymous_,UP,ALU1
++S 9200,20700,9200,36300,400,145nymous_,UP,ALU1
++S 18500,17000,33500,17000,400,261nymous_,RIGHT,ALU2
++S 18800,11900,18800,15900,400,260nymous_,UP,ALU1
++S 7600,22700,7600,38300,2400,144nymous_,UP,ALU2
++S 18800,11100,18800,14700,620,259nymous_,UP,PDIF
++S 17000,9600,17000,10600,200,223nymous_,UP,POLY
++S 7600,22900,7600,37500,400,143nymous_,UP,ALU1
++S 7600,22700,7600,36500,620,142nymous_,UP,NDIF
++S 14000,6100,14000,7900,400,184nymous_,UP,ALU1
++S 14000,7500,14000,9100,620,185nymous_,UP,NDIF
++S 14100,10000,24700,10000,400,186nymous_,RIGHT,ALU1
++S 14000,11100,14000,14700,620,187nymous_,UP,PDIF
++S 33800,8300,33800,9300,200,n16d,UP,NTRANS
++S 17700,22000,18900,22000,620,224nymous_,RIGHT,NDIF
++S 17700,23200,18900,23200,620,225nymous_,RIGHT,NDIF
++S 24900,22800,28100,22800,420,26onymous_,RIGHT,PDIF
++S 17700,24400,18900,24400,620,226nymous_,RIGHT,NDIF
++S 24900,24000,28100,24000,420,27onymous_,RIGHT,PDIF
++S 24900,25200,28100,25200,420,28onymous_,RIGHT,PDIF
++S 18500,31600,25300,31600,400,cpd,RIGHT,ALU2
++S 18800,21900,18800,36700,400,cpd,UP,ALU2
++S 25100,32400,27900,32400,400,cpd,RIGHT,ALU1
++S 25100,30000,27900,30000,400,cpd,RIGHT,ALU1
++S 25100,27600,27900,27600,400,cpd,RIGHT,ALU1
++S 25000,27300,25000,32700,400,cpd,UP,ALU2
++S 19500,36800,26300,36800,400,node_cp,RIGHT,ALU2
++S 17900,35200,19700,35200,400,node_cp,RIGHT,ALU1
++S 17900,32800,19700,32800,400,node_cp,RIGHT,ALU1
++S 34600,20600,36200,20600,200,node_cp,RIGHT,POLY
++S 31400,20600,33000,20600,200,node_cp,RIGHT,POLY
++S 28600,24600,29000,24600,600,node_cp,RIGHT,POLY
++S 27700,24600,29300,24600,400,node_cp,RIGHT,ALU2
++S 28000,24300,28000,31500,400,node_cp,UP,ALU2
++S 25100,33600,27900,33600,400,node_cp,RIGHT,ALU1
++S 25100,31200,27900,31200,400,node_cp,RIGHT,ALU1
++S 9300,25000,16100,25000,2400,147nymous_,RIGHT,ALU2
++S 9200,22700,9200,36500,620,146nymous_,UP,NDIF
++S 8400,22500,8400,36700,200,n14d,UP,NTRANS
++S 24200,7300,24200,9300,200,n17a,UP,NTRANS
++S 19500,28200,24300,28200,400,cpb,RIGHT,ALU2
++S 19800,22700,19800,30900,400,cpb,UP,ALU1
++S 19400,31000,19800,31000,200,cpb,RIGHT,POLY
++S 19400,27400,19800,27400,200,cpb,RIGHT,POLY
++S 19400,26200,19800,26200,200,cpb,RIGHT,POLY
++S 19400,22600,19800,22600,200,cpb,RIGHT,POLY
++S 24000,29200,24400,29200,600,cpb,RIGHT,POLY
++S 24000,28200,24400,28200,600,cpb,RIGHT,POLY
++S 24000,27000,24400,27000,600,cpb,RIGHT,POLY
++S 9300,31000,16100,31000,2400,148nymous_,RIGHT,ALU2
++S 19800,34900,19800,37100,400,263nymous_,UP,ALU2
++S 32800,20200,32800,20600,600,106nymous_,UP,POLY
++S 9800,21500,9800,23100,400,149nymous_,UP,ALU2
++S 0,6000,40000,6000,12000,264nymous_,RIGHT,TALU6
++S 33200,8500,33200,9100,420,107nymous_,UP,NDIF
++S 28400,12100,28400,15900,400,68onymous_,UP,ALU1
++S 14000,12100,14000,15900,400,188nymous_,UP,ALU1
++S 24900,28800,28100,28800,420,31onymous_,RIGHT,PDIF
++S 1280,37600,21120,37600,600,189nymous_,RIGHT,PTIE
++S 14600,9600,14600,10600,200,190nymous_,UP,POLY
++S 17700,25600,18900,25600,620,227nymous_,RIGHT,NDIF
++S 24900,26400,28100,26400,420,29onymous_,RIGHT,PDIF
++S 24900,27600,28100,27600,420,30onymous_,RIGHT,PDIF
++S 15800,7300,15800,9300,200,n18d,UP,NTRANS
++S 15800,10900,15800,14900,200,p18d,UP,PTRANS
++S 26000,21300,26000,24300,400,45onymous_,UP,ALU2
++S 24200,11100,24200,13100,200,p17a,UP,PTRANS
++S 24200,10000,28400,10000,600,nnt,RIGHT,POLY
++S 9500,22800,17100,22800,400,150nymous_,RIGHT,ALU2
++S 9500,37000,17100,37000,2400,151nymous_,RIGHT,ALU2
++S 33200,9100,33200,9900,400,108nymous_,UP,ALU1
++S 50,6000,39950,6000,12000,266nymous_,RIGHT,TALU2
++S 28700,24600,30300,24600,400,69onymous_,RIGHT,ALU2
++S 24900,30000,28100,30000,420,32onymous_,RIGHT,PDIF
++S 33800,21100,33800,36500,620,109nymous_,UP,PDIF
++S 24900,31200,28100,31200,420,33onymous_,RIGHT,PDIF
++S 33800,21300,33800,36300,400,110nymous_,UP,ALU1
++S 24900,32400,28100,32400,420,34onymous_,RIGHT,PDIF
++S 15300,37600,20700,37600,400,191nymous_,RIGHT,ALU1
++S 29400,11100,29400,11700,400,70onymous_,UP,ALU1
++S 15200,3700,15200,11300,400,192nymous_,UP,ALU2
++S 15200,7500,15200,9100,420,193nymous_,UP,NDIF
++S 17700,26800,18900,26800,620,228nymous_,RIGHT,NDIF
++S 15200,8100,15200,8900,400,194nymous_,UP,ALU1
++S 17700,28000,18900,28000,620,229nymous_,RIGHT,NDIF
++S 17700,29200,18900,29200,620,230nymous_,RIGHT,NDIF
++S 30200,8300,30200,9300,200,n16a,UP,NTRANS
++S 25400,9600,25400,10800,200,44onymous_,UP,POLY
++S 26000,30900,26000,37100,400,47onymous_,UP,ALU2
++S 26000,23700,26000,29100,400,46onymous_,UP,ALU2
++S 26000,6100,26000,7900,400,48onymous_,UP,ALU1
++S 33000,20900,33000,36700,200,p14b,UP,PTRANS
++S 10000,22200,11600,22200,200,152nymous_,RIGHT,POLY
++S 24900,33600,28100,33600,420,35onymous_,RIGHT,PDIF
++S 33800,19100,33800,38300,2400,111nymous_,UP,ALU2
++S 24900,35000,28100,35000,820,36onymous_,RIGHT,PDIF
++S 34000,18200,34000,38200,10400,112nymous_,UP,NWELL
++S 24900,36400,28100,36400,620,37onymous_,RIGHT,PDIF
++S 3280,6000,28520,6000,600,113nymous_,RIGHT,PTIE
++S 34400,8100,34400,8500,400,114nymous_,UP,ALU1
++S 29400,11800,29400,12000,200,71onymous_,UP,POLY
++S 29300,37000,31900,37000,2400,72onymous_,RIGHT,ALU2
++S 29480,37600,38520,37600,600,73onymous_,RIGHT,NTIE
++S 15200,11100,15200,13700,400,195nymous_,UP,ALU1
++S 15200,11100,15200,14700,620,196nymous_,UP,PDIF
++S 15600,20700,15600,36300,400,197nymous_,UP,ALU1
++S 17700,30400,18900,30400,620,231nymous_,RIGHT,NDIF
++S 17700,31600,18900,31600,620,232nymous_,RIGHT,NDIF
++S 17700,32800,18900,32800,620,233nymous_,RIGHT,NDIF
++S 17700,34000,18900,34000,620,234nymous_,RIGHT,NDIF
++S 16800,29800,17200,29800,200,cnb,RIGHT,POLY
++S 16800,28600,17200,28600,200,cnb,RIGHT,POLY
++S 16800,25000,17200,25000,200,cnb,RIGHT,POLY
++S 16800,23800,17200,23800,200,cnb,RIGHT,POLY
++S 29000,18900,29000,23700,400,cnb,UP,ALU2
++S 28600,23400,29000,23400,600,cnb,RIGHT,POLY
++S 28600,22200,29000,22200,600,cnb,RIGHT,POLY
++S 28600,21000,29000,21000,600,cnb,RIGHT,POLY
++S 23700,19200,29300,19200,400,cnb,RIGHT,ALU2
++S 26000,7500,26000,9100,620,49onymous_,UP,NDIF
++S 31400,8300,31400,9300,200,n16b,UP,NTRANS
++S 9700,19000,14900,19000,2400,153nymous_,RIGHT,ALU2
++S 29000,12300,29000,13100,200,p16,UP,PTRANS
++S 700,25000,8900,25000,2400,154nymous_,RIGHT,ALU2
++S 700,28000,15100,28000,2400,155nymous_,RIGHT,ALU2
++S 24800,7500,24800,9100,620,38onymous_,UP,NDIF
++S 24800,8100,24800,12500,400,39onymous_,UP,ALU1
++S 700,31000,8900,31000,2400,156nymous_,RIGHT,ALU2
++S 34400,8500,34400,9100,620,115nymous_,UP,NDIF
++S 24900,9000,27100,9000,400,40onymous_,RIGHT,ALU1
++S 24900,11000,29300,11000,400,41onymous_,RIGHT,ALU1
++S 29600,8100,29600,8500,400,74onymous_,UP,ALU1
++S 29700,8000,34300,8000,400,75onymous_,RIGHT,ALU1
++S 29600,8500,29600,9100,620,76onymous_,UP,NDIF
++S 15600,22700,15600,36500,620,198nymous_,UP,NDIF
++S 29600,12500,29600,12900,620,77onymous_,UP,PDIF
++S 15300,18200,34700,18200,400,199nymous_,RIGHT,ALU2
++S 15600,17900,15600,20500,400,200nymous_,UP,ALU2
++S 17700,35200,18900,35200,620,235nymous_,RIGHT,NDIF
++S 17700,36400,18900,36400,620,236nymous_,RIGHT,NDIF
++S 17600,3700,17600,11300,400,237nymous_,UP,ALU2
++S 17600,7500,17600,9100,420,238nymous_,UP,NDIF
++S 17600,8100,17600,8900,400,239nymous_,UP,ALU1
++S 25400,7300,25400,9300,200,n17b,UP,NTRANS
++S 30200,9600,33800,9600,200,81onymous_,RIGHT,POLY
++S 15800,9600,15800,10600,200,202nymous_,UP,POLY
++S 25100,35000,29100,35000,400,43onymous_,RIGHT,ALU1
++S 30100,20200,35900,20200,400,80onymous_,RIGHT,ALU1
++S 15800,23700,15800,32300,400,201nymous_,UP,ALU2
++S 30000,19900,30000,24900,400,79onymous_,UP,ALU2
++S 29700,12800,30300,12800,400,78onymous_,RIGHT,ALU1
++S 700,15400,33500,15400,1200,159nymous_,RIGHT,ALU2
++S 35400,21100,35400,36500,620,117nymous_,UP,PDIF
++S 700,10000,11900,10000,2400,158nymous_,RIGHT,ALU2
++S 24800,11300,24800,12900,620,42onymous_,UP,PDIF
++S 34800,20200,34800,20600,600,116nymous_,UP,POLY
++S 700,34000,16100,34000,2400,157nymous_,RIGHT,ALU2
++S 12200,10000,18200,10000,600,nt,RIGHT,POLY
++S 29000,12000,29400,12000,200,nt,RIGHT,POLY
++S 26100,10000,33100,10000,400,50onymous_,RIGHT,ALU1
++S 12200,7300,12200,9300,200,n18a,UP,NTRANS
++S 13200,22500,13200,36700,200,n15c,UP,NTRANS
++S 17600,11100,17600,14700,620,241nymous_,UP,PDIF
++S 25400,11100,25400,13100,200,p17b,UP,PTRANS
++S 17600,11100,17600,13700,400,240nymous_,UP,ALU1
++S 17500,25000,19100,25000,200,n7c,RIGHT,NTRANS
++S 17500,23800,19100,23800,200,n7d,RIGHT,NTRANS
++S 24700,22200,28300,22200,200,p7b,RIGHT,PTRANS
++S 24700,21000,28300,21000,200,p7c,RIGHT,PTRANS
++S 30400,36400,30400,36600,200,82onymous_,UP,POLY
++S 1700,37600,9500,37600,400,203nymous_,RIGHT,ALU1
++S 10800,22700,10800,36500,620,162nymous_,UP,NDIF
++S 10800,21800,10800,22200,600,161nymous_,UP,POLY
++S 10700,39600,35500,39600,2400,160nymous_,RIGHT,ALU1
++S 4100,13000,33500,13000,2400,2nonymous_,RIGHT,ALU2
++S 32900,12400,37100,12400,1200,1nonymous_,RIGHT,ALU2
++S 35400,21300,35400,39700,400,118nymous_,UP,ALU1
++S 20000,200,20000,2000,40000,0nonymous_,UP,TALU3
++S 10000,22500,10000,36700,200,n15a,UP,NTRANS
++S 17500,29800,19100,29800,200,n7a,RIGHT,NTRANS
++S 17500,28600,19100,28600,200,n7b,RIGHT,NTRANS
++S 17500,27400,19100,27400,200,n6b,RIGHT,NTRANS
++S 24700,27000,28300,27000,200,p6c,RIGHT,PTRANS
++S 5200,22500,5200,36700,200,n14b,UP,NTRANS
++S 12200,10900,12200,14900,200,p18a,UP,PTRANS
++S 12800,8100,12800,13700,400,1.nq,UP,ALU1
++S 17000,7300,17000,9300,200,n18e,UP,NTRANS
++S 17000,10900,17000,14900,200,p18e,UP,PTRANS
++S 24700,23400,28300,23400,200,p7a,RIGHT,PTRANS
++S 24700,24600,28300,24600,200,p10,RIGHT,PTRANS
++S 24700,25800,28300,25800,200,p13,RIGHT,PTRANS
++S 17500,26200,19100,26200,200,n6c,RIGHT,NTRANS
++S 30400,10100,30400,12700,400,83onymous_,UP,ALU1
++S 30600,21100,30600,35900,620,84onymous_,UP,PDIF
++S 17900,22000,18700,22000,400,242nymous_,RIGHT,ALU1
++S 10800,22900,10800,39700,400,163nymous_,UP,ALU1
++S 20000,40100,20000,59900,4400,5nonymous_,UP,ALU1
++S 34400,13700,34400,18500,400,4nonymous_,UP,ALU2
++S 3600,22200,5200,22200,200,121nymous_,RIGHT,POLY
++S 34400,8700,34400,13900,400,3nonymous_,UP,ALU1
++S 36000,20200,36000,20600,600,120nymous_,UP,POLY
++S 35300,17000,37100,17000,400,119nymous_,RIGHT,ALU2
++S 17900,24400,18700,24400,400,244nymous_,RIGHT,ALU1
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 17500,34600,19100,34600,200,n8b,RIGHT,NTRANS
++S 17500,33400,19100,33400,200,n8c,RIGHT,NTRANS
++S 17500,32200,19100,32200,200,n8d,RIGHT,NTRANS
++S 17500,31000,19100,31000,200,n6a,RIGHT,NTRANS
++S 24700,30600,28300,30600,200,p8c,RIGHT,PTRANS
++S 24700,29400,28300,29400,200,p6a,RIGHT,PTRANS
++S 24700,28200,28300,28200,200,p6b,RIGHT,PTRANS
++S 30680,6000,37120,6000,600,88onymous_,RIGHT,PTIE
++S 17900,25600,18700,25600,400,245nymous_,RIGHT,ALU1
++S 30600,36400,31400,36400,200,87onymous_,RIGHT,POLY
++S 1700,19200,20700,19200,400,204nymous_,RIGHT,ALU1
++S 11600,6100,11600,8900,400,164nymous_,UP,ALU1
++S 1480,19200,20920,19200,600,205nymous_,RIGHT,PTIE
++S 1600,19300,1600,37500,400,206nymous_,UP,ALU1
++S 11600,7500,11600,9100,620,165nymous_,UP,NDIF
++S 30600,21300,30600,35500,400,85onymous_,UP,ALU1
++S 17900,23200,18700,23200,400,243nymous_,RIGHT,ALU1
++S 1600,19080,1600,37720,600,207nymous_,UP,PTIE
++S 30600,26700,30600,35300,2400,86onymous_,UP,ALU2
++S 20800,19300,20800,37500,400,7nonymous_,UP,ALU1
++S 36700,37600,38100,37600,400,123nymous_,RIGHT,ALU1
++S 19700,7600,37100,7600,1200,6nonymous_,RIGHT,ALU2
++S 3480,16000,36920,16000,600,122nymous_,RIGHT,NTIE
++S 34600,20900,34600,36700,200,p14c,UP,PTRANS
++S 17500,35800,19100,35800,200,n8a,RIGHT,NTRANS
++S 24700,35800,28300,35800,200,p12,RIGHT,PTRANS
++S 24700,34200,28300,34200,200,p9,RIGHT,PTRANS
++S 24700,33000,28300,33000,200,p8a,RIGHT,PTRANS
++S 24700,31800,28300,31800,200,p8b,RIGHT,PTRANS
++S 26600,7300,26600,9300,200,n17c,UP,NTRANS
++S 900,37000,8900,37000,2400,168nymous_,RIGHT,ALU2
++S 16400,6100,16400,7900,400,209nymous_,UP,ALU1
++S 11600,11900,11600,15900,400,167nymous_,UP,ALU1
++S 16400,29900,16400,32300,400,208nymous_,UP,ALU2
++S 17900,26800,18700,26800,400,246nymous_,RIGHT,ALU1
++S 30800,8500,30800,9100,420,89onymous_,UP,NDIF
++S 17900,28000,18700,28000,400,247nymous_,RIGHT,ALU1
++S 30800,9100,30800,9900,400,90onymous_,UP,ALU1
++S 13400,7300,13400,9300,200,n18b,UP,NTRANS
++S 36800,5880,36800,8720,600,124nymous_,UP,PTIE
++S 20800,19080,20800,37720,600,8nonymous_,UP,PTIE
++S 36800,6100,36800,9100,400,125nymous_,UP,ALU1
++S 22000,23700,22000,28500,400,9nonymous_,UP,ALU2
++S 11600,11100,11600,14700,620,166nymous_,UP,PDIF
++B 23000,28400,300,300,CONT_BODY_N,320nymous_
++B 23000,27400,300,300,CONT_BODY_N,319nymous_
++B 23000,29400,300,300,CONT_BODY_N,321nymous_
++B 23000,26400,300,300,CONT_BODY_N,318nymous_
++B 20800,23400,300,300,CONT_BODY_P,285nymous_
++B 20800,24400,300,300,CONT_BODY_P,286nymous_
++B 20800,25400,300,300,CONT_BODY_P,287nymous_
++B 20800,26400,300,300,CONT_BODY_P,288nymous_
++B 20800,27400,300,300,CONT_BODY_P,289nymous_
++B 20800,28400,300,300,CONT_BODY_P,290nymous_
++B 23000,30400,300,300,CONT_BODY_N,322nymous_
++B 23000,31400,300,300,CONT_BODY_N,323nymous_
++B 23000,32400,300,300,CONT_BODY_N,324nymous_
++B 23000,33400,300,300,CONT_BODY_N,325nymous_
++B 23000,37600,300,300,CONT_BODY_N,329nymous_
++B 23000,36400,300,300,CONT_BODY_N,328nymous_
++B 23000,35400,300,300,CONT_BODY_N,327nymous_
++B 23000,34400,300,300,CONT_BODY_N,326nymous_
++B 20800,32400,300,300,CONT_BODY_P,294nymous_
++B 20800,31400,300,300,CONT_BODY_P,293nymous_
++B 20800,30400,300,300,CONT_BODY_P,292nymous_
++B 20800,29400,300,300,CONT_BODY_P,291nymous_
++B 23600,6000,300,300,CONT_BODY_P,333nymous_
++B 23400,17000,300,300,CONT_VIA2,332nymous_
++B 23400,17000,300,300,CONT_VIA,331nymous_
++B 23000,19200,300,300,CONT_BODY_N,330nymous_
++B 20800,33400,300,300,CONT_BODY_P,295nymous_
++B 20800,36400,300,300,CONT_BODY_P,298nymous_
++B 20800,35400,300,300,CONT_BODY_P,297nymous_
++B 23600,6000,300,300,CONT_VIA2,335nymous_
++B 23600,7200,300,300,CONT_DIF_N,336nymous_
++B 23600,8000,300,300,CONT_DIF_N,337nymous_
++B 20800,34400,300,300,CONT_BODY_P,296nymous_
++B 23600,6000,300,300,CONT_VIA,334nymous_
++B 20800,37600,300,300,CONT_BODY_P,299nymous_
++B 23600,16000,300,300,CONT_BODY_N,340nymous_
++B 23600,12800,300,300,CONT_DIF_P,339nymous_
++B 23600,12000,300,300,CONT_DIF_P,338nymous_
++B 20800,19200,300,300,CONT_BODY_P,300nymous_
++B 21200,6000,300,300,CONT_BODY_P,301nymous_
++B 21200,6000,300,300,CONT_VIA2,302nymous_
++B 21200,16000,300,300,CONT_BODY_N,303nymous_
++B 24000,29200,300,300,CONT_POLY,344nymous_
++B 24000,28200,300,300,CONT_VIA,343nymous_
++B 24000,28200,300,300,CONT_POLY,342nymous_
++B 24000,27000,300,300,CONT_POLY,341nymous_
++B 21200,17000,300,300,CONT_VIA2,304nymous_
++B 22000,24000,300,300,CONT_VIA2,305nymous_
++B 22000,26000,300,300,CONT_VIA2,306nymous_
++B 22400,6000,300,300,CONT_BODY_P,307nymous_
++B 24000,34200,300,300,CONT_VIA,346nymous_
++B 24000,34200,300,300,CONT_POLY,345nymous_
++B 22400,6000,300,300,CONT_VIA2,308nymous_
++B 22400,16000,300,300,CONT_BODY_N,309nymous_
++B 22400,17000,300,300,CONT_VIA,310nymous_
++B 22400,17000,300,300,CONT_VIA2,311nymous_
++B 24000,35800,300,300,CONT_VIA,349nymous_
++B 24000,35800,300,300,CONT_POLY,348nymous_
++B 24000,34200,300,300,CONT_VIA2,347nymous_
++B 23000,20400,300,300,CONT_BODY_N,312nymous_
++B 23000,21400,300,300,CONT_BODY_N,313nymous_
++B 29400,11000,200,200,CONT_TURN1,269nymous_
++B 34400,14000,300,300,CONT_VIA,268nymous_
++B 29600,8000,200,200,CONT_TURN1,270nymous_
++B 24000,19200,300,300,CONT_BODY_N,351nymous_
++B 24000,37600,300,300,CONT_BODY_N,350nymous_
++B 23000,22400,300,300,CONT_BODY_N,314nymous_
++B 23000,23400,300,300,CONT_BODY_N,315nymous_
++B 30400,12800,200,200,CONT_TURN1,271nymous_
++B 33200,10000,200,200,CONT_TURN1,272nymous_
++B 34400,8000,200,200,CONT_TURN1,273nymous_
++B 5000,19000,8300,2300,CONT_VIA2,274nymous_
++B 24800,6000,300,300,CONT_VIA,353nymous_
++B 24800,6000,300,300,CONT_BODY_P,352nymous_
++B 19800,32800,200,200,CONT_TURN1,277nymous_
++B 17800,22000,200,200,CONT_TURN1,276nymous_
++B 17600,11000,200,200,CONT_TURN1,275nymous_
++B 20000,6000,300,300,CONT_VIA2,279nymous_
++B 20000,6000,300,300,CONT_BODY_P,278nymous_
++B 20000,17000,300,300,CONT_VIA2,281nymous_
++B 20000,16000,300,300,CONT_BODY_N,280nymous_
++B 23000,25400,300,300,CONT_BODY_N,317nymous_
++B 23000,24400,300,300,CONT_BODY_N,316nymous_
++B 20800,20400,300,300,CONT_BODY_P,282nymous_
++B 20800,21400,300,300,CONT_BODY_P,283nymous_
++B 20800,22400,300,300,CONT_BODY_P,284nymous_
++B 4400,35000,300,300,CONT_DIF_N,840nymous_
++B 38000,33000,300,300,CONT_VIA2,786nymous_
++B 36800,10000,300,300,CONT_VIA2,732nymous_
++B 34400,8600,300,300,CONT_DIF_N,678nymous_
++B 17600,16000,300,300,CONT_BODY_N,1163ymous_
++B 1600,25400,300,300,CONT_BODY_P,1109ymous_
++B 33200,6000,300,300,CONT_VIA2,624nymous_
++B 32000,6000,300,300,CONT_BODY_P,570nymous_
++B 28000,32400,300,300,CONT_DIF_P,463nymous_
++B 29600,17000,300,300,CONT_VIA,517nymous_
++B 14000,34000,300,300,CONT_DIF_N,1055ymous_
++B 11600,6000,300,300,CONT_VIA,1001ymous_
++B 26000,6000,300,300,CONT_VIA2,409nymous_
++B 18800,13800,300,300,CONT_DIF_P,1215ymous_
++B 8600,26000,300,300,CONT_VIA2,947nymous_
++B 6800,37600,300,300,CONT_VIA,893nymous_
++B 4400,34000,300,300,CONT_VIA,839nymous_
++B 38000,29000,300,300,CONT_VIA2,785nymous_
++B 34400,6000,300,300,CONT_VIA2,677nymous_
++B 29600,16000,300,300,CONT_BODY_N,516nymous_
++B 17600,13800,300,300,CONT_DIF_P,1162ymous_
++B 1600,24400,300,300,CONT_BODY_P,1108ymous_
++B 33200,6000,300,300,CONT_VIA,623nymous_
++B 31600,35000,300,300,CONT_VIA2,569nymous_
++B 26000,6000,300,300,CONT_VIA,408nymous_
++B 28000,31200,300,300,CONT_VIA,462nymous_
++B 14000,33000,300,300,CONT_DIF_N,1054ymous_
++B 11600,6000,300,300,CONT_BODY_P,1000ymous_
++B 18800,12800,300,300,CONT_DIF_P,1214ymous_
++B 30600,31000,300,300,CONT_DIF_P,540nymous_
++B 17600,17000,300,300,CONT_VIA2,1165ymous_
++B 1600,27400,300,300,CONT_BODY_P,1111ymous_
++B 14000,36000,300,300,CONT_DIF_N,1057ymous_
++B 32000,6000,300,300,CONT_VIA2,572nymous_
++B 26000,8000,300,300,CONT_DIF_N,411nymous_
++B 18800,16000,300,300,CONT_BODY_N,1217ymous_
++B 11600,8000,300,300,CONT_DIF_N,1003ymous_
++B 8600,31000,300,300,CONT_VIA2,949nymous_
++B 24800,11600,300,300,CONT_DIF_P,357nymous_
++B 6800,6000,300,300,CONT_BODY_P,895nymous_
++B 4400,35000,300,300,CONT_VIA,841nymous_
++B 38000,34000,300,300,CONT_VIA2,787nymous_
++B 36800,11000,300,300,CONT_VIA2,733nymous_
++B 17600,17000,300,300,CONT_VIA,1164ymous_
++B 34400,16000,300,300,CONT_BODY_N,679nymous_
++B 33200,9000,300,300,CONT_DIF_N,625nymous_
++B 28000,33600,300,300,CONT_DIF_P,464nymous_
++B 29600,17000,300,300,CONT_VIA2,518nymous_
++B 1600,26400,300,300,CONT_BODY_P,1110ymous_
++B 14000,35000,300,300,CONT_DIF_N,1056ymous_
++B 32000,6000,300,300,CONT_VIA,571nymous_
++B 24800,9000,300,300,CONT_DIF_N,356nymous_
++B 26000,7200,300,300,CONT_DIF_N,410nymous_
++B 18800,14800,300,300,CONT_DIF_P,1216ymous_
++B 11600,6000,300,300,CONT_VIA2,1002ymous_
++B 8600,30000,300,300,CONT_VIA2,948nymous_
++B 6800,37600,300,300,CONT_VIA2,894nymous_
++B 11600,11800,300,300,CONT_DIF_P,1005ymous_
++B 24800,16000,300,300,CONT_BODY_N,359nymous_
++B 18800,17000,300,300,CONT_VIA2,1219ymous_
++B 8600,36000,300,300,CONT_VIA2,951nymous_
++B 6800,16000,300,300,CONT_BODY_N,897nymous_
++B 4400,36000,300,300,CONT_VIA,843nymous_
++B 38200,20400,300,300,CONT_BODY_N,789nymous_
++B 36800,13000,300,300,CONT_BODY_N,735nymous_
++B 34800,22000,300,300,CONT_VIA2,681nymous_
++B 30000,19200,300,300,CONT_BODY_N,520nymous_
++B 17600,19200,300,300,CONT_BODY_P,1166ymous_
++B 1600,28400,300,300,CONT_BODY_P,1112ymous_
++B 33200,17000,300,300,CONT_VIA,627nymous_
++B 32000,8600,300,300,CONT_DIF_N,573nymous_
++B 26000,10000,300,300,CONT_POLY,412nymous_
++B 28000,19200,300,300,CONT_BODY_N,466nymous_
++B 14000,4000,300,300,CONT_VIA2,1058ymous_
++B 11600,9000,300,300,CONT_DIF_N,1004ymous_
++B 24800,12600,300,300,CONT_DIF_P,358nymous_
++B 18800,17000,300,300,CONT_VIA,1218ymous_
++B 8600,32000,300,300,CONT_VIA2,950nymous_
++B 6800,6000,300,300,CONT_VIA2,896nymous_
++B 4400,36000,300,300,CONT_DIF_N,842nymous_
++B 38000,35000,300,300,CONT_VIA2,788nymous_
++B 36800,12000,300,300,CONT_BODY_N,734nymous_
++B 34800,20200,300,300,CONT_POLY,680nymous_
++B 33200,16000,300,300,CONT_BODY_N,626nymous_
++B 30000,20200,300,300,CONT_VIA,519nymous_
++B 28000,35000,300,300,CONT_DIF_P,465nymous_
++B 4400,6000,300,300,CONT_BODY_P,845nymous_
++B 38200,22400,300,300,CONT_BODY_N,791nymous_
++B 36800,15000,300,300,CONT_BODY_N,737nymous_
++B 17800,23200,300,300,CONT_VIA,1168ymous_
++B 34800,27000,300,300,CONT_VIA2,683nymous_
++B 33800,22000,300,300,CONT_DIF_P,629nymous_
++B 2800,24000,300,300,CONT_DIF_N,468nymous_
++B 30400,36600,300,300,CONT_VIA,522nymous_
++B 1600,30400,300,300,CONT_BODY_P,1114ymous_
++B 14000,7200,300,300,CONT_DIF_N,1060ymous_
++B 32000,16000,300,300,CONT_BODY_N,575nymous_
++B 24800,17000,300,300,CONT_VIA2,360nymous_
++B 26000,12800,300,300,CONT_DIF_P,414nymous_
++B 19600,19200,300,300,CONT_BODY_P,1220ymous_
++B 11600,12800,300,300,CONT_DIF_P,1006ymous_
++B 8600,19200,300,300,CONT_BODY_P,952nymous_
++B 6800,17000,300,300,CONT_VIA,898nymous_
++B 4400,36000,300,300,CONT_VIA2,844nymous_
++B 38200,21400,300,300,CONT_BODY_N,790nymous_
++B 36800,14000,300,300,CONT_BODY_N,736nymous_
++B 34800,23000,300,300,CONT_VIA2,682nymous_
++B 17800,23200,300,300,CONT_DIF_N,1167ymous_
++B 1600,29400,300,300,CONT_BODY_P,1113ymous_
++B 33200,17000,300,300,CONT_VIA2,628nymous_
++B 32000,11000,300,300,CONT_POLY,574nymous_
++B 2800,23000,300,300,CONT_DIF_N,467nymous_
++B 30400,36600,300,300,CONT_POLY,521nymous_
++B 14000,6000,300,300,CONT_BODY_P,1059ymous_
++B 26000,12000,300,300,CONT_DIF_P,413nymous_
++B 30600,22000,300,300,CONT_DIF_P,524nymous_
++B 17800,24400,300,300,CONT_VIA2,1170ymous_
++B 1600,32400,300,300,CONT_BODY_P,1116ymous_
++B 32000,17000,300,300,CONT_VIA2,577nymous_
++B 26000,17000,300,300,CONT_VIA,416nymous_
++B 14000,10000,300,300,CONT_POLY,1062ymous_
++B 11600,14800,300,300,CONT_DIF_P,1008ymous_
++B 25000,20400,300,300,CONT_VIA,362nymous_
++B 19800,26200,300,300,CONT_POLY,1222ymous_
++B 8800,37600,300,300,CONT_VIA,954nymous_
++B 7600,21800,300,300,CONT_POLY,900nymous_
++B 4400,6000,300,300,CONT_VIA2,846nymous_
++B 38200,23400,300,300,CONT_BODY_N,792nymous_
++B 36800,15000,300,300,CONT_VIA2,738nymous_
++B 17800,24400,300,300,CONT_DIF_N,1169ymous_
++B 34800,28000,300,300,CONT_VIA2,684nymous_
++B 33800,22000,300,300,CONT_VIA,630nymous_
++B 30400,36600,300,300,CONT_VIA2,523nymous_
++B 1600,31400,300,300,CONT_BODY_P,1115ymous_
++B 14000,8000,300,300,CONT_DIF_N,1061ymous_
++B 32000,17000,300,300,CONT_VIA,576nymous_
++B 26000,16000,300,300,CONT_BODY_N,415nymous_
++B 2800,25000,300,300,CONT_DIF_N,469nymous_
++B 19800,22600,300,300,CONT_POLY,1221ymous_
++B 11600,13800,300,300,CONT_DIF_P,1007ymous_
++B 8800,37600,300,300,CONT_BODY_P,953nymous_
++B 25000,20400,300,300,CONT_DIF_P,361nymous_
++B 6800,17000,300,300,CONT_VIA2,899nymous_
++B 25000,22800,300,300,CONT_DIF_P,364nymous_
++B 19800,28200,300,300,CONT_VIA,1224ymous_
++B 11600,17000,300,300,CONT_VIA,1010ymous_
++B 9200,23000,300,300,CONT_DIF_N,956nymous_
++B 7600,23000,300,300,CONT_DIF_N,902nymous_
++B 4400,17000,300,300,CONT_VIA,848nymous_
++B 38200,25400,300,300,CONT_BODY_N,794nymous_
++B 36800,16000,300,300,CONT_VIA2,740nymous_
++B 34800,33000,300,300,CONT_VIA2,686nymous_
++B 17800,25600,300,300,CONT_DIF_N,1171ymous_
++B 1600,33400,300,300,CONT_BODY_P,1117ymous_
++B 33800,23000,300,300,CONT_DIF_P,632nymous_
++B 32000,19200,300,300,CONT_BODY_N,578nymous_
++B 2800,27000,300,300,CONT_DIF_N,471nymous_
++B 30600,23000,300,300,CONT_DIF_P,525nymous_
++B 14000,12000,300,300,CONT_DIF_P,1063ymous_
++B 11600,16000,300,300,CONT_BODY_N,1009ymous_
++B 25000,21600,300,300,CONT_DIF_P,363nymous_
++B 26000,17000,300,300,CONT_VIA2,417nymous_
++B 19800,27400,300,300,CONT_POLY,1223ymous_
++B 8800,37600,300,300,CONT_VIA2,955nymous_
++B 7600,21800,300,300,CONT_VIA,901nymous_
++B 4400,16000,300,300,CONT_BODY_N,847nymous_
++B 38200,24400,300,300,CONT_BODY_N,793nymous_
++B 36800,16000,300,300,CONT_BODY_N,739nymous_
++B 34800,29000,300,300,CONT_VIA2,685nymous_
++B 33800,22000,300,300,CONT_VIA2,631nymous_
++B 2800,26000,300,300,CONT_DIF_N,470nymous_
++B 7600,24000,300,300,CONT_DIF_N,904nymous_
++B 4600,37600,300,300,CONT_BODY_P,850nymous_
++B 38200,27400,300,300,CONT_BODY_N,796nymous_
++B 36800,17000,300,300,CONT_VIA2,742nymous_
++B 17800,25600,300,300,CONT_VIA2,1173ymous_
++B 34800,35000,300,300,CONT_VIA2,688nymous_
++B 33800,23000,300,300,CONT_VIA2,634nymous_
++B 30600,25000,300,300,CONT_DIF_P,527nymous_
++B 1600,35400,300,300,CONT_BODY_P,1119ymous_
++B 14000,13800,300,300,CONT_DIF_P,1065ymous_
++B 3200,6000,300,300,CONT_VIA,580nymous_
++B 2600,37600,300,300,CONT_BODY_P,419nymous_
++B 2800,29000,300,300,CONT_DIF_N,473nymous_
++B 19800,31000,300,300,CONT_POLY,1225ymous_
++B 11600,17000,300,300,CONT_VIA2,1011ymous_
++B 9200,24000,300,300,CONT_DIF_N,957nymous_
++B 25000,22800,300,300,CONT_VIA,365nymous_
++B 7600,23000,300,300,CONT_VIA,903nymous_
++B 4400,17000,300,300,CONT_VIA2,849nymous_
++B 38200,26400,300,300,CONT_BODY_N,795nymous_
++B 36800,17000,300,300,CONT_VIA,741nymous_
++B 17800,25600,300,300,CONT_VIA,1172ymous_
++B 34800,34000,300,300,CONT_VIA2,687nymous_
++B 33800,23000,300,300,CONT_VIA,633nymous_
++B 2800,28000,300,300,CONT_DIF_N,472nymous_
++B 30600,24000,300,300,CONT_DIF_P,526nymous_
++B 1600,34400,300,300,CONT_BODY_P,1118ymous_
++B 14000,12800,300,300,CONT_DIF_P,1064ymous_
++B 3200,6000,300,300,CONT_BODY_P,579nymous_
++B 26000,19200,300,300,CONT_BODY_N,418nymous_
++B 2800,30000,300,300,CONT_DIF_N,474nymous_
++B 14000,14800,300,300,CONT_DIF_P,1066ymous_
++B 11600,19200,300,300,CONT_BODY_P,1012ymous_
++B 25000,24000,300,300,CONT_DIF_P,366nymous_
++B 19800,35200,300,300,CONT_VIA,1226ymous_
++B 9200,25000,300,300,CONT_DIF_N,958nymous_
++B 2600,19200,300,300,CONT_BODY_P,420nymous_
++B 3200,6000,300,300,CONT_VIA2,581nymous_
++B 33800,24000,300,300,CONT_DIF_P,635nymous_
++B 1600,36400,300,300,CONT_BODY_P,1120ymous_
++B 17800,26800,300,300,CONT_DIF_N,1174ymous_
++B 30600,26000,300,300,CONT_DIF_P,528nymous_
++B 35000,19200,300,300,CONT_BODY_N,689nymous_
++B 37000,22000,300,300,CONT_DIF_P,743nymous_
++B 38200,28400,300,300,CONT_BODY_N,797nymous_
++B 4600,37600,300,300,CONT_VIA,851nymous_
++B 7600,24000,300,300,CONT_VIA,905nymous_
++B 9200,26000,300,300,CONT_DIF_N,959nymous_
++B 19800,37600,300,300,CONT_BODY_P,1227ymous_
++B 27000,20400,300,300,CONT_DIF_P,421nymous_
++B 25000,25200,300,300,CONT_DIF_P,367nymous_
++B 12400,23000,300,300,CONT_DIF_N,1013ymous_
++B 14000,16000,300,300,CONT_BODY_N,1067ymous_
++B 30600,27000,300,300,CONT_DIF_P,529nymous_
++B 2800,31000,300,300,CONT_DIF_N,475nymous_
++B 3200,7000,300,300,CONT_BODY_P,582nymous_
++B 33800,24000,300,300,CONT_VIA,636nymous_
++B 1600,37600,300,300,CONT_BODY_P,1121ymous_
++B 35400,22000,300,300,CONT_DIF_P,690nymous_
++B 37000,22000,300,300,CONT_VIA,744nymous_
++B 38200,29400,300,300,CONT_BODY_N,798nymous_
++B 4600,37600,300,300,CONT_VIA2,852nymous_
++B 7600,24000,300,300,CONT_VIA2,906nymous_
++B 9200,27000,300,300,CONT_DIF_N,960nymous_
++B 12400,24000,300,300,CONT_DIF_N,1014ymous_
++B 27000,21600,300,300,CONT_DIF_P,422nymous_
++B 25000,26400,300,300,CONT_DIF_P,368nymous_
++B 3200,7000,300,300,CONT_VIA2,583nymous_
++B 14000,17000,300,300,CONT_VIA,1068ymous_
++B 1600,19200,300,300,CONT_BODY_P,1122ymous_
++B 30600,27000,300,300,CONT_VIA,530nymous_
++B 2800,32000,300,300,CONT_DIF_N,476nymous_
++B 33800,25000,300,300,CONT_DIF_P,637nymous_
++B 35400,23000,300,300,CONT_DIF_P,691nymous_
++B 17800,28000,300,300,CONT_VIA,1176ymous_
++B 37000,22000,300,300,CONT_VIA2,745nymous_
++B 38200,30400,300,300,CONT_BODY_N,799nymous_
++B 4600,19200,300,300,CONT_BODY_P,853nymous_
++B 7600,25000,300,300,CONT_DIF_N,907nymous_
++B 25000,27600,300,300,CONT_DIF_P,369nymous_
++B 9200,28000,300,300,CONT_DIF_N,961nymous_
++B 12400,25000,300,300,CONT_DIF_N,1015ymous_
++B 27000,22800,300,300,CONT_DIF_P,423nymous_
++B 14000,17000,300,300,CONT_VIA2,1069ymous_
++B 2800,33000,300,300,CONT_DIF_N,477nymous_
++B 3200,8000,300,300,CONT_BODY_P,584nymous_
++B 16400,4000,300,300,CONT_VIA2,1123ymous_
++B 30600,27000,300,300,CONT_VIA2,531nymous_
++B 33800,25000,300,300,CONT_VIA,638nymous_
++B 35400,24000,300,300,CONT_DIF_P,692nymous_
++B 17800,29200,300,300,CONT_DIF_N,1177ymous_
++B 37000,23000,300,300,CONT_DIF_P,746nymous_
++B 38200,31400,300,300,CONT_BODY_N,800nymous_
++B 5400,24000,300,300,CONT_VIA2,854nymous_
++B 7600,25000,300,300,CONT_VIA,908nymous_
++B 9200,29000,300,300,CONT_DIF_N,962nymous_
++B 25000,27600,300,300,CONT_VIA,370nymous_
++B 12400,26000,300,300,CONT_DIF_N,1016ymous_
++B 14600,19200,300,300,CONT_BODY_P,1070ymous_
++B 2800,34000,300,300,CONT_DIF_N,478nymous_
++B 27000,24000,300,300,CONT_DIF_P,424nymous_
++B 3200,8000,300,300,CONT_VIA2,585nymous_
++B 33800,26000,300,300,CONT_DIF_P,639nymous_
++B 16400,6000,300,300,CONT_BODY_P,1124ymous_
++B 17800,30400,300,300,CONT_DIF_N,1178ymous_
++B 30600,28000,300,300,CONT_DIF_P,532nymous_
++B 35400,25000,300,300,CONT_DIF_P,693nymous_
++B 37000,23000,300,300,CONT_VIA,747nymous_
++B 38200,32400,300,300,CONT_BODY_N,801nymous_
++B 5400,25000,300,300,CONT_VIA2,855nymous_
++B 7600,25000,300,300,CONT_VIA2,909nymous_
++B 9200,30000,300,300,CONT_DIF_N,963nymous_
++B 12400,27000,300,300,CONT_DIF_N,1017ymous_
++B 27000,25200,300,300,CONT_DIF_P,425nymous_
++B 25000,28800,300,300,CONT_DIF_P,371nymous_
++B 15200,4000,300,300,CONT_VIA2,1071ymous_
++B 30600,28000,300,300,CONT_VIA,533nymous_
++B 2800,35000,300,300,CONT_DIF_N,479nymous_
++B 3200,9000,300,300,CONT_BODY_P,586nymous_
++B 33800,26000,300,300,CONT_VIA,640nymous_
++B 16400,7200,300,300,CONT_DIF_N,1125ymous_
++B 17800,30400,300,300,CONT_VIA,1179ymous_
++B 35400,26000,300,300,CONT_DIF_P,694nymous_
++B 37000,23000,300,300,CONT_VIA2,748nymous_
++B 38200,33400,300,300,CONT_BODY_N,802nymous_
++B 5400,26000,300,300,CONT_VIA2,856nymous_
++B 7600,26000,300,300,CONT_DIF_N,910nymous_
++B 9200,31000,300,300,CONT_DIF_N,964nymous_
++B 12400,28000,300,300,CONT_DIF_N,1018ymous_
++B 27000,25200,300,300,CONT_VIA,426nymous_
++B 25000,30000,300,300,CONT_DIF_P,372nymous_
++B 3200,12000,300,300,CONT_BODY_N,587nymous_
++B 15200,6000,300,300,CONT_BODY_P,1072ymous_
++B 16400,8000,300,300,CONT_DIF_N,1126ymous_
++B 30600,28000,300,300,CONT_VIA2,534nymous_
++B 2800,36000,300,300,CONT_DIF_N,480nymous_
++B 33800,27000,300,300,CONT_DIF_P,641nymous_
++B 35400,27000,300,300,CONT_DIF_P,695nymous_
++B 37000,24000,300,300,CONT_DIF_P,749nymous_
++B 38200,34400,300,300,CONT_BODY_N,803nymous_
++B 5400,30000,300,300,CONT_VIA2,857nymous_
++B 7600,26000,300,300,CONT_VIA,911nymous_
++B 25000,30000,300,300,CONT_VIA,373nymous_
++B 9200,32000,300,300,CONT_DIF_N,965nymous_
++B 12400,29000,300,300,CONT_DIF_N,1019ymous_
++B 28400,6000,300,300,CONT_BODY_P,481nymous_
++B 27000,26400,300,300,CONT_DIF_P,427nymous_
++B 3200,12000,300,300,CONT_VIA2,588nymous_
++B 15200,8000,300,300,CONT_DIF_N,1073ymous_
++B 16400,10000,300,300,CONT_POLY,1127ymous_
++B 30600,29000,300,300,CONT_DIF_P,535nymous_
++B 33800,27000,300,300,CONT_VIA,642nymous_
++B 35400,28000,300,300,CONT_DIF_P,696nymous_
++B 37000,24000,300,300,CONT_VIA,750nymous_
++B 38200,35400,300,300,CONT_BODY_N,804nymous_
++B 5400,31000,300,300,CONT_VIA2,858nymous_
++B 7600,26000,300,300,CONT_VIA2,912nymous_
++B 9200,33000,300,300,CONT_DIF_N,966nymous_
++B 25000,31200,300,300,CONT_DIF_P,374nymous_
++B 12400,30000,300,300,CONT_DIF_N,1020ymous_
++B 15200,9000,300,300,CONT_DIF_N,1074ymous_
++B 27000,27600,300,300,CONT_DIF_P,428nymous_
++B 3200,13000,300,300,CONT_BODY_N,589nymous_
++B 16400,12000,300,300,CONT_DIF_P,1128ymous_
++B 30600,29000,300,300,CONT_VIA,536nymous_
++B 28400,6000,300,300,CONT_VIA,482nymous_
++B 33800,27000,300,300,CONT_VIA2,643nymous_
++B 17800,31600,300,300,CONT_VIA2,1182ymous_
++B 35400,29000,300,300,CONT_DIF_P,697nymous_
++B 37000,25000,300,300,CONT_DIF_P,751nymous_
++B 38200,36400,300,300,CONT_BODY_N,805nymous_
++B 5400,32000,300,300,CONT_VIA2,859nymous_
++B 7600,27000,300,300,CONT_DIF_N,913nymous_
++B 9200,34000,300,300,CONT_DIF_N,967nymous_
++B 27000,28800,300,300,CONT_DIF_P,429nymous_
++B 25000,32400,300,300,CONT_DIF_P,375nymous_
++B 12400,31000,300,300,CONT_DIF_N,1021ymous_
++B 15200,9000,300,300,CONT_VIA,1075ymous_
++B 30600,29000,300,300,CONT_VIA2,537nymous_
++B 28400,6000,300,300,CONT_VIA2,483nymous_
++B 3200,13000,300,300,CONT_VIA2,590nymous_
++B 33800,28000,300,300,CONT_DIF_P,644nymous_
++B 16400,12800,300,300,CONT_DIF_P,1129ymous_
++B 35400,30000,300,300,CONT_DIF_P,698nymous_
++B 37000,25000,300,300,CONT_VIA,752nymous_
++B 38200,37600,300,300,CONT_BODY_N,806nymous_
++B 5400,36000,300,300,CONT_VIA2,860nymous_
++B 7600,27000,300,300,CONT_VIA,914nymous_
++B 9200,35000,300,300,CONT_DIF_N,968nymous_
++B 12400,32000,300,300,CONT_DIF_N,1022ymous_
++B 25000,32400,300,300,CONT_VIA,376nymous_
++B 17800,32800,300,300,CONT_DIF_N,1183ymous_
++B 27000,30000,300,300,CONT_DIF_P,430nymous_
++B 3200,14000,300,300,CONT_BODY_N,591nymous_
++B 15200,10000,300,300,CONT_POLY,1076ymous_
++B 16400,13800,300,300,CONT_DIF_P,1130ymous_
++B 30600,30000,300,300,CONT_DIF_P,538nymous_
++B 28400,8000,300,300,CONT_DIF_N,484nymous_
++B 33800,28000,300,300,CONT_VIA,645nymous_
++B 35400,31000,300,300,CONT_DIF_P,699nymous_
++B 17800,34000,300,300,CONT_DIF_N,1184ymous_
++B 37000,26000,300,300,CONT_DIF_P,753nymous_
++B 38200,19200,300,300,CONT_BODY_N,807nymous_
++B 5600,37600,300,300,CONT_BODY_P,861nymous_
++B 7600,28000,300,300,CONT_DIF_N,915nymous_
++B 25000,33600,300,300,CONT_DIF_P,377nymous_
++B 9200,36000,300,300,CONT_DIF_N,969nymous_
++B 12400,33000,300,300,CONT_DIF_N,1023ymous_
++B 28400,9000,300,300,CONT_DIF_N,485nymous_
++B 27000,31200,300,300,CONT_DIF_P,431nymous_
++B 3200,14000,300,300,CONT_VIA2,592nymous_
++B 15200,11000,300,300,CONT_VIA,1077ymous_
++B 16400,14800,300,300,CONT_DIF_P,1131ymous_
++B 30600,30000,300,300,CONT_VIA,539nymous_
++B 33800,28000,300,300,CONT_VIA2,646nymous_
++B 35400,32000,300,300,CONT_DIF_P,700nymous_
++B 37000,26000,300,300,CONT_VIA,754nymous_
++B 4400,21800,300,300,CONT_POLY,808nymous_
++B 5600,37600,300,300,CONT_VIA,862nymous_
++B 7600,28000,300,300,CONT_VIA,916nymous_
++B 17800,30400,300,300,CONT_VIA2,1180ymous_
++B 17800,31600,300,300,CONT_DIF_N,1181ymous_
++B 17800,35200,300,300,CONT_DIF_N,1185ymous_
++B 9200,6000,300,300,CONT_BODY_P,970nymous_
++B 25000,35000,300,300,CONT_DIF_P,378nymous_
++B 12400,34000,300,300,CONT_DIF_N,1024ymous_
++B 15200,11800,300,300,CONT_DIF_P,1078ymous_
++B 28400,10000,300,300,CONT_POLY,486nymous_
++B 27000,32400,300,300,CONT_DIF_P,432nymous_
++B 3200,15000,300,300,CONT_BODY_N,593nymous_
++B 33800,29000,300,300,CONT_DIF_P,647nymous_
++B 16400,16000,300,300,CONT_BODY_N,1132ymous_
++B 35400,33000,300,300,CONT_DIF_P,701nymous_
++B 37000,27000,300,300,CONT_DIF_P,755nymous_
++B 4400,21800,300,300,CONT_VIA,809nymous_
++B 5600,37600,300,300,CONT_VIA2,863nymous_
++B 7600,29000,300,300,CONT_DIF_N,917nymous_
++B 9200,6000,300,300,CONT_VIA2,971nymous_
++B 27000,33600,300,300,CONT_DIF_P,433nymous_
++B 25000,36400,300,300,CONT_DIF_P,379nymous_
++B 12400,35000,300,300,CONT_DIF_N,1025ymous_
++B 15200,12800,300,300,CONT_DIF_P,1079ymous_
++B 28400,12000,300,300,CONT_DIF_P,487nymous_
++B 3200,16000,300,300,CONT_BODY_N,594nymous_
++B 33800,29000,300,300,CONT_VIA,648nymous_
++B 16400,17000,300,300,CONT_VIA,1133ymous_
++B 17800,36400,300,300,CONT_DIF_N,1186ymous_
++B 17800,37600,300,300,CONT_BODY_P,1187ymous_
++B 35400,34000,300,300,CONT_DIF_P,702nymous_
++B 37000,27000,300,300,CONT_VIA,756nymous_
++B 4400,23000,300,300,CONT_DIF_N,810nymous_
++B 5600,6000,300,300,CONT_BODY_P,864nymous_
++B 7600,29000,300,300,CONT_VIA,918nymous_
++B 9200,16000,300,300,CONT_BODY_N,972nymous_
++B 12400,36000,300,300,CONT_DIF_N,1026ymous_
++B 27000,35000,300,300,CONT_DIF_P,434nymous_
++B 25000,37600,300,300,CONT_BODY_N,380nymous_
++B 3200,17000,300,300,CONT_VIA,595nymous_
++B 15200,13800,300,300,CONT_DIF_P,1080ymous_
++B 16400,17000,300,300,CONT_VIA2,1134ymous_
++B 28400,12800,300,300,CONT_DIF_P,488nymous_
++B 33800,29000,300,300,CONT_VIA2,649nymous_
++B 35400,35000,300,300,CONT_DIF_P,703nymous_
++B 37000,27000,300,300,CONT_VIA2,757nymous_
++B 4400,23000,300,300,CONT_VIA,811nymous_
++B 5600,6000,300,300,CONT_VIA2,865nymous_
++B 7600,30000,300,300,CONT_DIF_N,919nymous_
++B 25000,19200,300,300,CONT_BODY_N,381nymous_
++B 9200,17000,300,300,CONT_VIA,973nymous_
++B 12600,19200,300,300,CONT_BODY_P,1027ymous_
++B 27000,36400,300,300,CONT_DIF_P,435nymous_
++B 15200,16000,300,300,CONT_BODY_N,1081ymous_
++B 30600,32000,300,300,CONT_DIF_P,542nymous_
++B 18600,19200,300,300,CONT_BODY_P,1188ymous_
++B 28400,16000,300,300,CONT_BODY_N,489nymous_
++B 3200,17000,300,300,CONT_VIA2,596nymous_
++B 16600,19200,300,300,CONT_BODY_P,1135ymous_
++B 30600,32000,300,300,CONT_VIA,543nymous_
++B 33800,30000,300,300,CONT_DIF_P,650nymous_
++B 35400,36000,300,300,CONT_DIF_P,704nymous_
++B 18800,22000,300,300,CONT_DIF_N,1189ymous_
++B 37000,28000,300,300,CONT_DIF_P,758nymous_
++B 4400,24000,300,300,CONT_DIF_N,812nymous_
++B 5600,16000,300,300,CONT_BODY_N,866nymous_
++B 7600,30000,300,300,CONT_VIA,920nymous_
++B 9200,17000,300,300,CONT_VIA2,974nymous_
++B 26000,20400,300,300,CONT_DIF_P,382nymous_
++B 12800,4000,300,300,CONT_VIA2,1028ymous_
++B 15200,17000,300,300,CONT_VIA,1082ymous_
++B 28400,17000,300,300,CONT_VIA,490nymous_
++B 27000,36400,300,300,CONT_VIA,436nymous_
++B 32200,22000,300,300,CONT_DIF_P,597nymous_
++B 33800,30000,300,300,CONT_VIA,651nymous_
++B 16800,20200,300,300,CONT_VIA,1136ymous_
++B 35600,6000,300,300,CONT_BODY_P,705nymous_
++B 37000,28000,300,300,CONT_VIA,759nymous_
++B 4400,24000,300,300,CONT_VIA,813nymous_
++B 5600,17000,300,300,CONT_VIA,867nymous_
++B 7600,30000,300,300,CONT_VIA2,921nymous_
++B 9600,37600,300,300,CONT_BODY_P,975nymous_
++B 12800,6000,300,300,CONT_BODY_P,1029ymous_
++B 18800,22200,300,300,CONT_VIA,1190ymous_
++B 30600,33000,300,300,CONT_DIF_P,544nymous_
++B 27000,37600,300,300,CONT_BODY_N,437nymous_
++B 26000,21600,300,300,CONT_DIF_P,383nymous_
++B 15200,17000,300,300,CONT_VIA2,1083ymous_
++B 30600,33000,300,300,CONT_VIA,545nymous_
++B 28400,17000,300,300,CONT_VIA2,491nymous_
++B 32200,23000,300,300,CONT_DIF_P,598nymous_
++B 33800,31000,300,300,CONT_DIF_P,652nymous_
++B 16800,23400,300,300,CONT_POLY,1137ymous_
++B 35600,6000,300,300,CONT_VIA,706nymous_
++B 37000,28000,300,300,CONT_VIA2,760nymous_
++B 4400,24000,300,300,CONT_VIA2,814nymous_
++B 5600,17000,300,300,CONT_VIA2,868nymous_
++B 7600,31000,300,300,CONT_DIF_N,922nymous_
++B 9600,19200,300,300,CONT_BODY_P,976nymous_
++B 12800,8000,300,300,CONT_DIF_N,1030ymous_
++B 27000,19200,300,300,CONT_BODY_N,438nymous_
++B 26000,21600,300,300,CONT_VIA,384nymous_
++B 32200,24000,300,300,CONT_DIF_P,599nymous_
++B 15600,20200,300,300,CONT_VIA,1084ymous_
++B 16800,24400,300,300,CONT_VIA,1138ymous_
++B 29000,21000,300,300,CONT_POLY,492nymous_
++B 33800,31000,300,300,CONT_VIA,653nymous_
++B 35600,6000,300,300,CONT_VIA2,707nymous_
++B 37000,29000,300,300,CONT_DIF_P,761nymous_
++B 18800,23200,300,300,CONT_DIF_N,1191ymous_
++B 30600,33000,300,300,CONT_VIA2,546nymous_
++B 18800,24400,300,300,CONT_DIF_N,1192ymous_
++B 4400,25000,300,300,CONT_DIF_N,815nymous_
++B 5600,19200,300,300,CONT_BODY_P,869nymous_
++B 7600,31000,300,300,CONT_VIA,923nymous_
++B 26000,21600,300,300,CONT_VIA2,385nymous_
++B 10400,6000,300,300,CONT_BODY_P,977nymous_
++B 12800,9000,300,300,CONT_DIF_N,1031ymous_
++B 29000,21000,300,300,CONT_VIA,493nymous_
++B 27200,6000,300,300,CONT_BODY_P,439nymous_
++B 32200,25000,300,300,CONT_DIF_P,600nymous_
++B 15600,23000,300,300,CONT_DIF_N,1085ymous_
++B 16800,25400,300,300,CONT_POLY,1139ymous_
++B 30600,34000,300,300,CONT_DIF_P,547nymous_
++B 33800,32000,300,300,CONT_DIF_P,654nymous_
++B 35600,16000,300,300,CONT_BODY_N,708nymous_
++B 37000,29000,300,300,CONT_VIA,762nymous_
++B 4400,25000,300,300,CONT_VIA,816nymous_
++B 6000,23000,300,300,CONT_DIF_N,870nymous_
++B 7600,31000,300,300,CONT_VIA2,924nymous_
++B 10400,6000,300,300,CONT_VIA2,978nymous_
++B 26000,22800,300,300,CONT_DIF_P,386nymous_
++B 12800,9000,300,300,CONT_VIA,1032ymous_
++B 15600,24000,300,300,CONT_DIF_N,1086ymous_
++B 27200,6000,300,300,CONT_VIA,440nymous_
++B 12800,11800,300,300,CONT_DIF_P,1034ymous_
++B 10400,17000,300,300,CONT_VIA,980nymous_
++B 7600,32000,300,300,CONT_VIA,926nymous_
++B 6000,25000,300,300,CONT_DIF_N,872nymous_
++B 4400,26000,300,300,CONT_DIF_N,818nymous_
++B 37000,30000,300,300,CONT_DIF_P,764nymous_
++B 35600,17000,300,300,CONT_VIA2,710nymous_
++B 16800,29200,300,300,CONT_VIA,1141ymous_
++B 33800,33000,300,300,CONT_DIF_P,656nymous_
++B 32200,27000,300,300,CONT_DIF_P,602nymous_
++B 29000,22200,300,300,CONT_POLY,495nymous_
++B 15600,25000,300,300,CONT_DIF_N,1087ymous_
++B 18800,25600,300,300,CONT_DIF_N,1193ymous_
++B 29000,21000,300,300,CONT_VIA2,494nymous_
++B 32200,26000,300,300,CONT_DIF_P,601nymous_
++B 33800,32000,300,300,CONT_VIA,655nymous_
++B 16800,28200,300,300,CONT_POLY,1140ymous_
++B 18800,26800,300,300,CONT_DIF_N,1194ymous_
++B 30600,34000,300,300,CONT_VIA,548nymous_
++B 35600,17000,300,300,CONT_VIA,709nymous_
++B 37000,29000,300,300,CONT_VIA2,763nymous_
++B 4400,25000,300,300,CONT_VIA2,817nymous_
++B 6000,24000,300,300,CONT_DIF_N,871nymous_
++B 7600,32000,300,300,CONT_DIF_N,925nymous_
++B 10400,16000,300,300,CONT_BODY_N,979nymous_
++B 27200,6000,300,300,CONT_VIA2,441nymous_
++B 26000,22800,300,300,CONT_VIA2,387nymous_
++B 12800,11000,300,300,CONT_VIA,1033ymous_
++B 4400,26000,300,300,CONT_VIA,819nymous_
++B 36000,20200,300,300,CONT_POLY,711nymous_
++B 33800,33000,300,300,CONT_VIA,657nymous_
++B 29000,22200,300,300,CONT_VIA,496nymous_
++B 30600,35000,300,300,CONT_DIF_P,550nymous_
++B 16800,32200,300,300,CONT_POLY,1142ymous_
++B 15600,26000,300,300,CONT_DIF_N,1088ymous_
++B 32200,28000,300,300,CONT_DIF_P,603nymous_
++B 26000,24000,300,300,CONT_DIF_P,388nymous_
++B 27200,8000,300,300,CONT_DIF_N,442nymous_
++B 18800,26800,300,300,CONT_VIA,1195ymous_
++B 30600,34000,300,300,CONT_VIA2,549nymous_
++B 4400,26000,300,300,CONT_VIA2,820nymous_
++B 37000,31000,300,300,CONT_DIF_P,766nymous_
++B 36000,22000,300,300,CONT_VIA2,712nymous_
++B 33800,33000,300,300,CONT_VIA2,658nymous_
++B 16800,32200,300,300,CONT_VIA,1143ymous_
++B 15600,27000,300,300,CONT_DIF_N,1089ymous_
++B 32200,29000,300,300,CONT_DIF_P,604nymous_
++B 27200,9000,300,300,CONT_DIF_N,443nymous_
++B 29000,22200,300,300,CONT_VIA2,497nymous_
++B 12800,12800,300,300,CONT_DIF_P,1035ymous_
++B 10400,17000,300,300,CONT_VIA2,981nymous_
++B 26000,24000,300,300,CONT_VIA,389nymous_
++B 7600,32000,300,300,CONT_VIA2,927nymous_
++B 6000,26000,300,300,CONT_DIF_N,873nymous_
++B 37000,30000,300,300,CONT_VIA,765nymous_
++B 18800,28000,300,300,CONT_DIF_N,1196ymous_
++B 16800,33400,300,300,CONT_VIA,1145ymous_
++B 29000,23400,300,300,CONT_VIA,499nymous_
++B 15600,29000,300,300,CONT_DIF_N,1091ymous_
++B 12800,16000,300,300,CONT_BODY_N,1037ymous_
++B 26000,26400,300,300,CONT_DIF_P,391nymous_
++B 10800,21800,300,300,CONT_POLY,983nymous_
++B 7600,33000,300,300,CONT_VIA,929nymous_
++B 6000,28000,300,300,CONT_DIF_N,875nymous_
++B 4400,27000,300,300,CONT_DIF_N,821nymous_
++B 37000,31000,300,300,CONT_VIA,767nymous_
++B 36000,23000,300,300,CONT_VIA2,713nymous_
++B 30600,35000,300,300,CONT_VIA2,552nymous_
++B 16800,33400,300,300,CONT_POLY,1144ymous_
++B 33800,34000,300,300,CONT_DIF_P,659nymous_
++B 32200,30000,300,300,CONT_DIF_P,605nymous_
++B 27200,10000,300,300,CONT_POLY,444nymous_
++B 29000,23400,300,300,CONT_POLY,498nymous_
++B 15600,28000,300,300,CONT_DIF_N,1090ymous_
++B 12800,13800,300,300,CONT_DIF_P,1036ymous_
++B 26000,25200,300,300,CONT_DIF_P,390nymous_
++B 10600,19200,300,300,CONT_BODY_P,982nymous_
++B 7600,33000,300,300,CONT_DIF_N,928nymous_
++B 6000,27000,300,300,CONT_DIF_N,874nymous_
++B 18800,29200,300,300,CONT_DIF_N,1197ymous_
++B 30600,35000,300,300,CONT_VIA,551nymous_
++B 15600,31000,300,300,CONT_DIF_N,1093ymous_
++B 12800,17000,300,300,CONT_VIA2,1039ymous_
++B 10800,21800,300,300,CONT_VIA2,985nymous_
++B 7600,34000,300,300,CONT_VIA,931nymous_
++B 6000,30000,300,300,CONT_DIF_N,877nymous_
++B 4400,28000,300,300,CONT_DIF_N,823nymous_
++B 37000,32000,300,300,CONT_VIA,769nymous_
++B 36000,28000,300,300,CONT_VIA2,715nymous_
++B 33800,34000,300,300,CONT_VIA2,661nymous_
++B 29000,24600,300,300,CONT_POLY,500nymous_
++B 16800,33400,300,300,CONT_VIA2,1146ymous_
++B 15600,30000,300,300,CONT_DIF_N,1092ymous_
++B 32200,32000,300,300,CONT_DIF_P,607nymous_
++B 26000,26400,300,300,CONT_VIA,392nymous_
++B 27200,12600,300,300,CONT_DIF_P,446nymous_
++B 12800,17000,300,300,CONT_VIA,1038ymous_
++B 10800,21800,300,300,CONT_VIA,984nymous_
++B 7600,34000,300,300,CONT_DIF_N,930nymous_
++B 6000,29000,300,300,CONT_DIF_N,876nymous_
++B 4400,27000,300,300,CONT_VIA,822nymous_
++B 37000,32000,300,300,CONT_DIF_P,768nymous_
++B 36000,27000,300,300,CONT_VIA2,714nymous_
++B 18800,31600,300,300,CONT_DIF_N,1199ymous_
++B 33800,34000,300,300,CONT_VIA,660nymous_
++B 32200,31000,300,300,CONT_DIF_P,606nymous_
++B 30800,6000,300,300,CONT_BODY_P,553nymous_
++B 27200,11600,300,300,CONT_DIF_P,445nymous_
++B 18800,30400,300,300,CONT_DIF_N,1198ymous_
++B 6000,32000,300,300,CONT_DIF_N,879nymous_
++B 4400,29000,300,300,CONT_DIF_N,825nymous_
++B 37000,33000,300,300,CONT_VIA,771nymous_
++B 36000,33000,300,300,CONT_VIA2,717nymous_
++B 16800,34600,300,300,CONT_VIA,1148ymous_
++B 33800,35000,300,300,CONT_VIA,663nymous_
++B 32200,34000,300,300,CONT_DIF_P,609nymous_
++B 27200,17000,300,300,CONT_VIA,448nymous_
++B 29000,25800,300,300,CONT_POLY,502nymous_
++B 15600,32000,300,300,CONT_DIF_N,1094ymous_
++B 13600,19200,300,300,CONT_BODY_P,1040ymous_
++B 26000,27600,300,300,CONT_VIA2,394nymous_
++B 10800,23000,300,300,CONT_DIF_N,986nymous_
++B 7600,35000,300,300,CONT_DIF_N,932nymous_
++B 6000,31000,300,300,CONT_DIF_N,878nymous_
++B 4400,28000,300,300,CONT_VIA,824nymous_
++B 37000,33000,300,300,CONT_DIF_P,770nymous_
++B 36000,29000,300,300,CONT_VIA2,716nymous_
++B 33800,35000,300,300,CONT_DIF_P,662nymous_
++B 30800,6000,300,300,CONT_VIA2,555nymous_
++B 16800,34600,300,300,CONT_POLY,1147ymous_
++B 32200,33000,300,300,CONT_DIF_P,608nymous_
++B 27200,16000,300,300,CONT_BODY_N,447nymous_
++B 29000,24600,300,300,CONT_VIA,501nymous_
++B 26000,27600,300,300,CONT_DIF_P,393nymous_
++B 18800,31600,300,300,CONT_VIA,1200ymous_
++B 30800,6000,300,300,CONT_VIA,554nymous_
++B 18800,34000,300,300,CONT_DIF_N,1202ymous_
++B 29000,31800,300,300,CONT_POLY,504nymous_
++B 16800,35800,300,300,CONT_POLY,1150ymous_
++B 15600,34000,300,300,CONT_DIF_N,1096ymous_
++B 26000,28800,300,300,CONT_VIA,396nymous_
++B 27800,36400,300,300,CONT_DIF_P,450nymous_
++B 14000,21800,300,300,CONT_VIA,1042ymous_
++B 10800,25000,300,300,CONT_DIF_N,988nymous_
++B 7600,36000,300,300,CONT_DIF_N,934nymous_
++B 6000,33000,300,300,CONT_DIF_N,880nymous_
++B 4400,29000,300,300,CONT_VIA,826nymous_
++B 37000,33000,300,300,CONT_VIA2,772nymous_
++B 36000,34000,300,300,CONT_VIA2,718nymous_
++B 16800,34600,300,300,CONT_VIA2,1149ymous_
++B 33800,35000,300,300,CONT_VIA2,664nymous_
++B 32200,35000,300,300,CONT_DIF_P,610nymous_
++B 29000,30600,300,300,CONT_POLY,503nymous_
++B 30800,16000,300,300,CONT_BODY_N,557nymous_
++B 15600,33000,300,300,CONT_DIF_N,1095ymous_
++B 14000,21800,300,300,CONT_POLY,1041ymous_
++B 26000,28800,300,300,CONT_DIF_P,395nymous_
++B 27200,17000,300,300,CONT_VIA2,449nymous_
++B 10800,24000,300,300,CONT_DIF_N,987nymous_
++B 7600,35000,300,300,CONT_VIA,933nymous_
++B 30800,9000,300,300,CONT_DIF_N,556nymous_
++B 18800,32800,300,300,CONT_DIF_N,1201ymous_
++B 18800,34000,300,300,CONT_VIA,1203ymous_
++B 15600,36000,300,300,CONT_DIF_N,1098ymous_
++B 14000,23000,300,300,CONT_DIF_N,1044ymous_
++B 18800,35200,300,300,CONT_DIF_N,1204ymous_
++B 10800,27000,300,300,CONT_DIF_N,990nymous_
++B 7600,36000,300,300,CONT_VIA2,936nymous_
++B 6000,35000,300,300,CONT_DIF_N,882nymous_
++B 4400,30000,300,300,CONT_VIA,828nymous_
++B 37000,34000,300,300,CONT_VIA,774nymous_
++B 36000,19200,300,300,CONT_BODY_N,720nymous_
++B 33800,36000,300,300,CONT_VIA,666nymous_
++B 16800,35800,300,300,CONT_VIA,1151ymous_
++B 15600,35000,300,300,CONT_DIF_N,1097ymous_
++B 32800,20200,300,300,CONT_POLY,612nymous_
++B 27800,37600,300,300,CONT_BODY_N,451nymous_
++B 29000,33000,300,300,CONT_POLY,505nymous_
++B 14000,21800,300,300,CONT_VIA2,1043ymous_
++B 10800,26000,300,300,CONT_DIF_N,989nymous_
++B 26000,28800,300,300,CONT_VIA2,397nymous_
++B 7600,36000,300,300,CONT_VIA,935nymous_
++B 6000,34000,300,300,CONT_DIF_N,881nymous_
++B 4400,30000,300,300,CONT_DIF_N,827nymous_
++B 37000,34000,300,300,CONT_DIF_P,773nymous_
++B 36000,35000,300,300,CONT_VIA2,719nymous_
++B 33800,36000,300,300,CONT_DIF_P,665nymous_
++B 30800,17000,300,300,CONT_VIA,558nymous_
++B 32200,36000,300,300,CONT_DIF_P,611nymous_
++B 7800,37600,300,300,CONT_BODY_P,938nymous_
++B 6600,24000,300,300,CONT_VIA2,884nymous_
++B 4400,31000,300,300,CONT_DIF_N,830nymous_
++B 37000,35000,300,300,CONT_DIF_P,776nymous_
++B 3600,37600,300,300,CONT_VIA,722nymous_
++B 17600,4000,300,300,CONT_VIA2,1153ymous_
++B 3400,24000,300,300,CONT_VIA2,668nymous_
++B 32800,23000,300,300,CONT_VIA2,614nymous_
++B 29400,11800,300,300,CONT_POLY,507nymous_
++B 15600,19200,300,300,CONT_BODY_P,1099ymous_
++B 14000,24000,300,300,CONT_DIF_N,1045ymous_
++B 26000,31200,300,300,CONT_DIF_P,399nymous_
++B 28000,21600,300,300,CONT_DIF_P,453nymous_
++B 18800,36400,300,300,CONT_DIF_N,1205ymous_
++B 10800,28000,300,300,CONT_DIF_N,991nymous_
++B 7600,19200,300,300,CONT_BODY_P,937nymous_
++B 6000,36000,300,300,CONT_DIF_N,883nymous_
++B 4400,30000,300,300,CONT_VIA2,829nymous_
++B 37000,34000,300,300,CONT_VIA2,775nymous_
++B 3600,37600,300,300,CONT_BODY_P,721nymous_
++B 31000,19200,300,300,CONT_BODY_N,560nymous_
++B 16800,37600,300,300,CONT_BODY_P,1152ymous_
++B 34000,19200,300,300,CONT_BODY_N,667nymous_
++B 32800,22000,300,300,CONT_VIA2,613nymous_
++B 28000,20400,300,300,CONT_DIF_P,452nymous_
++B 29000,19200,300,300,CONT_BODY_N,506nymous_
++B 26000,30000,300,300,CONT_DIF_P,398nymous_
++B 30800,17000,300,300,CONT_VIA2,559nymous_
++B 17600,8000,300,300,CONT_DIF_N,1155ymous_
++B 15800,28000,300,300,CONT_VIA2,1101ymous_
++B 32800,28000,300,300,CONT_VIA2,616nymous_
++B 28000,24000,300,300,CONT_DIF_P,455nymous_
++B 14000,26000,300,300,CONT_DIF_N,1047ymous_
++B 10800,30000,300,300,CONT_DIF_N,993nymous_
++B 26000,32400,300,300,CONT_DIF_P,401nymous_
++B 18800,37600,300,300,CONT_BODY_P,1207ymous_
++B 7800,37600,300,300,CONT_VIA,939nymous_
++B 6600,25000,300,300,CONT_VIA2,885nymous_
++B 4400,31000,300,300,CONT_VIA,831nymous_
++B 37000,35000,300,300,CONT_VIA,777nymous_
++B 3600,37600,300,300,CONT_VIA2,723nymous_
++B 3400,25000,300,300,CONT_VIA2,669nymous_
++B 29600,33000,300,300,CONT_VIA2,508nymous_
++B 17600,6000,300,300,CONT_BODY_P,1154ymous_
++B 15800,27000,300,300,CONT_VIA2,1100ymous_
++B 32800,27000,300,300,CONT_VIA2,615nymous_
++B 26000,31200,300,300,CONT_VIA,400nymous_
++B 28000,22800,300,300,CONT_DIF_P,454nymous_
++B 14000,25000,300,300,CONT_DIF_N,1046ymous_
++B 10800,29000,300,300,CONT_DIF_N,992nymous_
++B 18800,36400,300,300,CONT_VIA,1206ymous_
++B 31600,20200,300,300,CONT_POLY,561nymous_
++B 31600,22000,300,300,CONT_VIA2,562nymous_
++B 36800,9000,300,300,CONT_VIA2,731nymous_
++B 14000,28000,300,300,CONT_DIF_N,1049ymous_
++B 18800,6000,300,300,CONT_VIA,1209ymous_
++B 10800,32000,300,300,CONT_DIF_N,995nymous_
++B 8000,6000,300,300,CONT_VIA2,941nymous_
++B 6600,30000,300,300,CONT_VIA2,887nymous_
++B 4400,32000,300,300,CONT_DIF_N,833nymous_
++B 37000,36000,300,300,CONT_DIF_P,779nymous_
++B 36800,6000,300,300,CONT_BODY_P,725nymous_
++B 17600,9000,300,300,CONT_DIF_N,1156ymous_
++B 3400,30000,300,300,CONT_VIA2,671nymous_
++B 32800,29000,300,300,CONT_VIA2,617nymous_
++B 28000,25200,300,300,CONT_DIF_P,456nymous_
++B 29600,35000,300,300,CONT_VIA2,510nymous_
++B 15800,29000,300,300,CONT_VIA2,1102ymous_
++B 14000,27000,300,300,CONT_DIF_N,1048ymous_
++B 26000,33600,300,300,CONT_DIF_P,402nymous_
++B 18800,6000,300,300,CONT_BODY_P,1208ymous_
++B 10800,31000,300,300,CONT_DIF_N,994nymous_
++B 7800,37600,300,300,CONT_VIA2,940nymous_
++B 6600,26000,300,300,CONT_VIA2,886nymous_
++B 4400,31000,300,300,CONT_VIA2,832nymous_
++B 37000,35000,300,300,CONT_VIA2,778nymous_
++B 3600,19200,300,300,CONT_BODY_P,724nymous_
++B 3400,26000,300,300,CONT_VIA2,670nymous_
++B 29600,34000,300,300,CONT_VIA2,509nymous_
++B 17800,28000,300,300,CONT_DIF_N,1175ymous_
++B 31600,23000,300,300,CONT_VIA2,563nymous_
++B 4400,32000,300,300,CONT_VIA2,835nymous_
++B 37000,19200,300,300,CONT_BODY_N,781nymous_
++B 36800,6000,300,300,CONT_VIA2,727nymous_
++B 3400,32000,300,300,CONT_VIA2,673nymous_
++B 29600,6000,300,300,CONT_VIA,512nymous_
++B 17600,10000,300,300,CONT_POLY,1158ymous_
++B 1600,20400,300,300,CONT_BODY_P,1104ymous_
++B 32800,34000,300,300,CONT_VIA2,619nymous_
++B 31600,28000,300,300,CONT_VIA2,565nymous_
++B 26000,35000,300,300,CONT_DIF_P,404nymous_
++B 28000,27600,300,300,CONT_DIF_P,458nymous_
++B 14000,29000,300,300,CONT_DIF_N,1050ymous_
++B 10800,33000,300,300,CONT_DIF_N,996nymous_
++B 18800,6000,300,300,CONT_VIA2,1210ymous_
++B 8000,16000,300,300,CONT_BODY_N,942nymous_
++B 6600,31000,300,300,CONT_VIA2,888nymous_
++B 4400,32000,300,300,CONT_VIA,834nymous_
++B 37000,36000,300,300,CONT_VIA,780nymous_
++B 36800,6000,300,300,CONT_VIA,726nymous_
++B 17600,9000,300,300,CONT_VIA,1157ymous_
++B 3400,31000,300,300,CONT_VIA2,672nymous_
++B 32800,33000,300,300,CONT_VIA2,618nymous_
++B 29600,6000,300,300,CONT_BODY_P,511nymous_
++B 15800,37600,300,300,CONT_BODY_P,1103ymous_
++B 31600,27000,300,300,CONT_VIA2,564nymous_
++B 26000,33600,300,300,CONT_VIA,403nymous_
++B 28000,26400,300,300,CONT_DIF_P,457nymous_
++B 24800,6000,300,300,CONT_VIA2,354nymous_
++B 24800,8000,300,300,CONT_DIF_N,355nymous_
++B 30600,31000,300,300,CONT_VIA,541nymous_
++B 17600,11800,300,300,CONT_DIF_P,1160ymous_
++B 33000,19200,300,300,CONT_BODY_N,621nymous_
++B 28000,30000,300,300,CONT_DIF_P,460nymous_
++B 29600,8600,300,300,CONT_DIF_N,514nymous_
++B 1600,22400,300,300,CONT_BODY_P,1106ymous_
++B 28000,28800,300,300,CONT_DIF_P,459nymous_
++B 29600,6000,300,300,CONT_VIA2,513nymous_
++B 14000,30000,300,300,CONT_DIF_N,1051ymous_
++B 10800,34000,300,300,CONT_DIF_N,997nymous_
++B 26000,36400,300,300,CONT_DIF_P,405nymous_
++B 18800,8000,300,300,CONT_DIF_N,1211ymous_
++B 8000,17000,300,300,CONT_VIA,943nymous_
++B 6600,32000,300,300,CONT_VIA2,889nymous_
++B 31600,29000,300,300,CONT_VIA2,566nymous_
++B 32800,35000,300,300,CONT_VIA2,620nymous_
++B 1600,21400,300,300,CONT_BODY_P,1105ymous_
++B 17600,11000,300,300,CONT_VIA,1159ymous_
++B 3400,36000,300,300,CONT_VIA2,674nymous_
++B 36800,7000,300,300,CONT_BODY_P,728nymous_
++B 37200,37600,300,300,CONT_BODY_N,782nymous_
++B 4400,33000,300,300,CONT_DIF_N,836nymous_
++B 6600,36000,300,300,CONT_VIA2,890nymous_
++B 8000,17000,300,300,CONT_VIA2,944nymous_
++B 10800,35000,300,300,CONT_DIF_N,998nymous_
++B 18800,9000,300,300,CONT_DIF_N,1212ymous_
++B 26000,37600,300,300,CONT_BODY_N,406nymous_
++B 31600,33000,300,300,CONT_VIA2,567nymous_
++B 14000,31000,300,300,CONT_DIF_N,1052ymous_
++B 8600,25000,300,300,CONT_VIA2,946nymous_
++B 6800,37600,300,300,CONT_BODY_P,892nymous_
++B 4400,34000,300,300,CONT_DIF_N,838nymous_
++B 38000,28000,300,300,CONT_VIA2,784nymous_
++B 36800,9000,300,300,CONT_BODY_P,730nymous_
++B 17600,12800,300,300,CONT_DIF_P,1161ymous_
++B 34400,6000,300,300,CONT_VIA,676nymous_
++B 33200,6000,300,300,CONT_BODY_P,622nymous_
++B 29600,12800,300,300,CONT_DIF_P,515nymous_
++B 1600,23400,300,300,CONT_BODY_P,1107ymous_
++B 14000,32000,300,300,CONT_DIF_N,1053ymous_
++B 31600,34000,300,300,CONT_VIA2,568nymous_
++B 26000,6000,300,300,CONT_BODY_P,407nymous_
++B 28000,31200,300,300,CONT_DIF_P,461nymous_
++B 18800,11800,300,300,CONT_DIF_P,1213ymous_
++B 10800,36000,300,300,CONT_DIF_N,999nymous_
++B 8600,24000,300,300,CONT_VIA2,945nymous_
++B 6600,19200,300,300,CONT_BODY_P,891nymous_
++B 4400,33000,300,300,CONT_VIA,837nymous_
++B 38000,27000,300,300,CONT_VIA2,783nymous_
++B 36800,8000,300,300,CONT_BODY_P,729nymous_
++B 34400,6000,300,300,CONT_BODY_P,675nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pck_mpx.vbe b/alliance/src/cells/src/mpxlib/pck_mpx.vbe
+new file mode 100644
+index 0000000..59f6ddd
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pck_mpx.vbe
+@@ -0,0 +1,29 @@
++ENTITY pck_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_pad : NATURAL := 1326;
++ CONSTANT tpll_pad : NATURAL := 1443;
++ CONSTANT rdown_pad : NATURAL := 58;
++ CONSTANT tphh_pad : NATURAL := 228;
++ CONSTANT rup_pad : NATURAL := 68
++ );
++ PORT (
++ pad : in BIT;
++ ck : out BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pck_mpx;
++
++
++ARCHITECTURE behaviour_data_flow OF pck_mpx IS
++
++BEGIN
++ ck <= pad;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pck_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pi_mpx.ap b/alliance/src/cells/src/mpxlib/pi_mpx.ap
+new file mode 100644
+index 0000000..6650743
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pi_mpx.ap
+@@ -0,0 +1,1547 @@
++V ALLIANCE : 6
++H pi_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 29000,35100,29000,39700,400,pad,UP,ALU1
++S 29000,25900,29000,34900,400,pad,UP,ALU1
++S 28600,33000,29000,33000,600,pad,RIGHT,POLY
++S 28600,31800,29000,31800,600,pad,RIGHT,POLY
++S 28600,30600,29000,30600,600,pad,RIGHT,POLY
++S 28600,25800,29000,25800,600,pad,RIGHT,POLY
++S 20000,48100,20000,71900,24400,pad,UP,CALU1
++S 8000,0,8000,0,400,t,RIGHT,CALU5
++S 8000,0,8000,0,400,t,RIGHT,CALU4
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 16800,33400,17200,33400,200,vdde,RIGHT,POLY
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 3600,22200,5200,22200,200,vdde,RIGHT,POLY
++S 25100,28800,27900,28800,400,vdde,RIGHT,ALU1
++S 25100,26400,27900,26400,400,vdde,RIGHT,ALU1
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 6800,22200,8400,22200,200,vdde,RIGHT,POLY
++S 25100,21600,27900,21600,400,vdde,RIGHT,ALU1
++S 24000,35800,24400,35800,600,vdde,RIGHT,POLY
++S 24000,34200,24400,34200,600,vdde,RIGHT,POLY
++S 16800,32200,17200,32200,200,vdde,RIGHT,POLY
++S 16800,35800,17200,35800,200,vdde,RIGHT,POLY
++S 16800,34600,17200,34600,200,vdde,RIGHT,POLY
++S 16800,29900,16800,38300,400,vdde,UP,ALU2
++S 10500,21800,14300,21800,400,vdde,RIGHT,ALU2
++S 25100,24000,27900,24000,400,vdde,RIGHT,ALU1
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 3100,16000,36900,16000,2400,vddi,RIGHT,ALU1
++S 20000,9600,20000,11000,200,vddi,UP,POLY
++S 17800,22900,17800,31900,400,vsse,UP,ALU2
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 7600,22900,7600,37500,400,vsse,UP,ALU1
++S 4400,22900,4400,37500,400,vsse,UP,ALU1
++S 30400,36400,30400,36600,200,vsse,UP,POLY
++S 20800,22900,20800,37100,400,vsse,UP,ALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 3100,6000,36900,6000,2400,vssi,RIGHT,ALU1
++S 28800,9000,29000,9000,200,i,RIGHT,POLY
++S 27800,11800,28200,11800,200,i,RIGHT,POLY
++S 17500,22600,19100,22600,200,n6d,RIGHT,NTRANS
++S 28300,9000,28700,9000,400,91onymous_,RIGHT,ALU1
++S 24900,31200,28100,31200,420,53onymous_,RIGHT,PDIF
++S 28300,10600,29500,10600,400,92onymous_,RIGHT,ALU1
++S 20000,11100,20000,15900,400,12onymous_,UP,ALU1
++S 28400,7500,28400,8100,620,93onymous_,UP,NDIF
++S 20000,12700,20000,17300,400,13onymous_,UP,ALU2
++S 6200,10900,6200,14900,200,p18b,UP,PTRANS
++S 14600,11100,14600,13100,200,p17c,UP,PTRANS
++S 30800,10600,33800,10600,200,cnbb,RIGHT,POLY
++S 30800,8100,30800,12900,400,cnbb,UP,ALU1
++S 6800,22500,6800,36700,200,n14c,UP,NTRANS
++S 14800,22500,14800,36700,200,n15d,UP,NTRANS
++S 35000,7300,35000,8300,200,n5b,UP,NTRANS
++S 35000,12700,35000,14700,200,p5b,UP,PTRANS
++S 27800,12500,27800,14500,200,p1,UP,PTRANS
++S 17700,29200,18900,29200,620,318nymous_,RIGHT,NDIF
++S 17700,30400,18900,30400,620,319nymous_,RIGHT,NDIF
++S 17700,31600,18900,31600,620,320nymous_,RIGHT,NDIF
++S 15600,22700,15600,36500,620,285nymous_,UP,NDIF
++S 24900,30000,28100,30000,420,52onymous_,RIGHT,PDIF
++S 20000,8100,20000,8500,400,11onymous_,UP,ALU1
++S 10800,21800,10800,22200,600,249nymous_,UP,POLY
++S 10700,39600,35500,39600,2400,248nymous_,RIGHT,ALU1
++S 7600,21800,7600,22200,600,211nymous_,UP,POLY
++S 31800,12000,31800,12200,200,127nymous_,UP,POLY
++S 20000,40100,20000,59900,4400,10onymous_,UP,ALU1
++S 24900,28800,28100,28800,420,51onymous_,RIGHT,PDIF
++S 31600,20200,31600,20600,600,126nymous_,UP,POLY
++S 15300,18200,21300,18200,400,286nymous_,RIGHT,ALU2
++S 17700,32800,18900,32800,620,321nymous_,RIGHT,NDIF
++S 7400,9600,7400,10600,200,210nymous_,UP,POLY
++S 35600,12900,35600,14500,620,169nymous_,UP,PDIF
++S 7300,21800,10100,21800,400,212nymous_,RIGHT,ALU2
++S 31700,6000,37100,6000,400,128nymous_,RIGHT,ALU2
++S 36000,20200,36000,20600,600,172nymous_,UP,POLY
++S 15800,23700,15800,32300,400,288nymous_,UP,ALU2
++S 17700,35200,18900,35200,620,323nymous_,RIGHT,NDIF
++S 35300,17000,37100,17000,400,171nymous_,RIGHT,ALU2
++S 15600,17900,15600,20500,400,287nymous_,UP,ALU2
++S 17700,34000,18900,34000,620,322nymous_,RIGHT,NDIF
++S 35600,13100,35600,15900,400,170nymous_,UP,ALU1
++S 31400,35300,31400,36100,200,p11,UP,PTRANS
++S 31400,20900,31400,34300,200,p14a,UP,PTRANS
++S 24900,35000,28100,35000,820,56onymous_,RIGHT,PDIF
++S 7600,22700,7600,38300,2400,215nymous_,UP,ALU2
++S 1700,37600,9500,37600,400,290nymous_,RIGHT,ALU1
++S 24900,33600,28100,33600,420,55onymous_,RIGHT,PDIF
++S 7600,22900,7600,37500,400,214nymous_,UP,ALU1
++S 31700,7600,37100,7600,1200,130nymous_,RIGHT,ALU2
++S 17700,36400,18900,36400,620,324nymous_,RIGHT,NDIF
++S 32000,7500,32000,8100,620,129nymous_,UP,NDIF
++S 15800,9600,15800,10800,200,289nymous_,UP,POLY
++S 7600,22700,7600,36500,620,213nymous_,UP,NDIF
++S 17700,8000,22300,8000,400,325nymous_,RIGHT,ALU1
++S 3600,22200,5200,22200,200,173nymous_,RIGHT,POLY
++S 10800,22700,10800,36500,620,250nymous_,UP,NDIF
++S 24900,32400,28100,32400,420,54onymous_,RIGHT,PDIF
++S 28500,8000,30700,8000,400,94onymous_,RIGHT,ALU1
++S 24900,36400,28100,36400,620,57onymous_,RIGHT,PDIF
++S 20800,19300,20800,37500,400,14onymous_,UP,ALU1
++S 24800,7500,24800,8100,620,58onymous_,UP,NDIF
++S 20800,19080,20800,37720,600,15onymous_,UP,PTIE
++S 21000,13100,21000,13900,400,16onymous_,UP,ALU1
++S 21100,13000,22300,13000,400,17onymous_,RIGHT,ALU1
++S 24800,13100,24800,14500,620,60onymous_,UP,PDIF
++S 8000,7500,8000,9100,420,217nymous_,UP,NDIF
++S 11600,6100,11600,8900,400,253nymous_,UP,ALU1
++S 28700,24600,30300,24600,400,97onymous_,RIGHT,ALU2
++S 1600,19080,1600,37720,600,294nymous_,UP,PTIE
++S 36800,6100,36800,9100,400,177nymous_,UP,ALU1
++S 24800,8100,24800,13900,400,59onymous_,UP,ALU1
++S 28400,14100,28400,15900,400,96onymous_,UP,ALU1
++S 1600,19300,1600,37500,400,293nymous_,UP,ALU1
++S 36800,5880,36800,8720,600,176nymous_,UP,PTIE
++S 28400,12700,28400,14300,620,95onymous_,UP,PDIF
++S 1480,19200,20920,19200,600,292nymous_,RIGHT,PTIE
++S 17700,12800,18300,12800,400,329nymous_,RIGHT,ALU1
++S 36700,37600,38100,37600,400,175nymous_,RIGHT,ALU1
++S 3200,5880,3200,8720,600,133nymous_,UP,PTIE
++S 11000,9600,11000,10600,200,252nymous_,UP,POLY
++S 8000,-100,8000,11300,400,216nymous_,UP,ALU2
++S 1700,19200,20700,19200,400,291nymous_,RIGHT,ALU1
++S 2900,20600,15500,20600,400,pad2,RIGHT,ALU1
++S 2700,20600,15700,20600,400,pad2,RIGHT,ALU1
++S 21000,12700,21000,18500,400,pad2,UP,ALU2
++S 20000,8500,20000,9100,620,pad2,UP,NDIF
++S 17600,8100,17600,8500,400,326nymous_,UP,ALU1
++S 3480,16000,36920,16000,600,174nymous_,RIGHT,NTIE
++S 10800,22900,10800,39700,400,251nymous_,UP,ALU1
++S 32000,8100,32000,12900,400,131nymous_,UP,ALU1
++S 7400,10900,7400,14900,200,p18c,UP,PTRANS
++S 7400,7300,7400,9300,200,n18c,UP,NTRANS
++S 25400,8600,25400,12400,200,62onymous_,UP,POLY
++S 25100,35000,29100,35000,400,61onymous_,RIGHT,ALU1
++S 21200,9100,21200,9900,400,19onymous_,UP,ALU1
++S 21200,8500,21200,9100,420,18onymous_,UP,NDIF
++S 17600,12500,17600,12900,620,328nymous_,UP,PDIF
++S 32000,12900,32000,14500,620,132nymous_,UP,PDIF
++S 17600,8500,17600,9100,620,327nymous_,UP,NDIF
++S 26000,30900,26000,37100,400,65onymous_,UP,ALU2
++S 26000,23700,26000,29100,400,64onymous_,UP,ALU2
++S 26000,21300,26000,24300,400,63onymous_,UP,ALU2
++S 2900,10000,6300,10000,2400,137nymous_,RIGHT,ALU2
++S 11600,7500,11600,9100,420,254nymous_,UP,NDIF
++S 8000,8100,8000,8900,400,218nymous_,UP,ALU1
++S 17900,24400,18700,24400,400,332nymous_,RIGHT,ALU1
++S 16400,29900,16400,32300,400,295nymous_,UP,ALU2
++S 36800,6900,36800,17300,400,178nymous_,UP,ALU2
++S 2900,6000,7100,6000,400,136nymous_,RIGHT,ALU2
++S 17900,23200,18700,23200,400,331nymous_,RIGHT,ALU1
++S 3200,5700,3200,16100,400,135nymous_,UP,ALU2
++S 17900,22000,18700,22000,400,330nymous_,RIGHT,ALU1
++S 3200,6100,3200,9100,400,134nymous_,UP,ALU1
++S 20600,8300,20600,9300,200,n16c,UP,NTRANS
++S 3600,22500,3600,36700,200,n14a,UP,NTRANS
++S 15800,7300,15800,9300,200,n17d,UP,NTRANS
++S 15800,11100,15800,13100,200,p17d,UP,PTRANS
++S 36800,11100,36800,15900,400,179nymous_,UP,ALU1
++S 8000,11100,8000,13700,400,219nymous_,UP,ALU1
++S 17900,25600,18700,25600,400,333nymous_,RIGHT,ALU1
++S 11600,11100,11600,14700,620,255nymous_,UP,PDIF
++S 36800,10880,36800,16120,600,180nymous_,UP,NTIE
++S 8000,11100,8000,14700,620,220nymous_,UP,PDIF
++S 11600,11900,11600,15900,400,256nymous_,UP,ALU1
++S 900,37000,8900,37000,2400,257nymous_,RIGHT,ALU2
++S 29000,8600,29000,9000,200,98onymous_,UP,POLY
++S 22000,21900,22000,28500,400,20onymous_,UP,ALU2
++S 29000,11400,29000,12200,200,99onymous_,UP,POLY
++S 22000,17900,22000,19500,400,21onymous_,UP,ALU2
++S 29000,11400,32600,11400,200,100nymous_,RIGHT,POLY
++S 28700,18200,34700,18200,400,101nymous_,RIGHT,ALU2
++S 11000,7300,11000,9300,200,n18f,UP,NTRANS
++S 36200,20900,36200,36700,200,p14d,UP,PTRANS
++S 16400,6100,16400,8900,400,296nymous_,UP,ALU1
++S 3200,11100,3200,15900,400,138nymous_,UP,ALU1
++S 25100,37000,27900,37000,1600,fbul,RIGHT,ALU1
++S 25100,25200,27900,25200,400,fbul,RIGHT,ALU1
++S 16400,7500,16400,9100,620,297nymous_,UP,NDIF
++S 17900,26800,18700,26800,400,334nymous_,RIGHT,ALU1
++S 3200,10880,3200,16120,600,139nymous_,UP,NTIE
++S 37000,21100,37000,36500,620,181nymous_,UP,PDIF
++S 16400,11300,16400,12900,620,298nymous_,UP,PDIF
++S 17900,28000,18700,28000,400,335nymous_,RIGHT,ALU1
++S 2900,15400,19300,15400,1200,140nymous_,RIGHT,ALU2
++S 37000,21300,37000,36300,400,182nymous_,UP,ALU1
++S 16400,12100,16400,15900,400,299nymous_,UP,ALU1
++S 17900,30400,18700,30400,400,336nymous_,RIGHT,ALU1
++S 900,19000,9300,19000,2400,258nymous_,RIGHT,ALU2
++S 2900,17000,19100,17000,400,141nymous_,RIGHT,ALU2
++S 37000,17700,37000,38300,2400,183nymous_,UP,ALU2
++S 8600,9600,8600,10600,200,221nymous_,UP,POLY
++S 17900,31600,18700,31600,400,337nymous_,RIGHT,ALU1
++S 21700,18200,25100,18200,400,22onymous_,RIGHT,ALU2
++S 9200,20700,9200,36300,400,222nymous_,UP,ALU1
++S 22000,19300,22000,22100,400,23onymous_,UP,ALU1
++S 29000,18300,29000,19500,400,102nymous_,UP,ALU2
++S 22400,8100,22400,8500,400,24onymous_,UP,ALU1
++S 11000,10900,11000,14900,200,p18f,UP,PTRANS
++S 11600,22500,11600,36700,200,n15b,UP,NTRANS
++S 13200,22200,14800,22200,200,cn,RIGHT,POLY
++S 10000,22200,11600,22200,200,cn,RIGHT,POLY
++S 4100,21800,7900,21800,400,cn,RIGHT,ALU2
++S 25100,22800,27900,22800,400,cn,RIGHT,ALU1
++S 25100,20400,27900,20400,400,cn,RIGHT,ALU1
++S 25000,20100,25000,23100,400,cn,UP,ALU2
++S 29300,37000,31900,37000,2400,103nymous_,RIGHT,ALU2
++S 22400,8500,22400,9100,620,25onymous_,UP,NDIF
++S 26000,6100,26000,7900,400,66onymous_,UP,ALU1
++S 26000,7500,26000,8100,620,67onymous_,UP,NDIF
++S 12400,22700,12400,36500,620,261nymous_,UP,NDIF
++S 9200,6100,9200,7900,400,225nymous_,UP,ALU1
++S 32600,11400,32600,12400,200,145nymous_,UP,POLY
++S 12400,20700,12400,36300,400,260nymous_,UP,ALU1
++S 8900,6000,26300,6000,400,224nymous_,RIGHT,ALU2
++S 1800,17700,1800,38300,1600,340nymous_,UP,ALU2
++S 4400,21800,4400,22200,600,187nymous_,UP,POLY
++S 32600,8600,32600,9800,200,144nymous_,UP,POLY
++S 9200,22700,9200,36500,620,223nymous_,UP,NDIF
++S 16800,20900,16800,24700,400,303nymous_,UP,ALU2
++S 3900,7600,7300,7600,1200,186nymous_,RIGHT,ALU2
++S 17900,36400,18700,36400,400,339nymous_,RIGHT,ALU1
++S 16500,21200,25300,21200,400,302nymous_,RIGHT,ALU2
++S 38200,19080,38200,37920,600,185nymous_,UP,NTIE
++S 32200,21300,32200,39700,400,143nymous_,UP,ALU1
++S 12200,9600,12200,10800,200,259nymous_,UP,POLY
++S 17900,34000,18700,34000,400,338nymous_,RIGHT,ALU1
++S 16800,20300,16800,23300,400,301nymous_,UP,ALU1
++S 38200,19300,38200,37500,400,184nymous_,UP,ALU1
++S 32200,21100,32200,36500,620,142nymous_,UP,PDIF
++S 19500,36800,26300,36800,400,node_cp,RIGHT,ALU2
++S 17900,35200,19700,35200,400,node_cp,RIGHT,ALU1
++S 17900,32800,19700,32800,400,node_cp,RIGHT,ALU1
++S 34600,20600,36200,20600,200,node_cp,RIGHT,POLY
++S 31400,20600,33000,20600,200,node_cp,RIGHT,POLY
++S 28600,24600,29000,24600,600,node_cp,RIGHT,POLY
++S 27700,24600,29300,24600,400,node_cp,RIGHT,ALU2
++S 28000,24300,28000,31500,400,node_cp,UP,ALU2
++S 25100,33600,27900,33600,400,node_cp,RIGHT,ALU1
++S 25100,31200,27900,31200,400,node_cp,RIGHT,ALU1
++S 16500,20200,24300,20200,400,300nymous_,RIGHT,ALU2
++S 21800,8300,21800,9300,200,n16d,UP,NTRANS
++S 18500,31600,25300,31600,400,cpd,RIGHT,ALU2
++S 18800,21900,18800,36700,400,cpd,UP,ALU2
++S 25100,32400,27900,32400,400,cpd,RIGHT,ALU1
++S 25100,30000,27900,30000,400,cpd,RIGHT,ALU1
++S 25100,27600,27900,27600,400,cpd,RIGHT,ALU1
++S 25000,27300,25000,32700,400,cpd,UP,ALU2
++S 29000,7300,29000,8300,200,n1,UP,NTRANS
++S 9200,5700,9200,11300,400,226nymous_,UP,ALU2
++S 12400,18500,12400,22100,2400,262nymous_,UP,ALU2
++S 29480,37600,38520,37600,600,104nymous_,RIGHT,NTIE
++S 22400,8700,22400,12900,400,26onymous_,UP,ALU1
++S 29600,7100,29600,8100,620,105nymous_,UP,NDIF
++S 22100,17000,23700,17000,400,27onymous_,RIGHT,ALU2
++S 23100,37600,27700,37600,400,28onymous_,RIGHT,ALU1
++S 16800,24100,16800,29500,400,305nymous_,UP,ALU2
++S 4400,22700,4400,36500,620,188nymous_,UP,NDIF
++S 19500,28200,24300,28200,400,cpb,RIGHT,ALU2
++S 19400,27400,19800,27400,200,cpb,RIGHT,POLY
++S 19400,26200,19800,26200,200,cpb,RIGHT,POLY
++S 24000,29200,24400,29200,600,cpb,RIGHT,POLY
++S 24000,28200,24400,28200,600,cpb,RIGHT,POLY
++S 19800,22700,19800,30900,400,cpb,UP,ALU1
++S 19400,31000,19800,31000,200,cpb,RIGHT,POLY
++S 19400,22600,19800,22600,200,cpb,RIGHT,POLY
++S 24800,12700,24800,18500,400,cpb,UP,ALU2
++S 24000,27000,24400,27000,600,cpb,RIGHT,POLY
++S 16800,23200,16800,25400,600,304nymous_,UP,POLY
++S 25400,7300,25400,8300,200,n4b,UP,NTRANS
++S 29000,12500,29000,14500,200,p2,UP,PTRANS
++S 8600,10900,8600,14900,200,p18d,UP,PTRANS
++S 12200,7300,12200,9300,200,n17a,UP,NTRANS
++S 8600,7300,8600,9300,200,n18d,UP,NTRANS
++S 8400,22500,8400,36700,200,n14d,UP,NTRANS
++S 18200,9600,21800,9600,200,341nymous_,RIGHT,POLY
++S 4400,22900,4400,37500,400,189nymous_,UP,ALU1
++S 16900,24400,17700,24400,400,306nymous_,RIGHT,ALU1
++S 32800,20200,32800,20600,600,146nymous_,UP,POLY
++S 18400,10100,18400,12700,400,342nymous_,UP,ALU1
++S 16800,25500,16800,28100,400,307nymous_,UP,ALU1
++S 9200,7500,9200,9100,620,227nymous_,UP,NDIF
++S 12800,7500,12800,9100,620,263nymous_,UP,NDIF
++S 4400,22700,4400,38300,2400,190nymous_,UP,ALU2
++S 18800,8500,18800,9100,420,343nymous_,UP,NDIF
++S 12800,8100,12800,12500,400,264nymous_,UP,ALU1
++S 33200,6100,33200,7900,400,147nymous_,UP,ALU1
++S 29600,9800,29600,11400,200,106nymous_,UP,POLY
++S 12900,9000,15100,9000,400,265nymous_,RIGHT,ALU1
++S 33200,7500,33200,8100,620,148nymous_,UP,NDIF
++S 18800,9100,18800,9900,400,344nymous_,UP,ALU1
++S 29600,12700,29600,14300,620,107nymous_,UP,PDIF
++S 23000,11700,23000,17300,2000,29onymous_,UP,ALU2
++S 33200,12900,33200,14500,620,149nymous_,UP,PDIF
++S 23000,19300,23000,37500,400,30onymous_,UP,ALU1
++S 23000,19080,23000,37920,600,31onymous_,UP,NTIE
++S 26000,8700,26000,14300,400,68onymous_,UP,ALU2
++S 24900,21600,28100,21600,420,45onymous_,RIGHT,PDIF
++S 24900,20400,28100,20400,620,44onymous_,RIGHT,PDIF
++S 17400,11100,17400,11700,400,310nymous_,UP,ALU1
++S 17400,11800,17400,12000,200,311nymous_,UP,POLY
++S 18200,8300,18200,9300,200,n16a,UP,NTRANS
++S 12200,11100,12200,13100,200,p17a,UP,PTRANS
++S 32600,7300,32600,8300,200,n0,UP,NTRANS
++S 12200,10000,16400,10000,600,nnt,RIGHT,POLY
++S 27200,8100,27200,12900,400,cpbb,UP,ALU1
++S 25400,10600,27200,10600,200,cpbb,RIGHT,POLY
++S 25400,12700,25400,14700,200,p4b,UP,PTRANS
++S 8900,10000,26300,10000,2400,228nymous_,RIGHT,ALU2
++S 4400,6100,4400,8900,400,191nymous_,UP,ALU1
++S 16800,28200,16800,29800,600,308nymous_,UP,POLY
++S 9200,11100,9200,14700,620,229nymous_,UP,PDIF
++S 16900,29200,18700,29200,400,309nymous_,RIGHT,ALU1
++S 4400,7500,4400,9100,620,192nymous_,UP,NDIF
++S 9200,12100,9200,15900,400,230nymous_,UP,ALU1
++S 12900,11000,17300,11000,400,266nymous_,RIGHT,ALU1
++S 4400,11100,4400,14700,620,193nymous_,UP,PDIF
++S 18500,17000,20300,17000,400,345nymous_,RIGHT,ALU2
++S 29600,13100,29600,13900,400,108nymous_,UP,ALU1
++S 4400,11900,4400,15900,400,194nymous_,UP,ALU1
++S 33200,13100,33200,15900,400,150nymous_,UP,ALU1
++S 30000,19900,30000,24900,400,109nymous_,UP,ALU2
++S 33400,11700,33400,17300,400,151nymous_,UP,ALU2
++S 30100,20200,35900,20200,400,110nymous_,RIGHT,ALU1
++S 23100,19200,38100,19200,400,32onymous_,RIGHT,ALU1
++S 19800,32900,19800,35100,400,346nymous_,UP,ALU1
++S 26000,12900,26000,14500,620,69onymous_,UP,PDIF
++S 22880,19200,38320,19200,600,33onymous_,RIGHT,NTIE
++S 26000,13100,26000,15900,400,70onymous_,UP,ALU1
++S 23080,37600,29920,37600,600,34onymous_,RIGHT,NTIE
++S 24900,25200,28100,25200,420,48onymous_,RIGHT,PDIF
++S 24900,24000,28100,24000,420,47onymous_,RIGHT,PDIF
++S 24900,22800,28100,22800,420,46onymous_,RIGHT,PDIF
++S 17700,23200,18900,23200,620,313nymous_,RIGHT,NDIF
++S 17700,22000,18900,22000,620,312nymous_,RIGHT,NDIF
++S 32600,12700,32600,14700,200,p0,UP,PTRANS
++S 33000,20900,33000,36700,200,p14b,UP,PTRANS
++S 9300,25000,16100,25000,2400,231nymous_,RIGHT,ALU2
++S 12800,11300,12800,12900,620,267nymous_,UP,PDIF
++S 9300,31000,16100,31000,2400,232nymous_,RIGHT,ALU2
++S 4100,13000,20300,13000,2400,195nymous_,RIGHT,ALU2
++S 9800,21500,9800,23100,400,233nymous_,UP,ALU2
++S 33800,21100,33800,36500,620,152nymous_,UP,PDIF
++S 5000,9600,5000,10600,200,196nymous_,UP,POLY
++S 9500,22800,17100,22800,400,234nymous_,RIGHT,ALU2
++S 13400,9600,13400,10800,200,268nymous_,UP,POLY
++S 30200,8600,30200,9000,200,111nymous_,UP,POLY
++S 19800,34900,19800,37100,400,347nymous_,UP,ALU2
++S 26000,13700,26000,16100,400,71onymous_,UP,ALU2
++S 23600,6100,23600,7900,400,35onymous_,UP,ALU1
++S 14000,21800,14000,22200,600,269nymous_,UP,POLY
++S 30200,12000,30200,12200,200,112nymous_,UP,POLY
++S 25700,15400,32500,15400,1200,72onymous_,RIGHT,ALU2
++S 23600,7500,23600,8100,620,36onymous_,UP,NDIF
++S 14000,22700,14000,36500,620,270nymous_,UP,NDIF
++S 25700,17000,33500,17000,400,73onymous_,RIGHT,ALU2
++S 23600,12900,23600,14500,620,37onymous_,UP,PDIF
++S 5600,7500,5600,9100,420,197nymous_,UP,NDIF
++S 30400,36400,30400,36600,200,113nymous_,UP,POLY
++S 30600,21100,30600,35900,620,114nymous_,UP,PDIF
++S 24000,18900,24000,20500,400,41onymous_,UP,ALU2
++S 27000,6900,27000,14300,400,77onymous_,UP,ALU2
++S 5700,11000,10300,11000,400,200nymous_,RIGHT,ALU1
++S 30600,21300,30600,35500,400,115nymous_,UP,ALU1
++S 9700,19000,14900,19000,2400,238nymous_,RIGHT,ALU2
++S 24900,26400,28100,26400,420,49onymous_,RIGHT,PDIF
++S 17700,25600,18900,25600,620,315nymous_,RIGHT,NDIF
++S 17700,24400,18900,24400,620,314nymous_,RIGHT,NDIF
++S 24200,7300,24200,8300,200,n4a,UP,NTRANS
++S 16800,29800,17200,29800,200,cnb,RIGHT,POLY
++S 16800,28600,17200,28600,200,cnb,RIGHT,POLY
++S 16800,25000,17200,25000,200,cnb,RIGHT,POLY
++S 16800,23800,17200,23800,200,cnb,RIGHT,POLY
++S 34400,12700,34400,18500,400,cnb,UP,ALU2
++S 29000,17900,29000,23700,400,cnb,UP,ALU2
++S 28600,23400,29000,23400,600,cnb,RIGHT,POLY
++S 28600,22200,29000,22200,600,cnb,RIGHT,POLY
++S 28600,21000,29000,21000,600,cnb,RIGHT,POLY
++S 23700,19200,29300,19200,400,cnb,RIGHT,ALU2
++S 17000,12300,17000,13100,200,p16,UP,PTRANS
++S 19400,8300,19400,9300,200,n16b,UP,NTRANS
++S 33800,21300,33800,36300,400,153nymous_,UP,ALU1
++S 9500,37000,17100,37000,2400,235nymous_,RIGHT,ALU2
++S 33800,8600,33800,12400,200,154nymous_,UP,POLY
++S 9800,9600,9800,10600,200,236nymous_,UP,POLY
++S 33800,8600,35000,8600,200,155nymous_,RIGHT,POLY
++S 14000,22900,14000,39700,400,271nymous_,UP,ALU1
++S 2700,20200,15700,20200,400,74onymous_,RIGHT,ALU1
++S 23600,13100,23600,15900,400,38onymous_,UP,ALU1
++S 33800,12400,35000,12400,200,156nymous_,RIGHT,POLY
++S 14000,6100,14000,7900,400,272nymous_,UP,ALU1
++S 10000,22200,11600,22200,200,237nymous_,RIGHT,POLY
++S 26400,18600,26400,38600,8400,75onymous_,UP,NWELL
++S 24000,27100,24000,29100,400,39onymous_,UP,ALU1
++S 5700,9000,10300,9000,400,198nymous_,RIGHT,ALU1
++S 14000,7500,14000,9100,620,273nymous_,UP,NDIF
++S 24000,33900,24000,36100,400,40onymous_,UP,ALU2
++S 5600,11100,5600,14700,620,199nymous_,UP,PDIF
++S 27000,24900,27000,36700,400,76onymous_,UP,ALU2
++S 6000,22700,6000,36500,620,202nymous_,UP,NDIF
++S 30600,36400,31400,36400,200,117nymous_,RIGHT,POLY
++S 26700,13000,33700,13000,2400,78onymous_,RIGHT,ALU2
++S 6000,20700,6000,36300,400,201nymous_,UP,ALU1
++S 30600,26700,30600,35300,2400,116nymous_,UP,ALU2
++S 700,25000,8900,25000,2400,239nymous_,RIGHT,ALU2
++S 3280,6000,28520,6000,600,159nymous_,RIGHT,PTIE
++S 34000,18200,34000,38200,10400,158nymous_,UP,NWELL
++S 14100,10000,21100,10000,400,274nymous_,RIGHT,ALU1
++S 33800,19100,33800,38300,2400,157nymous_,UP,ALU2
++S 24700,22200,28300,22200,200,p7b,RIGHT,PTRANS
++S 24700,21000,28300,21000,200,p7c,RIGHT,PTRANS
++S 24200,12400,25400,12400,200,43onymous_,RIGHT,POLY
++S 24200,12700,24200,14700,200,p4a,UP,PTRANS
++S 17500,25000,19100,25000,200,n7c,RIGHT,NTRANS
++S 33800,7300,33800,8300,200,n5a,UP,NTRANS
++S 13400,11100,13400,13100,200,p17b,UP,PTRANS
++S 17000,12000,17400,12000,200,nt,RIGHT,POLY
++S 5000,10000,11000,10000,600,nt,RIGHT,POLY
++S 17500,23800,19100,23800,200,n7d,RIGHT,NTRANS
++S 30200,7300,30200,8300,200,n3,UP,NTRANS
++S 5000,7300,5000,9300,200,n18a,UP,NTRANS
++S 13400,7300,13400,9300,200,n17b,UP,NTRANS
++S 13200,22500,13200,36700,200,n15c,UP,NTRANS
++S 27200,7500,27200,8100,620,79onymous_,UP,NDIF
++S 700,28000,15100,28000,2400,240nymous_,RIGHT,ALU2
++S 27200,12700,27200,14300,620,80onymous_,UP,PDIF
++S 24200,8600,25400,8600,200,42onymous_,RIGHT,POLY
++S 700,31000,8900,31000,2400,241nymous_,RIGHT,ALU2
++S 27200,13100,27200,13900,400,81onymous_,UP,ALU1
++S 24900,27600,28100,27600,420,50onymous_,RIGHT,PDIF
++S 14000,12100,14000,15900,400,276nymous_,UP,ALU1
++S 34400,7500,34400,8100,620,160nymous_,UP,NDIF
++S 24700,27000,28300,27000,200,p6c,RIGHT,PTRANS
++S 14000,11300,14000,12900,620,275nymous_,UP,PDIF
++S 24700,25800,28300,25800,200,p13,RIGHT,PTRANS
++S 24700,24600,28300,24600,200,p10,RIGHT,PTRANS
++S 24700,23400,28300,23400,200,p7a,RIGHT,PTRANS
++S 17500,29800,19100,29800,200,n7a,RIGHT,NTRANS
++S 5600,8100,5600,13700,400,1.nq,UP,ALU1
++S 10000,22500,10000,36700,200,n15a,UP,NTRANS
++S 17500,28600,19100,28600,200,n7b,RIGHT,NTRANS
++S 33800,12700,33800,14700,200,p5a,UP,PTRANS
++S 30200,12500,30200,14500,200,p3,UP,PTRANS
++S 9800,10900,9800,14900,200,p18e,UP,PTRANS
++S 17500,27400,19100,27400,200,n6b,RIGHT,NTRANS
++S 5200,22500,5200,36700,200,n14b,UP,NTRANS
++S 17500,26200,19100,26200,200,n6c,RIGHT,NTRANS
++S 9800,7300,9800,9300,200,n18e,UP,NTRANS
++S 5000,10900,5000,14900,200,p18a,UP,PTRANS
++S 30200,12000,31800,12000,200,eb,RIGHT,POLY
++S 30200,9000,31800,9000,200,eb,RIGHT,POLY
++S 34400,8100,34400,13900,400,161nymous_,UP,ALU1
++S 1280,37600,21120,37600,600,277nymous_,RIGHT,PTIE
++S 30680,6000,37120,6000,600,118nymous_,RIGHT,PTIE
++S 34400,13100,34400,14500,620,162nymous_,UP,PDIF
++S 6200,9600,6200,10600,200,203nymous_,UP,POLY
++S 9200,6000,39950,6000,12000,0nonymous_,RIGHT,TALU2
++S 27300,13000,29500,13000,400,82onymous_,RIGHT,ALU1
++S 700,34000,16100,34000,2400,242nymous_,RIGHT,ALU2
++S 50,6000,6800,6000,12000,1nonymous_,RIGHT,TALU2
++S 27800,8600,27800,9800,200,83onymous_,UP,POLY
++S 9200,6000,39950,6000,12000,2nonymous_,RIGHT,TALU4
++S 27800,9800,32600,9800,200,84onymous_,RIGHT,POLY
++S 24700,28200,28300,28200,200,p6b,RIGHT,PTRANS
++S 17500,34600,19100,34600,200,n8b,RIGHT,NTRANS
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 17500,33400,19100,33400,200,n8c,RIGHT,NTRANS
++S 17500,32200,19100,32200,200,n8d,RIGHT,NTRANS
++S 17500,31000,19100,31000,200,n6a,RIGHT,NTRANS
++S 24700,29400,28300,29400,200,p6a,RIGHT,PTRANS
++S 24700,30600,28300,30600,200,p8c,RIGHT,PTRANS
++S 14600,9600,14600,10800,200,278nymous_,UP,POLY
++S 30800,7500,30800,8100,620,119nymous_,UP,NDIF
++S 34800,20200,34800,20600,600,163nymous_,UP,POLY
++S 30800,12700,30800,14300,620,120nymous_,UP,PDIF
++S 6800,6100,6800,7900,400,204nymous_,UP,ALU1
++S 10400,7500,10400,9100,420,243nymous_,UP,NDIF
++S 15300,37600,20700,37600,400,279nymous_,RIGHT,ALU1
++S 30800,13100,30800,13900,400,121nymous_,UP,ALU1
++S 6800,7500,6800,9100,620,205nymous_,UP,NDIF
++S 15200,7500,15200,9100,620,280nymous_,UP,NDIF
++S 50,6000,6800,6000,12000,3nonymous_,RIGHT,TALU4
++S 35400,21100,35400,36500,620,164nymous_,UP,PDIF
++S 6900,10000,12700,10000,400,206nymous_,RIGHT,ALU1
++S 15200,8100,15200,8900,400,281nymous_,UP,ALU1
++S 27800,11800,27800,12400,200,85onymous_,UP,POLY
++S 0,6000,40000,6000,12000,4nonymous_,RIGHT,TALU6
++S 35400,21300,35400,39700,400,165nymous_,UP,ALU1
++S 6800,11100,6800,14700,620,207nymous_,UP,PDIF
++S 24600,200,24600,2000,31000,5nonymous_,UP,TALU3
++S 10100,7600,27300,7600,1200,244nymous_,RIGHT,ALU2
++S 2800,20500,2800,36300,400,86onymous_,UP,ALU1
++S 10400,8100,10400,8900,400,245nymous_,UP,ALU1
++S 2800,22700,2800,36500,620,87onymous_,UP,NDIF
++S 2200,13600,37800,13600,6800,88onymous_,RIGHT,NWELL
++S 28200,9100,28200,11700,400,90onymous_,UP,ALU1
++S 17500,35800,19100,35800,200,n8a,RIGHT,NTRANS
++S 6200,7300,6200,9300,200,n18b,UP,NTRANS
++S 14600,7300,14600,9300,200,n17c,UP,NTRANS
++S 34600,20900,34600,36700,200,p14c,UP,PTRANS
++S 24700,31800,28300,31800,200,p8b,RIGHT,PTRANS
++S 24700,33000,28300,33000,200,p8a,RIGHT,PTRANS
++S 27800,7300,27800,8300,200,n2,UP,NTRANS
++S 24700,34200,28300,34200,200,p9,RIGHT,PTRANS
++S 24700,35800,28300,35800,200,p12,RIGHT,PTRANS
++S 31000,5700,31000,11300,400,122nymous_,UP,ALU2
++S 17700,26800,18900,26800,620,316nymous_,RIGHT,NDIF
++S 30700,6000,32300,6000,400,123nymous_,RIGHT,ALU2
++S 15200,11100,15200,12500,400,282nymous_,UP,ALU1
++S 17700,28000,18900,28000,620,317nymous_,RIGHT,NDIF
++S 30700,10000,36100,10000,2400,124nymous_,RIGHT,ALU2
++S 35100,13000,37100,13000,2400,166nymous_,RIGHT,ALU2
++S 15200,11300,15200,12900,620,283nymous_,UP,PDIF
++S 6800,12100,6800,15900,400,208nymous_,UP,ALU1
++S 3400,200,3400,2000,7000,6nonymous_,UP,TALU3
++S 35600,6100,35600,7900,400,167nymous_,UP,ALU1
++S 15600,20700,15600,36300,400,284nymous_,UP,ALU1
++S 7000,6900,7000,14300,400,209nymous_,UP,ALU2
++S 24600,200,24600,12000,31000,7nonymous_,UP,TALU5
++S 35600,7500,35600,8100,620,168nymous_,UP,NDIF
++S 3400,200,3400,12000,7000,8nonymous_,UP,TALU5
++S 31400,19100,31400,28300,400,125nymous_,UP,ALU2
++S 10400,11100,10400,13700,400,246nymous_,UP,ALU1
++S 20000,40100,20000,59900,4400,9nonymous_,UP,ALU1
++S 10400,11100,10400,14700,620,247nymous_,UP,PDIF
++S 28200,6300,28200,10900,400,89onymous_,UP,ALU2
++B 22400,8000,200,200,CONT_TURN1,349nymous_
++B 21200,10000,200,200,CONT_TURN1,348nymous_
++B 28200,9000,200,200,CONT_TURN1,351nymous_
++B 22400,13000,200,200,CONT_TURN1,350nymous_
++B 5000,19000,8300,2300,CONT_VIA2,352nymous_
++B 10400,11000,200,200,CONT_TURN1,353nymous_
++B 16400,9000,300,300,CONT_DIF_N,1268ymous_
++B 15200,6000,300,300,CONT_BODY_P,1214ymous_
++B 6800,37600,300,300,CONT_BODY_P,1000ymous_
++B 7600,36000,300,300,CONT_VIA,1054ymous_
++B 17800,36400,300,300,CONT_DIF_N,1322ymous_
++B 23000,28400,300,300,CONT_BODY_N,408nymous_
++B 28200,6600,300,300,CONT_VIA,569nymous_
++B 9200,12800,300,300,CONT_DIF_P,1108ymous_
++B 12400,26000,300,300,CONT_DIF_N,1162ymous_
++B 27000,27600,300,300,CONT_DIF_P,516nymous_
++B 25000,32400,300,300,CONT_DIF_P,462nymous_
++B 30600,31000,300,300,CONT_DIF_P,623nymous_
++B 3200,14000,300,300,CONT_BODY_N,677nymous_
++B 35400,25000,300,300,CONT_DIF_P,785nymous_
++B 37000,22000,300,300,CONT_VIA,839nymous_
++B 38200,29400,300,300,CONT_BODY_N,893nymous_
++B 4400,13800,300,300,CONT_DIF_P,947nymous_
++B 16400,10000,300,300,CONT_POLY,1269ymous_
++B 15200,6000,300,300,CONT_VIA,1215ymous_
++B 6800,37600,300,300,CONT_VIA,1001ymous_
++B 7600,36000,300,300,CONT_VIA2,1055ymous_
++B 17800,37600,300,300,CONT_BODY_P,1323ymous_
++B 23000,29400,300,300,CONT_BODY_N,409nymous_
++B 28200,10600,300,300,CONT_VIA,570nymous_
++B 9200,13800,300,300,CONT_DIF_P,1109ymous_
++B 12400,27000,300,300,CONT_DIF_N,1163ymous_
++B 27000,28800,300,300,CONT_DIF_P,517nymous_
++B 25000,32400,300,300,CONT_VIA,463nymous_
++B 30600,31000,300,300,CONT_VIA,624nymous_
++B 3200,14000,300,300,CONT_VIA2,678nymous_
++B 35400,26000,300,300,CONT_DIF_P,786nymous_
++B 33800,28000,300,300,CONT_DIF_P,732nymous_
++B 37000,22000,300,300,CONT_VIA2,840nymous_
++B 28000,20400,300,300,CONT_DIF_P,540nymous_
++B 38200,30400,300,300,CONT_BODY_N,894nymous_
++B 4400,14800,300,300,CONT_DIF_P,948nymous_
++B 6800,37600,300,300,CONT_VIA2,1002ymous_
++B 16400,12000,300,300,CONT_DIF_P,1270ymous_
++B 15200,6000,300,300,CONT_VIA2,1216ymous_
++B 17800,22000,200,200,CONT_TURN1,356nymous_
++B 7600,19200,300,300,CONT_BODY_P,1056ymous_
++B 9200,14800,300,300,CONT_DIF_P,1110ymous_
++B 18600,19200,300,300,CONT_BODY_P,1324ymous_
++B 25000,33600,300,300,CONT_DIF_P,464nymous_
++B 23000,30400,300,300,CONT_BODY_N,410nymous_
++B 28200,11800,300,300,CONT_POLY,571nymous_
++B 30600,32000,300,300,CONT_DIF_P,625nymous_
++B 12400,28000,300,300,CONT_DIF_N,1164ymous_
++B 27000,30000,300,300,CONT_DIF_P,518nymous_
++B 3200,15000,300,300,CONT_BODY_N,679nymous_
++B 33800,28000,300,300,CONT_VIA,733nymous_
++B 35400,27000,300,300,CONT_DIF_P,787nymous_
++B 37000,23000,300,300,CONT_DIF_P,841nymous_
++B 38200,31400,300,300,CONT_BODY_N,895nymous_
++B 15200,8000,300,300,CONT_DIF_N,1217ymous_
++B 4400,16000,300,300,CONT_BODY_N,949nymous_
++B 6800,6000,300,300,CONT_BODY_P,1003ymous_
++B 18800,22000,300,300,CONT_DIF_N,1325ymous_
++B 16400,12800,300,300,CONT_DIF_P,1271ymous_
++B 18400,12800,200,200,CONT_TURN1,357nymous_
++B 7800,37600,300,300,CONT_BODY_P,1057ymous_
++B 9200,16000,300,300,CONT_BODY_N,1111ymous_
++B 23000,31400,300,300,CONT_BODY_N,411nymous_
++B 28400,6000,300,300,CONT_BODY_P,572nymous_
++B 12400,29000,300,300,CONT_DIF_N,1165ymous_
++B 25000,35000,300,300,CONT_DIF_P,465nymous_
++B 30600,32000,300,300,CONT_VIA,626nymous_
++B 27000,31200,300,300,CONT_DIF_P,519nymous_
++B 3200,16000,300,300,CONT_BODY_N,680nymous_
++B 33800,28000,300,300,CONT_VIA2,734nymous_
++B 35400,28000,300,300,CONT_DIF_P,788nymous_
++B 37000,23000,300,300,CONT_VIA,842nymous_
++B 38200,32400,300,300,CONT_BODY_N,896nymous_
++B 4400,17000,300,300,CONT_VIA,950nymous_
++B 15200,9000,300,300,CONT_DIF_N,1218ymous_
++B 6800,6000,300,300,CONT_VIA,1004ymous_
++B 7800,37600,300,300,CONT_VIA,1058ymous_
++B 18800,22200,300,300,CONT_VIA,1326ymous_
++B 16400,16000,300,300,CONT_BODY_N,1272ymous_
++B 23000,32400,300,300,CONT_BODY_N,412nymous_
++B 19800,32800,200,200,CONT_TURN1,358nymous_
++B 28400,8000,300,300,CONT_DIF_N,573nymous_
++B 9200,17000,300,300,CONT_VIA,1112ymous_
++B 12400,30000,300,300,CONT_DIF_N,1166ymous_
++B 27000,32400,300,300,CONT_DIF_P,520nymous_
++B 25000,36400,300,300,CONT_DIF_P,466nymous_
++B 30600,33000,300,300,CONT_DIF_P,627nymous_
++B 3200,17000,300,300,CONT_VIA,681nymous_
++B 33800,29000,300,300,CONT_DIF_P,735nymous_
++B 35400,29000,300,300,CONT_DIF_P,789nymous_
++B 37000,23000,300,300,CONT_VIA2,843nymous_
++B 38200,33400,300,300,CONT_BODY_N,897nymous_
++B 4400,17000,300,300,CONT_VIA2,951nymous_
++B 16400,17000,300,300,CONT_VIA,1273ymous_
++B 15200,10000,300,300,CONT_POLY,1219ymous_
++B 6800,6000,300,300,CONT_VIA2,1005ymous_
++B 20000,6000,300,300,CONT_BODY_P,359nymous_
++B 7800,37600,300,300,CONT_VIA2,1059ymous_
++B 18800,23200,300,300,CONT_DIF_N,1327ymous_
++B 23000,33400,300,300,CONT_BODY_N,413nymous_
++B 28400,14000,300,300,CONT_DIF_P,574nymous_
++B 9200,17000,300,300,CONT_VIA2,1113ymous_
++B 12400,31000,300,300,CONT_DIF_N,1167ymous_
++B 27000,33600,300,300,CONT_DIF_P,521nymous_
++B 25000,37600,300,300,CONT_BODY_N,467nymous_
++B 30600,33000,300,300,CONT_VIA,628nymous_
++B 3200,17000,300,300,CONT_VIA2,682nymous_
++B 35400,30000,300,300,CONT_DIF_P,790nymous_
++B 33800,29000,300,300,CONT_VIA,736nymous_
++B 37000,24000,300,300,CONT_DIF_P,844nymous_
++B 38200,34400,300,300,CONT_BODY_N,898nymous_
++B 4600,37600,300,300,CONT_BODY_P,952nymous_
++B 6800,7200,300,300,CONT_DIF_N,1006ymous_
++B 16400,17000,300,300,CONT_VIA2,1274ymous_
++B 15200,11600,300,300,CONT_DIF_P,1220ymous_
++B 20000,6000,300,300,CONT_VIA,360nymous_
++B 8000,0,300,300,CONT_VIA2,1060ymous_
++B 9600,37600,300,300,CONT_BODY_P,1114ymous_
++B 18800,24400,300,300,CONT_DIF_N,1328ymous_
++B 25000,19200,300,300,CONT_BODY_N,468nymous_
++B 23000,34400,300,300,CONT_BODY_N,414nymous_
++B 28400,16000,300,300,CONT_BODY_N,575nymous_
++B 30600,33000,300,300,CONT_VIA2,629nymous_
++B 12400,32000,300,300,CONT_DIF_N,1168ymous_
++B 27000,35000,300,300,CONT_DIF_P,522nymous_
++B 32200,22000,300,300,CONT_DIF_P,683nymous_
++B 33800,29000,300,300,CONT_VIA2,737nymous_
++B 35400,31000,300,300,CONT_DIF_P,791nymous_
++B 37000,24000,300,300,CONT_VIA,845nymous_
++B 15200,12600,300,300,CONT_DIF_P,1221ymous_
++B 4600,37600,300,300,CONT_VIA,953nymous_
++B 6800,8000,300,300,CONT_DIF_N,1007ymous_
++B 18800,25600,300,300,CONT_DIF_N,1329ymous_
++B 16600,19200,300,300,CONT_BODY_P,1275ymous_
++B 20000,6000,300,300,CONT_VIA2,361nymous_
++B 8000,0,300,300,CONT_VIA3,1061ymous_
++B 9600,19200,300,300,CONT_BODY_P,1115ymous_
++B 26000,20400,300,300,CONT_DIF_P,469nymous_
++B 23000,35400,300,300,CONT_BODY_N,415nymous_
++B 28400,17000,300,300,CONT_VIA,576nymous_
++B 30600,34000,300,300,CONT_DIF_P,630nymous_
++B 33800,30000,300,300,CONT_DIF_P,738nymous_
++B 12400,33000,300,300,CONT_DIF_N,1169ymous_
++B 27000,36400,300,300,CONT_DIF_P,523nymous_
++B 32200,23000,300,300,CONT_DIF_P,684nymous_
++B 35400,32000,300,300,CONT_DIF_P,792nymous_
++B 37000,25000,300,300,CONT_DIF_P,846nymous_
++B 38200,36400,300,300,CONT_BODY_N,900nymous_
++B 4600,37600,300,300,CONT_VIA2,954nymous_
++B 15200,16000,300,300,CONT_BODY_N,1222ymous_
++B 6800,10000,300,300,CONT_POLY,1008ymous_
++B 8000,0,300,300,CONT_VIA4,1062ymous_
++B 18800,26800,300,300,CONT_DIF_N,1330ymous_
++B 16800,20200,300,300,CONT_VIA,1276ymous_
++B 23000,36400,300,300,CONT_BODY_N,416nymous_
++B 20000,8600,300,300,CONT_DIF_N,362nymous_
++B 28400,17000,300,300,CONT_VIA2,577nymous_
++B 10400,6000,300,300,CONT_BODY_P,1116ymous_
++B 12400,34000,300,300,CONT_DIF_N,1170ymous_
++B 27000,36400,300,300,CONT_VIA,524nymous_
++B 38200,35400,300,300,CONT_BODY_N,899nymous_
++B 4600,19200,300,300,CONT_BODY_P,955nymous_
++B 16800,23400,300,300,CONT_POLY,1277ymous_
++B 15200,17000,300,300,CONT_VIA,1223ymous_
++B 6800,12000,300,300,CONT_DIF_P,1009ymous_
++B 8000,8000,300,300,CONT_DIF_N,1063ymous_
++B 18800,26800,300,300,CONT_VIA,1331ymous_
++B 23000,37600,300,300,CONT_BODY_N,417nymous_
++B 20000,11000,300,300,CONT_POLY,363nymous_
++B 28800,9000,300,300,CONT_POLY,578nymous_
++B 10400,6000,300,300,CONT_VIA,1117ymous_
++B 12400,35000,300,300,CONT_DIF_N,1171ymous_
++B 27000,37600,300,300,CONT_BODY_N,525nymous_
++B 26000,21600,300,300,CONT_VIA,471nymous_
++B 30600,34000,300,300,CONT_VIA2,632nymous_
++B 32200,25000,300,300,CONT_DIF_P,686nymous_
++B 33800,31000,300,300,CONT_DIF_P,740nymous_
++B 35400,34000,300,300,CONT_DIF_P,794nymous_
++B 37000,26000,300,300,CONT_DIF_P,848nymous_
++B 38200,19200,300,300,CONT_BODY_N,902nymous_
++B 5400,24000,300,300,CONT_VIA2,956nymous_
++B 6800,12800,300,300,CONT_DIF_P,1010ymous_
++B 16800,24400,300,300,CONT_VIA,1278ymous_
++B 15200,17000,300,300,CONT_VIA2,1224ymous_
++B 20000,16000,300,300,CONT_BODY_N,364nymous_
++B 18800,28000,300,300,CONT_DIF_N,1332ymous_
++B 38200,37600,300,300,CONT_BODY_N,901nymous_
++B 37000,25000,300,300,CONT_VIA,847nymous_
++B 35400,33000,300,300,CONT_DIF_P,793nymous_
++B 33800,30000,300,300,CONT_VIA,739nymous_
++B 32200,24000,300,300,CONT_DIF_P,685nymous_
++B 30600,34000,300,300,CONT_VIA,631nymous_
++B 26000,21600,300,300,CONT_DIF_P,470nymous_
++B 4400,21800,300,300,CONT_VIA,904nymous_
++B 37000,27000,300,300,CONT_DIF_P,850nymous_
++B 35400,36000,300,300,CONT_DIF_P,796nymous_
++B 32200,27000,300,300,CONT_DIF_P,688nymous_
++B 27000,10000,300,300,CONT_VIA2,527nymous_
++B 12600,19200,300,300,CONT_BODY_P,1173ymous_
++B 33800,32000,300,300,CONT_DIF_P,742nymous_
++B 30600,35000,300,300,CONT_VIA,634nymous_
++B 29000,21000,300,300,CONT_VIA,580nymous_
++B 23400,17000,300,300,CONT_VIA,419nymous_
++B 26000,22800,300,300,CONT_DIF_P,473nymous_
++B 10400,8000,300,300,CONT_DIF_N,1119ymous_
++B 8000,9000,300,300,CONT_VIA,1065ymous_
++B 20800,20400,300,300,CONT_BODY_P,365nymous_
++B 16800,25400,300,300,CONT_POLY,1279ymous_
++B 18800,29200,300,300,CONT_DIF_N,1333ymous_
++B 6800,13800,300,300,CONT_DIF_P,1011ymous_
++B 5400,25000,300,300,CONT_VIA2,957nymous_
++B 15600,20200,300,300,CONT_VIA,1225ymous_
++B 4400,21800,300,300,CONT_POLY,903nymous_
++B 37000,26000,300,300,CONT_VIA,849nymous_
++B 35400,35000,300,300,CONT_DIF_P,795nymous_
++B 33800,31000,300,300,CONT_VIA,741nymous_
++B 32200,26000,300,300,CONT_DIF_P,687nymous_
++B 27000,9000,300,300,CONT_VIA2,526nymous_
++B 12400,36000,300,300,CONT_DIF_N,1172ymous_
++B 30600,35000,300,300,CONT_DIF_P,633nymous_
++B 29000,21000,300,300,CONT_POLY,579nymous_
++B 23000,19200,300,300,CONT_BODY_N,418nymous_
++B 26000,21600,300,300,CONT_VIA2,472nymous_
++B 10400,6000,300,300,CONT_VIA2,1118ymous_
++B 8000,9000,300,300,CONT_DIF_N,1064ymous_
++B 30800,6000,300,300,CONT_BODY_P,636nymous_
++B 26000,24000,300,300,CONT_DIF_P,475nymous_
++B 27000,19200,300,300,CONT_BODY_N,529nymous_
++B 10400,10000,300,300,CONT_POLY,1121ymous_
++B 29000,22200,300,300,CONT_VIA,582nymous_
++B 20800,22400,300,300,CONT_BODY_P,367nymous_
++B 23600,6000,300,300,CONT_BODY_P,421nymous_
++B 18800,31600,300,300,CONT_DIF_N,1335ymous_
++B 8000,11000,300,300,CONT_VIA,1067ymous_
++B 6800,16000,300,300,CONT_BODY_N,1013ymous_
++B 15600,24000,300,300,CONT_DIF_N,1227ymous_
++B 16800,29200,300,300,CONT_VIA,1281ymous_
++B 5400,30000,300,300,CONT_VIA2,959nymous_
++B 4400,23000,300,300,CONT_DIF_N,905nymous_
++B 37000,27000,300,300,CONT_VIA,851nymous_
++B 35600,6000,300,300,CONT_BODY_P,797nymous_
++B 33800,32000,300,300,CONT_VIA,743nymous_
++B 32200,28000,300,300,CONT_DIF_P,689nymous_
++B 30600,35000,300,300,CONT_VIA2,635nymous_
++B 26000,22800,300,300,CONT_VIA2,474nymous_
++B 27000,11000,300,300,CONT_VIA2,528nymous_
++B 12800,6000,300,300,CONT_BODY_P,1174ymous_
++B 10400,9000,300,300,CONT_DIF_N,1120ymous_
++B 29000,22200,300,300,CONT_POLY,581nymous_
++B 20800,21400,300,300,CONT_BODY_P,366nymous_
++B 23400,17000,300,300,CONT_VIA2,420nymous_
++B 16800,28200,300,300,CONT_POLY,1280ymous_
++B 18800,30400,300,300,CONT_DIF_N,1334ymous_
++B 8000,10000,300,300,CONT_POLY,1066ymous_
++B 6800,14800,300,300,CONT_DIF_P,1012ymous_
++B 15600,23000,300,300,CONT_DIF_N,1226ymous_
++B 5400,26000,300,300,CONT_VIA2,958nymous_
++B 23600,6000,300,300,CONT_VIA2,423nymous_
++B 8000,12800,300,300,CONT_DIF_P,1069ymous_
++B 20800,24400,300,300,CONT_BODY_P,369nymous_
++B 16800,32200,300,300,CONT_VIA,1283ymous_
++B 18800,32800,300,300,CONT_DIF_N,1337ymous_
++B 6800,17000,300,300,CONT_VIA2,1015ymous_
++B 5400,32000,300,300,CONT_VIA2,961nymous_
++B 15600,26000,300,300,CONT_DIF_N,1229ymous_
++B 4400,24000,300,300,CONT_DIF_N,907nymous_
++B 37000,28000,300,300,CONT_DIF_P,853nymous_
++B 35600,6000,300,300,CONT_VIA2,799nymous_
++B 33800,33000,300,300,CONT_VIA,745nymous_
++B 32200,30000,300,300,CONT_DIF_P,691nymous_
++B 27200,6000,300,300,CONT_BODY_P,530nymous_
++B 12800,6000,300,300,CONT_VIA2,1176ymous_
++B 30800,8000,300,300,CONT_DIF_N,637nymous_
++B 29000,23400,300,300,CONT_POLY,583nymous_
++B 23600,6000,300,300,CONT_VIA,422nymous_
++B 26000,24000,300,300,CONT_VIA,476nymous_
++B 18800,31600,300,300,CONT_VIA,1336ymous_
++B 10400,11800,300,300,CONT_DIF_P,1122ymous_
++B 8000,11800,300,300,CONT_DIF_P,1068ymous_
++B 20800,23400,300,300,CONT_BODY_P,368nymous_
++B 15600,25000,300,300,CONT_DIF_N,1228ymous_
++B 16800,32200,300,300,CONT_POLY,1282ymous_
++B 6800,17000,300,300,CONT_VIA,1014ymous_
++B 5400,31000,300,300,CONT_VIA2,960nymous_
++B 4400,23000,300,300,CONT_VIA,906nymous_
++B 37000,27000,300,300,CONT_VIA2,852nymous_
++B 35600,6000,300,300,CONT_VIA,798nymous_
++B 33800,33000,300,300,CONT_DIF_P,744nymous_
++B 32200,29000,300,300,CONT_DIF_P,690nymous_
++B 5600,37600,300,300,CONT_BODY_P,963nymous_
++B 4400,24000,300,300,CONT_VIA2,909nymous_
++B 37000,28000,300,300,CONT_VIA2,855nymous_
++B 35600,13000,300,300,CONT_DIF_P,801nymous_
++B 33800,34000,300,300,CONT_DIF_P,747nymous_
++B 32200,32000,300,300,CONT_DIF_P,693nymous_
++B 30800,13000,300,300,CONT_DIF_P,639nymous_
++B 26000,26400,300,300,CONT_DIF_P,478nymous_
++B 27200,10600,300,300,CONT_POLY,532nymous_
++B 12800,9000,300,300,CONT_DIF_N,1178ymous_
++B 10400,13800,300,300,CONT_DIF_P,1124ymous_
++B 29000,24600,300,300,CONT_POLY,585nymous_
++B 20800,25400,300,300,CONT_BODY_P,370nymous_
++B 23600,8000,300,300,CONT_DIF_N,424nymous_
++B 16800,33400,300,300,CONT_POLY,1284ymous_
++B 18800,34000,300,300,CONT_DIF_N,1338ymous_
++B 8000,13800,300,300,CONT_DIF_P,1070ymous_
++B 7000,9000,300,300,CONT_VIA2,1016ymous_
++B 15600,27000,300,300,CONT_DIF_N,1230ymous_
++B 5400,36000,300,300,CONT_VIA2,962nymous_
++B 4400,24000,300,300,CONT_VIA,908nymous_
++B 37000,28000,300,300,CONT_VIA,854nymous_
++B 35600,8000,300,300,CONT_DIF_N,800nymous_
++B 32200,31000,300,300,CONT_DIF_P,692nymous_
++B 27200,8000,300,300,CONT_DIF_N,531nymous_
++B 12800,8000,300,300,CONT_DIF_N,1177ymous_
++B 33800,33000,300,300,CONT_VIA2,746nymous_
++B 30800,10600,300,300,CONT_POLY,638nymous_
++B 29000,23400,300,300,CONT_VIA,584nymous_
++B 26000,25200,300,300,CONT_DIF_P,477nymous_
++B 10400,12800,300,300,CONT_DIF_P,1123ymous_
++B 7000,10000,300,300,CONT_VIA2,1017ymous_
++B 16800,33400,300,300,CONT_VIA,1285ymous_
++B 15600,28000,300,300,CONT_DIF_N,1231ymous_
++B 8000,16000,300,300,CONT_BODY_N,1071ymous_
++B 18800,34000,300,300,CONT_VIA,1339ymous_
++B 23600,13000,300,300,CONT_DIF_P,425nymous_
++B 20800,26400,300,300,CONT_BODY_P,371nymous_
++B 29000,24600,300,300,CONT_VIA,586nymous_
++B 10400,16000,300,300,CONT_BODY_N,1125ymous_
++B 12800,11600,300,300,CONT_DIF_P,1179ymous_
++B 27200,13000,300,300,CONT_DIF_P,533nymous_
++B 26000,26400,300,300,CONT_VIA,479nymous_
++B 30800,14000,300,300,CONT_DIF_P,640nymous_
++B 32200,33000,300,300,CONT_DIF_P,694nymous_
++B 33800,34000,300,300,CONT_VIA,748nymous_
++B 35600,14000,300,300,CONT_DIF_P,802nymous_
++B 37000,29000,300,300,CONT_DIF_P,856nymous_
++B 4400,25000,300,300,CONT_DIF_N,910nymous_
++B 5600,37600,300,300,CONT_VIA,964nymous_
++B 7000,11000,300,300,CONT_VIA2,1018ymous_
++B 16800,33400,300,300,CONT_VIA2,1286ymous_
++B 15600,29000,300,300,CONT_DIF_N,1232ymous_
++B 20800,27400,300,300,CONT_BODY_P,372nymous_
++B 8000,17000,300,300,CONT_VIA,1072ymous_
++B 10400,17000,300,300,CONT_VIA,1126ymous_
++B 18800,35200,300,300,CONT_DIF_N,1340ymous_
++B 26000,27600,300,300,CONT_DIF_P,480nymous_
++B 23600,14000,300,300,CONT_DIF_P,426nymous_
++B 29000,25800,300,300,CONT_POLY,587nymous_
++B 30800,16000,300,300,CONT_BODY_N,641nymous_
++B 27200,14000,300,300,CONT_DIF_P,534nymous_
++B 32200,34000,300,300,CONT_DIF_P,695nymous_
++B 33800,34000,300,300,CONT_VIA2,749nymous_
++B 35600,16000,300,300,CONT_BODY_N,803nymous_
++B 37000,29000,300,300,CONT_VIA,857nymous_
++B 4400,25000,300,300,CONT_VIA,911nymous_
++B 15600,30000,300,300,CONT_DIF_N,1233ymous_
++B 5600,37600,300,300,CONT_VIA2,965nymous_
++B 7600,21800,300,300,CONT_POLY,1019ymous_
++B 18800,36400,300,300,CONT_DIF_N,1341ymous_
++B 16800,34600,300,300,CONT_POLY,1287ymous_
++B 20800,28400,300,300,CONT_BODY_P,373nymous_
++B 8000,17000,300,300,CONT_VIA2,1073ymous_
++B 10400,17000,300,300,CONT_VIA2,1127ymous_
++B 26000,27600,300,300,CONT_VIA2,481nymous_
++B 23600,16000,300,300,CONT_BODY_N,427nymous_
++B 29000,30600,300,300,CONT_POLY,588nymous_
++B 30800,17000,300,300,CONT_VIA,642nymous_
++B 33800,35000,300,300,CONT_DIF_P,750nymous_
++B 27200,16000,300,300,CONT_BODY_N,535nymous_
++B 32200,35000,300,300,CONT_DIF_P,696nymous_
++B 35600,17000,300,300,CONT_VIA,804nymous_
++B 37000,29000,300,300,CONT_VIA2,858nymous_
++B 4400,25000,300,300,CONT_VIA2,912nymous_
++B 5600,6000,300,300,CONT_BODY_P,966nymous_
++B 15600,31000,300,300,CONT_DIF_N,1234ymous_
++B 7600,21800,300,300,CONT_VIA,1020ymous_
++B 8600,24000,300,300,CONT_VIA2,1074ymous_
++B 18800,36400,300,300,CONT_VIA,1342ymous_
++B 16800,34600,300,300,CONT_VIA,1288ymous_
++B 24000,27000,300,300,CONT_POLY,428nymous_
++B 20800,29400,300,300,CONT_BODY_P,374nymous_
++B 29000,31800,300,300,CONT_POLY,589nymous_
++B 10600,19200,300,300,CONT_BODY_P,1128ymous_
++B 27200,17000,300,300,CONT_VIA,536nymous_
++B 26000,28800,300,300,CONT_DIF_P,482nymous_
++B 30800,17000,300,300,CONT_VIA2,643nymous_
++B 32200,36000,300,300,CONT_DIF_P,697nymous_
++B 33800,35000,300,300,CONT_VIA,751nymous_
++B 35600,17000,300,300,CONT_VIA2,805nymous_
++B 37000,30000,300,300,CONT_DIF_P,859nymous_
++B 4400,26000,300,300,CONT_DIF_N,913nymous_
++B 5600,6000,300,300,CONT_VIA,967nymous_
++B 16800,34600,300,300,CONT_VIA2,1289ymous_
++B 15600,32000,300,300,CONT_DIF_N,1235ymous_
++B 7600,23000,300,300,CONT_DIF_N,1021ymous_
++B 8600,25000,300,300,CONT_VIA2,1075ymous_
++B 18800,37600,300,300,CONT_BODY_P,1343ymous_
++B 24000,28200,300,300,CONT_POLY,429nymous_
++B 20800,30400,300,300,CONT_BODY_P,375nymous_
++B 29000,33000,300,300,CONT_POLY,590nymous_
++B 10800,21800,300,300,CONT_POLY,1129ymous_
++B 27200,17000,300,300,CONT_VIA2,537nymous_
++B 26000,28800,300,300,CONT_VIA,483nymous_
++B 31000,19200,300,300,CONT_BODY_N,644nymous_
++B 32800,20200,300,300,CONT_POLY,698nymous_
++B 33800,35000,300,300,CONT_VIA2,752nymous_
++B 36000,20200,300,300,CONT_POLY,806nymous_
++B 37000,30000,300,300,CONT_VIA,860nymous_
++B 4400,26000,300,300,CONT_VIA,914nymous_
++B 5600,6000,300,300,CONT_VIA2,968nymous_
++B 7600,23000,300,300,CONT_VIA,1022ymous_
++B 16800,35800,300,300,CONT_POLY,1290ymous_
++B 15600,33000,300,300,CONT_DIF_N,1236ymous_
++B 20800,31400,300,300,CONT_BODY_P,376nymous_
++B 18800,6000,300,300,CONT_BODY_P,1344ymous_
++B 12800,17000,300,300,CONT_VIA,1182ymous_
++B 8600,26000,300,300,CONT_VIA2,1076ymous_
++B 10800,21800,300,300,CONT_VIA,1130ymous_
++B 26000,28800,300,300,CONT_VIA2,484nymous_
++B 24000,28200,300,300,CONT_VIA,430nymous_
++B 29000,19200,300,300,CONT_BODY_N,591nymous_
++B 31600,20200,300,300,CONT_POLY,645nymous_
++B 27800,36400,300,300,CONT_DIF_P,538nymous_
++B 32800,22000,300,300,CONT_VIA2,699nymous_
++B 33800,36000,300,300,CONT_DIF_P,753nymous_
++B 36000,22000,300,300,CONT_VIA2,807nymous_
++B 37000,31000,300,300,CONT_DIF_P,861nymous_
++B 4400,26000,300,300,CONT_VIA2,915nymous_
++B 15600,34000,300,300,CONT_DIF_N,1237ymous_
++B 5600,8000,300,300,CONT_DIF_N,969nymous_
++B 7600,24000,300,300,CONT_DIF_N,1023ymous_
++B 18800,6000,300,300,CONT_VIA,1345ymous_
++B 16800,35800,300,300,CONT_VIA,1291ymous_
++B 20800,32400,300,300,CONT_BODY_P,377nymous_
++B 8600,30000,300,300,CONT_VIA2,1077ymous_
++B 10800,21800,300,300,CONT_VIA2,1131ymous_
++B 26000,30000,300,300,CONT_DIF_P,485nymous_
++B 24000,29200,300,300,CONT_POLY,431nymous_
++B 29600,33000,300,300,CONT_VIA2,592nymous_
++B 31600,22000,300,300,CONT_VIA2,646nymous_
++B 33800,36000,300,300,CONT_VIA,754nymous_
++B 27800,37600,300,300,CONT_BODY_N,539nymous_
++B 32800,23000,300,300,CONT_VIA2,700nymous_
++B 36000,23000,300,300,CONT_VIA2,808nymous_
++B 37000,31000,300,300,CONT_VIA,862nymous_
++B 4400,27000,300,300,CONT_DIF_N,916nymous_
++B 13600,19200,300,300,CONT_BODY_P,1184ymous_
++B 12800,17000,300,300,CONT_VIA2,1183ymous_
++B 12800,12600,300,300,CONT_DIF_P,1180ymous_
++B 5600,9000,300,300,CONT_DIF_N,970nymous_
++B 15600,35000,300,300,CONT_DIF_N,1238ymous_
++B 7600,24000,300,300,CONT_VIA,1024ymous_
++B 8600,31000,300,300,CONT_VIA2,1078ymous_
++B 18800,6000,300,300,CONT_VIA2,1346ymous_
++B 16800,37600,300,300,CONT_BODY_P,1292ymous_
++B 24000,34200,300,300,CONT_POLY,432nymous_
++B 20800,33400,300,300,CONT_BODY_P,378nymous_
++B 29600,34000,300,300,CONT_VIA2,593nymous_
++B 10800,23000,300,300,CONT_DIF_N,1132ymous_
++B 26000,31200,300,300,CONT_DIF_P,486nymous_
++B 31600,23000,300,300,CONT_VIA2,647nymous_
++B 32800,27000,300,300,CONT_VIA2,701nymous_
++B 34000,19200,300,300,CONT_BODY_N,755nymous_
++B 36000,27000,300,300,CONT_VIA2,809nymous_
++B 37000,32000,300,300,CONT_DIF_P,863nymous_
++B 14000,21800,300,300,CONT_POLY,1185ymous_
++B 4400,27000,300,300,CONT_VIA,917nymous_
++B 5600,11800,300,300,CONT_DIF_P,971nymous_
++B 17400,11800,300,300,CONT_POLY,1293ymous_
++B 15600,36000,300,300,CONT_DIF_N,1239ymous_
++B 7600,24000,300,300,CONT_VIA2,1025ymous_
++B 8600,32000,300,300,CONT_VIA2,1079ymous_
++B 18800,9000,300,300,CONT_DIF_N,1347ymous_
++B 24000,34200,300,300,CONT_VIA,433nymous_
++B 20800,34400,300,300,CONT_BODY_P,379nymous_
++B 29600,35000,300,300,CONT_VIA2,594nymous_
++B 10800,24000,300,300,CONT_DIF_N,1133ymous_
++B 12800,16000,300,300,CONT_BODY_N,1181ymous_
++B 26000,31200,300,300,CONT_VIA,487nymous_
++B 31600,27000,300,300,CONT_VIA2,648nymous_
++B 32800,28000,300,300,CONT_VIA2,702nymous_
++B 3400,24000,300,300,CONT_VIA2,756nymous_
++B 36000,28000,300,300,CONT_VIA2,810nymous_
++B 37000,32000,300,300,CONT_VIA,864nymous_
++B 4400,28000,300,300,CONT_DIF_N,918nymous_
++B 14000,21800,300,300,CONT_VIA,1186ymous_
++B 5600,12800,300,300,CONT_DIF_P,972nymous_
++B 7600,25000,300,300,CONT_DIF_N,1026ymous_
++B 17600,6000,300,300,CONT_BODY_P,1294ymous_
++B 15600,19200,300,300,CONT_BODY_P,1240ymous_
++B 20800,35400,300,300,CONT_BODY_P,380nymous_
++B 8600,36000,300,300,CONT_VIA2,1080ymous_
++B 10800,25000,300,300,CONT_DIF_N,1134ymous_
++B 18800,16000,300,300,CONT_BODY_N,1348ymous_
++B 26000,32400,300,300,CONT_DIF_P,488nymous_
++B 24000,34200,300,300,CONT_VIA2,434nymous_
++B 29600,7000,300,300,CONT_DIF_N,595nymous_
++B 31600,28000,300,300,CONT_VIA2,649nymous_
++B 32800,29000,300,300,CONT_VIA2,703nymous_
++B 3400,25000,300,300,CONT_VIA2,757nymous_
++B 36000,29000,300,300,CONT_VIA2,811nymous_
++B 37000,33000,300,300,CONT_DIF_P,865nymous_
++B 4400,28000,300,300,CONT_VIA,919nymous_
++B 15800,27000,300,300,CONT_VIA2,1241ymous_
++B 14000,21800,300,300,CONT_VIA2,1187ymous_
++B 5600,13800,300,300,CONT_DIF_P,973nymous_
++B 7600,25000,300,300,CONT_VIA,1027ymous_
++B 18800,17000,300,300,CONT_VIA,1349ymous_
++B 17600,6000,300,300,CONT_VIA,1295ymous_
++B 20800,36400,300,300,CONT_BODY_P,381nymous_
++B 8600,19200,300,300,CONT_BODY_P,1081ymous_
++B 24000,35800,300,300,CONT_POLY,435nymous_
++B 10800,26000,300,300,CONT_DIF_N,1135ymous_
++B 26000,33600,300,300,CONT_DIF_P,489nymous_
++B 29600,10600,300,300,CONT_POLY,596nymous_
++B 31600,29000,300,300,CONT_VIA2,650nymous_
++B 3400,26000,300,300,CONT_VIA2,758nymous_
++B 32800,33000,300,300,CONT_VIA2,704nymous_
++B 36000,33000,300,300,CONT_VIA2,812nymous_
++B 37000,33000,300,300,CONT_VIA,866nymous_
++B 4400,29000,300,300,CONT_DIF_N,920nymous_
++B 5600,16000,300,300,CONT_BODY_N,974nymous_
++B 15800,28000,300,300,CONT_VIA2,1242ymous_
++B 14000,23000,300,300,CONT_DIF_N,1188ymous_
++B 7600,25000,300,300,CONT_VIA2,1028ymous_
++B 8800,37600,300,300,CONT_BODY_P,1082ymous_
++B 18800,17000,300,300,CONT_VIA2,1350ymous_
++B 17600,6000,300,300,CONT_VIA2,1296ymous_
++B 24000,35800,300,300,CONT_VIA,436nymous_
++B 20800,37600,300,300,CONT_BODY_P,382nymous_
++B 28000,24000,300,300,CONT_DIF_P,543nymous_
++B 29600,13000,300,300,CONT_DIF_P,597nymous_
++B 10800,27000,300,300,CONT_DIF_N,1136ymous_
++B 26000,33600,300,300,CONT_VIA,490nymous_
++B 31600,33000,300,300,CONT_VIA2,651nymous_
++B 32800,34000,300,300,CONT_VIA2,705nymous_
++B 3400,30000,300,300,CONT_VIA2,759nymous_
++B 36000,34000,300,300,CONT_VIA2,813nymous_
++B 37000,33000,300,300,CONT_VIA2,867nymous_
++B 14000,24000,300,300,CONT_DIF_N,1189ymous_
++B 4400,29000,300,300,CONT_VIA,921nymous_
++B 5600,17000,300,300,CONT_VIA,975nymous_
++B 7600,26000,300,300,CONT_DIF_N,1029ymous_
++B 28000,22800,300,300,CONT_DIF_P,542nymous_
++B 17600,8600,300,300,CONT_DIF_N,1297ymous_
++B 15800,29000,300,300,CONT_VIA2,1243ymous_
++B 8800,37600,300,300,CONT_VIA,1083ymous_
++B 19600,19200,300,300,CONT_BODY_P,1351ymous_
++B 24000,37600,300,300,CONT_BODY_N,437nymous_
++B 20800,19200,300,300,CONT_BODY_P,383nymous_
++B 28000,25200,300,300,CONT_DIF_P,544nymous_
++B 29600,14000,300,300,CONT_DIF_P,598nymous_
++B 10800,28000,300,300,CONT_DIF_N,1137ymous_
++B 26000,35000,300,300,CONT_DIF_P,491nymous_
++B 31600,34000,300,300,CONT_VIA2,652nymous_
++B 32800,35000,300,300,CONT_VIA2,706nymous_
++B 3400,31000,300,300,CONT_VIA2,760nymous_
++B 36000,35000,300,300,CONT_VIA2,814nymous_
++B 37000,34000,300,300,CONT_DIF_P,868nymous_
++B 4400,30000,300,300,CONT_DIF_N,922nymous_
++B 14000,25000,300,300,CONT_DIF_N,1190ymous_
++B 5600,17000,300,300,CONT_VIA2,976nymous_
++B 7600,26000,300,300,CONT_VIA,1030ymous_
++B 17600,12800,300,300,CONT_DIF_P,1298ymous_
++B 15800,37600,300,300,CONT_BODY_P,1244ymous_
++B 21000,13000,300,300,CONT_VIA,384nymous_
++B 28000,26400,300,300,CONT_DIF_P,545nymous_
++B 8800,37600,300,300,CONT_VIA2,1084ymous_
++B 10800,29000,300,300,CONT_DIF_N,1138ymous_
++B 19800,22600,300,300,CONT_POLY,1352ymous_
++B 26000,36400,300,300,CONT_DIF_P,492nymous_
++B 24000,19200,300,300,CONT_BODY_N,438nymous_
++B 29600,16000,300,300,CONT_BODY_N,599nymous_
++B 31600,35000,300,300,CONT_VIA2,653nymous_
++B 33000,19200,300,300,CONT_BODY_N,707nymous_
++B 3400,32000,300,300,CONT_VIA2,761nymous_
++B 36000,19200,300,300,CONT_BODY_N,815nymous_
++B 37000,34000,300,300,CONT_VIA,869nymous_
++B 4400,30000,300,300,CONT_VIA,923nymous_
++B 1600,20400,300,300,CONT_BODY_P,1245ymous_
++B 14000,26000,300,300,CONT_DIF_N,1191ymous_
++B 5600,19200,300,300,CONT_BODY_P,977nymous_
++B 7600,26000,300,300,CONT_VIA2,1031ymous_
++B 19800,26200,300,300,CONT_POLY,1353ymous_
++B 17600,16000,300,300,CONT_BODY_N,1299ymous_
++B 21000,14000,300,300,CONT_VIA,385nymous_
++B 28000,27600,300,300,CONT_DIF_P,546nymous_
++B 9200,23000,300,300,CONT_DIF_N,1085ymous_
++B 10800,30000,300,300,CONT_DIF_N,1139ymous_
++B 26000,37600,300,300,CONT_BODY_N,493nymous_
++B 24800,6000,300,300,CONT_BODY_P,439nymous_
++B 29600,17000,300,300,CONT_VIA,600nymous_
++B 31800,9000,300,300,CONT_POLY,654nymous_
++B 3400,36000,300,300,CONT_VIA2,762nymous_
++B 33200,6000,300,300,CONT_BODY_P,708nymous_
++B 3600,37600,300,300,CONT_BODY_P,816nymous_
++B 37000,34000,300,300,CONT_VIA2,870nymous_
++B 4400,30000,300,300,CONT_VIA2,924nymous_
++B 6000,23000,300,300,CONT_DIF_N,978nymous_
++B 1600,21400,300,300,CONT_BODY_P,1246ymous_
++B 14000,27000,300,300,CONT_DIF_N,1192ymous_
++B 7600,27000,300,300,CONT_DIF_N,1032ymous_
++B 9200,24000,300,300,CONT_DIF_N,1086ymous_
++B 19800,27400,300,300,CONT_POLY,1354ymous_
++B 17600,17000,300,300,CONT_VIA,1300ymous_
++B 24800,6000,300,300,CONT_VIA,440nymous_
++B 21200,6000,300,300,CONT_BODY_P,386nymous_
++B 28000,28800,300,300,CONT_DIF_P,547nymous_
++B 29600,17000,300,300,CONT_VIA2,601nymous_
++B 10800,31000,300,300,CONT_DIF_N,1140ymous_
++B 26000,6000,300,300,CONT_BODY_P,494nymous_
++B 31800,12200,300,300,CONT_POLY,655nymous_
++B 33200,6000,300,300,CONT_VIA,709nymous_
++B 34400,6000,300,300,CONT_BODY_P,763nymous_
++B 3600,37600,300,300,CONT_VIA,817nymous_
++B 37000,35000,300,300,CONT_DIF_P,871nymous_
++B 14000,28000,300,300,CONT_DIF_N,1193ymous_
++B 4400,31000,300,300,CONT_DIF_N,925nymous_
++B 6000,24000,300,300,CONT_DIF_N,979nymous_
++B 17600,17000,300,300,CONT_VIA2,1301ymous_
++B 1600,22400,300,300,CONT_BODY_P,1247ymous_
++B 7600,27000,300,300,CONT_VIA,1033ymous_
++B 9200,25000,300,300,CONT_DIF_N,1087ymous_
++B 19800,28200,300,300,CONT_VIA,1355ymous_
++B 24800,6000,300,300,CONT_VIA2,441nymous_
++B 21200,6000,300,300,CONT_VIA,387nymous_
++B 28000,30000,300,300,CONT_DIF_P,548nymous_
++B 30000,20200,300,300,CONT_VIA,602nymous_
++B 10800,32000,300,300,CONT_DIF_N,1141ymous_
++B 26000,6000,300,300,CONT_VIA,495nymous_
++B 32000,6000,300,300,CONT_BODY_P,656nymous_
++B 33200,6000,300,300,CONT_VIA2,710nymous_
++B 34400,6000,300,300,CONT_VIA,764nymous_
++B 3600,37600,300,300,CONT_VIA2,818nymous_
++B 37000,35000,300,300,CONT_VIA,872nymous_
++B 4400,31000,300,300,CONT_VIA,926nymous_
++B 14000,29000,300,300,CONT_DIF_N,1194ymous_
++B 6000,25000,300,300,CONT_DIF_N,980nymous_
++B 7600,28000,300,300,CONT_DIF_N,1034ymous_
++B 1600,23400,300,300,CONT_BODY_P,1248ymous_
++B 17600,19200,300,300,CONT_BODY_P,1302ymous_
++B 21200,6000,300,300,CONT_VIA2,388nymous_
++B 28000,31200,300,300,CONT_DIF_P,549nymous_
++B 9200,26000,300,300,CONT_DIF_N,1088ymous_
++B 10800,33000,300,300,CONT_DIF_N,1142ymous_
++B 19800,31000,300,300,CONT_POLY,1356ymous_
++B 26000,6000,300,300,CONT_VIA2,496nymous_
++B 24800,8000,300,300,CONT_DIF_N,442nymous_
++B 30000,19200,300,300,CONT_BODY_N,603nymous_
++B 32000,6000,300,300,CONT_VIA,657nymous_
++B 33200,8000,300,300,CONT_DIF_N,711nymous_
++B 34400,6000,300,300,CONT_VIA2,765nymous_
++B 3600,19200,300,300,CONT_BODY_P,819nymous_
++B 37000,35000,300,300,CONT_VIA2,873nymous_
++B 4400,31000,300,300,CONT_VIA2,927nymous_
++B 1600,24400,300,300,CONT_BODY_P,1249ymous_
++B 14000,30000,300,300,CONT_DIF_N,1195ymous_
++B 6000,26000,300,300,CONT_DIF_N,981nymous_
++B 7600,28000,300,300,CONT_VIA,1035ymous_
++B 19800,35200,300,300,CONT_VIA,1357ymous_
++B 17800,23200,300,300,CONT_DIF_N,1303ymous_
++B 21200,9000,300,300,CONT_DIF_N,389nymous_
++B 28000,31200,300,300,CONT_VIA,550nymous_
++B 9200,27000,300,300,CONT_DIF_N,1089ymous_
++B 10800,34000,300,300,CONT_DIF_N,1143ymous_
++B 26000,8000,300,300,CONT_DIF_N,497nymous_
++B 24800,13000,300,300,CONT_DIF_P,443nymous_
++B 30400,36600,300,300,CONT_POLY,604nymous_
++B 32000,6000,300,300,CONT_VIA2,658nymous_
++B 34400,8000,300,300,CONT_DIF_N,766nymous_
++B 33200,13000,300,300,CONT_DIF_P,712nymous_
++B 36800,6000,300,300,CONT_BODY_P,820nymous_
++B 37000,36000,300,300,CONT_DIF_P,874nymous_
++B 4400,32000,300,300,CONT_DIF_N,928nymous_
++B 6000,27000,300,300,CONT_DIF_N,982nymous_
++B 1600,25400,300,300,CONT_BODY_P,1250ymous_
++B 14000,31000,300,300,CONT_DIF_N,1196ymous_
++B 7600,29000,300,300,CONT_DIF_N,1036ymous_
++B 9200,28000,300,300,CONT_DIF_N,1090ymous_
++B 19800,37600,300,300,CONT_BODY_P,1358ymous_
++B 17800,23200,300,300,CONT_VIA,1304ymous_
++B 24800,13000,300,300,CONT_VIA,444nymous_
++B 21200,16000,300,300,CONT_BODY_N,390nymous_
++B 28000,32400,300,300,CONT_DIF_P,551nymous_
++B 30400,36600,300,300,CONT_VIA,605nymous_
++B 10800,35000,300,300,CONT_DIF_N,1144ymous_
++B 26000,12000,300,300,CONT_VIA2,498nymous_
++B 32000,8000,300,300,CONT_DIF_N,659nymous_
++B 33200,14000,300,300,CONT_DIF_P,713nymous_
++B 34400,13000,300,300,CONT_DIF_P,767nymous_
++B 36800,6000,300,300,CONT_VIA,821nymous_
++B 37000,36000,300,300,CONT_VIA,875nymous_
++B 14000,32000,300,300,CONT_DIF_N,1197ymous_
++B 4400,32000,300,300,CONT_VIA,929nymous_
++B 6000,28000,300,300,CONT_DIF_N,983nymous_
++B 17800,24400,300,300,CONT_DIF_N,1305ymous_
++B 1600,26400,300,300,CONT_BODY_P,1251ymous_
++B 7600,29000,300,300,CONT_VIA,1037ymous_
++B 9200,29000,300,300,CONT_DIF_N,1091ymous_
++B 22000,22200,300,300,CONT_VIA,391nymous_
++B 28000,33600,300,300,CONT_DIF_P,552nymous_
++B 10800,36000,300,300,CONT_DIF_N,1145ymous_
++B 26000,13000,300,300,CONT_DIF_P,499nymous_
++B 24800,14000,300,300,CONT_DIF_P,445nymous_
++B 30400,36600,300,300,CONT_VIA2,606nymous_
++B 32000,13000,300,300,CONT_DIF_P,660nymous_
++B 33200,16000,300,300,CONT_BODY_N,714nymous_
++B 34400,13000,300,300,CONT_VIA,768nymous_
++B 36800,6000,300,300,CONT_VIA2,822nymous_
++B 37000,19200,300,300,CONT_BODY_N,876nymous_
++B 4400,32000,300,300,CONT_VIA2,930nymous_
++B 14000,33000,300,300,CONT_DIF_N,1198ymous_
++B 6000,29000,300,300,CONT_DIF_N,984nymous_
++B 7600,30000,300,300,CONT_DIF_N,1038ymous_
++B 17800,24400,300,300,CONT_VIA2,1306ymous_
++B 1600,27400,300,300,CONT_BODY_P,1252ymous_
++B 22000,19200,300,300,CONT_VIA,392nymous_
++B 28000,35000,300,300,CONT_DIF_P,553nymous_
++B 9200,30000,300,300,CONT_DIF_N,1092ymous_
++B 11600,6000,300,300,CONT_BODY_P,1146ymous_
++B 26000,13000,300,300,CONT_VIA2,500nymous_
++B 24800,14000,300,300,CONT_VIA,446nymous_
++B 30600,22000,300,300,CONT_DIF_P,607nymous_
++B 32000,16000,300,300,CONT_BODY_N,661nymous_
++B 33200,17000,300,300,CONT_VIA,715nymous_
++B 34400,14000,300,300,CONT_DIF_P,769nymous_
++B 36800,7000,300,300,CONT_BODY_P,823nymous_
++B 37200,37600,300,300,CONT_BODY_N,877nymous_
++B 4400,33000,300,300,CONT_DIF_N,931nymous_
++B 1600,28400,300,300,CONT_BODY_P,1253ymous_
++B 14000,34000,300,300,CONT_DIF_N,1199ymous_
++B 6000,30000,300,300,CONT_DIF_N,985nymous_
++B 7600,30000,300,300,CONT_VIA,1039ymous_
++B 9200,31000,300,300,CONT_DIF_N,1093ymous_
++B 17800,25600,300,300,CONT_DIF_N,1307ymous_
++B 22400,6000,300,300,CONT_BODY_P,393nymous_
++B 28000,19200,300,300,CONT_BODY_N,554nymous_
++B 11600,6000,300,300,CONT_VIA,1147ymous_
++B 26000,14000,300,300,CONT_DIF_P,501nymous_
++B 24800,16000,300,300,CONT_BODY_N,447nymous_
++B 30600,23000,300,300,CONT_DIF_P,608nymous_
++B 32000,17000,300,300,CONT_VIA,662nymous_
++B 34400,14000,300,300,CONT_VIA,770nymous_
++B 33200,17000,300,300,CONT_VIA2,716nymous_
++B 36800,8000,300,300,CONT_BODY_P,824nymous_
++B 38000,27000,300,300,CONT_VIA2,878nymous_
++B 4400,33000,300,300,CONT_VIA,932nymous_
++B 6000,31000,300,300,CONT_DIF_N,986nymous_
++B 1600,29400,300,300,CONT_BODY_P,1254ymous_
++B 14000,35000,300,300,CONT_DIF_N,1200ymous_
++B 7600,30000,300,300,CONT_VIA2,1040ymous_
++B 9200,32000,300,300,CONT_DIF_N,1094ymous_
++B 17800,25600,300,300,CONT_VIA,1308ymous_
++B 25000,20400,300,300,CONT_DIF_P,448nymous_
++B 22400,6000,300,300,CONT_VIA,394nymous_
++B 2800,23000,300,300,CONT_DIF_N,555nymous_
++B 30600,24000,300,300,CONT_DIF_P,609nymous_
++B 11600,6000,300,300,CONT_VIA2,1148ymous_
++B 26000,14000,300,300,CONT_VIA2,502nymous_
++B 32000,17000,300,300,CONT_VIA2,663nymous_
++B 33800,22000,300,300,CONT_DIF_P,717nymous_
++B 34400,16000,300,300,CONT_BODY_N,771nymous_
++B 36800,9000,300,300,CONT_BODY_P,825nymous_
++B 38000,28000,300,300,CONT_VIA2,879nymous_
++B 14000,36000,300,300,CONT_DIF_N,1201ymous_
++B 4400,34000,300,300,CONT_DIF_N,933nymous_
++B 6000,32000,300,300,CONT_DIF_N,987nymous_
++B 17800,25600,300,300,CONT_VIA2,1309ymous_
++B 1600,30400,300,300,CONT_BODY_P,1255ymous_
++B 7600,31000,300,300,CONT_DIF_N,1041ymous_
++B 9200,33000,300,300,CONT_DIF_N,1095ymous_
++B 25000,20400,300,300,CONT_VIA,449nymous_
++B 22400,6000,300,300,CONT_VIA2,395nymous_
++B 2800,24000,300,300,CONT_DIF_N,556nymous_
++B 30600,25000,300,300,CONT_DIF_P,610nymous_
++B 11600,8000,300,300,CONT_DIF_N,1149ymous_
++B 26000,16000,300,300,CONT_BODY_N,503nymous_
++B 32000,19200,300,300,CONT_BODY_N,664nymous_
++B 33800,22000,300,300,CONT_VIA,718nymous_
++B 34800,20200,300,300,CONT_POLY,772nymous_
++B 36800,9000,300,300,CONT_VIA2,826nymous_
++B 38000,29000,300,300,CONT_VIA2,880nymous_
++B 4400,34000,300,300,CONT_VIA,934nymous_
++B 14000,6000,300,300,CONT_BODY_P,1202ymous_
++B 6000,33000,300,300,CONT_DIF_N,988nymous_
++B 7600,31000,300,300,CONT_VIA,1042ymous_
++B 17800,26800,300,300,CONT_DIF_N,1310ymous_
++B 1600,31400,300,300,CONT_BODY_P,1256ymous_
++B 22400,8600,300,300,CONT_DIF_N,396nymous_
++B 2800,25000,300,300,CONT_DIF_N,557nymous_
++B 9200,34000,300,300,CONT_DIF_N,1096ymous_
++B 11600,9000,300,300,CONT_DIF_N,1150ymous_
++B 26000,17000,300,300,CONT_VIA,504nymous_
++B 25000,21600,300,300,CONT_DIF_P,450nymous_
++B 30600,26000,300,300,CONT_DIF_P,611nymous_
++B 3200,6000,300,300,CONT_BODY_P,665nymous_
++B 33800,22000,300,300,CONT_VIA2,719nymous_
++B 34800,22000,300,300,CONT_VIA2,773nymous_
++B 36800,10000,300,300,CONT_VIA2,827nymous_
++B 38000,33000,300,300,CONT_VIA2,881nymous_
++B 4400,35000,300,300,CONT_DIF_N,935nymous_
++B 1600,32400,300,300,CONT_BODY_P,1257ymous_
++B 14000,6000,300,300,CONT_VIA,1203ymous_
++B 6000,34000,300,300,CONT_DIF_N,989nymous_
++B 7600,31000,300,300,CONT_VIA2,1043ymous_
++B 17800,28000,300,300,CONT_DIF_N,1311ymous_
++B 22400,16000,300,300,CONT_BODY_N,397nymous_
++B 2800,26000,300,300,CONT_DIF_N,558nymous_
++B 9200,35000,300,300,CONT_DIF_N,1097ymous_
++B 11600,11800,300,300,CONT_DIF_P,1151ymous_
++B 26000,17000,300,300,CONT_VIA2,505nymous_
++B 25000,22800,300,300,CONT_DIF_P,451nymous_
++B 30600,27000,300,300,CONT_DIF_P,612nymous_
++B 3200,6000,300,300,CONT_VIA,666nymous_
++B 34800,23000,300,300,CONT_VIA2,774nymous_
++B 33800,23000,300,300,CONT_DIF_P,720nymous_
++B 36800,11000,300,300,CONT_VIA2,828nymous_
++B 38000,34000,300,300,CONT_VIA2,882nymous_
++B 4400,35000,300,300,CONT_VIA,936nymous_
++B 6000,35000,300,300,CONT_DIF_N,990nymous_
++B 1600,33400,300,300,CONT_BODY_P,1258ymous_
++B 14000,6000,300,300,CONT_VIA2,1204ymous_
++B 7600,32000,300,300,CONT_DIF_N,1044ymous_
++B 9200,36000,300,300,CONT_DIF_N,1098ymous_
++B 17800,28000,300,300,CONT_VIA,1312ymous_
++B 4400,36000,300,300,CONT_VIA,938nymous_
++B 38200,20400,300,300,CONT_BODY_N,884nymous_
++B 36800,13000,300,300,CONT_BODY_N,830nymous_
++B 34800,28000,300,300,CONT_VIA2,776nymous_
++B 33800,23000,300,300,CONT_VIA2,722nymous_
++B 3200,7000,300,300,CONT_BODY_P,668nymous_
++B 2600,37600,300,300,CONT_BODY_P,507nymous_
++B 11600,13800,300,300,CONT_DIF_P,1153ymous_
++B 30600,27000,300,300,CONT_VIA2,614nymous_
++B 2800,28000,300,300,CONT_DIF_N,560nymous_
++B 22400,17000,300,300,CONT_VIA2,399nymous_
++B 25000,24000,300,300,CONT_DIF_P,453nymous_
++B 9200,6000,300,300,CONT_BODY_P,1099ymous_
++B 7600,32000,300,300,CONT_VIA,1045ymous_
++B 1600,34400,300,300,CONT_BODY_P,1259ymous_
++B 17800,29200,300,300,CONT_DIF_N,1313ymous_
++B 6000,36000,300,300,CONT_DIF_N,991nymous_
++B 4400,36000,300,300,CONT_DIF_N,937nymous_
++B 14000,7200,300,300,CONT_DIF_N,1205ymous_
++B 38000,35000,300,300,CONT_VIA2,883nymous_
++B 36800,12000,300,300,CONT_BODY_N,829nymous_
++B 34800,27000,300,300,CONT_VIA2,775nymous_
++B 33800,23000,300,300,CONT_VIA,721nymous_
++B 3200,6000,300,300,CONT_VIA2,667nymous_
++B 26000,19200,300,300,CONT_BODY_N,506nymous_
++B 11600,12800,300,300,CONT_DIF_P,1152ymous_
++B 30600,27000,300,300,CONT_VIA,613nymous_
++B 2800,27000,300,300,CONT_DIF_N,559nymous_
++B 22400,17000,300,300,CONT_VIA,398nymous_
++B 25000,22800,300,300,CONT_VIA,452nymous_
++B 30600,28000,300,300,CONT_VIA,616nymous_
++B 25000,26400,300,300,CONT_DIF_P,455nymous_
++B 11600,16000,300,300,CONT_BODY_N,1155ymous_
++B 9200,6000,300,300,CONT_VIA2,1101ymous_
++B 2800,30000,300,300,CONT_DIF_N,562nymous_
++B 23000,21400,300,300,CONT_BODY_N,401nymous_
++B 17800,30400,300,300,CONT_VIA,1315ymous_
++B 7600,33000,300,300,CONT_DIF_N,1047ymous_
++B 6600,25000,300,300,CONT_VIA2,993nymous_
++B 14000,10000,300,300,CONT_POLY,1207ymous_
++B 1600,36400,300,300,CONT_BODY_P,1261ymous_
++B 4400,36000,300,300,CONT_VIA2,939nymous_
++B 38200,21400,300,300,CONT_BODY_N,885nymous_
++B 36800,14000,300,300,CONT_BODY_N,831nymous_
++B 34800,29000,300,300,CONT_VIA2,777nymous_
++B 33800,24000,300,300,CONT_DIF_P,723nymous_
++B 3200,7000,300,300,CONT_VIA2,669nymous_
++B 30600,28000,300,300,CONT_DIF_P,615nymous_
++B 25000,25200,300,300,CONT_DIF_P,454nymous_
++B 2600,19200,300,300,CONT_BODY_P,508nymous_
++B 11600,14800,300,300,CONT_DIF_P,1154ymous_
++B 9200,6000,300,300,CONT_VIA,1100ymous_
++B 2800,29000,300,300,CONT_DIF_N,561nymous_
++B 23000,20400,300,300,CONT_BODY_N,400nymous_
++B 1600,35400,300,300,CONT_BODY_P,1260ymous_
++B 17800,30400,300,300,CONT_DIF_N,1314ymous_
++B 7600,32000,300,300,CONT_VIA2,1046ymous_
++B 6600,24000,300,300,CONT_VIA2,992nymous_
++B 14000,8000,300,300,CONT_DIF_N,1206ymous_
++B 33800,27000,300,300,CONT_VIA2,731nymous_
++B 7600,34000,300,300,CONT_DIF_N,1049ymous_
++B 1600,19200,300,300,CONT_BODY_P,1263ymous_
++B 17800,31600,300,300,CONT_DIF_N,1317ymous_
++B 6600,30000,300,300,CONT_VIA2,995nymous_
++B 4400,6000,300,300,CONT_VIA,941nymous_
++B 14000,12800,300,300,CONT_DIF_P,1209ymous_
++B 38200,23400,300,300,CONT_BODY_N,887nymous_
++B 36800,15000,300,300,CONT_VIA2,833nymous_
++B 34800,34000,300,300,CONT_VIA2,779nymous_
++B 33800,25000,300,300,CONT_DIF_P,725nymous_
++B 3200,8000,300,300,CONT_VIA2,671nymous_
++B 27000,21600,300,300,CONT_DIF_P,510nymous_
++B 11600,17000,300,300,CONT_VIA,1156ymous_
++B 30600,28000,300,300,CONT_VIA2,617nymous_
++B 2800,31000,300,300,CONT_DIF_N,563nymous_
++B 23000,22400,300,300,CONT_BODY_N,402nymous_
++B 25000,27600,300,300,CONT_DIF_P,456nymous_
++B 17800,30400,300,300,CONT_VIA2,1316ymous_
++B 9200,7000,300,300,CONT_VIA2,1102ymous_
++B 7600,33000,300,300,CONT_VIA,1048ymous_
++B 14000,12000,300,300,CONT_DIF_P,1208ymous_
++B 1600,37600,300,300,CONT_BODY_P,1262ymous_
++B 6600,26000,300,300,CONT_VIA2,994nymous_
++B 4400,6000,300,300,CONT_BODY_P,940nymous_
++B 38200,22400,300,300,CONT_BODY_N,886nymous_
++B 36800,15000,300,300,CONT_BODY_N,832nymous_
++B 33800,24000,300,300,CONT_VIA,724nymous_
++B 34800,33000,300,300,CONT_VIA2,778nymous_
++B 3200,8000,300,300,CONT_BODY_P,670nymous_
++B 27000,20400,300,300,CONT_DIF_P,509nymous_
++B 12800,6000,300,300,CONT_VIA,1175ymous_
++B 36800,16000,300,300,CONT_VIA2,835nymous_
++B 35000,19200,300,300,CONT_BODY_N,781nymous_
++B 33800,26000,300,300,CONT_DIF_P,727nymous_
++B 3200,12000,300,300,CONT_BODY_N,673nymous_
++B 30600,29000,300,300,CONT_VIA,619nymous_
++B 25000,28800,300,300,CONT_DIF_P,458nymous_
++B 27000,24000,300,300,CONT_DIF_P,512nymous_
++B 11600,19200,300,300,CONT_BODY_P,1158ymous_
++B 9200,8000,300,300,CONT_DIF_N,1104ymous_
++B 2800,33000,300,300,CONT_DIF_N,565nymous_
++B 23000,24400,300,300,CONT_BODY_N,404nymous_
++B 16400,6000,300,300,CONT_BODY_P,1264ymous_
++B 17800,31600,300,300,CONT_VIA2,1318ymous_
++B 7600,34000,300,300,CONT_VIA,1050ymous_
++B 6600,31000,300,300,CONT_VIA2,996nymous_
++B 14000,16000,300,300,CONT_BODY_N,1210ymous_
++B 4400,6000,300,300,CONT_VIA2,942nymous_
++B 38200,24400,300,300,CONT_BODY_N,888nymous_
++B 36800,16000,300,300,CONT_BODY_N,834nymous_
++B 34800,35000,300,300,CONT_VIA2,780nymous_
++B 33800,25000,300,300,CONT_VIA,726nymous_
++B 3200,9000,300,300,CONT_BODY_P,672nymous_
++B 27000,22800,300,300,CONT_DIF_P,511nymous_
++B 11600,17000,300,300,CONT_VIA2,1157ymous_
++B 30600,29000,300,300,CONT_DIF_P,618nymous_
++B 2800,32000,300,300,CONT_DIF_N,564nymous_
++B 23000,23400,300,300,CONT_BODY_N,403nymous_
++B 25000,27600,300,300,CONT_VIA,457nymous_
++B 9200,7200,300,300,CONT_DIF_N,1103ymous_
++B 28000,21600,300,300,CONT_DIF_P,541nymous_
++B 17400,11000,200,200,CONT_TURN1,354nymous_
++B 17600,8000,200,200,CONT_TURN1,355nymous_
++B 12400,23000,300,300,CONT_DIF_N,1159ymous_
++B 9200,8000,300,300,CONT_VIA2,1105ymous_
++B 2800,34000,300,300,CONT_DIF_N,566nymous_
++B 23000,25400,300,300,CONT_BODY_N,405nymous_
++B 17800,32800,300,300,CONT_DIF_N,1319ymous_
++B 7600,35000,300,300,CONT_DIF_N,1051ymous_
++B 6600,32000,300,300,CONT_VIA2,997nymous_
++B 14000,17000,300,300,CONT_VIA,1211ymous_
++B 16400,6000,300,300,CONT_VIA,1265ymous_
++B 4400,8000,300,300,CONT_DIF_N,943nymous_
++B 38200,25400,300,300,CONT_BODY_N,889nymous_
++B 27000,25200,300,300,CONT_DIF_P,513nymous_
++B 25000,30000,300,300,CONT_DIF_P,459nymous_
++B 30600,29000,300,300,CONT_VIA2,620nymous_
++B 3200,12000,300,300,CONT_VIA2,674nymous_
++B 35400,22000,300,300,CONT_DIF_P,782nymous_
++B 33800,26000,300,300,CONT_VIA,728nymous_
++B 36800,17000,300,300,CONT_VIA,836nymous_
++B 38200,26400,300,300,CONT_BODY_N,890nymous_
++B 4400,9000,300,300,CONT_DIF_N,944nymous_
++B 6600,36000,300,300,CONT_VIA2,998nymous_
++B 16400,6000,300,300,CONT_VIA2,1266ymous_
++B 14000,17000,300,300,CONT_VIA2,1212ymous_
++B 7600,35000,300,300,CONT_VIA,1052ymous_
++B 9200,10000,300,300,CONT_POLY,1106ymous_
++B 17800,34000,300,300,CONT_DIF_N,1320ymous_
++B 25000,30000,300,300,CONT_VIA,460nymous_
++B 23000,26400,300,300,CONT_BODY_N,406nymous_
++B 2800,35000,300,300,CONT_DIF_N,567nymous_
++B 30600,30000,300,300,CONT_DIF_P,621nymous_
++B 12400,24000,300,300,CONT_DIF_N,1160ymous_
++B 27000,25200,300,300,CONT_VIA,514nymous_
++B 3200,13000,300,300,CONT_BODY_N,675nymous_
++B 33800,27000,300,300,CONT_DIF_P,729nymous_
++B 35400,23000,300,300,CONT_DIF_P,783nymous_
++B 36800,17000,300,300,CONT_VIA2,837nymous_
++B 38200,27400,300,300,CONT_BODY_N,891nymous_
++B 14600,19200,300,300,CONT_BODY_P,1213ymous_
++B 4400,11800,300,300,CONT_DIF_P,945nymous_
++B 6600,19200,300,300,CONT_BODY_P,999nymous_
++B 17800,35200,300,300,CONT_DIF_N,1321ymous_
++B 16400,8000,300,300,CONT_DIF_N,1267ymous_
++B 7600,36000,300,300,CONT_DIF_N,1053ymous_
++B 9200,12000,300,300,CONT_DIF_P,1107ymous_
++B 25000,31200,300,300,CONT_DIF_P,461nymous_
++B 23000,27400,300,300,CONT_BODY_N,407nymous_
++B 2800,36000,300,300,CONT_DIF_N,568nymous_
++B 30600,30000,300,300,CONT_VIA,622nymous_
++B 12400,25000,300,300,CONT_DIF_N,1161ymous_
++B 27000,26400,300,300,CONT_DIF_P,515nymous_
++B 3200,13000,300,300,CONT_VIA2,676nymous_
++B 33800,27000,300,300,CONT_VIA,730nymous_
++B 35400,24000,300,300,CONT_DIF_P,784nymous_
++B 37000,22000,300,300,CONT_DIF_P,838nymous_
++B 38200,28400,300,300,CONT_BODY_N,892nymous_
++B 4400,12800,300,300,CONT_DIF_P,946nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pi_mpx.vbe b/alliance/src/cells/src/mpxlib/pi_mpx.vbe
+new file mode 100644
+index 0000000..4e2b19e
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pi_mpx.vbe
+@@ -0,0 +1,30 @@
++ENTITY pi_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_pad : NATURAL := 654;
++ CONSTANT tpll_pad : NATURAL := 1487;
++ CONSTANT rdown_pad : NATURAL := 234;
++ CONSTANT tphh_pad : NATURAL := 233;
++ CONSTANT rup_pad : NATURAL := 273
++ );
++ PORT (
++ pad : in BIT;
++ t : out BIT;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pi_mpx;
++
++
++ARCHITECTURE behaviour_data_flow OF pi_mpx IS
++
++BEGIN
++ t <= pad;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pi_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/piot_mpx.ap b/alliance/src/cells/src/mpxlib/piot_mpx.ap
+new file mode 100644
+index 0000000..080fb5d
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/piot_mpx.ap
+@@ -0,0 +1,1563 @@
++V ALLIANCE : 6
++H piot_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 28800,9000,29000,9000,200,i,RIGHT,POLY
++S 28000,-300,28000,10900,400,i,UP,ALU2
++S 28000,0,28000,0,400,i,RIGHT,CALU5
++S 28000,0,28000,0,400,i,RIGHT,CALU4
++S 27800,11800,28200,11800,200,i,RIGHT,POLY
++S 30000,-100,30000,10900,400,b,UP,ALU2
++S 30000,0,30000,0,400,b,RIGHT,CALU5
++S 30000,0,30000,0,400,b,RIGHT,CALU4
++S 29600,9800,29600,11400,200,b,UP,POLY
++S 8000,0,8000,0,400,t,RIGHT,CALU5
++S 8000,0,8000,0,400,t,RIGHT,CALU4
++S 29000,35100,29000,39700,400,pad,UP,ALU1
++S 29000,25900,29000,34900,400,pad,UP,ALU1
++S 28600,33000,29000,33000,600,pad,RIGHT,POLY
++S 28600,31800,29000,31800,600,pad,RIGHT,POLY
++S 28600,30600,29000,30600,600,pad,RIGHT,POLY
++S 28600,25800,29000,25800,600,pad,RIGHT,POLY
++S 20000,48100,20000,71900,24400,pad,UP,CALU1
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 16800,35800,17200,35800,200,vdde,RIGHT,POLY
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 3600,22200,5200,22200,200,vdde,RIGHT,POLY
++S 25100,28800,27900,28800,400,vdde,RIGHT,ALU1
++S 25100,26400,27900,26400,400,vdde,RIGHT,ALU1
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 6800,22200,8400,22200,200,vdde,RIGHT,POLY
++S 25100,21600,27900,21600,400,vdde,RIGHT,ALU1
++S 10500,21800,14300,21800,400,vdde,RIGHT,ALU2
++S 16800,29900,16800,38300,400,vdde,UP,ALU2
++S 16800,34600,17200,34600,200,vdde,RIGHT,POLY
++S 16800,33400,17200,33400,200,vdde,RIGHT,POLY
++S 16800,32200,17200,32200,200,vdde,RIGHT,POLY
++S 24000,34200,24400,34200,600,vdde,RIGHT,POLY
++S 24000,35800,24400,35800,600,vdde,RIGHT,POLY
++S 25100,24000,27900,24000,400,vdde,RIGHT,ALU1
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 3100,16000,36900,16000,2400,vddi,RIGHT,ALU1
++S 20000,9600,20000,11000,200,vddi,UP,POLY
++S 17800,22900,17800,31900,400,vsse,UP,ALU2
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 7600,22900,7600,37500,400,vsse,UP,ALU1
++S 4400,22900,4400,37500,400,vsse,UP,ALU1
++S 30400,36400,30400,36600,200,vsse,UP,POLY
++S 20800,22900,20800,37100,400,vsse,UP,ALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 3100,6000,36900,6000,2400,vssi,RIGHT,ALU1
++S 27800,11800,27800,12400,200,92onymous_,UP,POLY
++S 17500,22600,19100,22600,200,n6d,RIGHT,NTRANS
++S 6800,22500,6800,36700,200,n14c,UP,NTRANS
++S 700,34000,16100,34000,2400,248nymous_,RIGHT,ALU2
++S 14600,11100,14600,13100,200,p17c,UP,PTRANS
++S 34800,20200,34800,20600,600,169nymous_,UP,POLY
++S 30800,10600,33800,10600,200,cnbb,RIGHT,POLY
++S 30800,8100,30800,12900,400,cnbb,UP,ALU1
++S 29000,200,29000,2000,0,10onymous_,UP,TALU3
++S 17700,22000,18900,22000,620,318nymous_,RIGHT,NDIF
++S 24900,20400,28100,20400,620,51onymous_,RIGHT,PDIF
++S 6200,10900,6200,14900,200,p18b,UP,PTRANS
++S 27800,9800,32600,9800,200,91onymous_,RIGHT,POLY
++S 30800,12700,30800,14300,620,126nymous_,UP,PDIF
++S 17700,23200,18900,23200,620,319nymous_,RIGHT,NDIF
++S 14800,22500,14800,36700,200,n15d,UP,NTRANS
++S 24900,21600,28100,21600,420,52onymous_,RIGHT,PDIF
++S 35600,200,35600,2000,9000,11onymous_,UP,TALU3
++S 35000,7300,35000,8300,200,n5b,UP,NTRANS
++S 6800,6100,6800,7900,400,210nymous_,UP,ALU1
++S 27800,12500,27800,14500,200,p1,UP,PTRANS
++S 17700,25600,18900,25600,620,321nymous_,RIGHT,NDIF
++S 15200,7500,15200,9100,620,286nymous_,UP,NDIF
++S 6800,7500,6800,9100,620,211nymous_,UP,NDIF
++S 18000,200,18000,12000,18000,13onymous_,UP,TALU5
++S 10400,7500,10400,9100,420,249nymous_,UP,NDIF
++S 35000,12700,35000,14700,200,p5b,UP,PTRANS
++S 30800,13100,30800,13900,400,127nymous_,UP,ALU1
++S 24900,22800,28100,22800,420,53onymous_,RIGHT,PDIF
++S 15300,37600,20700,37600,400,285nymous_,RIGHT,ALU1
++S 17700,24400,18900,24400,620,320nymous_,RIGHT,NDIF
++S 3400,200,3400,12000,7000,12onymous_,UP,TALU5
++S 24900,24000,28100,24000,420,54onymous_,RIGHT,PDIF
++S 31000,5700,31000,11300,400,128nymous_,UP,ALU2
++S 35400,21100,35400,36500,620,170nymous_,UP,PDIF
++S 29000,200,29000,12000,0,14onymous_,UP,TALU5
++S 6900,10000,12700,10000,400,212nymous_,RIGHT,ALU1
++S 17700,26800,18900,26800,620,322nymous_,RIGHT,NDIF
++S 15200,8100,15200,8900,400,287nymous_,UP,ALU1
++S 24900,25200,28100,25200,420,55onymous_,RIGHT,PDIF
++S 30700,6000,32300,6000,400,129nymous_,RIGHT,ALU2
++S 35400,21300,35400,39700,400,171nymous_,UP,ALU1
++S 35600,200,35600,12000,9000,15onymous_,UP,TALU5
++S 6800,11100,6800,14700,620,213nymous_,UP,PDIF
++S 17700,28000,18900,28000,620,323nymous_,RIGHT,NDIF
++S 15200,11100,15200,12500,400,288nymous_,UP,ALU1
++S 24900,26400,28100,26400,420,56onymous_,RIGHT,PDIF
++S 30700,10000,36100,10000,2400,130nymous_,RIGHT,ALU2
++S 35100,13000,37100,13000,2400,172nymous_,RIGHT,ALU2
++S 17700,29200,18900,29200,620,324nymous_,RIGHT,NDIF
++S 0,6000,40000,6000,12000,16onymous_,RIGHT,TALU6
++S 6800,12100,6800,15900,400,214nymous_,UP,ALU1
++S 15200,11300,15200,12900,620,289nymous_,UP,PDIF
++S 24900,27600,28100,27600,420,57onymous_,RIGHT,PDIF
++S 31400,20900,31400,34300,200,p14a,UP,PTRANS
++S 35600,6100,35600,7900,400,173nymous_,UP,ALU1
++S 17700,30400,18900,30400,620,325nymous_,RIGHT,NDIF
++S 15600,20700,15600,36300,400,290nymous_,UP,ALU1
++S 2800,20500,2800,36300,400,94onymous_,UP,ALU1
++S 20000,40100,20000,59900,4400,17onymous_,UP,ALU1
++S 7000,6900,7000,14300,400,215nymous_,UP,ALU2
++S 10100,7600,27300,7600,1200,250nymous_,RIGHT,ALU2
++S 24900,28800,28100,28800,420,58onymous_,RIGHT,PDIF
++S 31400,35300,31400,36100,200,p11,UP,PTRANS
++S 24900,30000,28100,30000,420,59onymous_,RIGHT,PDIF
++S 10400,8100,10400,8900,400,251nymous_,UP,ALU1
++S 15600,22700,15600,36500,620,291nymous_,UP,NDIF
++S 17700,31600,18900,31600,620,326nymous_,RIGHT,NDIF
++S 7400,7300,7400,9300,200,n18c,UP,NTRANS
++S 20000,8100,20000,8500,400,18onymous_,UP,ALU1
++S 2800,22700,2800,36500,620,95onymous_,UP,NDIF
++S 35600,7500,35600,8100,620,174nymous_,UP,NDIF
++S 31400,19100,31400,28300,400,131nymous_,UP,ALU2
++S 35600,12900,35600,14500,620,175nymous_,UP,PDIF
++S 7400,9600,7400,10600,200,216nymous_,UP,POLY
++S 17700,32800,18900,32800,620,327nymous_,RIGHT,NDIF
++S 15300,18200,21300,18200,400,292nymous_,RIGHT,ALU2
++S 24900,31200,28100,31200,420,60onymous_,RIGHT,PDIF
++S 10400,11100,10400,13700,400,252nymous_,UP,ALU1
++S 2200,13600,37800,13600,6800,96onymous_,RIGHT,NWELL
++S 31600,20200,31600,20600,600,132nymous_,UP,POLY
++S 35600,13100,35600,15900,400,176nymous_,UP,ALU1
++S 2900,20600,15500,20600,400,pad2,RIGHT,ALU1
++S 2700,20600,15700,20600,400,pad2,RIGHT,ALU1
++S 21000,12700,21000,18500,400,pad2,UP,ALU2
++S 20000,8500,20000,9100,620,pad2,UP,NDIF
++S 7400,10900,7400,14900,200,p18c,UP,PTRANS
++S 17700,34000,18900,34000,620,328nymous_,RIGHT,NDIF
++S 15600,17900,15600,20500,400,293nymous_,UP,ALU2
++S 24900,32400,28100,32400,420,61onymous_,RIGHT,PDIF
++S 10400,11100,10400,14700,620,253nymous_,UP,PDIF
++S 24900,33600,28100,33600,420,62onymous_,RIGHT,PDIF
++S 15800,23700,15800,32300,400,294nymous_,UP,ALU2
++S 17700,35200,18900,35200,620,329nymous_,RIGHT,NDIF
++S 7600,21800,7600,22200,600,217nymous_,UP,POLY
++S 35300,17000,37100,17000,400,177nymous_,RIGHT,ALU2
++S 31800,12000,31800,12200,200,133nymous_,UP,POLY
++S 20000,11100,20000,15900,400,19onymous_,UP,ALU1
++S 28200,9100,28200,11700,400,97onymous_,UP,ALU1
++S 10700,39600,35500,39600,2400,254nymous_,RIGHT,ALU1
++S 28300,9000,28700,9000,400,98onymous_,RIGHT,ALU1
++S 31700,6000,37100,6000,400,134nymous_,RIGHT,ALU2
++S 36000,20200,36000,20600,600,178nymous_,UP,POLY
++S 20000,12700,20000,17300,400,20onymous_,UP,ALU2
++S 7300,21800,10100,21800,400,218nymous_,RIGHT,ALU2
++S 17700,36400,18900,36400,620,330nymous_,RIGHT,NDIF
++S 15800,7300,15800,9300,200,n17d,UP,NTRANS
++S 24900,35000,28100,35000,820,63onymous_,RIGHT,PDIF
++S 10800,21800,10800,22200,600,255nymous_,UP,POLY
++S 28400,7500,28400,8100,620,99onymous_,UP,NDIF
++S 32000,7500,32000,8100,620,135nymous_,UP,NDIF
++S 3600,22500,3600,36700,200,n14a,UP,NTRANS
++S 15800,9600,15800,10800,200,295nymous_,UP,POLY
++S 20600,8300,20600,9300,200,n16c,UP,NTRANS
++S 7600,22700,7600,36500,620,219nymous_,UP,NDIF
++S 17700,8000,22300,8000,400,331nymous_,RIGHT,ALU1
++S 10800,22700,10800,36500,620,256nymous_,UP,NDIF
++S 28500,8000,30700,8000,400,100nymous_,RIGHT,ALU1
++S 24900,36400,28100,36400,620,64onymous_,RIGHT,PDIF
++S 3600,22200,5200,22200,200,179nymous_,RIGHT,POLY
++S 31700,7600,37100,7600,1200,136nymous_,RIGHT,ALU2
++S 20800,19300,20800,37500,400,21onymous_,UP,ALU1
++S 7600,22900,7600,37500,400,220nymous_,UP,ALU1
++S 17600,8100,17600,8500,400,332nymous_,UP,ALU1
++S 15800,11100,15800,13100,200,p17d,UP,PTRANS
++S 28400,12700,28400,14300,620,101nymous_,UP,PDIF
++S 24800,7500,24800,8100,620,65onymous_,UP,NDIF
++S 3480,16000,36920,16000,600,180nymous_,RIGHT,NTIE
++S 10800,22900,10800,39700,400,257nymous_,UP,ALU1
++S 32000,8100,32000,12900,400,137nymous_,UP,ALU1
++S 17600,8500,17600,9100,620,333nymous_,UP,NDIF
++S 1700,37600,9500,37600,400,296nymous_,RIGHT,ALU1
++S 28400,14100,28400,15900,400,102nymous_,UP,ALU1
++S 24800,8100,24800,13900,400,66onymous_,UP,ALU1
++S 20800,19080,20800,37720,600,22onymous_,UP,PTIE
++S 7600,22700,7600,38300,2400,221nymous_,UP,ALU2
++S 11000,7300,11000,9300,200,n18f,UP,NTRANS
++S 32000,12900,32000,14500,620,138nymous_,UP,PDIF
++S 36200,20900,36200,36700,200,p14d,UP,PTRANS
++S 17600,12500,17600,12900,620,334nymous_,UP,PDIF
++S 1700,19200,20700,19200,400,297nymous_,RIGHT,ALU1
++S 28700,24600,30300,24600,400,103nymous_,RIGHT,ALU2
++S 24800,13100,24800,14500,620,67onymous_,UP,PDIF
++S 21000,13100,21000,13900,400,23onymous_,UP,ALU1
++S 8000,-100,8000,11300,400,222nymous_,UP,ALU2
++S 11000,9600,11000,10600,200,258nymous_,UP,POLY
++S 3200,5880,3200,8720,600,139nymous_,UP,PTIE
++S 36700,37600,38100,37600,400,181nymous_,RIGHT,ALU1
++S 17700,12800,18300,12800,400,335nymous_,RIGHT,ALU1
++S 1480,19200,20920,19200,600,298nymous_,RIGHT,PTIE
++S 13200,22200,14800,22200,200,cn,RIGHT,POLY
++S 10000,22200,11600,22200,200,cn,RIGHT,POLY
++S 4100,21800,7900,21800,400,cn,RIGHT,ALU2
++S 25100,22800,27900,22800,400,cn,RIGHT,ALU1
++S 25100,20400,27900,20400,400,cn,RIGHT,ALU1
++S 25000,20100,25000,23100,400,cn,UP,ALU2
++S 21100,13000,22300,13000,400,24onymous_,RIGHT,ALU1
++S 3200,6100,3200,9100,400,140nymous_,UP,ALU1
++S 11000,10900,11000,14900,200,p18f,UP,PTRANS
++S 36800,5880,36800,8720,600,182nymous_,UP,PTIE
++S 17900,22000,18700,22000,400,336nymous_,RIGHT,ALU1
++S 1600,19300,1600,37500,400,299nymous_,UP,ALU1
++S 25100,37000,27900,37000,1600,fbul,RIGHT,ALU1
++S 25100,25200,27900,25200,400,fbul,RIGHT,ALU1
++S 11600,22500,11600,36700,200,n15b,UP,NTRANS
++S 21200,8500,21200,9100,420,25onymous_,UP,NDIF
++S 3200,5700,3200,16100,400,141nymous_,UP,ALU2
++S 36800,6100,36800,9100,400,183nymous_,UP,ALU1
++S 17900,23200,18700,23200,400,337nymous_,RIGHT,ALU1
++S 1600,19080,1600,37720,600,300nymous_,UP,PTIE
++S 8000,7500,8000,9100,420,223nymous_,UP,NDIF
++S 11600,6100,11600,8900,400,259nymous_,UP,ALU1
++S 21200,9100,21200,9900,400,26onymous_,UP,ALU1
++S 2900,6000,7100,6000,400,142nymous_,RIGHT,ALU2
++S 36800,6900,36800,17300,400,184nymous_,UP,ALU2
++S 29000,7300,29000,8300,200,n1,UP,NTRANS
++S 16400,29900,16400,32300,400,301nymous_,UP,ALU2
++S 17900,24400,18700,24400,400,338nymous_,RIGHT,ALU1
++S 8000,8100,8000,8900,400,224nymous_,UP,ALU1
++S 11600,7500,11600,9100,420,260nymous_,UP,NDIF
++S 18500,31600,25300,31600,400,cpd,RIGHT,ALU2
++S 18800,21900,18800,36700,400,cpd,UP,ALU2
++S 25100,32400,27900,32400,400,cpd,RIGHT,ALU1
++S 25100,30000,27900,30000,400,cpd,RIGHT,ALU1
++S 25100,27600,27900,27600,400,cpd,RIGHT,ALU1
++S 25000,27300,25000,32700,400,cpd,UP,ALU2
++S 21800,8300,21800,9300,200,n16d,UP,NTRANS
++S 2900,10000,6300,10000,2400,143nymous_,RIGHT,ALU2
++S 36800,11100,36800,15900,400,185nymous_,UP,ALU1
++S 16400,6100,16400,8900,400,302nymous_,UP,ALU1
++S 17900,25600,18700,25600,400,339nymous_,RIGHT,ALU1
++S 22000,21900,22000,28500,400,27onymous_,UP,ALU2
++S 8000,11100,8000,13700,400,225nymous_,UP,ALU1
++S 11600,11100,11600,14700,620,261nymous_,UP,PDIF
++S 29000,8600,29000,9000,200,104nymous_,UP,POLY
++S 3200,11100,3200,15900,400,144nymous_,UP,ALU1
++S 19500,36800,26300,36800,400,node_cp,RIGHT,ALU2
++S 17900,35200,19700,35200,400,node_cp,RIGHT,ALU1
++S 17900,32800,19700,32800,400,node_cp,RIGHT,ALU1
++S 34600,20600,36200,20600,200,node_cp,RIGHT,POLY
++S 31400,20600,33000,20600,200,node_cp,RIGHT,POLY
++S 28600,24600,29000,24600,600,node_cp,RIGHT,POLY
++S 27700,24600,29300,24600,400,node_cp,RIGHT,ALU2
++S 28000,24300,28000,31500,400,node_cp,UP,ALU2
++S 25100,33600,27900,33600,400,node_cp,RIGHT,ALU1
++S 25100,31200,27900,31200,400,node_cp,RIGHT,ALU1
++S 36800,10880,36800,16120,600,186nymous_,UP,NTIE
++S 16400,7500,16400,9100,620,303nymous_,UP,NDIF
++S 17900,26800,18700,26800,400,340nymous_,RIGHT,ALU1
++S 8000,11100,8000,14700,620,226nymous_,UP,PDIF
++S 11600,11900,11600,15900,400,262nymous_,UP,ALU1
++S 29000,11400,29000,12200,200,105nymous_,UP,POLY
++S 22000,17900,22000,19500,400,28onymous_,UP,ALU2
++S 3200,10880,3200,16120,600,145nymous_,UP,NTIE
++S 37000,21100,37000,36500,620,187nymous_,UP,PDIF
++S 16400,11300,16400,12900,620,304nymous_,UP,PDIF
++S 8400,22500,8400,36700,200,n14d,UP,NTRANS
++S 17900,28000,18700,28000,400,341nymous_,RIGHT,ALU1
++S 900,37000,8900,37000,2400,263nymous_,RIGHT,ALU2
++S 29000,11400,32600,11400,200,106nymous_,RIGHT,POLY
++S 25100,35000,29100,35000,400,68onymous_,RIGHT,ALU1
++S 21700,18200,25100,18200,400,29onymous_,RIGHT,ALU2
++S 2900,15400,19300,15400,1200,146nymous_,RIGHT,ALU2
++S 37000,21300,37000,36300,400,188nymous_,UP,ALU1
++S 16400,12100,16400,15900,400,305nymous_,UP,ALU1
++S 8600,7300,8600,9300,200,n18d,UP,NTRANS
++S 17900,30400,18700,30400,400,342nymous_,RIGHT,ALU1
++S 900,19000,9300,19000,2400,264nymous_,RIGHT,ALU2
++S 29000,12500,29000,14500,200,p2,UP,PTRANS
++S 22000,19300,22000,22100,400,30onymous_,UP,ALU1
++S 2900,17000,19100,17000,400,147nymous_,RIGHT,ALU2
++S 37000,17700,37000,38300,2400,189nymous_,UP,ALU2
++S 16500,20200,24300,20200,400,306nymous_,RIGHT,ALU2
++S 8600,9600,8600,10600,200,227nymous_,UP,POLY
++S 17900,31600,18700,31600,400,343nymous_,RIGHT,ALU1
++S 12200,7300,12200,9300,200,n17a,UP,NTRANS
++S 28700,18200,34700,18200,400,107nymous_,RIGHT,ALU2
++S 25400,7300,25400,8300,200,n4b,UP,NTRANS
++S 32200,21100,32200,36500,620,148nymous_,UP,PDIF
++S 24000,28200,24400,28200,600,cpb,RIGHT,POLY
++S 19800,22700,19800,30900,400,cpb,UP,ALU1
++S 19400,31000,19800,31000,200,cpb,RIGHT,POLY
++S 19400,27400,19800,27400,200,cpb,RIGHT,POLY
++S 24000,27000,24400,27000,600,cpb,RIGHT,POLY
++S 19500,28200,24300,28200,400,cpb,RIGHT,ALU2
++S 19400,26200,19800,26200,200,cpb,RIGHT,POLY
++S 19400,22600,19800,22600,200,cpb,RIGHT,POLY
++S 24800,12700,24800,18500,400,cpb,UP,ALU2
++S 24000,29200,24400,29200,600,cpb,RIGHT,POLY
++S 38200,19300,38200,37500,400,190nymous_,UP,ALU1
++S 16800,20300,16800,23300,400,307nymous_,UP,ALU1
++S 17900,34000,18700,34000,400,344nymous_,RIGHT,ALU1
++S 8600,10900,8600,14900,200,p18d,UP,PTRANS
++S 12200,9600,12200,10800,200,265nymous_,UP,POLY
++S 22400,8100,22400,8500,400,31onymous_,UP,ALU1
++S 32200,21300,32200,39700,400,149nymous_,UP,ALU1
++S 25400,8600,25400,12400,200,69onymous_,UP,POLY
++S 38200,19080,38200,37920,600,191nymous_,UP,NTIE
++S 29000,18300,29000,19500,400,108nymous_,UP,ALU2
++S 16500,21200,25300,21200,400,308nymous_,RIGHT,ALU2
++S 9200,20700,9200,36300,400,228nymous_,UP,ALU1
++S 12200,10000,16400,10000,600,nnt,RIGHT,POLY
++S 22400,8500,22400,9100,620,32onymous_,UP,NDIF
++S 32600,7300,32600,8300,200,n0,UP,NTRANS
++S 17900,36400,18700,36400,400,345nymous_,RIGHT,ALU1
++S 27200,8100,27200,12900,400,cpbb,UP,ALU1
++S 25400,10600,27200,10600,200,cpbb,RIGHT,POLY
++S 3900,7600,7300,7600,1200,192nymous_,RIGHT,ALU2
++S 29300,37000,31900,37000,2400,109nymous_,RIGHT,ALU2
++S 16800,20900,16800,24700,400,309nymous_,UP,ALU2
++S 9200,22700,9200,36500,620,229nymous_,UP,NDIF
++S 12200,11100,12200,13100,200,p17a,UP,PTRANS
++S 23600,12900,23600,14500,620,44onymous_,UP,PDIF
++S 32600,8600,32600,9800,200,150nymous_,UP,POLY
++S 25400,12700,25400,14700,200,p4b,UP,PTRANS
++S 22400,8700,22400,12900,400,33onymous_,UP,ALU1
++S 4400,21800,4400,22200,600,193nymous_,UP,POLY
++S 1800,17700,1800,38300,1600,346nymous_,UP,ALU2
++S 16800,23200,16800,25400,600,310nymous_,UP,POLY
++S 29480,37600,38520,37600,600,110nymous_,RIGHT,NTIE
++S 8900,6000,26300,6000,400,230nymous_,RIGHT,ALU2
++S 12400,20700,12400,36300,400,266nymous_,UP,ALU1
++S 23600,13100,23600,15900,400,45onymous_,UP,ALU1
++S 26000,21300,26000,24300,400,70onymous_,UP,ALU2
++S 22100,17000,23700,17000,400,34onymous_,RIGHT,ALU2
++S 32600,11400,32600,12400,200,151nymous_,UP,POLY
++S 4400,22700,4400,36500,620,194nymous_,UP,NDIF
++S 18200,8300,18200,9300,200,n16a,UP,NTRANS
++S 16800,24100,16800,29500,400,311nymous_,UP,ALU2
++S 29600,7100,29600,8100,620,111nymous_,UP,NDIF
++S 9200,6100,9200,7900,400,231nymous_,UP,ALU1
++S 12400,22700,12400,36500,620,267nymous_,UP,NDIF
++S 24000,27100,24000,29100,400,46onymous_,UP,ALU1
++S 26000,23700,26000,29100,400,71onymous_,UP,ALU2
++S 23100,37600,27700,37600,400,35onymous_,RIGHT,ALU1
++S 32600,12700,32600,14700,200,p0,UP,PTRANS
++S 18200,9600,21800,9600,200,347nymous_,RIGHT,POLY
++S 29300,10600,30300,10600,400,112nymous_,RIGHT,ALU2
++S 4400,22900,4400,37500,400,195nymous_,UP,ALU1
++S 24000,33900,24000,36100,400,47onymous_,UP,ALU2
++S 9200,5700,9200,11300,400,232nymous_,UP,ALU2
++S 16900,24400,17700,24400,400,312nymous_,RIGHT,ALU1
++S 12400,18500,12400,22100,2400,268nymous_,UP,ALU2
++S 32800,20200,32800,20600,600,152nymous_,UP,POLY
++S 26000,30900,26000,37100,400,72onymous_,UP,ALU2
++S 23000,11700,23000,17300,2000,36onymous_,UP,ALU2
++S 18400,10100,18400,12700,400,348nymous_,UP,ALU1
++S 16800,25500,16800,28100,400,313nymous_,UP,ALU1
++S 29600,12700,29600,14300,620,113nymous_,UP,PDIF
++S 4400,22700,4400,38300,2400,196nymous_,UP,ALU2
++S 9200,7500,9200,9100,620,233nymous_,UP,NDIF
++S 12800,7500,12800,9100,620,269nymous_,UP,NDIF
++S 33000,20900,33000,36700,200,p14b,UP,PTRANS
++S 26000,6100,26000,7900,400,73onymous_,UP,ALU1
++S 23000,19300,23000,37500,400,37onymous_,UP,ALU1
++S 18800,8500,18800,9100,420,349nymous_,UP,NDIF
++S 29600,13100,29600,13900,400,114nymous_,UP,ALU1
++S 24000,18900,24000,20500,400,48onymous_,UP,ALU2
++S 4400,6100,4400,8900,400,197nymous_,UP,ALU1
++S 8900,10000,26300,10000,2400,234nymous_,RIGHT,ALU2
++S 12800,8100,12800,12500,400,270nymous_,UP,ALU1
++S 9300,25000,16100,25000,2400,237nymous_,RIGHT,ALU2
++S 17000,12300,17000,13100,200,p16,UP,PTRANS
++S 24200,7300,24200,8300,200,n4a,UP,NTRANS
++S 26000,12900,26000,14500,620,76onymous_,UP,PDIF
++S 33200,12900,33200,14500,620,155nymous_,UP,PDIF
++S 22880,19200,38320,19200,600,40onymous_,RIGHT,NTIE
++S 12900,11000,17300,11000,400,272nymous_,RIGHT,ALU1
++S 18500,17000,20300,17000,400,351nymous_,RIGHT,ALU2
++S 9300,31000,16100,31000,2400,238nymous_,RIGHT,ALU2
++S 24200,8600,25400,8600,200,49onymous_,RIGHT,POLY
++S 26000,13100,26000,15900,400,77onymous_,UP,ALU1
++S 33200,13100,33200,15900,400,156nymous_,UP,ALU1
++S 23080,37600,29920,37600,600,41onymous_,RIGHT,NTIE
++S 12800,11300,12800,12900,620,273nymous_,UP,PDIF
++S 19400,8300,19400,9300,200,n16b,UP,NTRANS
++S 4400,11900,4400,15900,400,200nymous_,UP,ALU1
++S 23000,19080,23000,37920,600,38onymous_,UP,NTIE
++S 33200,6100,33200,7900,400,153nymous_,UP,ALU1
++S 16800,28200,16800,29800,600,314nymous_,UP,POLY
++S 26000,7500,26000,8100,620,74onymous_,UP,NDIF
++S 30000,19900,30000,24900,400,115nymous_,UP,ALU2
++S 4400,7500,4400,9100,620,198nymous_,UP,NDIF
++S 9200,11100,9200,14700,620,235nymous_,UP,PDIF
++S 18800,9100,18800,9900,400,350nymous_,UP,ALU1
++S 12900,9000,15100,9000,400,271nymous_,RIGHT,ALU1
++S 23100,19200,38100,19200,400,39onymous_,RIGHT,ALU1
++S 33200,7500,33200,8100,620,154nymous_,UP,NDIF
++S 16900,29200,18700,29200,400,315nymous_,RIGHT,ALU1
++S 26000,8700,26000,14300,400,75onymous_,UP,ALU2
++S 16800,29800,17200,29800,200,cnb,RIGHT,POLY
++S 16800,28600,17200,28600,200,cnb,RIGHT,POLY
++S 16800,25000,17200,25000,200,cnb,RIGHT,POLY
++S 16800,23800,17200,23800,200,cnb,RIGHT,POLY
++S 34400,12700,34400,18500,400,cnb,UP,ALU2
++S 29000,17900,29000,23700,400,cnb,UP,ALU2
++S 28600,23400,29000,23400,600,cnb,RIGHT,POLY
++S 28600,22200,29000,22200,600,cnb,RIGHT,POLY
++S 28600,21000,29000,21000,600,cnb,RIGHT,POLY
++S 23700,19200,29300,19200,400,cnb,RIGHT,ALU2
++S 4400,11100,4400,14700,620,199nymous_,UP,PDIF
++S 9200,12100,9200,15900,400,236nymous_,UP,ALU1
++S 13200,22500,13200,36700,200,n15c,UP,NTRANS
++S 4100,13000,20300,13000,2400,201nymous_,RIGHT,ALU2
++S 30100,20200,35900,20200,400,116nymous_,RIGHT,ALU1
++S 26000,13700,26000,16100,400,78onymous_,UP,ALU2
++S 23600,6100,23600,7900,400,42onymous_,UP,ALU1
++S 33400,11700,33400,17300,400,157nymous_,UP,ALU2
++S 24200,12700,24200,14700,200,p4a,UP,PTRANS
++S 13400,7300,13400,9300,200,n17b,UP,NTRANS
++S 23600,7500,23600,8100,620,43onymous_,UP,NDIF
++S 9800,21500,9800,23100,400,239nymous_,UP,ALU2
++S 33800,21100,33800,36500,620,158nymous_,UP,PDIF
++S 5000,7300,5000,9300,200,n18a,UP,NTRANS
++S 19800,32900,19800,35100,400,352nymous_,UP,ALU1
++S 30200,7300,30200,8300,200,n3,UP,NTRANS
++S 25700,15400,32500,15400,1200,79onymous_,RIGHT,ALU2
++S 24200,12400,25400,12400,200,50onymous_,RIGHT,POLY
++S 5000,9600,5000,10600,200,202nymous_,UP,POLY
++S 9500,22800,17100,22800,400,240nymous_,RIGHT,ALU2
++S 33800,21300,33800,36300,400,159nymous_,UP,ALU1
++S 13400,9600,13400,10800,200,274nymous_,UP,POLY
++S 25700,17000,33500,17000,400,80onymous_,RIGHT,ALU2
++S 17500,23800,19100,23800,200,n7d,RIGHT,NTRANS
++S 24700,21000,28300,21000,200,p7c,RIGHT,PTRANS
++S 30200,8600,30200,9000,200,117nymous_,UP,POLY
++S 17000,12000,17400,12000,200,nt,RIGHT,POLY
++S 5000,10000,11000,10000,600,nt,RIGHT,POLY
++S 9500,37000,17100,37000,2400,241nymous_,RIGHT,ALU2
++S 19800,34900,19800,37100,400,353nymous_,UP,ALU2
++S 33800,7300,33800,8300,200,n5a,UP,NTRANS
++S 17500,25000,19100,25000,200,n7c,RIGHT,NTRANS
++S 13400,11100,13400,13100,200,p17b,UP,PTRANS
++S 2700,20200,15700,20200,400,81onymous_,RIGHT,ALU1
++S 24700,22200,28300,22200,200,p7b,RIGHT,PTRANS
++S 30200,12000,31800,12000,200,eb,RIGHT,POLY
++S 30200,9000,31800,9000,200,eb,RIGHT,POLY
++S 33800,8600,33800,12400,200,160nymous_,UP,POLY
++S 5000,10900,5000,14900,200,p18a,UP,PTRANS
++S 9800,7300,9800,9300,200,n18e,UP,NTRANS
++S 17500,26200,19100,26200,200,n6c,RIGHT,NTRANS
++S 14000,21800,14000,22200,600,275nymous_,UP,POLY
++S 26400,18600,26400,38600,8400,82onymous_,UP,NWELL
++S 24700,23400,28300,23400,200,p7a,RIGHT,PTRANS
++S 30200,12000,30200,12200,200,118nymous_,UP,POLY
++S 50,6000,6800,6000,12000,0nonymous_,RIGHT,TALU2
++S 5200,22500,5200,36700,200,n14b,UP,NTRANS
++S 9800,9600,9800,10600,200,242nymous_,UP,POLY
++S 24700,24600,28300,24600,200,p10,RIGHT,PTRANS
++S 33800,8600,35000,8600,200,161nymous_,RIGHT,POLY
++S 17500,27400,19100,27400,200,n6b,RIGHT,NTRANS
++S 14000,22700,14000,36500,620,276nymous_,UP,NDIF
++S 27000,24900,27000,36700,400,83onymous_,UP,ALU2
++S 5600,7500,5600,9100,420,203nymous_,UP,NDIF
++S 9800,10900,9800,14900,200,p18e,UP,PTRANS
++S 9200,6000,26800,6000,12000,1nonymous_,RIGHT,TALU2
++S 24700,25800,28300,25800,200,p13,RIGHT,PTRANS
++S 30200,12500,30200,14500,200,p3,UP,PTRANS
++S 33800,12700,33800,14700,200,p5a,UP,PTRANS
++S 17500,28600,19100,28600,200,n7b,RIGHT,NTRANS
++S 14000,22900,14000,39700,400,277nymous_,UP,ALU1
++S 27000,6900,27000,14300,400,84onymous_,UP,ALU2
++S 5600,8100,5600,13700,400,1.nq,UP,ALU1
++S 10000,22500,10000,36700,200,n15a,UP,NTRANS
++S 33800,12400,35000,12400,200,162nymous_,RIGHT,POLY
++S 17500,29800,19100,29800,200,n7a,RIGHT,NTRANS
++S 31200,6000,39950,6000,12000,2nonymous_,RIGHT,TALU2
++S 24700,27000,28300,27000,200,p6c,RIGHT,PTRANS
++S 14000,6100,14000,7900,400,278nymous_,UP,ALU1
++S 30400,36400,30400,36600,200,119nymous_,UP,POLY
++S 26700,13000,33700,13000,2400,85onymous_,RIGHT,ALU2
++S 10000,22200,11600,22200,200,243nymous_,RIGHT,POLY
++S 5700,9000,10300,9000,400,204nymous_,RIGHT,ALU1
++S 33800,19100,33800,38300,2400,163nymous_,UP,ALU2
++S 17500,31000,19100,31000,200,n6a,RIGHT,NTRANS
++S 24700,28200,28300,28200,200,p6b,RIGHT,PTRANS
++S 14000,7500,14000,9100,620,279nymous_,UP,NDIF
++S 27200,7500,27200,8100,620,86onymous_,UP,NDIF
++S 30600,21100,30600,35900,620,120nymous_,UP,PDIF
++S 5600,11100,5600,14700,620,205nymous_,UP,PDIF
++S 24700,29400,28300,29400,200,p6a,RIGHT,PTRANS
++S 34000,18200,34000,38200,10400,164nymous_,UP,NWELL
++S 9700,19000,14900,19000,2400,244nymous_,RIGHT,ALU2
++S 17500,32200,19100,32200,200,n8d,RIGHT,NTRANS
++S 14100,10000,21100,10000,400,280nymous_,RIGHT,ALU1
++S 50,6000,6800,6000,12000,4nonymous_,RIGHT,TALU4
++S 27200,12700,27200,14300,620,87onymous_,UP,PDIF
++S 5700,11000,10300,11000,400,206nymous_,RIGHT,ALU1
++S 9200,6000,26800,6000,12000,5nonymous_,RIGHT,TALU4
++S 24700,30600,28300,30600,200,p8c,RIGHT,PTRANS
++S 3280,6000,28520,6000,600,165nymous_,RIGHT,PTIE
++S 700,25000,8900,25000,2400,245nymous_,RIGHT,ALU2
++S 17500,33400,19100,33400,200,n8c,RIGHT,NTRANS
++S 14000,11300,14000,12900,620,281nymous_,UP,PDIF
++S 30600,21300,30600,35500,400,121nymous_,UP,ALU1
++S 27200,13100,27200,13900,400,88onymous_,UP,ALU1
++S 6000,20700,6000,36300,400,207nymous_,UP,ALU1
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 17500,34600,19100,34600,200,n8b,RIGHT,NTRANS
++S 31200,6000,39950,6000,12000,6nonymous_,RIGHT,TALU4
++S 24700,31800,28300,31800,200,p8b,RIGHT,PTRANS
++S 30600,26700,30600,35300,2400,122nymous_,UP,ALU2
++S 34400,7500,34400,8100,620,166nymous_,UP,NDIF
++S 14000,12100,14000,15900,400,282nymous_,UP,ALU1
++S 27300,13000,29500,13000,400,89onymous_,RIGHT,ALU1
++S 6000,22700,6000,36500,620,208nymous_,UP,NDIF
++S 17500,35800,19100,35800,200,n8a,RIGHT,NTRANS
++S 24700,33000,28300,33000,200,p8a,RIGHT,PTRANS
++S 30600,36400,31400,36400,200,123nymous_,RIGHT,POLY
++S 34400,8100,34400,13900,400,167nymous_,UP,ALU1
++S 1280,37600,21120,37600,600,283nymous_,RIGHT,PTIE
++S 700,28000,15100,28000,2400,246nymous_,RIGHT,ALU2
++S 27800,7300,27800,8300,200,n2,UP,NTRANS
++S 24700,34200,28300,34200,200,p9,RIGHT,PTRANS
++S 6200,7300,6200,9300,200,n18b,UP,NTRANS
++S 17400,11100,17400,11700,400,316nymous_,UP,ALU1
++S 3400,200,3400,2000,7000,8nonymous_,UP,TALU3
++S 30680,6000,37120,6000,600,124nymous_,RIGHT,PTIE
++S 34400,13100,34400,14500,620,168nymous_,UP,PDIF
++S 14600,7300,14600,9300,200,n17c,UP,NTRANS
++S 27800,8600,27800,9800,200,90onymous_,UP,POLY
++S 6200,9600,6200,10600,200,209nymous_,UP,POLY
++S 24700,35800,28300,35800,200,p12,RIGHT,PTRANS
++S 34600,20900,34600,36700,200,p14c,UP,PTRANS
++S 700,31000,8900,31000,2400,247nymous_,RIGHT,ALU2
++S 17400,11800,17400,12000,200,317nymous_,UP,POLY
++S 14600,9600,14600,10800,200,284nymous_,UP,POLY
++S 18000,200,18000,2000,18000,9nonymous_,UP,TALU3
++S 30800,7500,30800,8100,620,125nymous_,UP,NDIF
++B 1600,31400,300,300,CONT_BODY_P,1268ymous_
++B 14000,6000,300,300,CONT_BODY_P,1214ymous_
++B 6000,33000,300,300,CONT_DIF_N,1000ymous_
++B 7600,31000,300,300,CONT_VIA,1054ymous_
++B 17800,26800,300,300,CONT_DIF_N,1322ymous_
++B 23000,22400,300,300,CONT_BODY_N,408nymous_
++B 2800,28000,300,300,CONT_DIF_N,569nymous_
++B 9200,34000,300,300,CONT_DIF_N,1108ymous_
++B 11600,9000,300,300,CONT_DIF_N,1162ymous_
++B 27000,21600,300,300,CONT_DIF_P,516nymous_
++B 25000,27600,300,300,CONT_DIF_P,462nymous_
++B 30600,26000,300,300,CONT_DIF_P,623nymous_
++B 3200,6000,300,300,CONT_BODY_P,677nymous_
++B 34800,22000,300,300,CONT_VIA2,785nymous_
++B 36800,10000,300,300,CONT_VIA2,839nymous_
++B 38000,33000,300,300,CONT_VIA2,893nymous_
++B 4400,35000,300,300,CONT_DIF_N,947nymous_
++B 6000,34000,300,300,CONT_DIF_N,1001ymous_
++B 1600,32400,300,300,CONT_BODY_P,1269ymous_
++B 14000,6000,300,300,CONT_VIA,1215ymous_
++B 7600,31000,300,300,CONT_VIA2,1055ymous_
++B 9200,35000,300,300,CONT_DIF_N,1109ymous_
++B 17800,28000,300,300,CONT_DIF_N,1323ymous_
++B 25000,27600,300,300,CONT_VIA,463nymous_
++B 23000,23400,300,300,CONT_BODY_N,409nymous_
++B 2800,29000,300,300,CONT_DIF_N,570nymous_
++B 30600,27000,300,300,CONT_DIF_P,624nymous_
++B 11600,11800,300,300,CONT_DIF_P,1163ymous_
++B 27000,22800,300,300,CONT_DIF_P,517nymous_
++B 3200,6000,300,300,CONT_VIA,678nymous_
++B 33800,23000,300,300,CONT_DIF_P,732nymous_
++B 34800,23000,300,300,CONT_VIA2,786nymous_
++B 36800,11000,300,300,CONT_VIA2,840nymous_
++B 38000,34000,300,300,CONT_VIA2,894nymous_
++B 14000,6000,300,300,CONT_VIA2,1216ymous_
++B 4400,35000,300,300,CONT_VIA,948nymous_
++B 6000,35000,300,300,CONT_DIF_N,1002ymous_
++B 17800,28000,300,300,CONT_VIA,1324ymous_
++B 1600,33400,300,300,CONT_BODY_P,1270ymous_
++B 22400,13000,200,200,CONT_TURN1,356nymous_
++B 7600,32000,300,300,CONT_DIF_N,1056ymous_
++B 9200,36000,300,300,CONT_DIF_N,1110ymous_
++B 25000,28800,300,300,CONT_DIF_P,464nymous_
++B 23000,24400,300,300,CONT_BODY_N,410nymous_
++B 27200,14000,300,300,CONT_DIF_P,540nymous_
++B 2800,30000,300,300,CONT_DIF_N,571nymous_
++B 30600,27000,300,300,CONT_VIA,625nymous_
++B 33800,23000,300,300,CONT_VIA,733nymous_
++B 11600,12800,300,300,CONT_DIF_P,1164ymous_
++B 27000,24000,300,300,CONT_DIF_P,518nymous_
++B 3200,6000,300,300,CONT_VIA2,679nymous_
++B 34800,27000,300,300,CONT_VIA2,787nymous_
++B 36800,12000,300,300,CONT_BODY_N,841nymous_
++B 38000,35000,300,300,CONT_VIA2,895nymous_
++B 4400,36000,300,300,CONT_DIF_N,949nymous_
++B 14000,7200,300,300,CONT_DIF_N,1217ymous_
++B 6000,36000,300,300,CONT_DIF_N,1003ymous_
++B 7600,32000,300,300,CONT_VIA,1057ymous_
++B 17800,29200,300,300,CONT_DIF_N,1325ymous_
++B 1600,34400,300,300,CONT_BODY_P,1271ymous_
++B 23000,25400,300,300,CONT_BODY_N,411nymous_
++B 28200,9000,200,200,CONT_TURN1,357nymous_
++B 2800,31000,300,300,CONT_DIF_N,572nymous_
++B 9200,6000,300,300,CONT_BODY_P,1111ymous_
++B 11600,13800,300,300,CONT_DIF_P,1165ymous_
++B 27000,25200,300,300,CONT_DIF_P,519nymous_
++B 25000,30000,300,300,CONT_DIF_P,465nymous_
++B 30600,27000,300,300,CONT_VIA2,626nymous_
++B 3200,7000,300,300,CONT_BODY_P,680nymous_
++B 33800,23000,300,300,CONT_VIA2,734nymous_
++B 34800,28000,300,300,CONT_VIA2,788nymous_
++B 36800,13000,300,300,CONT_BODY_N,842nymous_
++B 38200,20400,300,300,CONT_BODY_N,896nymous_
++B 4400,36000,300,300,CONT_VIA,950nymous_
++B 1600,35400,300,300,CONT_BODY_P,1272ymous_
++B 14000,8000,300,300,CONT_DIF_N,1218ymous_
++B 6600,24000,300,300,CONT_VIA2,1004ymous_
++B 7600,32000,300,300,CONT_VIA2,1058ymous_
++B 17800,30400,300,300,CONT_DIF_N,1326ymous_
++B 23000,26400,300,300,CONT_BODY_N,412nymous_
++B 5000,19000,8300,2300,CONT_VIA2,358nymous_
++B 2800,32000,300,300,CONT_DIF_N,573nymous_
++B 9200,6000,300,300,CONT_VIA,1112ymous_
++B 11600,14800,300,300,CONT_DIF_P,1166ymous_
++B 27000,25200,300,300,CONT_VIA,520nymous_
++B 25000,30000,300,300,CONT_VIA,466nymous_
++B 30600,28000,300,300,CONT_DIF_P,627nymous_
++B 3200,7000,300,300,CONT_VIA2,681nymous_
++B 33800,24000,300,300,CONT_DIF_P,735nymous_
++B 34800,29000,300,300,CONT_VIA2,789nymous_
++B 36800,14000,300,300,CONT_BODY_N,843nymous_
++B 38200,21400,300,300,CONT_BODY_N,897nymous_
++B 4400,36000,300,300,CONT_VIA2,951nymous_
++B 6600,25000,300,300,CONT_VIA2,1005ymous_
++B 1600,36400,300,300,CONT_BODY_P,1273ymous_
++B 14000,10000,300,300,CONT_POLY,1219ymous_
++B 10400,11000,200,200,CONT_TURN1,359nymous_
++B 7600,33000,300,300,CONT_DIF_N,1059ymous_
++B 9200,6000,300,300,CONT_VIA2,1113ymous_
++B 17800,30400,300,300,CONT_VIA,1327ymous_
++B 25000,31200,300,300,CONT_DIF_P,467nymous_
++B 23000,27400,300,300,CONT_BODY_N,413nymous_
++B 2800,33000,300,300,CONT_DIF_N,574nymous_
++B 30600,28000,300,300,CONT_VIA,628nymous_
++B 11600,16000,300,300,CONT_BODY_N,1167ymous_
++B 27000,26400,300,300,CONT_DIF_P,521nymous_
++B 3200,8000,300,300,CONT_BODY_P,682nymous_
++B 33800,24000,300,300,CONT_VIA,736nymous_
++B 34800,33000,300,300,CONT_VIA2,790nymous_
++B 36800,15000,300,300,CONT_BODY_N,844nymous_
++B 38200,22400,300,300,CONT_BODY_N,898nymous_
++B 14000,12000,300,300,CONT_DIF_P,1220ymous_
++B 4400,6000,300,300,CONT_BODY_P,952nymous_
++B 6600,26000,300,300,CONT_VIA2,1006ymous_
++B 17800,30400,300,300,CONT_VIA2,1328ymous_
++B 1600,37600,300,300,CONT_BODY_P,1274ymous_
++B 17400,11000,200,200,CONT_TURN1,360nymous_
++B 7600,33000,300,300,CONT_VIA,1060ymous_
++B 9200,7000,300,300,CONT_VIA2,1114ymous_
++B 25000,32400,300,300,CONT_DIF_P,468nymous_
++B 23000,28400,300,300,CONT_BODY_N,414nymous_
++B 2800,34000,300,300,CONT_DIF_N,575nymous_
++B 30600,28000,300,300,CONT_VIA2,629nymous_
++B 33800,25000,300,300,CONT_DIF_P,737nymous_
++B 11600,17000,300,300,CONT_VIA,1168ymous_
++B 27000,27600,300,300,CONT_DIF_P,522nymous_
++B 3200,8000,300,300,CONT_VIA2,683nymous_
++B 34800,34000,300,300,CONT_VIA2,791nymous_
++B 36800,15000,300,300,CONT_VIA2,845nymous_
++B 38200,23400,300,300,CONT_BODY_N,899nymous_
++B 4400,6000,300,300,CONT_VIA,953nymous_
++B 14000,12800,300,300,CONT_DIF_P,1221ymous_
++B 6600,30000,300,300,CONT_VIA2,1007ymous_
++B 7600,34000,300,300,CONT_DIF_N,1061ymous_
++B 17800,31600,300,300,CONT_DIF_N,1329ymous_
++B 1600,19200,300,300,CONT_BODY_P,1275ymous_
++B 23000,29400,300,300,CONT_BODY_N,415nymous_
++B 17600,8000,200,200,CONT_TURN1,361nymous_
++B 2800,35000,300,300,CONT_DIF_N,576nymous_
++B 9200,7200,300,300,CONT_DIF_N,1115ymous_
++B 11600,17000,300,300,CONT_VIA2,1169ymous_
++B 27000,28800,300,300,CONT_DIF_P,523nymous_
++B 25000,32400,300,300,CONT_VIA,469nymous_
++B 30600,29000,300,300,CONT_DIF_P,630nymous_
++B 3200,9000,300,300,CONT_BODY_P,684nymous_
++B 33800,25000,300,300,CONT_VIA,738nymous_
++B 34800,35000,300,300,CONT_VIA2,792nymous_
++B 36800,16000,300,300,CONT_BODY_N,846nymous_
++B 38200,24400,300,300,CONT_BODY_N,900nymous_
++B 4400,6000,300,300,CONT_VIA2,954nymous_
++B 16400,6000,300,300,CONT_BODY_P,1276ymous_
++B 14000,16000,300,300,CONT_BODY_N,1222ymous_
++B 6600,31000,300,300,CONT_VIA2,1008ymous_
++B 7600,34000,300,300,CONT_VIA,1062ymous_
++B 17800,31600,300,300,CONT_VIA2,1330ymous_
++B 23000,30400,300,300,CONT_BODY_N,416nymous_
++B 17800,22000,200,200,CONT_TURN1,362nymous_
++B 2800,36000,300,300,CONT_DIF_N,577nymous_
++B 9200,8000,300,300,CONT_DIF_N,1116ymous_
++B 11600,19200,300,300,CONT_BODY_P,1170ymous_
++B 27000,30000,300,300,CONT_DIF_P,524nymous_
++B 25000,33600,300,300,CONT_DIF_P,470nymous_
++B 30600,29000,300,300,CONT_VIA,631nymous_
++B 3200,12000,300,300,CONT_BODY_N,685nymous_
++B 33800,26000,300,300,CONT_DIF_P,739nymous_
++B 35000,19200,300,300,CONT_BODY_N,793nymous_
++B 36800,16000,300,300,CONT_VIA2,847nymous_
++B 38200,25400,300,300,CONT_BODY_N,901nymous_
++B 4400,8000,300,300,CONT_DIF_N,955nymous_
++B 6600,32000,300,300,CONT_VIA2,1009ymous_
++B 16400,6000,300,300,CONT_VIA,1277ymous_
++B 14000,17000,300,300,CONT_VIA,1223ymous_
++B 18400,12800,200,200,CONT_TURN1,363nymous_
++B 7600,35000,300,300,CONT_DIF_N,1063ymous_
++B 9200,8000,300,300,CONT_VIA2,1117ymous_
++B 17800,32800,300,300,CONT_DIF_N,1331ymous_
++B 25000,35000,300,300,CONT_DIF_P,471nymous_
++B 23000,31400,300,300,CONT_BODY_N,417nymous_
++B 28200,10600,300,300,CONT_VIA,578nymous_
++B 30600,29000,300,300,CONT_VIA2,632nymous_
++B 12400,23000,300,300,CONT_DIF_N,1171ymous_
++B 27000,31200,300,300,CONT_DIF_P,525nymous_
++B 3200,12000,300,300,CONT_VIA2,686nymous_
++B 33800,26000,300,300,CONT_VIA,740nymous_
++B 35400,22000,300,300,CONT_DIF_P,794nymous_
++B 36800,17000,300,300,CONT_VIA,848nymous_
++B 38200,26400,300,300,CONT_BODY_N,902nymous_
++B 14000,17000,300,300,CONT_VIA2,1224ymous_
++B 4400,9000,300,300,CONT_DIF_N,956nymous_
++B 6600,36000,300,300,CONT_VIA2,1010ymous_
++B 17800,34000,300,300,CONT_DIF_N,1332ymous_
++B 16400,6000,300,300,CONT_VIA2,1278ymous_
++B 19800,32800,200,200,CONT_TURN1,364nymous_
++B 7600,35000,300,300,CONT_VIA,1064ymous_
++B 9200,10000,300,300,CONT_POLY,1118ymous_
++B 25000,36400,300,300,CONT_DIF_P,472nymous_
++B 23000,32400,300,300,CONT_BODY_N,418nymous_
++B 28200,11800,300,300,CONT_POLY,579nymous_
++B 30600,30000,300,300,CONT_DIF_P,633nymous_
++B 33800,27000,300,300,CONT_DIF_P,741nymous_
++B 12400,24000,300,300,CONT_DIF_N,1172ymous_
++B 27000,32400,300,300,CONT_DIF_P,526nymous_
++B 3200,13000,300,300,CONT_BODY_N,687nymous_
++B 35400,23000,300,300,CONT_DIF_P,795nymous_
++B 36800,17000,300,300,CONT_VIA2,849nymous_
++B 38200,27400,300,300,CONT_BODY_N,903nymous_
++B 4400,11800,300,300,CONT_DIF_P,957nymous_
++B 14600,19200,300,300,CONT_BODY_P,1225ymous_
++B 6600,19200,300,300,CONT_BODY_P,1011ymous_
++B 7600,36000,300,300,CONT_DIF_N,1065ymous_
++B 17800,35200,300,300,CONT_DIF_N,1333ymous_
++B 16400,8000,300,300,CONT_DIF_N,1279ymous_
++B 23000,33400,300,300,CONT_BODY_N,419nymous_
++B 20000,6000,300,300,CONT_BODY_P,365nymous_
++B 28400,6000,300,300,CONT_BODY_P,580nymous_
++B 9200,12000,300,300,CONT_DIF_P,1119ymous_
++B 12400,25000,300,300,CONT_DIF_N,1173ymous_
++B 27000,33600,300,300,CONT_DIF_P,527nymous_
++B 25000,37600,300,300,CONT_BODY_N,473nymous_
++B 30600,30000,300,300,CONT_VIA,634nymous_
++B 3200,13000,300,300,CONT_VIA2,688nymous_
++B 33800,27000,300,300,CONT_VIA,742nymous_
++B 35400,24000,300,300,CONT_DIF_P,796nymous_
++B 37000,22000,300,300,CONT_DIF_P,850nymous_
++B 38200,28400,300,300,CONT_BODY_N,904nymous_
++B 4400,12800,300,300,CONT_DIF_P,958nymous_
++B 16400,9000,300,300,CONT_DIF_N,1280ymous_
++B 15200,6000,300,300,CONT_BODY_P,1226ymous_
++B 6800,37600,300,300,CONT_BODY_P,1012ymous_
++B 7600,36000,300,300,CONT_VIA,1066ymous_
++B 17800,36400,300,300,CONT_DIF_N,1334ymous_
++B 23000,34400,300,300,CONT_BODY_N,420nymous_
++B 20000,6000,300,300,CONT_VIA,366nymous_
++B 28400,8000,300,300,CONT_DIF_N,581nymous_
++B 9200,12800,300,300,CONT_DIF_P,1120ymous_
++B 12400,26000,300,300,CONT_DIF_N,1174ymous_
++B 27000,35000,300,300,CONT_DIF_P,528nymous_
++B 25000,19200,300,300,CONT_BODY_N,474nymous_
++B 30600,31000,300,300,CONT_DIF_P,635nymous_
++B 3200,14000,300,300,CONT_BODY_N,689nymous_
++B 33800,27000,300,300,CONT_VIA2,743nymous_
++B 35400,25000,300,300,CONT_DIF_P,797nymous_
++B 37000,22000,300,300,CONT_VIA,851nymous_
++B 38200,29400,300,300,CONT_BODY_N,905nymous_
++B 4400,13800,300,300,CONT_DIF_P,959nymous_
++B 6800,37600,300,300,CONT_VIA,1013ymous_
++B 16400,10000,300,300,CONT_POLY,1281ymous_
++B 15200,6000,300,300,CONT_VIA,1227ymous_
++B 20000,6000,300,300,CONT_VIA2,367nymous_
++B 7600,36000,300,300,CONT_VIA2,1067ymous_
++B 9200,13800,300,300,CONT_DIF_P,1121ymous_
++B 17800,37600,300,300,CONT_BODY_P,1335ymous_
++B 26000,20400,300,300,CONT_DIF_P,475nymous_
++B 23000,35400,300,300,CONT_BODY_N,421nymous_
++B 28400,14000,300,300,CONT_DIF_P,582nymous_
++B 30600,31000,300,300,CONT_VIA,636nymous_
++B 27000,36400,300,300,CONT_DIF_P,529nymous_
++B 3200,14000,300,300,CONT_VIA2,690nymous_
++B 33800,28000,300,300,CONT_DIF_P,744nymous_
++B 35400,26000,300,300,CONT_DIF_P,798nymous_
++B 37000,22000,300,300,CONT_VIA2,852nymous_
++B 38200,30400,300,300,CONT_BODY_N,906nymous_
++B 15200,6000,300,300,CONT_VIA2,1228ymous_
++B 4400,14800,300,300,CONT_DIF_P,960nymous_
++B 6800,37600,300,300,CONT_VIA2,1014ymous_
++B 18600,19200,300,300,CONT_BODY_P,1336ymous_
++B 16400,12000,300,300,CONT_DIF_P,1282ymous_
++B 20000,8600,300,300,CONT_DIF_N,368nymous_
++B 7600,19200,300,300,CONT_BODY_P,1068ymous_
++B 9200,14800,300,300,CONT_DIF_P,1122ymous_
++B 12400,28000,300,300,CONT_DIF_N,1176ymous_
++B 26000,21600,300,300,CONT_DIF_P,476nymous_
++B 23000,36400,300,300,CONT_BODY_N,422nymous_
++B 28400,16000,300,300,CONT_BODY_N,583nymous_
++B 30600,32000,300,300,CONT_DIF_P,637nymous_
++B 33800,28000,300,300,CONT_VIA,745nymous_
++B 27000,36400,300,300,CONT_VIA,530nymous_
++B 3200,15000,300,300,CONT_BODY_N,691nymous_
++B 35400,27000,300,300,CONT_DIF_P,799nymous_
++B 37000,23000,300,300,CONT_DIF_P,853nymous_
++B 38200,31400,300,300,CONT_BODY_N,907nymous_
++B 4400,16000,300,300,CONT_BODY_N,961nymous_
++B 15200,8000,300,300,CONT_DIF_N,1229ymous_
++B 6800,6000,300,300,CONT_BODY_P,1015ymous_
++B 7800,37600,300,300,CONT_BODY_P,1069ymous_
++B 18800,22000,300,300,CONT_DIF_N,1337ymous_
++B 16400,12800,300,300,CONT_DIF_P,1283ymous_
++B 23000,37600,300,300,CONT_BODY_N,423nymous_
++B 20000,11000,300,300,CONT_POLY,369nymous_
++B 28400,17000,300,300,CONT_VIA,584nymous_
++B 9200,16000,300,300,CONT_BODY_N,1123ymous_
++B 12400,29000,300,300,CONT_DIF_N,1177ymous_
++B 27000,37600,300,300,CONT_BODY_N,531nymous_
++B 26000,21600,300,300,CONT_VIA,477nymous_
++B 30600,32000,300,300,CONT_VIA,638nymous_
++B 3200,16000,300,300,CONT_BODY_N,692nymous_
++B 33800,28000,300,300,CONT_VIA2,746nymous_
++B 35400,28000,300,300,CONT_DIF_P,800nymous_
++B 37000,23000,300,300,CONT_VIA,854nymous_
++B 38200,32400,300,300,CONT_BODY_N,908nymous_
++B 4400,17000,300,300,CONT_VIA,962nymous_
++B 16400,16000,300,300,CONT_BODY_N,1284ymous_
++B 15200,9000,300,300,CONT_DIF_N,1230ymous_
++B 6800,6000,300,300,CONT_VIA,1016ymous_
++B 7800,37600,300,300,CONT_VIA,1070ymous_
++B 18800,22200,300,300,CONT_VIA,1338ymous_
++B 23000,19200,300,300,CONT_BODY_N,424nymous_
++B 20000,16000,300,300,CONT_BODY_N,370nymous_
++B 28400,17000,300,300,CONT_VIA2,585nymous_
++B 9200,17000,300,300,CONT_VIA,1124ymous_
++B 12400,30000,300,300,CONT_DIF_N,1178ymous_
++B 27000,9000,300,300,CONT_VIA2,532nymous_
++B 26000,21600,300,300,CONT_VIA2,478nymous_
++B 30600,33000,300,300,CONT_DIF_P,639nymous_
++B 3200,17000,300,300,CONT_VIA,693nymous_
++B 33800,29000,300,300,CONT_DIF_P,747nymous_
++B 35400,29000,300,300,CONT_DIF_P,801nymous_
++B 37000,23000,300,300,CONT_VIA2,855nymous_
++B 38200,33400,300,300,CONT_BODY_N,909nymous_
++B 4400,17000,300,300,CONT_VIA2,963nymous_
++B 6800,6000,300,300,CONT_VIA2,1017ymous_
++B 16400,17000,300,300,CONT_VIA,1285ymous_
++B 15200,10000,300,300,CONT_POLY,1231ymous_
++B 20800,20400,300,300,CONT_BODY_P,371nymous_
++B 7800,37600,300,300,CONT_VIA2,1071ymous_
++B 9200,17000,300,300,CONT_VIA2,1125ymous_
++B 18800,23200,300,300,CONT_DIF_N,1339ymous_
++B 26000,22800,300,300,CONT_DIF_P,479nymous_
++B 23400,17000,300,300,CONT_VIA,425nymous_
++B 28800,9000,300,300,CONT_POLY,586nymous_
++B 30600,33000,300,300,CONT_VIA,640nymous_
++B 12400,31000,300,300,CONT_DIF_N,1179ymous_
++B 27000,10000,300,300,CONT_VIA2,533nymous_
++B 3200,17000,300,300,CONT_VIA2,694nymous_
++B 33800,29000,300,300,CONT_VIA,748nymous_
++B 35400,30000,300,300,CONT_DIF_P,802nymous_
++B 37000,24000,300,300,CONT_DIF_P,856nymous_
++B 38200,34400,300,300,CONT_BODY_N,910nymous_
++B 15200,11600,300,300,CONT_DIF_P,1232ymous_
++B 4600,37600,300,300,CONT_BODY_P,964nymous_
++B 6800,7200,300,300,CONT_DIF_N,1018ymous_
++B 18800,24400,300,300,CONT_DIF_N,1340ymous_
++B 16400,17000,300,300,CONT_VIA2,1286ymous_
++B 20800,21400,300,300,CONT_BODY_P,372nymous_
++B 8000,0,300,300,CONT_VIA2,1072ymous_
++B 9600,37600,300,300,CONT_BODY_P,1126ymous_
++B 26000,22800,300,300,CONT_VIA2,480nymous_
++B 23400,17000,300,300,CONT_VIA2,426nymous_
++B 29000,21000,300,300,CONT_POLY,587nymous_
++B 30600,33000,300,300,CONT_VIA2,641nymous_
++B 33800,29000,300,300,CONT_VIA2,749nymous_
++B 27000,11000,300,300,CONT_VIA2,534nymous_
++B 32200,22000,300,300,CONT_DIF_P,695nymous_
++B 35400,31000,300,300,CONT_DIF_P,803nymous_
++B 37000,24000,300,300,CONT_VIA,857nymous_
++B 38200,35400,300,300,CONT_BODY_N,911nymous_
++B 4600,37600,300,300,CONT_VIA,965nymous_
++B 15200,12600,300,300,CONT_DIF_P,1233ymous_
++B 6800,8000,300,300,CONT_DIF_N,1019ymous_
++B 8000,0,300,300,CONT_VIA3,1073ymous_
++B 18800,25600,300,300,CONT_DIF_N,1341ymous_
++B 16600,19200,300,300,CONT_BODY_P,1287ymous_
++B 23600,6000,300,300,CONT_BODY_P,427nymous_
++B 20800,22400,300,300,CONT_BODY_P,373nymous_
++B 29000,21000,300,300,CONT_VIA,588nymous_
++B 9600,19200,300,300,CONT_BODY_P,1127ymous_
++B 27000,19200,300,300,CONT_BODY_N,535nymous_
++B 26000,24000,300,300,CONT_DIF_P,481nymous_
++B 30600,34000,300,300,CONT_DIF_P,642nymous_
++B 32200,23000,300,300,CONT_DIF_P,696nymous_
++B 33800,30000,300,300,CONT_DIF_P,750nymous_
++B 35400,32000,300,300,CONT_DIF_P,804nymous_
++B 37000,25000,300,300,CONT_DIF_P,858nymous_
++B 38200,36400,300,300,CONT_BODY_N,912nymous_
++B 4600,37600,300,300,CONT_VIA2,966nymous_
++B 16800,20200,300,300,CONT_VIA,1288ymous_
++B 15200,16000,300,300,CONT_BODY_N,1234ymous_
++B 6800,10000,300,300,CONT_POLY,1020ymous_
++B 8000,0,300,300,CONT_VIA4,1074ymous_
++B 18800,26800,300,300,CONT_DIF_N,1342ymous_
++B 23600,6000,300,300,CONT_VIA,428nymous_
++B 20800,23400,300,300,CONT_BODY_P,374nymous_
++B 29000,22200,300,300,CONT_POLY,589nymous_
++B 10400,6000,300,300,CONT_BODY_P,1128ymous_
++B 27200,6000,300,300,CONT_BODY_P,536nymous_
++B 26000,24000,300,300,CONT_VIA,482nymous_
++B 30600,34000,300,300,CONT_VIA,643nymous_
++B 32200,24000,300,300,CONT_DIF_P,697nymous_
++B 33800,30000,300,300,CONT_VIA,751nymous_
++B 35400,33000,300,300,CONT_DIF_P,805nymous_
++B 37000,25000,300,300,CONT_VIA,859nymous_
++B 38200,37600,300,300,CONT_BODY_N,913nymous_
++B 4600,19200,300,300,CONT_BODY_P,967nymous_
++B 6800,12000,300,300,CONT_DIF_P,1021ymous_
++B 16800,23400,300,300,CONT_POLY,1289ymous_
++B 15200,17000,300,300,CONT_VIA,1235ymous_
++B 20800,24400,300,300,CONT_BODY_P,375nymous_
++B 8000,8000,300,300,CONT_DIF_N,1075ymous_
++B 10400,6000,300,300,CONT_VIA,1129ymous_
++B 18800,26800,300,300,CONT_VIA,1343ymous_
++B 26000,25200,300,300,CONT_DIF_P,483nymous_
++B 23600,6000,300,300,CONT_VIA2,429nymous_
++B 29000,22200,300,300,CONT_VIA,590nymous_
++B 30600,34000,300,300,CONT_VIA2,644nymous_
++B 27200,8000,300,300,CONT_DIF_N,537nymous_
++B 32200,25000,300,300,CONT_DIF_P,698nymous_
++B 33800,31000,300,300,CONT_DIF_P,752nymous_
++B 35400,34000,300,300,CONT_DIF_P,806nymous_
++B 37000,26000,300,300,CONT_DIF_P,860nymous_
++B 38200,19200,300,300,CONT_BODY_N,914nymous_
++B 15200,17000,300,300,CONT_VIA2,1236ymous_
++B 12400,34000,300,300,CONT_DIF_N,1182ymous_
++B 5400,24000,300,300,CONT_VIA2,968nymous_
++B 6800,12800,300,300,CONT_DIF_P,1022ymous_
++B 18800,28000,300,300,CONT_DIF_N,1344ymous_
++B 16800,24400,300,300,CONT_VIA,1290ymous_
++B 20800,25400,300,300,CONT_BODY_P,376nymous_
++B 8000,9000,300,300,CONT_DIF_N,1076ymous_
++B 10400,6000,300,300,CONT_VIA2,1130ymous_
++B 26000,26400,300,300,CONT_DIF_P,484nymous_
++B 23600,8000,300,300,CONT_DIF_N,430nymous_
++B 29000,23400,300,300,CONT_POLY,591nymous_
++B 30600,35000,300,300,CONT_DIF_P,645nymous_
++B 33800,31000,300,300,CONT_VIA,753nymous_
++B 27200,10600,300,300,CONT_POLY,538nymous_
++B 32200,26000,300,300,CONT_DIF_P,699nymous_
++B 35400,35000,300,300,CONT_DIF_P,807nymous_
++B 37000,26000,300,300,CONT_VIA,861nymous_
++B 4400,21800,300,300,CONT_POLY,915nymous_
++B 5400,25000,300,300,CONT_VIA2,969nymous_
++B 15600,20200,300,300,CONT_VIA,1237ymous_
++B 12400,35000,300,300,CONT_DIF_N,1183ymous_
++B 6800,13800,300,300,CONT_DIF_P,1023ymous_
++B 8000,9000,300,300,CONT_VIA,1077ymous_
++B 18800,29200,300,300,CONT_DIF_N,1345ymous_
++B 16800,25400,300,300,CONT_POLY,1291ymous_
++B 23600,13000,300,300,CONT_DIF_P,431nymous_
++B 20800,26400,300,300,CONT_BODY_P,377nymous_
++B 29000,23400,300,300,CONT_VIA,592nymous_
++B 10400,8000,300,300,CONT_DIF_N,1131ymous_
++B 27200,13000,300,300,CONT_DIF_P,539nymous_
++B 26000,26400,300,300,CONT_VIA,485nymous_
++B 30600,35000,300,300,CONT_VIA,646nymous_
++B 32200,27000,300,300,CONT_DIF_P,700nymous_
++B 33800,32000,300,300,CONT_DIF_P,754nymous_
++B 35400,36000,300,300,CONT_DIF_P,808nymous_
++B 37000,27000,300,300,CONT_DIF_P,862nymous_
++B 12400,36000,300,300,CONT_DIF_N,1184ymous_
++B 4400,21800,300,300,CONT_VIA,916nymous_
++B 5400,26000,300,300,CONT_VIA2,970nymous_
++B 16800,28200,300,300,CONT_POLY,1292ymous_
++B 15600,23000,300,300,CONT_DIF_N,1238ymous_
++B 6800,14800,300,300,CONT_DIF_P,1024ymous_
++B 8000,10000,300,300,CONT_POLY,1078ymous_
++B 18800,30400,300,300,CONT_DIF_N,1346ymous_
++B 23600,14000,300,300,CONT_DIF_P,432nymous_
++B 20800,27400,300,300,CONT_BODY_P,378nymous_
++B 29000,24600,300,300,CONT_POLY,593nymous_
++B 10400,9000,300,300,CONT_DIF_N,1132ymous_
++B 12400,32000,300,300,CONT_DIF_N,1180ymous_
++B 26000,27600,300,300,CONT_DIF_P,486nymous_
++B 30600,35000,300,300,CONT_VIA2,647nymous_
++B 32200,28000,300,300,CONT_DIF_P,701nymous_
++B 33800,32000,300,300,CONT_VIA,755nymous_
++B 35600,6000,300,300,CONT_BODY_P,809nymous_
++B 37000,27000,300,300,CONT_VIA,863nymous_
++B 4400,23000,300,300,CONT_DIF_N,917nymous_
++B 12600,19200,300,300,CONT_BODY_P,1185ymous_
++B 5400,30000,300,300,CONT_VIA2,971nymous_
++B 6800,16000,300,300,CONT_BODY_N,1025ymous_
++B 16800,29200,300,300,CONT_VIA,1293ymous_
++B 15600,24000,300,300,CONT_DIF_N,1239ymous_
++B 20800,28400,300,300,CONT_BODY_P,379nymous_
++B 8000,11000,300,300,CONT_VIA,1079ymous_
++B 10400,10000,300,300,CONT_POLY,1133ymous_
++B 18800,31600,300,300,CONT_DIF_N,1347ymous_
++B 26000,27600,300,300,CONT_VIA2,487nymous_
++B 23600,16000,300,300,CONT_BODY_N,433nymous_
++B 29000,24600,300,300,CONT_VIA,594nymous_
++B 30800,6000,300,300,CONT_BODY_P,648nymous_
++B 12400,33000,300,300,CONT_DIF_N,1181ymous_
++B 32200,29000,300,300,CONT_DIF_P,702nymous_
++B 33800,33000,300,300,CONT_DIF_P,756nymous_
++B 35600,6000,300,300,CONT_VIA,810nymous_
++B 37000,27000,300,300,CONT_VIA2,864nymous_
++B 4400,23000,300,300,CONT_VIA,918nymous_
++B 15600,25000,300,300,CONT_DIF_N,1240ymous_
++B 12800,6000,300,300,CONT_BODY_P,1186ymous_
++B 5400,31000,300,300,CONT_VIA2,972nymous_
++B 6800,17000,300,300,CONT_VIA,1026ymous_
++B 18800,31600,300,300,CONT_VIA,1348ymous_
++B 16800,32200,300,300,CONT_POLY,1294ymous_
++B 20800,29400,300,300,CONT_BODY_P,380nymous_
++B 8000,11800,300,300,CONT_DIF_P,1080ymous_
++B 10400,11800,300,300,CONT_DIF_P,1134ymous_
++B 26000,28800,300,300,CONT_DIF_P,488nymous_
++B 24000,27000,300,300,CONT_POLY,434nymous_
++B 29000,25800,300,300,CONT_POLY,595nymous_
++B 30800,8000,300,300,CONT_DIF_N,649nymous_
++B 33800,33000,300,300,CONT_VIA,757nymous_
++B 32200,30000,300,300,CONT_DIF_P,703nymous_
++B 35600,6000,300,300,CONT_VIA2,811nymous_
++B 37000,28000,300,300,CONT_DIF_P,865nymous_
++B 4400,24000,300,300,CONT_DIF_N,919nymous_
++B 5400,32000,300,300,CONT_VIA2,973nymous_
++B 15600,26000,300,300,CONT_DIF_N,1241ymous_
++B 12800,6000,300,300,CONT_VIA,1187ymous_
++B 6800,17000,300,300,CONT_VIA2,1027ymous_
++B 8000,12800,300,300,CONT_DIF_P,1081ymous_
++B 18800,32800,300,300,CONT_DIF_N,1349ymous_
++B 16800,32200,300,300,CONT_VIA,1295ymous_
++B 24000,28200,300,300,CONT_POLY,435nymous_
++B 20800,30400,300,300,CONT_BODY_P,381nymous_
++B 27200,17000,300,300,CONT_VIA,542nymous_
++B 29000,30600,300,300,CONT_POLY,596nymous_
++B 10400,12800,300,300,CONT_DIF_P,1135ymous_
++B 26000,28800,300,300,CONT_VIA,489nymous_
++B 30800,10600,300,300,CONT_POLY,650nymous_
++B 32200,31000,300,300,CONT_DIF_P,704nymous_
++B 33800,33000,300,300,CONT_VIA2,758nymous_
++B 35600,8000,300,300,CONT_DIF_N,812nymous_
++B 37000,28000,300,300,CONT_VIA,866nymous_
++B 12800,6000,300,300,CONT_VIA2,1188ymous_
++B 4400,24000,300,300,CONT_VIA,920nymous_
++B 5400,36000,300,300,CONT_VIA2,974nymous_
++B 16800,33400,300,300,CONT_POLY,1296ymous_
++B 15600,27000,300,300,CONT_DIF_N,1242ymous_
++B 7000,9000,300,300,CONT_VIA2,1028ymous_
++B 8000,13800,300,300,CONT_DIF_P,1082ymous_
++B 18800,34000,300,300,CONT_DIF_N,1350ymous_
++B 24000,28200,300,300,CONT_VIA,436nymous_
++B 20800,31400,300,300,CONT_BODY_P,382nymous_
++B 27200,17000,300,300,CONT_VIA2,543nymous_
++B 29000,31800,300,300,CONT_POLY,597nymous_
++B 10400,13800,300,300,CONT_DIF_P,1136ymous_
++B 26000,28800,300,300,CONT_VIA2,490nymous_
++B 30800,13000,300,300,CONT_DIF_P,651nymous_
++B 32200,32000,300,300,CONT_DIF_P,705nymous_
++B 33800,34000,300,300,CONT_DIF_P,759nymous_
++B 35600,13000,300,300,CONT_DIF_P,813nymous_
++B 37000,28000,300,300,CONT_VIA2,867nymous_
++B 4400,24000,300,300,CONT_VIA2,921nymous_
++B 12800,8000,300,300,CONT_DIF_N,1189ymous_
++B 5600,37600,300,300,CONT_BODY_P,975nymous_
++B 7000,10000,300,300,CONT_VIA2,1029ymous_
++B 16800,33400,300,300,CONT_VIA,1297ymous_
++B 15600,28000,300,300,CONT_DIF_N,1243ymous_
++B 20800,32400,300,300,CONT_BODY_P,383nymous_
++B 27800,36400,300,300,CONT_DIF_P,544nymous_
++B 8000,16000,300,300,CONT_BODY_N,1083ymous_
++B 10400,16000,300,300,CONT_BODY_N,1137ymous_
++B 18800,34000,300,300,CONT_VIA,1351ymous_
++B 26000,30000,300,300,CONT_DIF_P,491nymous_
++B 24000,29200,300,300,CONT_POLY,437nymous_
++B 29000,33000,300,300,CONT_POLY,598nymous_
++B 30800,14000,300,300,CONT_DIF_P,652nymous_
++B 32200,33000,300,300,CONT_DIF_P,706nymous_
++B 33800,34000,300,300,CONT_VIA,760nymous_
++B 35600,14000,300,300,CONT_DIF_P,814nymous_
++B 37000,29000,300,300,CONT_DIF_P,868nymous_
++B 4400,25000,300,300,CONT_DIF_N,922nymous_
++B 15600,29000,300,300,CONT_DIF_N,1244ymous_
++B 12800,9000,300,300,CONT_DIF_N,1190ymous_
++B 5600,37600,300,300,CONT_VIA,976nymous_
++B 7000,11000,300,300,CONT_VIA2,1030ymous_
++B 18800,35200,300,300,CONT_DIF_N,1352ymous_
++B 16800,33400,300,300,CONT_VIA2,1298ymous_
++B 20800,33400,300,300,CONT_BODY_P,384nymous_
++B 27800,37600,300,300,CONT_BODY_N,545nymous_
++B 8000,17000,300,300,CONT_VIA,1084ymous_
++B 10400,17000,300,300,CONT_VIA,1138ymous_
++B 26000,31200,300,300,CONT_DIF_P,492nymous_
++B 24000,34200,300,300,CONT_POLY,438nymous_
++B 29000,19200,300,300,CONT_BODY_N,599nymous_
++B 30800,16000,300,300,CONT_BODY_N,653nymous_
++B 33800,34000,300,300,CONT_VIA2,761nymous_
++B 32200,34000,300,300,CONT_DIF_P,707nymous_
++B 35600,16000,300,300,CONT_BODY_N,815nymous_
++B 37000,29000,300,300,CONT_VIA,869nymous_
++B 4400,25000,300,300,CONT_VIA,923nymous_
++B 5600,37600,300,300,CONT_VIA2,977nymous_
++B 15600,30000,300,300,CONT_DIF_N,1245ymous_
++B 12800,11600,300,300,CONT_DIF_P,1191ymous_
++B 7600,21800,300,300,CONT_POLY,1031ymous_
++B 8000,17000,300,300,CONT_VIA2,1085ymous_
++B 18800,36400,300,300,CONT_DIF_N,1353ymous_
++B 16800,34600,300,300,CONT_POLY,1299ymous_
++B 24000,34200,300,300,CONT_VIA,439nymous_
++B 20800,34400,300,300,CONT_BODY_P,385nymous_
++B 28000,0,300,300,CONT_VIA2,546nymous_
++B 29600,33000,300,300,CONT_VIA2,600nymous_
++B 10400,17000,300,300,CONT_VIA2,1139ymous_
++B 26000,31200,300,300,CONT_VIA,493nymous_
++B 30800,17000,300,300,CONT_VIA,654nymous_
++B 32200,35000,300,300,CONT_DIF_P,708nymous_
++B 33800,35000,300,300,CONT_DIF_P,762nymous_
++B 35600,17000,300,300,CONT_VIA,816nymous_
++B 37000,29000,300,300,CONT_VIA2,870nymous_
++B 12800,12600,300,300,CONT_DIF_P,1192ymous_
++B 4400,25000,300,300,CONT_VIA2,924nymous_
++B 5600,6000,300,300,CONT_BODY_P,978nymous_
++B 16800,34600,300,300,CONT_VIA,1300ymous_
++B 15600,31000,300,300,CONT_DIF_N,1246ymous_
++B 7600,21800,300,300,CONT_VIA,1032ymous_
++B 8600,24000,300,300,CONT_VIA2,1086ymous_
++B 18800,36400,300,300,CONT_VIA,1354ymous_
++B 24000,34200,300,300,CONT_VIA2,440nymous_
++B 20800,35400,300,300,CONT_BODY_P,386nymous_
++B 28000,0,300,300,CONT_VIA3,547nymous_
++B 29600,34000,300,300,CONT_VIA2,601nymous_
++B 10600,19200,300,300,CONT_BODY_P,1140ymous_
++B 26000,32400,300,300,CONT_DIF_P,494nymous_
++B 30800,17000,300,300,CONT_VIA2,655nymous_
++B 32200,36000,300,300,CONT_DIF_P,709nymous_
++B 33800,35000,300,300,CONT_VIA,763nymous_
++B 35600,17000,300,300,CONT_VIA2,817nymous_
++B 37000,30000,300,300,CONT_DIF_P,871nymous_
++B 4400,26000,300,300,CONT_DIF_N,925nymous_
++B 12800,16000,300,300,CONT_BODY_N,1193ymous_
++B 5600,6000,300,300,CONT_VIA,979nymous_
++B 7600,23000,300,300,CONT_DIF_N,1033ymous_
++B 16800,34600,300,300,CONT_VIA2,1301ymous_
++B 15600,32000,300,300,CONT_DIF_N,1247ymous_
++B 20800,36400,300,300,CONT_BODY_P,387nymous_
++B 28000,0,300,300,CONT_VIA4,548nymous_
++B 8600,25000,300,300,CONT_VIA2,1087ymous_
++B 10800,21800,300,300,CONT_POLY,1141ymous_
++B 18800,37600,300,300,CONT_BODY_P,1355ymous_
++B 26000,33600,300,300,CONT_DIF_P,495nymous_
++B 24000,35800,300,300,CONT_POLY,441nymous_
++B 29600,35000,300,300,CONT_VIA2,602nymous_
++B 31000,19200,300,300,CONT_BODY_N,656nymous_
++B 32800,20200,300,300,CONT_POLY,710nymous_
++B 33800,35000,300,300,CONT_VIA2,764nymous_
++B 36000,20200,300,300,CONT_POLY,818nymous_
++B 37000,30000,300,300,CONT_VIA,872nymous_
++B 4400,26000,300,300,CONT_VIA,926nymous_
++B 15600,33000,300,300,CONT_DIF_N,1248ymous_
++B 12800,17000,300,300,CONT_VIA,1194ymous_
++B 5600,6000,300,300,CONT_VIA2,980nymous_
++B 7600,23000,300,300,CONT_VIA,1034ymous_
++B 18800,6000,300,300,CONT_BODY_P,1356ymous_
++B 16800,35800,300,300,CONT_POLY,1302ymous_
++B 20800,37600,300,300,CONT_BODY_P,388nymous_
++B 28000,20400,300,300,CONT_DIF_P,549nymous_
++B 8600,26000,300,300,CONT_VIA2,1088ymous_
++B 10800,21800,300,300,CONT_VIA,1142ymous_
++B 26000,33600,300,300,CONT_VIA,496nymous_
++B 24000,35800,300,300,CONT_VIA,442nymous_
++B 29600,7000,300,300,CONT_DIF_N,603nymous_
++B 31600,20200,300,300,CONT_POLY,657nymous_
++B 33800,36000,300,300,CONT_DIF_P,765nymous_
++B 32800,22000,300,300,CONT_VIA2,711nymous_
++B 36000,22000,300,300,CONT_VIA2,819nymous_
++B 37000,31000,300,300,CONT_DIF_P,873nymous_
++B 4400,26000,300,300,CONT_VIA2,927nymous_
++B 5600,8000,300,300,CONT_DIF_N,981nymous_
++B 15600,34000,300,300,CONT_DIF_N,1249ymous_
++B 12800,17000,300,300,CONT_VIA2,1195ymous_
++B 7600,24000,300,300,CONT_DIF_N,1035ymous_
++B 8600,30000,300,300,CONT_VIA2,1089ymous_
++B 18800,6000,300,300,CONT_VIA,1357ymous_
++B 16800,35800,300,300,CONT_VIA,1303ymous_
++B 24000,37600,300,300,CONT_BODY_N,443nymous_
++B 20800,19200,300,300,CONT_BODY_P,389nymous_
++B 28000,21600,300,300,CONT_DIF_P,550nymous_
++B 29600,10600,300,300,CONT_POLY,604nymous_
++B 10800,21800,300,300,CONT_VIA2,1143ymous_
++B 26000,35000,300,300,CONT_DIF_P,497nymous_
++B 31600,22000,300,300,CONT_VIA2,658nymous_
++B 32800,23000,300,300,CONT_VIA2,712nymous_
++B 33800,36000,300,300,CONT_VIA,766nymous_
++B 36000,23000,300,300,CONT_VIA2,820nymous_
++B 37000,31000,300,300,CONT_VIA,874nymous_
++B 13600,19200,300,300,CONT_BODY_P,1196ymous_
++B 4400,27000,300,300,CONT_DIF_N,928nymous_
++B 5600,9000,300,300,CONT_DIF_N,982nymous_
++B 16800,37600,300,300,CONT_BODY_P,1304ymous_
++B 15600,35000,300,300,CONT_DIF_N,1250ymous_
++B 7600,24000,300,300,CONT_VIA,1036ymous_
++B 8600,31000,300,300,CONT_VIA2,1090ymous_
++B 18800,6000,300,300,CONT_VIA2,1358ymous_
++B 24000,19200,300,300,CONT_BODY_N,444nymous_
++B 21000,13000,300,300,CONT_VIA,390nymous_
++B 28000,22800,300,300,CONT_DIF_P,551nymous_
++B 29600,10600,300,300,CONT_VIA,605nymous_
++B 10800,23000,300,300,CONT_DIF_N,1144ymous_
++B 26000,36400,300,300,CONT_DIF_P,498nymous_
++B 31600,23000,300,300,CONT_VIA2,659nymous_
++B 32800,27000,300,300,CONT_VIA2,713nymous_
++B 34000,19200,300,300,CONT_BODY_N,767nymous_
++B 36000,27000,300,300,CONT_VIA2,821nymous_
++B 37000,32000,300,300,CONT_DIF_P,875nymous_
++B 4400,27000,300,300,CONT_VIA,929nymous_
++B 14000,21800,300,300,CONT_POLY,1197ymous_
++B 5600,11800,300,300,CONT_DIF_P,983nymous_
++B 7600,24000,300,300,CONT_VIA2,1037ymous_
++B 17400,11800,300,300,CONT_POLY,1305ymous_
++B 15600,36000,300,300,CONT_DIF_N,1251ymous_
++B 21000,14000,300,300,CONT_VIA,391nymous_
++B 28000,24000,300,300,CONT_DIF_P,552nymous_
++B 8600,32000,300,300,CONT_VIA2,1091ymous_
++B 10800,24000,300,300,CONT_DIF_N,1145ymous_
++B 18800,9000,300,300,CONT_DIF_N,1359ymous_
++B 26000,37600,300,300,CONT_BODY_N,499nymous_
++B 24800,6000,300,300,CONT_BODY_P,445nymous_
++B 29600,13000,300,300,CONT_DIF_P,606nymous_
++B 31600,27000,300,300,CONT_VIA2,660nymous_
++B 32800,28000,300,300,CONT_VIA2,714nymous_
++B 3400,24000,300,300,CONT_VIA2,768nymous_
++B 36000,28000,300,300,CONT_VIA2,822nymous_
++B 37000,32000,300,300,CONT_VIA,876nymous_
++B 4400,28000,300,300,CONT_DIF_N,930nymous_
++B 15600,19200,300,300,CONT_BODY_P,1252ymous_
++B 14000,21800,300,300,CONT_VIA,1198ymous_
++B 5600,12800,300,300,CONT_DIF_P,984nymous_
++B 7600,25000,300,300,CONT_DIF_N,1038ymous_
++B 18800,16000,300,300,CONT_BODY_N,1360ymous_
++B 17600,6000,300,300,CONT_BODY_P,1306ymous_
++B 21200,6000,300,300,CONT_BODY_P,392nymous_
++B 28000,25200,300,300,CONT_DIF_P,553nymous_
++B 8600,36000,300,300,CONT_VIA2,1092ymous_
++B 10800,25000,300,300,CONT_DIF_N,1146ymous_
++B 26000,6000,300,300,CONT_BODY_P,500nymous_
++B 24800,6000,300,300,CONT_VIA,446nymous_
++B 29600,14000,300,300,CONT_DIF_P,607nymous_
++B 31600,28000,300,300,CONT_VIA2,661nymous_
++B 3400,25000,300,300,CONT_VIA2,769nymous_
++B 32800,29000,300,300,CONT_VIA2,715nymous_
++B 36000,29000,300,300,CONT_VIA2,823nymous_
++B 37000,33000,300,300,CONT_DIF_P,877nymous_
++B 4400,28000,300,300,CONT_VIA,931nymous_
++B 5600,13800,300,300,CONT_DIF_P,985nymous_
++B 15800,27000,300,300,CONT_VIA2,1253ymous_
++B 14000,21800,300,300,CONT_VIA2,1199ymous_
++B 7600,25000,300,300,CONT_VIA,1039ymous_
++B 8600,19200,300,300,CONT_BODY_P,1093ymous_
++B 18800,17000,300,300,CONT_VIA,1361ymous_
++B 17600,6000,300,300,CONT_VIA,1307ymous_
++B 24800,6000,300,300,CONT_VIA2,447nymous_
++B 21200,6000,300,300,CONT_VIA,393nymous_
++B 28000,26400,300,300,CONT_DIF_P,554nymous_
++B 29600,16000,300,300,CONT_BODY_N,608nymous_
++B 10800,26000,300,300,CONT_DIF_N,1147ymous_
++B 26000,6000,300,300,CONT_VIA,501nymous_
++B 31600,29000,300,300,CONT_VIA2,662nymous_
++B 32800,33000,300,300,CONT_VIA2,716nymous_
++B 3400,26000,300,300,CONT_VIA2,770nymous_
++B 36000,33000,300,300,CONT_VIA2,824nymous_
++B 37000,33000,300,300,CONT_VIA,878nymous_
++B 14000,23000,300,300,CONT_DIF_N,1200ymous_
++B 4400,29000,300,300,CONT_DIF_N,932nymous_
++B 5600,16000,300,300,CONT_BODY_N,986nymous_
++B 17600,6000,300,300,CONT_VIA2,1308ymous_
++B 15800,28000,300,300,CONT_VIA2,1254ymous_
++B 7600,25000,300,300,CONT_VIA2,1040ymous_
++B 8800,37600,300,300,CONT_BODY_P,1094ymous_
++B 18800,17000,300,300,CONT_VIA2,1362ymous_
++B 24800,8000,300,300,CONT_DIF_N,448nymous_
++B 21200,6000,300,300,CONT_VIA2,394nymous_
++B 28000,27600,300,300,CONT_DIF_P,555nymous_
++B 29600,17000,300,300,CONT_VIA,609nymous_
++B 10800,27000,300,300,CONT_DIF_N,1148ymous_
++B 26000,6000,300,300,CONT_VIA2,502nymous_
++B 31600,33000,300,300,CONT_VIA2,663nymous_
++B 32800,34000,300,300,CONT_VIA2,717nymous_
++B 3400,30000,300,300,CONT_VIA2,771nymous_
++B 36000,34000,300,300,CONT_VIA2,825nymous_
++B 37000,33000,300,300,CONT_VIA2,879nymous_
++B 4400,29000,300,300,CONT_VIA,933nymous_
++B 14000,24000,300,300,CONT_DIF_N,1201ymous_
++B 5600,17000,300,300,CONT_VIA,987nymous_
++B 7600,26000,300,300,CONT_DIF_N,1041ymous_
++B 17600,8600,300,300,CONT_DIF_N,1309ymous_
++B 15800,29000,300,300,CONT_VIA2,1255ymous_
++B 21200,9000,300,300,CONT_DIF_N,395nymous_
++B 28000,28800,300,300,CONT_DIF_P,556nymous_
++B 8800,37600,300,300,CONT_VIA,1095ymous_
++B 10800,28000,300,300,CONT_DIF_N,1149ymous_
++B 19600,19200,300,300,CONT_BODY_P,1363ymous_
++B 26000,8000,300,300,CONT_DIF_N,503nymous_
++B 24800,13000,300,300,CONT_DIF_P,449nymous_
++B 29600,17000,300,300,CONT_VIA2,610nymous_
++B 31600,34000,300,300,CONT_VIA2,664nymous_
++B 32800,35000,300,300,CONT_VIA2,718nymous_
++B 3400,31000,300,300,CONT_VIA2,772nymous_
++B 36000,35000,300,300,CONT_VIA2,826nymous_
++B 37000,34000,300,300,CONT_DIF_P,880nymous_
++B 4400,30000,300,300,CONT_DIF_N,934nymous_
++B 15800,37600,300,300,CONT_BODY_P,1256ymous_
++B 14000,25000,300,300,CONT_DIF_N,1202ymous_
++B 5600,17000,300,300,CONT_VIA2,988nymous_
++B 7600,26000,300,300,CONT_VIA,1042ymous_
++B 19800,22600,300,300,CONT_POLY,1364ymous_
++B 17600,12800,300,300,CONT_DIF_P,1310ymous_
++B 21200,16000,300,300,CONT_BODY_N,396nymous_
++B 28000,30000,300,300,CONT_DIF_P,557nymous_
++B 8800,37600,300,300,CONT_VIA2,1096ymous_
++B 10800,29000,300,300,CONT_DIF_N,1150ymous_
++B 26000,12000,300,300,CONT_VIA2,504nymous_
++B 24800,13000,300,300,CONT_VIA,450nymous_
++B 3600,37600,300,300,CONT_BODY_P,828nymous_
++B 3400,36000,300,300,CONT_VIA2,774nymous_
++B 33200,6000,300,300,CONT_BODY_P,720nymous_
++B 31800,9000,300,300,CONT_POLY,666nymous_
++B 26000,13000,300,300,CONT_DIF_P,505nymous_
++B 10800,30000,300,300,CONT_DIF_N,1151ymous_
++B 30000,0,300,300,CONT_VIA3,612nymous_
++B 28000,31200,300,300,CONT_DIF_P,558nymous_
++B 9200,24000,300,300,CONT_DIF_N,1098ymous_
++B 7600,27000,300,300,CONT_DIF_N,1044ymous_
++B 1600,21400,300,300,CONT_BODY_P,1258ymous_
++B 17600,17000,300,300,CONT_VIA,1312ymous_
++B 6000,23000,300,300,CONT_DIF_N,990nymous_
++B 4400,30000,300,300,CONT_VIA2,936nymous_
++B 14000,27000,300,300,CONT_DIF_N,1204ymous_
++B 37000,34000,300,300,CONT_VIA2,882nymous_
++B 30000,0,300,300,CONT_VIA2,611nymous_
++B 31600,35000,300,300,CONT_VIA2,665nymous_
++B 3400,32000,300,300,CONT_VIA2,773nymous_
++B 33000,19200,300,300,CONT_BODY_N,719nymous_
++B 36000,19200,300,300,CONT_BODY_N,827nymous_
++B 37000,34000,300,300,CONT_VIA,881nymous_
++B 4400,30000,300,300,CONT_VIA,935nymous_
++B 5600,19200,300,300,CONT_BODY_P,989nymous_
++B 1600,20400,300,300,CONT_BODY_P,1257ymous_
++B 14000,26000,300,300,CONT_DIF_N,1203ymous_
++B 7600,26000,300,300,CONT_VIA2,1043ymous_
++B 9200,23000,300,300,CONT_DIF_N,1097ymous_
++B 19800,26200,300,300,CONT_POLY,1365ymous_
++B 17600,16000,300,300,CONT_BODY_N,1311ymous_
++B 24800,14000,300,300,CONT_DIF_P,451nymous_
++B 22000,22200,300,300,CONT_VIA,397nymous_
++B 19800,27400,300,300,CONT_POLY,1366ymous_
++B 24800,14000,300,300,CONT_VIA,452nymous_
++B 22000,19200,300,300,CONT_VIA,398nymous_
++B 28000,31200,300,300,CONT_VIA,559nymous_
++B 30000,0,300,300,CONT_VIA4,613nymous_
++B 10800,31000,300,300,CONT_DIF_N,1152ymous_
++B 26000,13000,300,300,CONT_VIA2,506nymous_
++B 31800,12200,300,300,CONT_POLY,667nymous_
++B 33200,6000,300,300,CONT_VIA,721nymous_
++B 34400,6000,300,300,CONT_BODY_P,775nymous_
++B 3600,37600,300,300,CONT_VIA,829nymous_
++B 37000,35000,300,300,CONT_DIF_P,883nymous_
++B 4400,31000,300,300,CONT_DIF_N,937nymous_
++B 14000,28000,300,300,CONT_DIF_N,1205ymous_
++B 6000,24000,300,300,CONT_DIF_N,991nymous_
++B 7600,27000,300,300,CONT_VIA,1045ymous_
++B 17600,17000,300,300,CONT_VIA2,1313ymous_
++B 1600,22400,300,300,CONT_BODY_P,1259ymous_
++B 22400,6000,300,300,CONT_BODY_P,399nymous_
++B 28000,32400,300,300,CONT_DIF_P,560nymous_
++B 9200,25000,300,300,CONT_DIF_N,1099ymous_
++B 10800,32000,300,300,CONT_DIF_N,1153ymous_
++B 19800,28200,300,300,CONT_VIA,1367ymous_
++B 26000,14000,300,300,CONT_DIF_P,507nymous_
++B 24800,16000,300,300,CONT_BODY_N,453nymous_
++B 30000,20200,300,300,CONT_VIA,614nymous_
++B 32000,6000,300,300,CONT_BODY_P,668nymous_
++B 33200,6000,300,300,CONT_VIA2,722nymous_
++B 34400,6000,300,300,CONT_VIA,776nymous_
++B 3600,37600,300,300,CONT_VIA2,830nymous_
++B 37000,35000,300,300,CONT_VIA,884nymous_
++B 4400,31000,300,300,CONT_VIA,938nymous_
++B 1600,23400,300,300,CONT_BODY_P,1260ymous_
++B 14000,29000,300,300,CONT_DIF_N,1206ymous_
++B 6000,25000,300,300,CONT_DIF_N,992nymous_
++B 7600,28000,300,300,CONT_DIF_N,1046ymous_
++B 19800,31000,300,300,CONT_POLY,1368ymous_
++B 17600,19200,300,300,CONT_BODY_P,1314ymous_
++B 22400,6000,300,300,CONT_VIA,400nymous_
++B 28000,33600,300,300,CONT_DIF_P,561nymous_
++B 9200,26000,300,300,CONT_DIF_N,1100ymous_
++B 10800,33000,300,300,CONT_DIF_N,1154ymous_
++B 26000,14000,300,300,CONT_VIA2,508nymous_
++B 25000,20400,300,300,CONT_DIF_P,454nymous_
++B 30000,19200,300,300,CONT_BODY_N,615nymous_
++B 32000,6000,300,300,CONT_VIA,669nymous_
++B 34400,6000,300,300,CONT_VIA2,777nymous_
++B 33200,8000,300,300,CONT_DIF_N,723nymous_
++B 3600,19200,300,300,CONT_BODY_P,831nymous_
++B 37000,35000,300,300,CONT_VIA2,885nymous_
++B 4400,31000,300,300,CONT_VIA2,939nymous_
++B 6000,26000,300,300,CONT_DIF_N,993nymous_
++B 1600,24400,300,300,CONT_BODY_P,1261ymous_
++B 14000,30000,300,300,CONT_DIF_N,1207ymous_
++B 33800,22000,300,300,CONT_VIA2,731nymous_
++B 7600,28000,300,300,CONT_VIA,1047ymous_
++B 9200,27000,300,300,CONT_DIF_N,1101ymous_
++B 19800,35200,300,300,CONT_VIA,1369ymous_
++B 17800,23200,300,300,CONT_DIF_N,1315ymous_
++B 25000,20400,300,300,CONT_VIA,455nymous_
++B 22400,6000,300,300,CONT_VIA2,401nymous_
++B 28000,35000,300,300,CONT_DIF_P,562nymous_
++B 30400,36600,300,300,CONT_POLY,616nymous_
++B 10800,34000,300,300,CONT_DIF_N,1155ymous_
++B 26000,16000,300,300,CONT_BODY_N,509nymous_
++B 32000,6000,300,300,CONT_VIA2,670nymous_
++B 33200,13000,300,300,CONT_DIF_P,724nymous_
++B 34400,8000,300,300,CONT_DIF_N,778nymous_
++B 36800,6000,300,300,CONT_BODY_P,832nymous_
++B 37000,36000,300,300,CONT_DIF_P,886nymous_
++B 14000,31000,300,300,CONT_DIF_N,1208ymous_
++B 4400,32000,300,300,CONT_DIF_N,940nymous_
++B 6000,27000,300,300,CONT_DIF_N,994nymous_
++B 17800,23200,300,300,CONT_VIA,1316ymous_
++B 1600,25400,300,300,CONT_BODY_P,1262ymous_
++B 7600,29000,300,300,CONT_DIF_N,1048ymous_
++B 9200,28000,300,300,CONT_DIF_N,1102ymous_
++B 19800,37600,300,300,CONT_BODY_P,1370ymous_
++B 25000,21600,300,300,CONT_DIF_P,456nymous_
++B 22400,8600,300,300,CONT_DIF_N,402nymous_
++B 28000,19200,300,300,CONT_BODY_N,563nymous_
++B 30400,36600,300,300,CONT_VIA,617nymous_
++B 10800,35000,300,300,CONT_DIF_N,1156ymous_
++B 26000,17000,300,300,CONT_VIA,510nymous_
++B 32000,8000,300,300,CONT_DIF_N,671nymous_
++B 33200,14000,300,300,CONT_DIF_P,725nymous_
++B 34400,13000,300,300,CONT_DIF_P,779nymous_
++B 36800,6000,300,300,CONT_VIA,833nymous_
++B 37000,36000,300,300,CONT_VIA,887nymous_
++B 4400,32000,300,300,CONT_VIA,941nymous_
++B 12400,27000,300,300,CONT_DIF_N,1175ymous_
++B 14000,32000,300,300,CONT_DIF_N,1209ymous_
++B 6000,28000,300,300,CONT_DIF_N,995nymous_
++B 7600,29000,300,300,CONT_VIA,1049ymous_
++B 17800,24400,300,300,CONT_DIF_N,1317ymous_
++B 1600,26400,300,300,CONT_BODY_P,1263ymous_
++B 22400,16000,300,300,CONT_BODY_N,403nymous_
++B 2800,23000,300,300,CONT_DIF_N,564nymous_
++B 9200,29000,300,300,CONT_DIF_N,1103ymous_
++B 10800,36000,300,300,CONT_DIF_N,1157ymous_
++B 26000,17000,300,300,CONT_VIA2,511nymous_
++B 25000,22800,300,300,CONT_DIF_P,457nymous_
++B 22400,8000,200,200,CONT_TURN1,355nymous_
++B 21200,10000,200,200,CONT_TURN1,354nymous_
++B 30400,36600,300,300,CONT_VIA2,618nymous_
++B 32000,13000,300,300,CONT_DIF_P,672nymous_
++B 33200,16000,300,300,CONT_BODY_N,726nymous_
++B 34400,13000,300,300,CONT_VIA,780nymous_
++B 36800,6000,300,300,CONT_VIA2,834nymous_
++B 37000,19200,300,300,CONT_BODY_N,888nymous_
++B 4400,32000,300,300,CONT_VIA2,942nymous_
++B 1600,27400,300,300,CONT_BODY_P,1264ymous_
++B 14000,33000,300,300,CONT_DIF_N,1210ymous_
++B 6000,29000,300,300,CONT_DIF_N,996nymous_
++B 7600,30000,300,300,CONT_DIF_N,1050ymous_
++B 17800,24400,300,300,CONT_VIA2,1318ymous_
++B 22400,17000,300,300,CONT_VIA,404nymous_
++B 2800,24000,300,300,CONT_DIF_N,565nymous_
++B 9200,30000,300,300,CONT_DIF_N,1104ymous_
++B 11600,6000,300,300,CONT_BODY_P,1158ymous_
++B 26000,19200,300,300,CONT_BODY_N,512nymous_
++B 25000,22800,300,300,CONT_VIA,458nymous_
++B 27200,16000,300,300,CONT_BODY_N,541nymous_
++B 30600,22000,300,300,CONT_DIF_P,619nymous_
++B 32000,16000,300,300,CONT_BODY_N,673nymous_
++B 34400,14000,300,300,CONT_DIF_P,781nymous_
++B 33200,17000,300,300,CONT_VIA,727nymous_
++B 36800,7000,300,300,CONT_BODY_P,835nymous_
++B 37200,37600,300,300,CONT_BODY_N,889nymous_
++B 4400,33000,300,300,CONT_DIF_N,943nymous_
++B 6000,30000,300,300,CONT_DIF_N,997nymous_
++B 1600,28400,300,300,CONT_BODY_P,1265ymous_
++B 14000,34000,300,300,CONT_DIF_N,1211ymous_
++B 7600,30000,300,300,CONT_VIA,1051ymous_
++B 9200,31000,300,300,CONT_DIF_N,1105ymous_
++B 17800,25600,300,300,CONT_DIF_N,1319ymous_
++B 25000,24000,300,300,CONT_DIF_P,459nymous_
++B 22400,17000,300,300,CONT_VIA2,405nymous_
++B 2800,25000,300,300,CONT_DIF_N,566nymous_
++B 30600,23000,300,300,CONT_DIF_P,620nymous_
++B 11600,6000,300,300,CONT_VIA,1159ymous_
++B 2600,37600,300,300,CONT_BODY_P,513nymous_
++B 32000,17000,300,300,CONT_VIA,674nymous_
++B 33200,17000,300,300,CONT_VIA2,728nymous_
++B 34400,14000,300,300,CONT_VIA,782nymous_
++B 36800,8000,300,300,CONT_BODY_P,836nymous_
++B 38000,27000,300,300,CONT_VIA2,890nymous_
++B 14000,35000,300,300,CONT_DIF_N,1212ymous_
++B 4400,33000,300,300,CONT_VIA,944nymous_
++B 6000,31000,300,300,CONT_DIF_N,998nymous_
++B 17800,25600,300,300,CONT_VIA,1320ymous_
++B 1600,29400,300,300,CONT_BODY_P,1266ymous_
++B 7600,30000,300,300,CONT_VIA2,1052ymous_
++B 9200,32000,300,300,CONT_DIF_N,1106ymous_
++B 25000,25200,300,300,CONT_DIF_P,460nymous_
++B 23000,20400,300,300,CONT_BODY_N,406nymous_
++B 2800,26000,300,300,CONT_DIF_N,567nymous_
++B 30600,24000,300,300,CONT_DIF_P,621nymous_
++B 11600,6000,300,300,CONT_VIA2,1160ymous_
++B 2600,19200,300,300,CONT_BODY_P,514nymous_
++B 32000,17000,300,300,CONT_VIA2,675nymous_
++B 33800,22000,300,300,CONT_DIF_P,729nymous_
++B 34400,16000,300,300,CONT_BODY_N,783nymous_
++B 36800,9000,300,300,CONT_BODY_P,837nymous_
++B 38000,28000,300,300,CONT_VIA2,891nymous_
++B 4400,34000,300,300,CONT_DIF_N,945nymous_
++B 14000,36000,300,300,CONT_DIF_N,1213ymous_
++B 6000,32000,300,300,CONT_DIF_N,999nymous_
++B 7600,31000,300,300,CONT_DIF_N,1053ymous_
++B 17800,25600,300,300,CONT_VIA2,1321ymous_
++B 1600,30400,300,300,CONT_BODY_P,1267ymous_
++B 23000,21400,300,300,CONT_BODY_N,407nymous_
++B 2800,27000,300,300,CONT_DIF_N,568nymous_
++B 9200,33000,300,300,CONT_DIF_N,1107ymous_
++B 11600,8000,300,300,CONT_DIF_N,1161ymous_
++B 27000,20400,300,300,CONT_DIF_P,515nymous_
++B 25000,26400,300,300,CONT_DIF_P,461nymous_
++B 30600,25000,300,300,CONT_DIF_P,622nymous_
++B 32000,19200,300,300,CONT_BODY_N,676nymous_
++B 33800,22000,300,300,CONT_VIA,730nymous_
++B 34800,20200,300,300,CONT_POLY,784nymous_
++B 36800,9000,300,300,CONT_VIA2,838nymous_
++B 38000,29000,300,300,CONT_VIA2,892nymous_
++B 4400,34000,300,300,CONT_VIA,946nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/piot_mpx.vbe b/alliance/src/cells/src/mpxlib/piot_mpx.vbe
+new file mode 100644
+index 0000000..2723794
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/piot_mpx.vbe
+@@ -0,0 +1,44 @@
++ENTITY piot_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT rup : NATURAL := 402;
++ CONSTANT rdown : NATURAL := 0
++ );
++ PORT (
++ i : in BIT;
++ b : in BIT;
++ t : out BIT;
++ pad : inout MUX_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END piot_mpx;
++
++ARCHITECTURE behaviour_data_flow OF piot_mpx IS
++ SIGNAL b1 : BIT;
++ SIGNAL b2 : BIT;
++ SIGNAL b3 : BIT;
++ SIGNAL b4 : BIT;
++ SIGNAL b5 : BIT;
++ SIGNAL b6 : BIT;
++
++BEGIN
++ b6 <= b5;
++ b5 <= b4;
++ b4 <= b3;
++ b3 <= b2;
++ b2 <= b1;
++ b1 <= b;
++ label0 : BLOCK (b6 = '1')
++ BEGIN
++ pad <= GUARDED i;
++ END BLOCK label0;
++ t <= pad;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on piot_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/po_mpx.ap b/alliance/src/cells/src/mpxlib/po_mpx.ap
+new file mode 100644
+index 0000000..ffb3150
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/po_mpx.ap
+@@ -0,0 +1,1536 @@
++V ALLIANCE : 6
++H po_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 27800,11800,28200,11800,200,i,RIGHT,POLY
++S 28000,0,28000,0,400,i,RIGHT,CALU4
++S 28000,0,28000,0,400,i,RIGHT,CALU5
++S 28000,-300,28000,10900,400,i,UP,ALU2
++S 28800,9000,29000,9000,200,i,RIGHT,POLY
++S 20000,48100,20000,71900,24400,pad,UP,CALU1
++S 28600,25800,29000,25800,600,pad,RIGHT,POLY
++S 28600,30600,29000,30600,600,pad,RIGHT,POLY
++S 28600,31800,29000,31800,600,pad,RIGHT,POLY
++S 28600,33000,29000,33000,600,pad,RIGHT,POLY
++S 29000,25900,29000,34900,400,pad,UP,ALU1
++S 29000,35100,29000,39700,400,pad,UP,ALU1
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 25100,26400,27900,26400,400,vdde,RIGHT,ALU1
++S 25100,21600,27900,21600,400,vdde,RIGHT,ALU1
++S 6800,22200,8400,22200,200,vdde,RIGHT,POLY
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 16800,33400,17200,33400,200,vdde,RIGHT,POLY
++S 3600,22200,5200,22200,200,vdde,RIGHT,POLY
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 10500,21800,14300,21800,400,vdde,RIGHT,ALU2
++S 16800,29900,16800,38300,400,vdde,UP,ALU2
++S 16800,32200,17200,32200,200,vdde,RIGHT,POLY
++S 16800,35800,17200,35800,200,vdde,RIGHT,POLY
++S 24000,34200,24400,34200,600,vdde,RIGHT,POLY
++S 24000,35800,24400,35800,600,vdde,RIGHT,POLY
++S 25100,24000,27900,24000,400,vdde,RIGHT,ALU1
++S 25100,28800,27900,28800,400,vdde,RIGHT,ALU1
++S 16800,34600,17200,34600,200,vdde,RIGHT,POLY
++S 20000,9600,20000,11000,200,vddi,UP,POLY
++S 3100,16000,36900,16000,2400,vddi,RIGHT,ALU1
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 20800,22900,20800,37100,400,vsse,UP,ALU1
++S 30400,36400,30400,36600,200,vsse,UP,POLY
++S 4400,22900,4400,37500,400,vsse,UP,ALU1
++S 7600,22900,7600,37500,400,vsse,UP,ALU1
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 17800,22900,17800,31900,400,vsse,UP,ALU2
++S 3100,6000,36900,6000,2400,vssi,RIGHT,ALU1
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 29600,9800,29600,11400,200,248nymous_,UP,POLY
++S 14600,11100,14600,13100,200,p17c,UP,PTRANS
++S 14800,22500,14800,36700,200,n15d,UP,NTRANS
++S 6200,10900,6200,14900,200,p18b,UP,PTRANS
++S 30800,8100,30800,12900,400,cnbb,UP,ALU1
++S 30800,10600,33800,10600,200,cnbb,RIGHT,POLY
++S 6800,22500,6800,36700,200,n14c,UP,NTRANS
++S 35000,7300,35000,8300,200,n5b,UP,NTRANS
++S 35000,12700,35000,14700,200,p5b,UP,PTRANS
++S 27800,12500,27800,14500,200,p1,UP,PTRANS
++S 18800,8500,18800,9100,420,13onymous_,UP,NDIF
++S 18800,9100,18800,9900,400,12onymous_,UP,ALU1
++S 16800,23200,16800,25400,600,52onymous_,UP,POLY
++S 16800,24100,16800,29500,400,51onymous_,UP,ALU2
++S 16800,20900,16800,24700,400,53onymous_,UP,ALU2
++S 18500,17000,20300,17000,400,11onymous_,RIGHT,ALU2
++S 17500,22600,19100,22600,200,n6d,RIGHT,NTRANS
++S 26000,6100,26000,7900,400,285nymous_,UP,ALU1
++S 26000,30900,26000,37100,400,286nymous_,UP,ALU2
++S 12400,22700,12400,36500,620,93onymous_,UP,NDIF
++S 19800,32900,19800,35100,400,10onymous_,UP,ALU1
++S 38200,19300,38200,37500,400,169nymous_,UP,ALU1
++S 32200,21100,32200,36500,620,211nymous_,UP,PDIF
++S 32200,21300,32200,39700,400,210nymous_,UP,ALU1
++S 23000,19300,23000,37500,400,321nymous_,UP,ALU1
++S 12400,18500,12400,22100,2400,92onymous_,UP,ALU2
++S 23000,19080,23000,37920,600,320nymous_,UP,NTIE
++S 9200,7500,9200,9100,620,127nymous_,UP,NDIF
++S 12800,7500,12800,9100,620,91onymous_,UP,NDIF
++S 23100,19200,38100,19200,400,319nymous_,RIGHT,ALU1
++S 8900,10000,26300,10000,2400,126nymous_,RIGHT,ALU2
++S 22880,19200,38320,19200,600,318nymous_,RIGHT,NTIE
++S 29600,7100,29600,8100,620,249nymous_,UP,NDIF
++S 12400,20700,12400,36300,400,94onymous_,UP,ALU1
++S 8900,6000,26300,6000,400,130nymous_,RIGHT,ALU2
++S 9200,6100,9200,7900,400,129nymous_,UP,ALU1
++S 23000,11700,23000,17300,2000,322nymous_,UP,ALU2
++S 25100,35000,29100,35000,400,290nymous_,RIGHT,ALU1
++S 9200,5700,9200,11300,400,128nymous_,UP,ALU2
++S 25400,8600,25400,12400,200,289nymous_,UP,POLY
++S 29480,37600,38520,37600,600,250nymous_,RIGHT,NTIE
++S 26000,21300,26000,24300,400,288nymous_,UP,ALU2
++S 26000,23700,26000,29100,400,287nymous_,UP,ALU2
++S 31400,35300,31400,36100,200,p11,UP,PTRANS
++S 17900,36400,18700,36400,400,17onymous_,RIGHT,ALU1
++S 1800,17700,1800,38300,1600,16onymous_,UP,ALU2
++S 16800,20300,16800,23300,400,55onymous_,UP,ALU1
++S 3200,11100,3200,15900,400,215nymous_,UP,ALU1
++S 36800,10880,36800,16120,600,173nymous_,UP,NTIE
++S 16500,21200,25300,21200,400,54onymous_,RIGHT,ALU2
++S 3200,10880,3200,16120,600,214nymous_,UP,NTIE
++S 37000,21100,37000,36500,620,172nymous_,UP,PDIF
++S 22400,8500,22400,9100,620,325nymous_,UP,NDIF
++S 2900,15400,19300,15400,1200,213nymous_,RIGHT,ALU2
++S 37000,17700,37000,38300,2400,170nymous_,UP,ALU2
++S 23100,37600,27700,37600,400,323nymous_,RIGHT,ALU1
++S 2900,17000,19100,17000,400,212nymous_,RIGHT,ALU2
++S 22100,17000,23700,17000,400,324nymous_,RIGHT,ALU2
++S 37000,21300,37000,36300,400,171nymous_,UP,ALU1
++S 16500,20200,24300,20200,400,56onymous_,RIGHT,ALU2
++S 16400,12100,16400,15900,400,57onymous_,UP,ALU1
++S 16400,11300,16400,12900,620,58onymous_,UP,PDIF
++S 18400,10100,18400,12700,400,14onymous_,UP,ALU1
++S 18200,9600,21800,9600,200,15onymous_,RIGHT,POLY
++S 31400,20900,31400,34300,200,p14a,UP,PTRANS
++S 16400,7500,16400,9100,620,59onymous_,UP,NDIF
++S 36800,5880,36800,8720,600,177nymous_,UP,PTIE
++S 24900,36400,28100,36400,620,294nymous_,RIGHT,PDIF
++S 36800,6100,36800,9100,400,176nymous_,UP,ALU1
++S 22000,17900,22000,19500,400,329nymous_,UP,ALU2
++S 24800,7500,24800,8100,620,293nymous_,UP,NDIF
++S 2900,6000,7100,6000,400,217nymous_,RIGHT,ALU2
++S 900,37000,8900,37000,2400,97onymous_,RIGHT,ALU2
++S 36800,6900,36800,17300,400,175nymous_,UP,ALU2
++S 21700,18200,25100,18200,400,328nymous_,RIGHT,ALU2
++S 24800,8100,24800,13900,400,292nymous_,UP,ALU1
++S 2900,10000,6300,10000,2400,216nymous_,RIGHT,ALU2
++S 36800,11100,36800,15900,400,174nymous_,UP,ALU1
++S 9200,22700,9200,36500,620,131nymous_,UP,NDIF
++S 9200,20700,9200,36300,400,132nymous_,UP,ALU1
++S 12200,9600,12200,10800,200,95onymous_,UP,POLY
++S 22400,8100,22400,8500,400,326nymous_,UP,ALU1
++S 8600,9600,8600,10600,200,133nymous_,UP,POLY
++S 22000,19300,22000,22100,400,327nymous_,UP,ALU1
++S 900,19000,9300,19000,2400,96onymous_,RIGHT,ALU2
++S 16400,6100,16400,8900,400,60onymous_,UP,ALU1
++S 16400,29900,16400,32300,400,61onymous_,UP,ALU2
++S 24800,13100,24800,14500,620,291nymous_,UP,PDIF
++S 28700,18200,34700,18200,400,253nymous_,RIGHT,ALU2
++S 29000,18300,29000,19500,400,252nymous_,UP,ALU2
++S 29300,37000,31900,37000,2400,251nymous_,RIGHT,ALU2
++S 7400,7300,7400,9300,200,n18c,UP,NTRANS
++S 7400,10900,7400,14900,200,p18c,UP,PTRANS
++S 20000,8500,20000,9100,620,pad2,UP,NDIF
++S 2700,20600,15700,20600,400,pad2,RIGHT,ALU1
++S 2900,20600,15500,20600,400,pad2,RIGHT,ALU1
++S 17900,31600,18700,31600,400,19onymous_,RIGHT,ALU1
++S 17900,34000,18700,34000,400,18onymous_,RIGHT,ALU1
++S 1600,19080,1600,37720,600,62onymous_,UP,PTIE
++S 21200,9100,21200,9900,400,331nymous_,UP,ALU1
++S 3200,5880,3200,8720,600,220nymous_,UP,PTIE
++S 8000,8100,8000,8900,400,136nymous_,UP,ALU1
++S 36700,37600,38100,37600,400,178nymous_,RIGHT,ALU1
++S 11600,7500,11600,9100,420,100nymous_,UP,NDIF
++S 24900,35000,28100,35000,820,295nymous_,RIGHT,PDIF
++S 3200,6100,3200,9100,400,219nymous_,UP,ALU1
++S 8000,11100,8000,13700,400,135nymous_,UP,ALU1
++S 11600,11100,11600,14700,620,99onymous_,UP,PDIF
++S 22000,21900,22000,28500,400,330nymous_,UP,ALU2
++S 3200,5700,3200,16100,400,218nymous_,UP,ALU2
++S 8000,11100,8000,14700,620,134nymous_,UP,PDIF
++S 11600,11900,11600,15900,400,98onymous_,UP,ALU1
++S 29000,8600,29000,9000,200,256nymous_,UP,POLY
++S 29000,11400,29000,12200,200,255nymous_,UP,POLY
++S 28700,24600,30300,24600,400,257nymous_,RIGHT,ALU2
++S 11600,6100,11600,8900,400,101nymous_,UP,ALU1
++S 8000,7500,8000,9100,420,137nymous_,UP,NDIF
++S 21200,8500,21200,9100,420,332nymous_,UP,NDIF
++S 3480,16000,36920,16000,600,179nymous_,RIGHT,NTIE
++S 20800,19080,20800,37720,600,333nymous_,UP,PTIE
++S 3600,22200,5200,22200,200,180nymous_,RIGHT,POLY
++S 1600,19300,1600,37500,400,63onymous_,UP,ALU1
++S 3600,22500,3600,36700,200,n14a,UP,NTRANS
++S 20600,8300,20600,9300,200,n16c,UP,NTRANS
++S 1480,19200,20920,19200,600,64onymous_,RIGHT,PTIE
++S 1700,19200,20700,19200,400,65onymous_,RIGHT,ALU1
++S 17900,30400,18700,30400,400,20onymous_,RIGHT,ALU1
++S 15800,11100,15800,13100,200,p17d,UP,PTRANS
++S 17900,28000,18700,28000,400,21onymous_,RIGHT,ALU1
++S 15800,7300,15800,9300,200,n17d,UP,NTRANS
++S 29000,11400,32600,11400,200,254nymous_,RIGHT,POLY
++S 32000,12900,32000,14500,620,221nymous_,UP,PDIF
++S 24900,32400,28100,32400,420,297nymous_,RIGHT,PDIF
++S 11600,22500,11600,36700,200,n15b,UP,NTRANS
++S 32000,8100,32000,12900,400,222nymous_,UP,ALU1
++S 7600,22700,7600,38300,2400,138nymous_,UP,ALU2
++S 24900,31200,28100,31200,420,298nymous_,RIGHT,PDIF
++S 11000,10900,11000,14900,200,p18f,UP,PTRANS
++S 7600,22900,7600,37500,400,139nymous_,UP,ALU1
++S 24900,30000,28100,30000,420,299nymous_,RIGHT,PDIF
++S 20800,19300,20800,37500,400,334nymous_,UP,ALU1
++S 11000,9600,11000,10600,200,102nymous_,UP,POLY
++S 7600,22700,7600,36500,620,140nymous_,UP,NDIF
++S 11000,7300,11000,9300,200,n18f,UP,NTRANS
++S 36000,20200,36000,20600,600,181nymous_,UP,POLY
++S 7300,21800,10100,21800,400,141nymous_,RIGHT,ALU2
++S 20000,12700,20000,17300,400,335nymous_,UP,ALU2
++S 10800,22900,10800,39700,400,103nymous_,UP,ALU1
++S 35300,17000,37100,17000,400,182nymous_,RIGHT,ALU2
++S 20000,11100,20000,15900,400,336nymous_,UP,ALU1
++S 1700,37600,9500,37600,400,66onymous_,RIGHT,ALU1
++S 35600,13100,35600,15900,400,183nymous_,UP,ALU1
++S 20000,6300,20000,8500,400,337nymous_,UP,ALU1
++S 15800,9600,15800,10800,200,67onymous_,UP,POLY
++S 17900,26800,18700,26800,400,22onymous_,RIGHT,ALU1
++S 25000,20100,25000,23100,400,cn,UP,ALU2
++S 25100,20400,27900,20400,400,cn,RIGHT,ALU1
++S 25100,22800,27900,22800,400,cn,RIGHT,ALU1
++S 4100,21800,7900,21800,400,cn,RIGHT,ALU2
++S 10000,22200,11600,22200,200,cn,RIGHT,POLY
++S 13200,22200,14800,22200,200,cn,RIGHT,POLY
++S 25100,25200,27900,25200,400,fbul,RIGHT,ALU1
++S 25100,37000,27900,37000,1600,fbul,RIGHT,ALU1
++S 36200,20900,36200,36700,200,p14d,UP,PTRANS
++S 28400,14100,28400,15900,400,258nymous_,UP,ALU1
++S 24900,33600,28100,33600,420,296nymous_,RIGHT,PDIF
++S 17900,25600,18700,25600,400,23onymous_,RIGHT,ALU1
++S 17900,24400,18700,24400,400,24onymous_,RIGHT,ALU1
++S 17900,23200,18700,23200,400,25onymous_,RIGHT,ALU1
++S 25100,31200,27900,31200,400,node_cp,RIGHT,ALU1
++S 25100,33600,27900,33600,400,node_cp,RIGHT,ALU1
++S 28000,24300,28000,31500,400,node_cp,UP,ALU2
++S 27700,24600,29300,24600,400,node_cp,RIGHT,ALU2
++S 28600,24600,29000,24600,600,node_cp,RIGHT,POLY
++S 31400,20600,33000,20600,200,node_cp,RIGHT,POLY
++S 34600,20600,36200,20600,200,node_cp,RIGHT,POLY
++S 17900,32800,19700,32800,400,node_cp,RIGHT,ALU1
++S 17900,35200,19700,35200,400,node_cp,RIGHT,ALU1
++S 19500,36800,26300,36800,400,node_cp,RIGHT,ALU2
++S 20000,40100,20000,59900,4400,338nymous_,UP,ALU1
++S 35600,7500,35600,8100,620,185nymous_,UP,NDIF
++S 7400,9600,7400,10600,200,143nymous_,UP,POLY
++S 35600,12900,35600,14500,620,184nymous_,UP,PDIF
++S 10800,21800,10800,22200,600,105nymous_,UP,POLY
++S 24900,25200,28100,25200,420,303nymous_,RIGHT,PDIF
++S 10800,22700,10800,36500,620,104nymous_,UP,NDIF
++S 7600,21800,7600,22200,600,142nymous_,UP,POLY
++S 24900,26400,28100,26400,420,302nymous_,RIGHT,PDIF
++S 31800,12000,31800,12200,200,226nymous_,UP,POLY
++S 24900,27600,28100,27600,420,301nymous_,RIGHT,PDIF
++S 31700,6000,37100,6000,400,225nymous_,RIGHT,ALU2
++S 24900,28800,28100,28800,420,300nymous_,RIGHT,PDIF
++S 32000,7500,32000,8100,620,224nymous_,UP,NDIF
++S 28300,9000,28700,9000,400,262nymous_,RIGHT,ALU1
++S 31700,7600,37100,7600,1200,223nymous_,RIGHT,ALU2
++S 28400,7500,28400,8100,620,261nymous_,UP,NDIF
++S 28500,8000,30700,8000,400,260nymous_,RIGHT,ALU1
++S 29000,7300,29000,8300,200,n1,UP,NTRANS
++S 25000,27300,25000,32700,400,cpd,UP,ALU2
++S 25100,27600,27900,27600,400,cpd,RIGHT,ALU1
++S 25100,30000,27900,30000,400,cpd,RIGHT,ALU1
++S 25100,32400,27900,32400,400,cpd,RIGHT,ALU1
++S 18800,21900,18800,36700,400,cpd,UP,ALU2
++S 18500,31600,25300,31600,400,cpd,RIGHT,ALU2
++S 21800,8300,21800,9300,200,n16d,UP,NTRANS
++S 28400,12700,28400,14300,620,259nymous_,UP,PDIF
++S 7000,6900,7000,14300,400,144nymous_,UP,ALU2
++S 35600,6100,35600,7900,400,186nymous_,UP,ALU1
++S 25700,15400,28900,15400,1200,339nymous_,RIGHT,ALU2
++S 35100,13000,37100,13000,2400,187nymous_,RIGHT,ALU2
++S 6800,12100,6800,15900,400,145nymous_,UP,ALU1
++S 26700,13000,33700,13000,2400,340nymous_,RIGHT,ALU2
++S 17900,22000,18700,22000,400,26onymous_,RIGHT,ALU1
++S 17700,12800,18300,12800,400,27onymous_,RIGHT,ALU1
++S 17600,12500,17600,12900,620,28onymous_,UP,PDIF
++S 29000,12500,29000,14500,200,p2,UP,PTRANS
++S 25400,7300,25400,8300,200,n4b,UP,NTRANS
++S 24900,22800,28100,22800,420,305nymous_,RIGHT,PDIF
++S 10700,39600,35500,39600,2400,106nymous_,RIGHT,ALU1
++S 24900,24000,28100,24000,420,304nymous_,RIGHT,PDIF
++S 31600,20200,31600,20600,600,227nymous_,UP,POLY
++S 2800,22700,2800,36500,620,265nymous_,UP,NDIF
++S 2200,13600,37800,13600,6800,264nymous_,RIGHT,NWELL
++S 28200,9100,28200,11700,400,263nymous_,UP,ALU1
++S 12200,7300,12200,9300,200,n17a,UP,NTRANS
++S 8600,10900,8600,14900,200,p18d,UP,PTRANS
++S 24000,27000,24400,27000,600,cpb,RIGHT,POLY
++S 24000,28200,24400,28200,600,cpb,RIGHT,POLY
++S 24800,12700,24800,18500,400,cpb,UP,ALU2
++S 19400,22600,19800,22600,200,cpb,RIGHT,POLY
++S 19400,26200,19800,26200,200,cpb,RIGHT,POLY
++S 24000,29200,24400,29200,600,cpb,RIGHT,POLY
++S 19400,27400,19800,27400,200,cpb,RIGHT,POLY
++S 19400,31000,19800,31000,200,cpb,RIGHT,POLY
++S 19800,22700,19800,30900,400,cpb,UP,ALU1
++S 19500,28200,24300,28200,400,cpb,RIGHT,ALU2
++S 8600,7300,8600,9300,200,n18d,UP,NTRANS
++S 8400,22500,8400,36700,200,n14d,UP,NTRANS
++S 10400,11100,10400,14700,620,107nymous_,UP,PDIF
++S 24900,21600,28100,21600,420,306nymous_,RIGHT,PDIF
++S 15800,23700,15800,32300,400,68onymous_,UP,ALU2
++S 24900,20400,28100,20400,620,307nymous_,RIGHT,PDIF
++S 35400,21300,35400,39700,400,188nymous_,UP,ALU1
++S 6800,11100,6800,14700,620,146nymous_,UP,PDIF
++S 35400,21100,35400,36500,620,189nymous_,UP,PDIF
++S 6900,10000,12700,10000,400,147nymous_,RIGHT,ALU1
++S 6800,7500,6800,9100,620,148nymous_,UP,NDIF
++S 6800,6100,6800,7900,400,149nymous_,UP,ALU1
++S 34800,20200,34800,20600,600,190nymous_,UP,POLY
++S 17600,8500,17600,9100,620,29onymous_,UP,NDIF
++S 17600,8100,17600,8500,400,30onymous_,UP,ALU1
++S 17700,8000,22300,8000,400,31onymous_,RIGHT,ALU1
++S 32600,7300,32600,8300,200,n0,UP,NTRANS
++S 25400,12700,25400,14700,200,p4b,UP,PTRANS
++S 2800,20500,2800,36300,400,266nymous_,UP,ALU1
++S 31400,19100,31400,28300,400,228nymous_,UP,ALU2
++S 18200,8300,18200,9300,200,n16a,UP,NTRANS
++S 12200,11100,12200,13100,200,p17a,UP,PTRANS
++S 12200,10000,16400,10000,600,nnt,RIGHT,POLY
++S 10400,11100,10400,13700,400,108nymous_,UP,ALU1
++S 30700,10000,36100,10000,2400,229nymous_,RIGHT,ALU2
++S 15600,22700,15600,36500,620,69onymous_,UP,NDIF
++S 10400,8100,10400,8900,400,109nymous_,UP,ALU1
++S 30700,6000,32300,6000,400,230nymous_,RIGHT,ALU2
++S 15600,20700,15600,36300,400,70onymous_,UP,ALU1
++S 10100,7600,27300,7600,1200,110nymous_,RIGHT,ALU2
++S 34400,13100,34400,14500,620,191nymous_,UP,PDIF
++S 6200,9600,6200,10600,200,150nymous_,UP,POLY
++S 17700,36400,18900,36400,620,32onymous_,RIGHT,NDIF
++S 34400,8100,34400,13900,400,192nymous_,UP,ALU1
++S 17700,22000,18900,22000,620,44onymous_,RIGHT,NDIF
++S 17700,35200,18900,35200,620,33onymous_,RIGHT,NDIF
++S 6000,22700,6000,36500,620,151nymous_,UP,NDIF
++S 34400,7500,34400,8100,620,193nymous_,UP,NDIF
++S 17400,11800,17400,12000,200,45onymous_,UP,POLY
++S 17700,34000,18900,34000,620,34onymous_,RIGHT,NDIF
++S 3280,6000,28520,6000,600,194nymous_,RIGHT,PTIE
++S 25400,10600,27200,10600,200,cpbb,RIGHT,POLY
++S 27200,8100,27200,12900,400,cpbb,UP,ALU1
++S 24200,12400,25400,12400,200,308nymous_,RIGHT,POLY
++S 24200,8600,25400,8600,200,309nymous_,RIGHT,POLY
++S 24000,18900,24000,20500,400,310nymous_,UP,ALU2
++S 24000,33900,24000,36100,400,311nymous_,UP,ALU2
++S 16800,28200,16800,29800,600,48onymous_,UP,POLY
++S 16900,29200,18700,29200,400,47onymous_,RIGHT,ALU1
++S 32600,12700,32600,14700,200,p0,UP,PTRANS
++S 33000,20900,33000,36700,200,p14b,UP,PTRANS
++S 23600,13100,23600,15900,400,313nymous_,UP,ALU1
++S 24000,27100,24000,29100,400,312nymous_,UP,ALU1
++S 31000,5700,31000,11300,400,231nymous_,UP,ALU2
++S 15200,11300,15200,12900,620,71onymous_,UP,PDIF
++S 10400,7500,10400,9100,420,111nymous_,UP,NDIF
++S 30800,13100,30800,13900,400,232nymous_,UP,ALU1
++S 27800,11800,27800,12400,200,268nymous_,UP,POLY
++S 15200,11100,15200,12500,400,72onymous_,UP,ALU1
++S 700,34000,16100,34000,2400,112nymous_,RIGHT,ALU2
++S 30800,12700,30800,14300,620,233nymous_,UP,PDIF
++S 15200,8100,15200,8900,400,73onymous_,UP,ALU1
++S 27800,9800,32600,9800,200,269nymous_,RIGHT,POLY
++S 27800,8600,27800,9800,200,270nymous_,UP,POLY
++S 30800,7500,30800,8100,620,234nymous_,UP,NDIF
++S 700,31000,8900,31000,2400,113nymous_,RIGHT,ALU2
++S 6000,20700,6000,36300,400,152nymous_,UP,ALU1
++S 700,28000,15100,28000,2400,114nymous_,RIGHT,ALU2
++S 17400,11100,17400,11700,400,46onymous_,UP,ALU1
++S 17700,32800,18900,32800,620,35onymous_,RIGHT,NDIF
++S 34000,18200,34000,38200,10400,195nymous_,UP,NWELL
++S 17700,31600,18900,31600,620,36onymous_,RIGHT,NDIF
++S 33800,19100,33800,38300,2400,196nymous_,UP,ALU2
++S 17700,30400,18900,30400,620,37onymous_,RIGHT,NDIF
++S 33800,12400,35000,12400,200,197nymous_,RIGHT,POLY
++S 17700,25600,18900,25600,620,41onymous_,RIGHT,NDIF
++S 24200,7300,24200,8300,200,n4a,UP,NTRANS
++S 33800,8600,33800,12400,200,199nymous_,UP,POLY
++S 17700,26800,18900,26800,620,40onymous_,RIGHT,NDIF
++S 16800,25500,16800,28100,400,49onymous_,UP,ALU1
++S 23700,19200,29300,19200,400,cnb,RIGHT,ALU2
++S 28600,21000,29000,21000,600,cnb,RIGHT,POLY
++S 28600,22200,29000,22200,600,cnb,RIGHT,POLY
++S 28600,23400,29000,23400,600,cnb,RIGHT,POLY
++S 29000,17900,29000,23700,400,cnb,UP,ALU2
++S 34400,12700,34400,18500,400,cnb,UP,ALU2
++S 16800,23800,17200,23800,200,cnb,RIGHT,POLY
++S 16800,25000,17200,25000,200,cnb,RIGHT,POLY
++S 16800,28600,17200,28600,200,cnb,RIGHT,POLY
++S 16800,29800,17200,29800,200,cnb,RIGHT,POLY
++S 23600,7500,23600,8100,620,315nymous_,UP,NDIF
++S 17000,12300,17000,13100,200,p16,UP,PTRANS
++S 23600,12900,23600,14500,620,314nymous_,UP,PDIF
++S 33800,21300,33800,36300,400,200nymous_,UP,ALU1
++S 19400,8300,19400,9300,200,n16b,UP,NTRANS
++S 15200,7500,15200,9100,620,74onymous_,UP,NDIF
++S 15300,37600,20700,37600,400,75onymous_,RIGHT,ALU1
++S 30680,6000,37120,6000,600,235nymous_,RIGHT,PTIE
++S 27300,13000,29500,13000,400,271nymous_,RIGHT,ALU1
++S 30600,36400,31400,36400,200,236nymous_,RIGHT,POLY
++S 27200,13100,27200,13900,400,272nymous_,UP,ALU1
++S 14600,9600,14600,10800,200,76onymous_,UP,POLY
++S 30600,26700,30600,35300,2400,237nymous_,UP,ALU2
++S 27200,12700,27200,14300,620,273nymous_,UP,PDIF
++S 30600,21300,30600,35500,400,238nymous_,UP,ALU1
++S 1280,37600,21120,37600,600,77onymous_,RIGHT,PTIE
++S 5700,11000,10300,11000,400,153nymous_,RIGHT,ALU1
++S 700,25000,8900,25000,2400,115nymous_,RIGHT,ALU2
++S 5600,11100,5600,14700,620,154nymous_,UP,PDIF
++S 5700,9000,10300,9000,400,155nymous_,RIGHT,ALU1
++S 17700,29200,18900,29200,620,38onymous_,RIGHT,NDIF
++S 17700,28000,18900,28000,620,39onymous_,RIGHT,NDIF
++S 5600,7500,5600,9100,420,156nymous_,UP,NDIF
++S 33800,8600,35000,8600,200,198nymous_,RIGHT,POLY
++S 5000,9600,5000,10600,200,157nymous_,UP,POLY
++S 17700,24400,18900,24400,620,42onymous_,RIGHT,NDIF
++S 33800,7300,33800,8300,200,n5a,UP,NTRANS
++S 30200,12000,30200,12200,200,241nymous_,UP,POLY
++S 10000,22200,11600,22200,200,117nymous_,RIGHT,POLY
++S 14000,7500,14000,9100,620,81onymous_,UP,NDIF
++S 24200,12700,24200,14700,200,p4a,UP,PTRANS
++S 14100,10000,21100,10000,400,80onymous_,RIGHT,ALU1
++S 9700,19000,14900,19000,2400,116nymous_,RIGHT,ALU2
++S 14000,11300,14000,12900,620,79onymous_,UP,PDIF
++S 24700,21000,28300,21000,200,p7c,RIGHT,PTRANS
++S 14000,12100,14000,15900,400,78onymous_,UP,ALU1
++S 30400,36400,30400,36600,200,240nymous_,UP,POLY
++S 24700,22200,28300,22200,200,p7b,RIGHT,PTRANS
++S 30600,21100,30600,35900,620,239nymous_,UP,PDIF
++S 27200,7500,27200,8100,620,274nymous_,UP,NDIF
++S 17700,23200,18900,23200,620,43onymous_,RIGHT,NDIF
++S 30200,7300,30200,8300,200,n3,UP,NTRANS
++S 33800,21100,33800,36500,620,201nymous_,UP,PDIF
++S 5000,7300,5000,9300,200,n18a,UP,NTRANS
++S 13400,11100,13400,13100,200,p17b,UP,PTRANS
++S 17500,25000,19100,25000,200,n7c,RIGHT,NTRANS
++S 4100,13000,20300,13000,2400,158nymous_,RIGHT,ALU2
++S 33400,11700,33400,17300,400,202nymous_,UP,ALU2
++S 17500,23800,19100,23800,200,n7d,RIGHT,NTRANS
++S 4400,11900,4400,15900,400,159nymous_,UP,ALU1
++S 13400,7300,13400,9300,200,n17b,UP,NTRANS
++S 5000,10000,11000,10000,600,nt,RIGHT,POLY
++S 17000,12000,17400,12000,200,nt,RIGHT,POLY
++S 13200,22500,13200,36700,200,n15c,UP,NTRANS
++S 16900,24400,17700,24400,400,50onymous_,RIGHT,ALU1
++S 17500,28600,19100,28600,200,n7b,RIGHT,NTRANS
++S 14000,22900,14000,39700,400,83onymous_,UP,ALU1
++S 5000,10900,5000,14900,200,p18a,UP,PTRANS
++S 30200,8600,30200,9000,200,242nymous_,UP,POLY
++S 10000,22500,10000,36700,200,n15a,UP,NTRANS
++S 17500,29800,19100,29800,200,n7a,RIGHT,NTRANS
++S 5200,22500,5200,36700,200,n14b,UP,NTRANS
++S 14000,6100,14000,7900,400,82onymous_,UP,ALU1
++S 30200,9000,31800,9000,200,eb,RIGHT,POLY
++S 30200,12000,31800,12000,200,eb,RIGHT,POLY
++S 33800,12700,33800,14700,200,p5a,UP,PTRANS
++S 26400,18600,26400,38600,8400,277nymous_,UP,NWELL
++S 5600,8100,5600,13700,400,1.nq,UP,ALU1
++S 30200,12500,30200,14500,200,p3,UP,PTRANS
++S 27000,24900,27000,36700,400,276nymous_,UP,ALU2
++S 27000,6900,27000,14300,400,275nymous_,UP,ALU2
++S 24700,23400,28300,23400,200,p7a,RIGHT,PTRANS
++S 24700,24600,28300,24600,200,p10,RIGHT,PTRANS
++S 24700,25800,28300,25800,200,p13,RIGHT,PTRANS
++S 24700,27000,28300,27000,200,p6c,RIGHT,PTRANS
++S 14000,22700,14000,36500,620,84onymous_,UP,NDIF
++S 17500,27400,19100,27400,200,n6b,RIGHT,NTRANS
++S 9800,10900,9800,14900,200,p18e,UP,PTRANS
++S 17500,26200,19100,26200,200,n6c,RIGHT,NTRANS
++S 9800,9600,9800,10600,200,118nymous_,UP,POLY
++S 34600,200,34600,2000,11000,0nonymous_,UP,TALU3
++S 9800,7300,9800,9300,200,n18e,UP,NTRANS
++S 33200,13100,33200,15900,400,203nymous_,UP,ALU1
++S 13400,200,13400,2000,27000,1nonymous_,UP,TALU3
++S 4400,11100,4400,14700,620,160nymous_,UP,PDIF
++S 34600,200,34600,12000,11000,2nonymous_,UP,TALU5
++S 4400,7500,4400,9100,620,161nymous_,UP,NDIF
++S 4400,6100,4400,8900,400,162nymous_,UP,ALU1
++S 26000,13700,26000,16100,400,280nymous_,UP,ALU2
++S 25700,17000,33500,17000,400,279nymous_,RIGHT,ALU2
++S 17500,31000,19100,31000,200,n6a,RIGHT,NTRANS
++S 2700,20200,15700,20200,400,278nymous_,RIGHT,ALU1
++S 17500,32200,19100,32200,200,n8d,RIGHT,NTRANS
++S 17500,33400,19100,33400,200,n8c,RIGHT,NTRANS
++S 17500,34600,19100,34600,200,n8b,RIGHT,NTRANS
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 24700,28200,28300,28200,200,p6b,RIGHT,PTRANS
++S 24700,29400,28300,29400,200,p6a,RIGHT,PTRANS
++S 24700,30600,28300,30600,200,p8c,RIGHT,PTRANS
++S 26000,13100,26000,15900,400,281nymous_,UP,ALU1
++S 30100,20200,35900,20200,400,243nymous_,RIGHT,ALU1
++S 14000,21800,14000,22200,600,85onymous_,UP,POLY
++S 30000,19900,30000,24900,400,244nymous_,UP,ALU2
++S 13400,9600,13400,10800,200,86onymous_,UP,POLY
++S 9500,37000,17100,37000,2400,119nymous_,RIGHT,ALU2
++S 29600,13100,29600,13900,400,245nymous_,UP,ALU1
++S 33200,12900,33200,14500,620,204nymous_,UP,PDIF
++S 9500,22800,17100,22800,400,120nymous_,RIGHT,ALU2
++S 33200,7500,33200,8100,620,205nymous_,UP,NDIF
++S 9800,21500,9800,23100,400,121nymous_,UP,ALU2
++S 13400,200,13400,12000,27000,3nonymous_,UP,TALU5
++S 33200,6100,33200,7900,400,206nymous_,UP,ALU1
++S 50,6000,26800,6000,12000,4nonymous_,RIGHT,TALU2
++S 12800,11300,12800,12900,620,87onymous_,UP,PDIF
++S 4400,22700,4400,38300,2400,163nymous_,UP,ALU2
++S 29200,6000,39950,6000,12000,5nonymous_,RIGHT,TALU2
++S 32800,20200,32800,20600,600,207nymous_,UP,POLY
++S 12900,11000,17300,11000,400,88onymous_,RIGHT,ALU1
++S 4400,22900,4400,37500,400,164nymous_,UP,ALU1
++S 4400,22700,4400,36500,620,165nymous_,UP,NDIF
++S 17500,35800,19100,35800,200,n8a,RIGHT,NTRANS
++S 14600,7300,14600,9300,200,n17c,UP,NTRANS
++S 6200,7300,6200,9300,200,n18b,UP,NTRANS
++S 27800,7300,27800,8300,200,n2,UP,NTRANS
++S 34600,20900,34600,36700,200,p14c,UP,PTRANS
++S 24700,31800,28300,31800,200,p8b,RIGHT,PTRANS
++S 24700,33000,28300,33000,200,p8a,RIGHT,PTRANS
++S 24700,34200,28300,34200,200,p9,RIGHT,PTRANS
++S 24700,35800,28300,35800,200,p12,RIGHT,PTRANS
++S 26000,12900,26000,14500,620,282nymous_,UP,PDIF
++S 26000,8700,26000,14300,400,283nymous_,UP,ALU2
++S 26000,7500,26000,8100,620,284nymous_,UP,NDIF
++S 29600,12700,29600,14300,620,246nymous_,UP,PDIF
++S 29600,10300,29600,16300,400,247nymous_,UP,ALU2
++S 9300,31000,16100,31000,2400,122nymous_,RIGHT,ALU2
++S 9300,25000,16100,25000,2400,123nymous_,RIGHT,ALU2
++S 23600,6100,23600,7900,400,316nymous_,UP,ALU1
++S 9200,12100,9200,15900,400,124nymous_,UP,ALU1
++S 23080,37600,29920,37600,600,317nymous_,RIGHT,NTIE
++S 50,6000,26800,6000,12000,6nonymous_,RIGHT,TALU4
++S 12900,9000,15100,9000,400,89onymous_,RIGHT,ALU1
++S 9200,11100,9200,14700,620,125nymous_,UP,PDIF
++S 29200,6000,39950,6000,12000,7nonymous_,RIGHT,TALU4
++S 12800,8100,12800,12500,400,90onymous_,UP,ALU1
++S 32600,11400,32600,12400,200,208nymous_,UP,POLY
++S 0,6000,40000,6000,12000,8nonymous_,RIGHT,TALU6
++S 4400,21800,4400,22200,600,166nymous_,UP,POLY
++S 32600,8600,32600,9800,200,209nymous_,UP,POLY
++S 3900,7600,7300,7600,1200,167nymous_,RIGHT,ALU2
++S 19800,34900,19800,37100,400,9nonymous_,UP,ALU2
++S 38200,19080,38200,37920,600,168nymous_,UP,NTIE
++B 19800,35200,300,300,CONT_VIA,342nymous_
++B 19800,37600,300,300,CONT_BODY_P,341nymous_
++B 19800,31000,300,300,CONT_POLY,343nymous_
++B 19800,28200,300,300,CONT_VIA,344nymous_
++B 19800,27400,300,300,CONT_POLY,345nymous_
++B 19800,26200,300,300,CONT_POLY,346nymous_
++B 19800,22600,300,300,CONT_POLY,347nymous_
++B 19600,19200,300,300,CONT_BODY_P,348nymous_
++B 18800,17000,300,300,CONT_VIA2,349nymous_
++B 18800,16000,300,300,CONT_BODY_N,351nymous_
++B 18800,17000,300,300,CONT_VIA,350nymous_
++B 18800,9000,300,300,CONT_DIF_N,352nymous_
++B 18800,6000,300,300,CONT_VIA2,353nymous_
++B 24000,29200,300,300,CONT_POLY,1268ymous_
++B 26000,30000,300,300,CONT_DIF_P,1214ymous_
++B 32200,34000,300,300,CONT_DIF_P,1000ymous_
++B 30800,16000,300,300,CONT_BODY_N,1054ymous_
++B 20800,30400,300,300,CONT_BODY_P,1322ymous_
++B 16800,35800,300,300,CONT_VIA,408nymous_
++B 10800,21800,300,300,CONT_POLY,569nymous_
++B 29000,31800,300,300,CONT_POLY,1108ymous_
++B 27200,17000,300,300,CONT_VIA2,1162ymous_
++B 12800,17000,300,300,CONT_VIA,516nymous_
++B 15600,34000,300,300,CONT_DIF_N,462nymous_
++B 8600,25000,300,300,CONT_VIA2,623nymous_
++B 7000,11000,300,300,CONT_VIA2,677nymous_
++B 4400,25000,300,300,CONT_DIF_N,785nymous_
++B 37000,29000,300,300,CONT_DIF_P,839nymous_
++B 35600,14000,300,300,CONT_DIF_P,893nymous_
++B 33800,34000,300,300,CONT_VIA,947nymous_
++B 24000,28200,300,300,CONT_VIA,1269ymous_
++B 26000,28800,300,300,CONT_VIA2,1215ymous_
++B 32200,33000,300,300,CONT_DIF_P,1001ymous_
++B 30800,14000,300,300,CONT_DIF_P,1055ymous_
++B 20800,29400,300,300,CONT_BODY_P,1323ymous_
++B 15600,33000,300,300,CONT_DIF_N,463nymous_
++B 16800,35800,300,300,CONT_POLY,409nymous_
++B 10600,19200,300,300,CONT_BODY_P,570nymous_
++B 8600,24000,300,300,CONT_VIA2,624nymous_
++B 29000,30600,300,300,CONT_POLY,1109ymous_
++B 27200,17000,300,300,CONT_VIA,1163ymous_
++B 12800,16000,300,300,CONT_BODY_N,517nymous_
++B 7000,10000,300,300,CONT_VIA2,678nymous_
++B 5600,37600,300,300,CONT_BODY_P,732nymous_
++B 4400,24000,300,300,CONT_VIA2,786nymous_
++B 37000,28000,300,300,CONT_VIA2,840nymous_
++B 11600,19200,300,300,CONT_BODY_P,540nymous_
++B 35600,13000,300,300,CONT_DIF_P,894nymous_
++B 26000,28800,300,300,CONT_VIA,1216ymous_
++B 33800,34000,300,300,CONT_DIF_P,948nymous_
++B 32200,32000,300,300,CONT_DIF_P,1002ymous_
++B 20800,28400,300,300,CONT_BODY_P,1324ymous_
++B 24000,28200,300,300,CONT_POLY,1270ymous_
++B 18800,37600,300,300,CONT_BODY_P,356nymous_
++B 30800,13000,300,300,CONT_DIF_P,1056ymous_
++B 29000,25800,300,300,CONT_POLY,1110ymous_
++B 15600,32000,300,300,CONT_DIF_N,464nymous_
++B 16800,34600,300,300,CONT_VIA2,410nymous_
++B 10400,17000,300,300,CONT_VIA2,571nymous_
++B 8000,17000,300,300,CONT_VIA2,625nymous_
++B 27200,16000,300,300,CONT_BODY_N,1164ymous_
++B 12800,12600,300,300,CONT_DIF_P,518nymous_
++B 7000,9000,300,300,CONT_VIA2,679nymous_
++B 5400,36000,300,300,CONT_VIA2,733nymous_
++B 4400,24000,300,300,CONT_VIA,787nymous_
++B 37000,28000,300,300,CONT_VIA,841nymous_
++B 35600,8000,300,300,CONT_DIF_N,895nymous_
++B 26000,28800,300,300,CONT_DIF_P,1217ymous_
++B 33800,33000,300,300,CONT_VIA2,949nymous_
++B 32200,31000,300,300,CONT_DIF_P,1003ymous_
++B 20800,27400,300,300,CONT_BODY_P,1325ymous_
++B 24000,27000,300,300,CONT_POLY,1271ymous_
++B 16800,34600,300,300,CONT_VIA,411nymous_
++B 18800,36400,300,300,CONT_VIA,357nymous_
++B 10400,17000,300,300,CONT_VIA,572nymous_
++B 30800,10600,300,300,CONT_POLY,1057ymous_
++B 29000,24600,300,300,CONT_VIA,1111ymous_
++B 27200,14000,300,300,CONT_DIF_P,1165ymous_
++B 12800,11600,300,300,CONT_DIF_P,519nymous_
++B 15600,31000,300,300,CONT_DIF_N,465nymous_
++B 8000,17000,300,300,CONT_VIA,626nymous_
++B 6800,17000,300,300,CONT_VIA2,680nymous_
++B 5400,32000,300,300,CONT_VIA2,734nymous_
++B 4400,24000,300,300,CONT_DIF_N,788nymous_
++B 37000,28000,300,300,CONT_DIF_P,842nymous_
++B 35600,6000,300,300,CONT_VIA2,896nymous_
++B 33800,33000,300,300,CONT_VIA,950nymous_
++B 23600,16000,300,300,CONT_BODY_N,1272ymous_
++B 26000,27600,300,300,CONT_VIA2,1218ymous_
++B 32200,30000,300,300,CONT_DIF_P,1004ymous_
++B 30800,8000,300,300,CONT_DIF_N,1058ymous_
++B 20800,26400,300,300,CONT_BODY_P,1326ymous_
++B 16800,34600,300,300,CONT_POLY,412nymous_
++B 18800,36400,300,300,CONT_DIF_N,358nymous_
++B 10400,16000,300,300,CONT_BODY_N,573nymous_
++B 29000,24600,300,300,CONT_POLY,1112ymous_
++B 27200,13000,300,300,CONT_DIF_P,1166ymous_
++B 12800,9000,300,300,CONT_DIF_N,520nymous_
++B 15600,30000,300,300,CONT_DIF_N,466nymous_
++B 8000,16000,300,300,CONT_BODY_N,627nymous_
++B 6800,17000,300,300,CONT_VIA,681nymous_
++B 5400,31000,300,300,CONT_VIA2,735nymous_
++B 4400,23000,300,300,CONT_VIA,789nymous_
++B 37000,27000,300,300,CONT_VIA2,843nymous_
++B 35600,6000,300,300,CONT_VIA,897nymous_
++B 33800,33000,300,300,CONT_DIF_P,951nymous_
++B 23600,14000,300,300,CONT_DIF_P,1273ymous_
++B 26000,27600,300,300,CONT_DIF_P,1219ymous_
++B 18800,35200,300,300,CONT_DIF_N,359nymous_
++B 32200,29000,300,300,CONT_DIF_P,1005ymous_
++B 30800,6000,300,300,CONT_BODY_P,1059ymous_
++B 20800,25400,300,300,CONT_BODY_P,1327ymous_
++B 15600,29000,300,300,CONT_DIF_N,467nymous_
++B 16800,33400,300,300,CONT_VIA2,413nymous_
++B 10400,13800,300,300,CONT_DIF_P,574nymous_
++B 8000,13800,300,300,CONT_DIF_P,628nymous_
++B 29000,23400,300,300,CONT_VIA,1113ymous_
++B 27200,10600,300,300,CONT_POLY,1167ymous_
++B 12800,8000,300,300,CONT_DIF_N,521nymous_
++B 6800,16000,300,300,CONT_BODY_N,682nymous_
++B 5400,30000,300,300,CONT_VIA2,736nymous_
++B 4400,23000,300,300,CONT_DIF_N,790nymous_
++B 37000,27000,300,300,CONT_VIA,844nymous_
++B 35600,6000,300,300,CONT_BODY_P,898nymous_
++B 26000,26400,300,300,CONT_VIA,1220ymous_
++B 33800,32000,300,300,CONT_VIA,952nymous_
++B 32200,28000,300,300,CONT_DIF_P,1006ymous_
++B 20800,24400,300,300,CONT_BODY_P,1328ymous_
++B 23600,13000,300,300,CONT_DIF_P,1274ymous_
++B 18800,34000,300,300,CONT_VIA,360nymous_
++B 30600,35000,300,300,CONT_VIA2,1060ymous_
++B 29000,23400,300,300,CONT_POLY,1114ymous_
++B 15600,28000,300,300,CONT_DIF_N,468nymous_
++B 16800,33400,300,300,CONT_VIA,414nymous_
++B 10400,12800,300,300,CONT_DIF_P,575nymous_
++B 8000,12800,300,300,CONT_DIF_P,629nymous_
++B 27200,8000,300,300,CONT_DIF_N,1168ymous_
++B 12800,6000,300,300,CONT_VIA2,522nymous_
++B 6800,14800,300,300,CONT_DIF_P,683nymous_
++B 5400,26000,300,300,CONT_VIA2,737nymous_
++B 4400,21800,300,300,CONT_VIA,791nymous_
++B 37000,27000,300,300,CONT_DIF_P,845nymous_
++B 5400,25000,300,300,CONT_VIA2,738nymous_
++B 35400,35000,300,300,CONT_DIF_P,900nymous_
++B 33800,31000,300,300,CONT_VIA,954nymous_
++B 23600,6000,300,300,CONT_VIA2,1276ymous_
++B 26000,25200,300,300,CONT_DIF_P,1222ymous_
++B 32200,26000,300,300,CONT_DIF_P,1008ymous_
++B 30600,35000,300,300,CONT_DIF_P,1062ymous_
++B 20800,22400,300,300,CONT_BODY_P,1330ymous_
++B 16800,32200,300,300,CONT_VIA,416nymous_
++B 18800,32800,300,300,CONT_DIF_N,362nymous_
++B 10400,10000,300,300,CONT_POLY,577nymous_
++B 29000,22200,300,300,CONT_POLY,1116ymous_
++B 27000,19200,300,300,CONT_BODY_N,1170ymous_
++B 12800,6000,300,300,CONT_BODY_P,524nymous_
++B 35400,36000,300,300,CONT_DIF_P,899nymous_
++B 26000,26400,300,300,CONT_DIF_P,1221ymous_
++B 33800,32000,300,300,CONT_DIF_P,953nymous_
++B 32200,27000,300,300,CONT_DIF_P,1007ymous_
++B 20800,23400,300,300,CONT_BODY_P,1329ymous_
++B 23600,8000,300,300,CONT_DIF_N,1275ymous_
++B 16800,33400,300,300,CONT_POLY,415nymous_
++B 18800,34000,300,300,CONT_DIF_N,361nymous_
++B 10400,11800,300,300,CONT_DIF_P,576nymous_
++B 30600,35000,300,300,CONT_VIA,1061ymous_
++B 29000,22200,300,300,CONT_VIA,1115ymous_
++B 12800,6000,300,300,CONT_VIA,523nymous_
++B 15600,27000,300,300,CONT_DIF_N,469nymous_
++B 8000,11800,300,300,CONT_DIF_P,630nymous_
++B 6800,13800,300,300,CONT_DIF_P,684nymous_
++B 27200,6000,300,300,CONT_BODY_P,1169ymous_
++B 4400,21800,300,300,CONT_POLY,792nymous_
++B 37000,26000,300,300,CONT_VIA,846nymous_
++B 35400,34000,300,300,CONT_DIF_P,901nymous_
++B 33800,31000,300,300,CONT_DIF_P,955nymous_
++B 23600,6000,300,300,CONT_VIA,1277ymous_
++B 26000,24000,300,300,CONT_VIA,1223ymous_
++B 18800,31600,300,300,CONT_VIA,363nymous_
++B 32200,25000,300,300,CONT_DIF_P,1009ymous_
++B 30600,34000,300,300,CONT_VIA2,1063ymous_
++B 20800,21400,300,300,CONT_BODY_P,1331ymous_
++B 15600,25000,300,300,CONT_DIF_N,471nymous_
++B 16800,32200,300,300,CONT_POLY,417nymous_
++B 10400,9000,300,300,CONT_DIF_N,578nymous_
++B 8000,10000,300,300,CONT_POLY,632nymous_
++B 29000,21000,300,300,CONT_VIA,1117ymous_
++B 27000,11000,300,300,CONT_VIA2,1171ymous_
++B 12600,19200,300,300,CONT_BODY_P,525nymous_
++B 6800,12000,300,300,CONT_DIF_P,686nymous_
++B 4600,19200,300,300,CONT_BODY_P,740nymous_
++B 38200,37600,300,300,CONT_BODY_N,794nymous_
++B 37000,25000,300,300,CONT_VIA,848nymous_
++B 35400,33000,300,300,CONT_DIF_P,902nymous_
++B 26000,24000,300,300,CONT_DIF_P,1224ymous_
++B 33800,30000,300,300,CONT_VIA,956nymous_
++B 32200,24000,300,300,CONT_DIF_P,1010ymous_
++B 20800,20400,300,300,CONT_BODY_P,1332ymous_
++B 23600,6000,300,300,CONT_BODY_P,1278ymous_
++B 18800,31600,300,300,CONT_DIF_N,364nymous_
++B 37000,26000,300,300,CONT_DIF_P,847nymous_
++B 38200,19200,300,300,CONT_BODY_N,793nymous_
++B 5400,24000,300,300,CONT_VIA2,739nymous_
++B 6800,12800,300,300,CONT_DIF_P,685nymous_
++B 8000,11000,300,300,CONT_VIA,631nymous_
++B 15600,26000,300,300,CONT_DIF_N,470nymous_
++B 35400,31000,300,300,CONT_DIF_P,904nymous_
++B 37000,24000,300,300,CONT_VIA,850nymous_
++B 38200,35400,300,300,CONT_BODY_N,796nymous_
++B 27000,9000,300,300,CONT_VIA2,1173ymous_
++B 4600,37600,300,300,CONT_VIA,742nymous_
++B 6800,8000,300,300,CONT_DIF_N,688nymous_
++B 8000,9000,300,300,CONT_DIF_N,634nymous_
++B 15600,23000,300,300,CONT_DIF_N,473nymous_
++B 12400,35000,300,300,CONT_DIF_N,527nymous_
++B 28800,9000,300,300,CONT_POLY,1119ymous_
++B 30600,34000,300,300,CONT_DIF_P,1065ymous_
++B 10400,6000,300,300,CONT_VIA2,580nymous_
++B 18800,30400,300,300,CONT_DIF_N,365nymous_
++B 16800,28200,300,300,CONT_POLY,419nymous_
++B 23400,17000,300,300,CONT_VIA2,1279ymous_
++B 20000,16000,300,300,CONT_BODY_N,1333ymous_
++B 32200,23000,300,300,CONT_DIF_P,1011ymous_
++B 33800,30000,300,300,CONT_DIF_P,957nymous_
++B 26000,22800,300,300,CONT_VIA2,1225ymous_
++B 35400,32000,300,300,CONT_DIF_P,903nymous_
++B 37000,25000,300,300,CONT_DIF_P,849nymous_
++B 38200,36400,300,300,CONT_BODY_N,795nymous_
++B 4600,37600,300,300,CONT_VIA2,741nymous_
++B 6800,10000,300,300,CONT_POLY,687nymous_
++B 12400,36000,300,300,CONT_DIF_N,526nymous_
++B 27000,10000,300,300,CONT_VIA2,1172ymous_
++B 8000,9000,300,300,CONT_VIA,633nymous_
++B 10400,8000,300,300,CONT_DIF_N,579nymous_
++B 16800,29200,300,300,CONT_VIA,418nymous_
++B 15600,24000,300,300,CONT_DIF_N,472nymous_
++B 29000,21000,300,300,CONT_POLY,1118ymous_
++B 30600,34000,300,300,CONT_VIA,1064ymous_
++B 12400,33000,300,300,CONT_DIF_N,529nymous_
++B 28400,17000,300,300,CONT_VIA,1121ymous_
++B 7800,37600,300,300,CONT_VIA2,636nymous_
++B 10400,6000,300,300,CONT_BODY_P,582nymous_
++B 16800,24400,300,300,CONT_VIA,421nymous_
++B 15200,17000,300,300,CONT_VIA,475nymous_
++B 20000,8600,300,300,CONT_DIF_N,1335ymous_
++B 30600,33000,300,300,CONT_VIA,1067ymous_
++B 3200,17000,300,300,CONT_VIA2,1013ymous_
++B 18800,28000,300,300,CONT_DIF_N,367nymous_
++B 26000,21600,300,300,CONT_VIA2,1227ymous_
++B 23000,19200,300,300,CONT_BODY_N,1281ymous_
++B 33800,29000,300,300,CONT_VIA,959nymous_
++B 35400,30000,300,300,CONT_DIF_P,905nymous_
++B 37000,24000,300,300,CONT_DIF_P,851nymous_
++B 38200,34400,300,300,CONT_BODY_N,797nymous_
++B 4600,37600,300,300,CONT_BODY_P,743nymous_
++B 6800,7200,300,300,CONT_DIF_N,689nymous_
++B 8000,8000,300,300,CONT_DIF_N,635nymous_
++B 15200,17000,300,300,CONT_VIA2,474nymous_
++B 12400,34000,300,300,CONT_DIF_N,528nymous_
++B 27000,37600,300,300,CONT_BODY_N,1174ymous_
++B 28400,17000,300,300,CONT_VIA2,1120ymous_
++B 10400,6000,300,300,CONT_VIA,581nymous_
++B 18800,29200,300,300,CONT_DIF_N,366nymous_
++B 16800,25400,300,300,CONT_POLY,420nymous_
++B 20000,11000,300,300,CONT_POLY,1334ymous_
++B 30600,33000,300,300,CONT_VIA2,1066ymous_
++B 32200,22000,300,300,CONT_DIF_P,1012ymous_
++B 26000,22800,300,300,CONT_DIF_P,1226ymous_
++B 23400,17000,300,300,CONT_VIA,1280ymous_
++B 33800,29000,300,300,CONT_VIA2,958nymous_
++B 30600,32000,300,300,CONT_VIA,1069ymous_
++B 18800,26800,300,300,CONT_DIF_N,369nymous_
++B 16800,20200,300,300,CONT_VIA,423nymous_
++B 23000,36400,300,300,CONT_BODY_N,1283ymous_
++B 20000,6000,300,300,CONT_VIA,1337ymous_
++B 3200,16000,300,300,CONT_BODY_N,1015ymous_
++B 33800,28000,300,300,CONT_VIA2,961nymous_
++B 26000,21600,300,300,CONT_DIF_P,1229ymous_
++B 35400,28000,300,300,CONT_DIF_P,907nymous_
++B 37000,23000,300,300,CONT_VIA,853nymous_
++B 38200,32400,300,300,CONT_BODY_N,799nymous_
++B 4400,17000,300,300,CONT_VIA,745nymous_
++B 6800,6000,300,300,CONT_VIA,691nymous_
++B 12400,32000,300,300,CONT_DIF_N,530nymous_
++B 27000,36400,300,300,CONT_DIF_P,1176ymous_
++B 7800,37600,300,300,CONT_VIA,637nymous_
++B 9600,19200,300,300,CONT_BODY_P,583nymous_
++B 16800,23400,300,300,CONT_POLY,422nymous_
++B 15200,16000,300,300,CONT_BODY_N,476nymous_
++B 28400,16000,300,300,CONT_BODY_N,1122ymous_
++B 30600,33000,300,300,CONT_DIF_P,1068ymous_
++B 18800,26800,300,300,CONT_VIA,368nymous_
++B 23000,37600,300,300,CONT_BODY_N,1282ymous_
++B 20000,6000,300,300,CONT_VIA2,1336ymous_
++B 3200,17000,300,300,CONT_VIA,1014ymous_
++B 33800,29000,300,300,CONT_DIF_P,960nymous_
++B 26000,21600,300,300,CONT_VIA,1228ymous_
++B 35400,29000,300,300,CONT_DIF_P,906nymous_
++B 37000,23000,300,300,CONT_VIA2,852nymous_
++B 38200,33400,300,300,CONT_BODY_N,798nymous_
++B 4400,17000,300,300,CONT_VIA2,744nymous_
++B 6800,6000,300,300,CONT_VIA2,690nymous_
++B 3200,14000,300,300,CONT_VIA2,1017ymous_
++B 33800,28000,300,300,CONT_DIF_P,963nymous_
++B 35400,26000,300,300,CONT_DIF_P,909nymous_
++B 37000,22000,300,300,CONT_VIA2,855nymous_
++B 38200,30400,300,300,CONT_BODY_N,801nymous_
++B 4400,14800,300,300,CONT_DIF_P,747nymous_
++B 6800,37600,300,300,CONT_VIA2,693nymous_
++B 7600,19200,300,300,CONT_BODY_P,639nymous_
++B 15200,11600,300,300,CONT_DIF_P,478nymous_
++B 12400,30000,300,300,CONT_DIF_N,532nymous_
++B 27000,33600,300,300,CONT_DIF_P,1178ymous_
++B 28400,8000,300,300,CONT_DIF_N,1124ymous_
++B 9200,17000,300,300,CONT_VIA2,585nymous_
++B 18800,25600,300,300,CONT_DIF_N,370nymous_
++B 16600,19200,300,300,CONT_BODY_P,424nymous_
++B 20000,6000,300,300,CONT_BODY_P,1338ymous_
++B 30600,32000,300,300,CONT_DIF_P,1070ymous_
++B 3200,15000,300,300,CONT_BODY_N,1016ymous_
++B 26000,20400,300,300,CONT_DIF_P,1230ymous_
++B 23000,35400,300,300,CONT_BODY_N,1284ymous_
++B 33800,28000,300,300,CONT_VIA,962nymous_
++B 35400,27000,300,300,CONT_DIF_P,908nymous_
++B 37000,23000,300,300,CONT_DIF_P,854nymous_
++B 38200,31400,300,300,CONT_BODY_N,800nymous_
++B 27000,35000,300,300,CONT_DIF_P,1177ymous_
++B 4400,16000,300,300,CONT_BODY_N,746nymous_
++B 6800,6000,300,300,CONT_BODY_P,692nymous_
++B 7800,37600,300,300,CONT_BODY_P,638nymous_
++B 15200,12600,300,300,CONT_DIF_P,477nymous_
++B 12400,31000,300,300,CONT_DIF_N,531nymous_
++B 28400,14000,300,300,CONT_DIF_P,1123ymous_
++B 9600,37600,300,300,CONT_BODY_P,584nymous_
++B 15200,9000,300,300,CONT_DIF_N,480nymous_
++B 18400,12800,200,200,CONT_TURN1,1340ymous_
++B 28200,11800,300,300,CONT_POLY,1126ymous_
++B 30600,31000,300,300,CONT_DIF_P,1072ymous_
++B 18800,23200,300,300,CONT_DIF_N,372nymous_
++B 23000,33400,300,300,CONT_BODY_N,1286ymous_
++B 3200,14000,300,300,CONT_BODY_N,1018ymous_
++B 33800,27000,300,300,CONT_VIA2,964nymous_
++B 25000,37600,300,300,CONT_BODY_N,1232ymous_
++B 35400,25000,300,300,CONT_DIF_P,910nymous_
++B 37000,22000,300,300,CONT_VIA,856nymous_
++B 38200,29400,300,300,CONT_BODY_N,802nymous_
++B 4400,13800,300,300,CONT_DIF_P,748nymous_
++B 6800,37600,300,300,CONT_VIA,694nymous_
++B 12400,29000,300,300,CONT_DIF_N,533nymous_
++B 27000,32400,300,300,CONT_DIF_P,1179ymous_
++B 28400,6000,300,300,CONT_BODY_P,1125ymous_
++B 7600,36000,300,300,CONT_VIA2,640nymous_
++B 9200,17000,300,300,CONT_VIA,586nymous_
++B 16400,17000,300,300,CONT_VIA2,425nymous_
++B 15200,10000,300,300,CONT_POLY,479nymous_
++B 19800,32800,200,200,CONT_TURN1,1339ymous_
++B 30600,31000,300,300,CONT_VIA,1071ymous_
++B 18800,24400,300,300,CONT_DIF_N,371nymous_
++B 25000,19200,300,300,CONT_BODY_N,1231ymous_
++B 23000,34400,300,300,CONT_BODY_N,1285ymous_
++B 16400,17000,300,300,CONT_VIA,426nymous_
++B 9200,16000,300,300,CONT_BODY_N,587nymous_
++B 7600,36000,300,300,CONT_VIA,641nymous_
++B 12400,28000,300,300,CONT_DIF_N,534nymous_
++B 6800,37600,300,300,CONT_BODY_P,695nymous_
++B 4400,12800,300,300,CONT_DIF_P,749nymous_
++B 38200,28400,300,300,CONT_BODY_N,803nymous_
++B 37000,22000,300,300,CONT_DIF_P,857nymous_
++B 35400,24000,300,300,CONT_DIF_P,911nymous_
++B 25000,36400,300,300,CONT_DIF_P,1233ymous_
++B 33800,27000,300,300,CONT_VIA,965nymous_
++B 3200,13000,300,300,CONT_VIA2,1019ymous_
++B 23000,32400,300,300,CONT_BODY_N,1287ymous_
++B 16400,16000,300,300,CONT_BODY_N,427nymous_
++B 18800,22200,300,300,CONT_VIA,373nymous_
++B 9200,14800,300,300,CONT_DIF_P,588nymous_
++B 30600,30000,300,300,CONT_VIA,1073ymous_
++B 28200,10600,300,300,CONT_VIA,1127ymous_
++B 17800,22000,200,200,CONT_TURN1,1341ymous_
++B 12400,27000,300,300,CONT_DIF_N,535nymous_
++B 15200,8000,300,300,CONT_DIF_N,481nymous_
++B 7600,36000,300,300,CONT_DIF_N,642nymous_
++B 6600,19200,300,300,CONT_BODY_P,696nymous_
++B 4400,11800,300,300,CONT_DIF_P,750nymous_
++B 38200,27400,300,300,CONT_BODY_N,804nymous_
++B 36800,17000,300,300,CONT_VIA2,858nymous_
++B 35400,23000,300,300,CONT_DIF_P,912nymous_
++B 33800,27000,300,300,CONT_DIF_P,966nymous_
++B 23000,31400,300,300,CONT_BODY_N,1288ymous_
++B 25000,35000,300,300,CONT_DIF_P,1234ymous_
++B 3200,13000,300,300,CONT_BODY_N,1020ymous_
++B 30600,30000,300,300,CONT_DIF_P,1074ymous_
++B 16400,12800,300,300,CONT_DIF_P,428nymous_
++B 18800,22000,300,300,CONT_DIF_N,374nymous_
++B 9200,13800,300,300,CONT_DIF_P,589nymous_
++B 2800,36000,300,300,CONT_DIF_N,1128ymous_
++B 17600,8000,200,200,CONT_TURN1,1342ymous_
++B 12400,26000,300,300,CONT_DIF_N,536nymous_
++B 15200,6000,300,300,CONT_VIA2,482nymous_
++B 7600,35000,300,300,CONT_VIA,643nymous_
++B 6600,36000,300,300,CONT_VIA2,697nymous_
++B 4400,9000,300,300,CONT_DIF_N,751nymous_
++B 38200,26400,300,300,CONT_BODY_N,805nymous_
++B 36800,17000,300,300,CONT_VIA,859nymous_
++B 35400,22000,300,300,CONT_DIF_P,913nymous_
++B 33800,26000,300,300,CONT_VIA,967nymous_
++B 23000,30400,300,300,CONT_BODY_N,1289ymous_
++B 25000,33600,300,300,CONT_DIF_P,1235ymous_
++B 18600,19200,300,300,CONT_BODY_P,375nymous_
++B 3200,12000,300,300,CONT_VIA2,1021ymous_
++B 30600,29000,300,300,CONT_VIA2,1075ymous_
++B 17400,11000,200,200,CONT_TURN1,1343ymous_
++B 15200,6000,300,300,CONT_VIA,483nymous_
++B 16400,12000,300,300,CONT_DIF_P,429nymous_
++B 9200,12800,300,300,CONT_DIF_P,590nymous_
++B 7600,35000,300,300,CONT_DIF_N,644nymous_
++B 2800,35000,300,300,CONT_DIF_N,1129ymous_
++B 12400,25000,300,300,CONT_DIF_N,537nymous_
++B 6600,32000,300,300,CONT_VIA2,698nymous_
++B 4400,8000,300,300,CONT_DIF_N,752nymous_
++B 38200,25400,300,300,CONT_BODY_N,806nymous_
++B 36800,16000,300,300,CONT_VIA2,860nymous_
++B 35000,19200,300,300,CONT_BODY_N,914nymous_
++B 25000,32400,300,300,CONT_VIA,1236ymous_
++B 33800,26000,300,300,CONT_DIF_P,968nymous_
++B 3200,12000,300,300,CONT_BODY_N,1022ymous_
++B 23000,29400,300,300,CONT_BODY_N,1290ymous_
++B 17800,37600,300,300,CONT_BODY_P,376nymous_
++B 10400,11000,200,200,CONT_TURN1,1344ymous_
++B 27000,28800,300,300,CONT_DIF_P,1182ymous_
++B 30600,29000,300,300,CONT_VIA,1076ymous_
++B 2800,34000,300,300,CONT_DIF_N,1130ymous_
++B 15200,6000,300,300,CONT_BODY_P,484nymous_
++B 16400,10000,300,300,CONT_POLY,430nymous_
++B 9200,12000,300,300,CONT_DIF_P,591nymous_
++B 7600,34000,300,300,CONT_VIA,645nymous_
++B 12400,24000,300,300,CONT_DIF_N,538nymous_
++B 6600,31000,300,300,CONT_VIA2,699nymous_
++B 4400,6000,300,300,CONT_VIA2,753nymous_
++B 38200,24400,300,300,CONT_BODY_N,807nymous_
++B 36800,16000,300,300,CONT_BODY_N,861nymous_
++B 34800,35000,300,300,CONT_VIA2,915nymous_
++B 25000,32400,300,300,CONT_DIF_P,1237ymous_
++B 33800,25000,300,300,CONT_VIA,969nymous_
++B 3200,9000,300,300,CONT_BODY_P,1023ymous_
++B 23000,28400,300,300,CONT_BODY_N,1291ymous_
++B 16400,9000,300,300,CONT_DIF_N,431nymous_
++B 17800,36400,300,300,CONT_DIF_N,377nymous_
++B 9200,10000,300,300,CONT_POLY,592nymous_
++B 30600,29000,300,300,CONT_DIF_P,1077ymous_
++B 2800,33000,300,300,CONT_DIF_N,1131ymous_
++B 5000,19000,8300,2300,CONT_VIA2,1345ymous_
++B 12400,23000,300,300,CONT_DIF_N,539nymous_
++B 14600,19200,300,300,CONT_BODY_P,485nymous_
++B 7600,34000,300,300,CONT_DIF_N,646nymous_
++B 6600,30000,300,300,CONT_VIA2,700nymous_
++B 4400,6000,300,300,CONT_VIA,754nymous_
++B 38200,23400,300,300,CONT_BODY_N,808nymous_
++B 36800,15000,300,300,CONT_VIA2,862nymous_
++B 34800,34000,300,300,CONT_VIA2,916nymous_
++B 27000,27600,300,300,CONT_DIF_P,1183ymous_
++B 27000,26400,300,300,CONT_DIF_P,1184ymous_
++B 27000,31200,300,300,CONT_DIF_P,1180ymous_
++B 27000,30000,300,300,CONT_DIF_P,1181ymous_
++B 33800,25000,300,300,CONT_DIF_P,970nymous_
++B 23000,27400,300,300,CONT_BODY_N,1292ymous_
++B 25000,31200,300,300,CONT_DIF_P,1238ymous_
++B 3200,8000,300,300,CONT_VIA2,1024ymous_
++B 30600,28000,300,300,CONT_VIA2,1078ymous_
++B 16400,8000,300,300,CONT_DIF_N,432nymous_
++B 17800,35200,300,300,CONT_DIF_N,378nymous_
++B 9200,8000,300,300,CONT_VIA2,593nymous_
++B 2800,32000,300,300,CONT_DIF_N,1132ymous_
++B 28200,9000,200,200,CONT_TURN1,1346ymous_
++B 14000,17000,300,300,CONT_VIA2,486nymous_
++B 7600,33000,300,300,CONT_VIA,647nymous_
++B 6600,26000,300,300,CONT_VIA2,701nymous_
++B 4400,6000,300,300,CONT_BODY_P,755nymous_
++B 38200,22400,300,300,CONT_BODY_N,809nymous_
++B 36800,15000,300,300,CONT_BODY_N,863nymous_
++B 27000,25200,300,300,CONT_VIA,1185ymous_
++B 34800,33000,300,300,CONT_VIA2,917nymous_
++B 33800,24000,300,300,CONT_VIA,971nymous_
++B 23000,26400,300,300,CONT_BODY_N,1293ymous_
++B 25000,30000,300,300,CONT_VIA,1239ymous_
++B 17800,34000,300,300,CONT_DIF_N,379nymous_
++B 3200,8000,300,300,CONT_BODY_P,1025ymous_
++B 30600,28000,300,300,CONT_VIA,1079ymous_
++B 22400,8000,200,200,CONT_TURN1,1347ymous_
++B 14000,17000,300,300,CONT_VIA,487nymous_
++B 16400,6000,300,300,CONT_VIA2,433nymous_
++B 9200,8000,300,300,CONT_DIF_N,594nymous_
++B 7600,33000,300,300,CONT_DIF_N,648nymous_
++B 2800,31000,300,300,CONT_DIF_N,1133ymous_
++B 6600,25000,300,300,CONT_VIA2,702nymous_
++B 4400,36000,300,300,CONT_VIA2,756nymous_
++B 38200,21400,300,300,CONT_BODY_N,810nymous_
++B 36800,14000,300,300,CONT_BODY_N,864nymous_
++B 34800,29000,300,300,CONT_VIA2,918nymous_
++B 25000,30000,300,300,CONT_DIF_P,1240ymous_
++B 27000,25200,300,300,CONT_DIF_P,1186ymous_
++B 33800,24000,300,300,CONT_DIF_P,972nymous_
++B 3200,7000,300,300,CONT_VIA2,1026ymous_
++B 23000,25400,300,300,CONT_BODY_N,1294ymous_
++B 17800,32800,300,300,CONT_DIF_N,380nymous_
++B 30600,28000,300,300,CONT_DIF_P,1080ymous_
++B 2800,30000,300,300,CONT_DIF_N,1134ymous_
++B 21200,10000,200,200,CONT_TURN1,1348ymous_
++B 14000,16000,300,300,CONT_BODY_N,488nymous_
++B 16400,6000,300,300,CONT_VIA,434nymous_
++B 9200,7200,300,300,CONT_DIF_N,595nymous_
++B 7600,32000,300,300,CONT_VIA2,649nymous_
++B 6600,24000,300,300,CONT_VIA2,703nymous_
++B 4400,36000,300,300,CONT_VIA,757nymous_
++B 38200,20400,300,300,CONT_BODY_N,811nymous_
++B 36800,13000,300,300,CONT_BODY_N,865nymous_
++B 34800,28000,300,300,CONT_VIA2,919nymous_
++B 25000,28800,300,300,CONT_DIF_P,1241ymous_
++B 27000,24000,300,300,CONT_DIF_P,1187ymous_
++B 33800,23000,300,300,CONT_VIA2,973nymous_
++B 3200,7000,300,300,CONT_BODY_P,1027ymous_
++B 23000,24400,300,300,CONT_BODY_N,1295ymous_
++B 16400,6000,300,300,CONT_BODY_P,435nymous_
++B 17800,31600,300,300,CONT_VIA2,381nymous_
++B 30600,27000,300,300,CONT_VIA2,1081ymous_
++B 11600,17000,300,300,CONT_VIA,542nymous_
++B 9200,7000,300,300,CONT_VIA2,596nymous_
++B 2800,29000,300,300,CONT_DIF_N,1135ymous_
++B 14000,12800,300,300,CONT_DIF_P,489nymous_
++B 7600,32000,300,300,CONT_VIA,650nymous_
++B 6000,36000,300,300,CONT_DIF_N,704nymous_
++B 4400,36000,300,300,CONT_DIF_N,758nymous_
++B 38000,35000,300,300,CONT_VIA2,812nymous_
++B 36800,12000,300,300,CONT_BODY_N,866nymous_
++B 27000,22800,300,300,CONT_DIF_P,1188ymous_
++B 34800,27000,300,300,CONT_VIA2,920nymous_
++B 33800,23000,300,300,CONT_VIA,974nymous_
++B 23000,23400,300,300,CONT_BODY_N,1296ymous_
++B 25000,27600,300,300,CONT_VIA,1242ymous_
++B 3200,6000,300,300,CONT_VIA2,1028ymous_
++B 30600,27000,300,300,CONT_VIA,1082ymous_
++B 1600,19200,300,300,CONT_BODY_P,436nymous_
++B 17800,31600,300,300,CONT_DIF_N,382nymous_
++B 9200,6000,300,300,CONT_VIA2,597nymous_
++B 2800,28000,300,300,CONT_DIF_N,1136ymous_
++B 14000,12000,300,300,CONT_DIF_P,490nymous_
++B 7600,32000,300,300,CONT_DIF_N,651nymous_
++B 6000,35000,300,300,CONT_DIF_N,705nymous_
++B 4400,35000,300,300,CONT_VIA,759nymous_
++B 38000,34000,300,300,CONT_VIA2,813nymous_
++B 36800,11000,300,300,CONT_VIA2,867nymous_
++B 27000,21600,300,300,CONT_DIF_P,1189ymous_
++B 34800,23000,300,300,CONT_VIA2,921nymous_
++B 33800,23000,300,300,CONT_DIF_P,975nymous_
++B 3200,6000,300,300,CONT_VIA,1029ymous_
++B 11600,16000,300,300,CONT_BODY_N,543nymous_
++B 23000,22400,300,300,CONT_BODY_N,1297ymous_
++B 25000,27600,300,300,CONT_DIF_P,1243ymous_
++B 17800,30400,300,300,CONT_VIA2,383nymous_
++B 11600,14800,300,300,CONT_DIF_P,544nymous_
++B 30600,27000,300,300,CONT_DIF_P,1083ymous_
++B 14000,10000,300,300,CONT_POLY,491nymous_
++B 1600,37600,300,300,CONT_BODY_P,437nymous_
++B 9200,6000,300,300,CONT_VIA,598nymous_
++B 7600,31000,300,300,CONT_VIA2,652nymous_
++B 2800,27000,300,300,CONT_DIF_N,1137ymous_
++B 6000,34000,300,300,CONT_DIF_N,706nymous_
++B 4400,35000,300,300,CONT_DIF_N,760nymous_
++B 38000,33000,300,300,CONT_VIA2,814nymous_
++B 36800,10000,300,300,CONT_VIA2,868nymous_
++B 34800,22000,300,300,CONT_VIA2,922nymous_
++B 25000,26400,300,300,CONT_DIF_P,1244ymous_
++B 27000,20400,300,300,CONT_DIF_P,1190ymous_
++B 33800,22000,300,300,CONT_VIA2,976nymous_
++B 3200,6000,300,300,CONT_BODY_P,1030ymous_
++B 23000,21400,300,300,CONT_BODY_N,1298ymous_
++B 17800,30400,300,300,CONT_VIA,384nymous_
++B 11600,13800,300,300,CONT_DIF_P,545nymous_
++B 30600,26000,300,300,CONT_DIF_P,1084ymous_
++B 2800,26000,300,300,CONT_DIF_N,1138ymous_
++B 14000,8000,300,300,CONT_DIF_N,492nymous_
++B 1600,36400,300,300,CONT_BODY_P,438nymous_
++B 9200,6000,300,300,CONT_BODY_P,599nymous_
++B 7600,31000,300,300,CONT_VIA,653nymous_
++B 6000,33000,300,300,CONT_DIF_N,707nymous_
++B 4400,34000,300,300,CONT_VIA,761nymous_
++B 38000,29000,300,300,CONT_VIA2,815nymous_
++B 36800,9000,300,300,CONT_VIA2,869nymous_
++B 34800,20200,300,300,CONT_POLY,923nymous_
++B 25000,25200,300,300,CONT_DIF_P,1245ymous_
++B 2600,19200,300,300,CONT_BODY_P,1191ymous_
++B 33800,22000,300,300,CONT_VIA,977nymous_
++B 32000,19200,300,300,CONT_BODY_N,1031ymous_
++B 23000,20400,300,300,CONT_BODY_N,1299ymous_
++B 1600,35400,300,300,CONT_BODY_P,439nymous_
++B 17800,30400,300,300,CONT_DIF_N,385nymous_
++B 11600,12800,300,300,CONT_DIF_P,546nymous_
++B 9200,36000,300,300,CONT_DIF_N,600nymous_
++B 30600,25000,300,300,CONT_DIF_P,1085ymous_
++B 2800,25000,300,300,CONT_DIF_N,1139ymous_
++B 14000,7200,300,300,CONT_DIF_N,493nymous_
++B 7600,31000,300,300,CONT_DIF_N,654nymous_
++B 6000,32000,300,300,CONT_DIF_N,708nymous_
++B 4400,34000,300,300,CONT_DIF_N,762nymous_
++B 38000,28000,300,300,CONT_VIA2,816nymous_
++B 36800,9000,300,300,CONT_BODY_P,870nymous_
++B 2600,37600,300,300,CONT_BODY_P,1192ymous_
++B 34400,16000,300,300,CONT_BODY_N,924nymous_
++B 33800,22000,300,300,CONT_DIF_P,978nymous_
++B 22400,17000,300,300,CONT_VIA2,1300ymous_
++B 25000,24000,300,300,CONT_DIF_P,1246ymous_
++B 32000,17000,300,300,CONT_VIA2,1032ymous_
++B 30600,24000,300,300,CONT_DIF_P,1086ymous_
++B 1600,34400,300,300,CONT_BODY_P,440nymous_
++B 17800,29200,300,300,CONT_DIF_N,386nymous_
++B 11600,11800,300,300,CONT_DIF_P,547nymous_
++B 9200,35000,300,300,CONT_DIF_N,601nymous_
++B 2800,24000,300,300,CONT_DIF_N,1140ymous_
++B 14000,6000,300,300,CONT_VIA2,494nymous_
++B 7600,30000,300,300,CONT_VIA2,655nymous_
++B 6000,31000,300,300,CONT_DIF_N,709nymous_
++B 4400,33000,300,300,CONT_VIA,763nymous_
++B 38000,27000,300,300,CONT_VIA2,817nymous_
++B 36800,8000,300,300,CONT_BODY_P,871nymous_
++B 26000,19200,300,300,CONT_BODY_N,1193ymous_
++B 34400,14000,300,300,CONT_VIA,925nymous_
++B 33200,17000,300,300,CONT_VIA2,979nymous_
++B 22400,17000,300,300,CONT_VIA,1301ymous_
++B 25000,22800,300,300,CONT_VIA,1247ymous_
++B 17800,28000,300,300,CONT_VIA,387nymous_
++B 11600,9000,300,300,CONT_DIF_N,548nymous_
++B 32000,17000,300,300,CONT_VIA,1033ymous_
++B 30600,23000,300,300,CONT_DIF_P,1087ymous_
++B 14000,6000,300,300,CONT_VIA,495nymous_
++B 1600,33400,300,300,CONT_BODY_P,441nymous_
++B 9200,34000,300,300,CONT_DIF_N,602nymous_
++B 7600,30000,300,300,CONT_VIA,656nymous_
++B 2800,23000,300,300,CONT_DIF_N,1141ymous_
++B 6000,30000,300,300,CONT_DIF_N,710nymous_
++B 4400,33000,300,300,CONT_DIF_N,764nymous_
++B 37200,37600,300,300,CONT_BODY_N,818nymous_
++B 36800,7000,300,300,CONT_BODY_P,872nymous_
++B 34400,14000,300,300,CONT_DIF_P,926nymous_
++B 25000,22800,300,300,CONT_DIF_P,1248ymous_
++B 26000,17000,300,300,CONT_VIA2,1194ymous_
++B 33200,17000,300,300,CONT_VIA,980nymous_
++B 32000,16000,300,300,CONT_BODY_N,1034ymous_
++B 22400,16000,300,300,CONT_BODY_N,1302ymous_
++B 17800,28000,300,300,CONT_DIF_N,388nymous_
++B 11600,8000,300,300,CONT_DIF_N,549nymous_
++B 30600,22000,300,300,CONT_DIF_P,1088ymous_
++B 28000,19200,300,300,CONT_BODY_N,1142ymous_
++B 14000,6000,300,300,CONT_BODY_P,496nymous_
++B 1600,32400,300,300,CONT_BODY_P,442nymous_
++B 9200,33000,300,300,CONT_DIF_N,603nymous_
++B 7600,30000,300,300,CONT_DIF_N,657nymous_
++B 6000,29000,300,300,CONT_DIF_N,711nymous_
++B 4400,32000,300,300,CONT_VIA2,765nymous_
++B 37000,19200,300,300,CONT_BODY_N,819nymous_
++B 36800,6000,300,300,CONT_VIA2,873nymous_
++B 34400,13000,300,300,CONT_VIA,927nymous_
++B 25000,21600,300,300,CONT_DIF_P,1249ymous_
++B 26000,17000,300,300,CONT_VIA,1195ymous_
++B 33200,16000,300,300,CONT_BODY_N,981nymous_
++B 32000,13000,300,300,CONT_DIF_P,1035ymous_
++B 22400,8600,300,300,CONT_DIF_N,1303ymous_
++B 1600,31400,300,300,CONT_BODY_P,443nymous_
++B 17800,26800,300,300,CONT_DIF_N,389nymous_
++B 11600,6000,300,300,CONT_VIA2,550nymous_
++B 9200,32000,300,300,CONT_DIF_N,604nymous_
++B 30400,36600,300,300,CONT_VIA2,1089ymous_
++B 28000,35000,300,300,CONT_DIF_P,1143ymous_
++B 14000,36000,300,300,CONT_DIF_N,497nymous_
++B 7600,29000,300,300,CONT_VIA,658nymous_
++B 6000,28000,300,300,CONT_DIF_N,712nymous_
++B 4400,32000,300,300,CONT_VIA,766nymous_
++B 37000,36000,300,300,CONT_VIA,820nymous_
++B 36800,6000,300,300,CONT_VIA,874nymous_
++B 26000,16000,300,300,CONT_BODY_N,1196ymous_
++B 34400,13000,300,300,CONT_DIF_P,928nymous_
++B 33200,14000,300,300,CONT_DIF_P,982nymous_
++B 22400,6000,300,300,CONT_VIA2,1304ymous_
++B 25000,20400,300,300,CONT_VIA,1250ymous_
++B 32000,8000,300,300,CONT_DIF_N,1036ymous_
++B 30400,36600,300,300,CONT_VIA,1090ymous_
++B 1600,30400,300,300,CONT_BODY_P,444nymous_
++B 17800,25600,300,300,CONT_VIA2,390nymous_
++B 11600,6000,300,300,CONT_VIA,551nymous_
++B 9200,31000,300,300,CONT_DIF_N,605nymous_
++B 28000,33600,300,300,CONT_DIF_P,1144ymous_
++B 14000,35000,300,300,CONT_DIF_N,498nymous_
++B 7600,29000,300,300,CONT_DIF_N,659nymous_
++B 6000,27000,300,300,CONT_DIF_N,713nymous_
++B 4400,32000,300,300,CONT_DIF_N,767nymous_
++B 37000,36000,300,300,CONT_DIF_P,821nymous_
++B 36800,6000,300,300,CONT_BODY_P,875nymous_
++B 26000,14000,300,300,CONT_VIA2,1197ymous_
++B 34400,8000,300,300,CONT_DIF_N,929nymous_
++B 33200,13000,300,300,CONT_DIF_P,983nymous_
++B 22400,6000,300,300,CONT_VIA,1305ymous_
++B 25000,20400,300,300,CONT_DIF_P,1251ymous_
++B 17800,25600,300,300,CONT_VIA,391nymous_
++B 11600,6000,300,300,CONT_BODY_P,552nymous_
++B 32000,6000,300,300,CONT_VIA2,1037ymous_
++B 30400,36600,300,300,CONT_POLY,1091ymous_
++B 14000,34000,300,300,CONT_DIF_N,499nymous_
++B 28000,32400,300,300,CONT_DIF_P,1145ymous_
++B 1600,29400,300,300,CONT_BODY_P,445nymous_
++B 9200,30000,300,300,CONT_DIF_N,606nymous_
++B 7600,28000,300,300,CONT_VIA,660nymous_
++B 6000,26000,300,300,CONT_DIF_N,714nymous_
++B 4400,31000,300,300,CONT_VIA2,768nymous_
++B 37000,35000,300,300,CONT_VIA2,822nymous_
++B 3600,19200,300,300,CONT_BODY_P,876nymous_
++B 34400,6000,300,300,CONT_VIA2,930nymous_
++B 24800,16000,300,300,CONT_BODY_N,1252ymous_
++B 26000,14000,300,300,CONT_DIF_P,1198ymous_
++B 33200,8000,300,300,CONT_DIF_N,984nymous_
++B 32000,6000,300,300,CONT_VIA,1038ymous_
++B 22400,6000,300,300,CONT_BODY_P,1306ymous_
++B 17800,25600,300,300,CONT_DIF_N,392nymous_
++B 10800,36000,300,300,CONT_DIF_N,553nymous_
++B 30000,19200,300,300,CONT_BODY_N,1092ymous_
++B 28000,31200,300,300,CONT_VIA,1146ymous_
++B 14000,33000,300,300,CONT_DIF_N,500nymous_
++B 1600,28400,300,300,CONT_BODY_P,446nymous_
++B 9200,29000,300,300,CONT_DIF_N,607nymous_
++B 7600,28000,300,300,CONT_DIF_N,661nymous_
++B 6000,25000,300,300,CONT_DIF_N,715nymous_
++B 4400,31000,300,300,CONT_VIA,769nymous_
++B 37000,35000,300,300,CONT_VIA,823nymous_
++B 3600,37600,300,300,CONT_VIA2,877nymous_
++B 34400,6000,300,300,CONT_VIA,931nymous_
++B 24800,14000,300,300,CONT_VIA,1253ymous_
++B 26000,13000,300,300,CONT_VIA2,1199ymous_
++B 33200,6000,300,300,CONT_VIA2,985nymous_
++B 32000,6000,300,300,CONT_BODY_P,1039ymous_
++B 30000,20200,300,300,CONT_VIA,1093ymous_
++B 22000,19200,300,300,CONT_VIA,1307ymous_
++B 1600,27400,300,300,CONT_BODY_P,447nymous_
++B 17800,24400,300,300,CONT_VIA2,393nymous_
++B 10800,35000,300,300,CONT_DIF_N,554nymous_
++B 9200,28000,300,300,CONT_DIF_N,608nymous_
++B 28000,31200,300,300,CONT_DIF_P,1147ymous_
++B 14000,32000,300,300,CONT_DIF_N,501nymous_
++B 7600,27000,300,300,CONT_VIA,662nymous_
++B 6000,24000,300,300,CONT_DIF_N,716nymous_
++B 4400,31000,300,300,CONT_DIF_N,770nymous_
++B 37000,35000,300,300,CONT_DIF_P,824nymous_
++B 3600,37600,300,300,CONT_VIA,878nymous_
++B 26000,13000,300,300,CONT_DIF_P,1200ymous_
++B 34400,6000,300,300,CONT_BODY_P,932nymous_
++B 33200,6000,300,300,CONT_VIA,986nymous_
++B 22000,22200,300,300,CONT_VIA,1308ymous_
++B 24800,14000,300,300,CONT_DIF_P,1254ymous_
++B 31800,12200,300,300,CONT_POLY,1040ymous_
++B 29600,17000,300,300,CONT_VIA2,1094ymous_
++B 1600,26400,300,300,CONT_BODY_P,448nymous_
++B 17800,24400,300,300,CONT_DIF_N,394nymous_
++B 10800,34000,300,300,CONT_DIF_N,555nymous_
++B 9200,27000,300,300,CONT_DIF_N,609nymous_
++B 28000,30000,300,300,CONT_DIF_P,1148ymous_
++B 14000,31000,300,300,CONT_DIF_N,502nymous_
++B 7600,27000,300,300,CONT_DIF_N,663nymous_
++B 6000,23000,300,300,CONT_DIF_N,717nymous_
++B 4400,30000,300,300,CONT_VIA2,771nymous_
++B 37000,34000,300,300,CONT_VIA2,825nymous_
++B 3600,37600,300,300,CONT_BODY_P,879nymous_
++B 26000,12000,300,300,CONT_VIA2,1201ymous_
++B 3400,36000,300,300,CONT_VIA2,933nymous_
++B 33200,6000,300,300,CONT_BODY_P,987nymous_
++B 21200,16000,300,300,CONT_BODY_N,1309ymous_
++B 24800,13000,300,300,CONT_VIA,1255ymous_
++B 17800,23200,300,300,CONT_VIA,395nymous_
++B 10800,33000,300,300,CONT_DIF_N,556nymous_
++B 31800,9000,300,300,CONT_POLY,1041ymous_
++B 29600,17000,300,300,CONT_VIA,1095ymous_
++B 14000,30000,300,300,CONT_DIF_N,503nymous_
++B 1600,25400,300,300,CONT_BODY_P,449nymous_
++B 9200,26000,300,300,CONT_DIF_N,610nymous_
++B 7600,26000,300,300,CONT_VIA2,664nymous_
++B 28000,28800,300,300,CONT_DIF_P,1149ymous_
++B 5600,19200,300,300,CONT_BODY_P,718nymous_
++B 4400,30000,300,300,CONT_VIA,772nymous_
++B 37000,34000,300,300,CONT_VIA,826nymous_
++B 36000,19200,300,300,CONT_BODY_N,880nymous_
++B 3400,32000,300,300,CONT_VIA2,934nymous_
++B 24800,13000,300,300,CONT_DIF_P,1256ymous_
++B 26000,8000,300,300,CONT_DIF_N,1202ymous_
++B 33000,19200,300,300,CONT_BODY_N,988nymous_
++B 31600,35000,300,300,CONT_VIA2,1042ymous_
++B 21200,9000,300,300,CONT_DIF_N,1310ymous_
++B 17800,23200,300,300,CONT_DIF_N,396nymous_
++B 10800,32000,300,300,CONT_DIF_N,557nymous_
++B 29600,16000,300,300,CONT_VIA,1096ymous_
++B 28000,27600,300,300,CONT_DIF_P,1150ymous_
++B 14000,29000,300,300,CONT_DIF_N,504nymous_
++B 1600,24400,300,300,CONT_BODY_P,450nymous_
++B 9200,25000,300,300,CONT_DIF_N,611nymous_
++B 7600,26000,300,300,CONT_VIA,665nymous_
++B 5600,17000,300,300,CONT_VIA2,719nymous_
++B 4400,30000,300,300,CONT_DIF_N,773nymous_
++B 37000,34000,300,300,CONT_DIF_P,827nymous_
++B 36000,35000,300,300,CONT_VIA2,881nymous_
++B 3400,31000,300,300,CONT_VIA2,935nymous_
++B 24800,8000,300,300,CONT_DIF_N,1257ymous_
++B 26000,6000,300,300,CONT_VIA2,1203ymous_
++B 32800,35000,300,300,CONT_VIA2,989nymous_
++B 31600,34000,300,300,CONT_VIA2,1043ymous_
++B 21200,6000,300,300,CONT_VIA2,1311ymous_
++B 1600,23400,300,300,CONT_BODY_P,451nymous_
++B 17600,19200,300,300,CONT_BODY_P,397nymous_
++B 10800,31000,300,300,CONT_DIF_N,558nymous_
++B 9200,24000,300,300,CONT_DIF_N,612nymous_
++B 29600,16000,300,300,CONT_BODY_N,1097ymous_
++B 28000,26400,300,300,CONT_DIF_P,1151ymous_
++B 14000,28000,300,300,CONT_DIF_N,505nymous_
++B 7600,26000,300,300,CONT_DIF_N,666nymous_
++B 5600,17000,300,300,CONT_VIA,720nymous_
++B 4400,29000,300,300,CONT_VIA,774nymous_
++B 37000,33000,300,300,CONT_VIA2,828nymous_
++B 36000,34000,300,300,CONT_VIA2,882nymous_
++B 26000,6000,300,300,CONT_VIA,1204ymous_
++B 3400,30000,300,300,CONT_VIA2,936nymous_
++B 32800,34000,300,300,CONT_VIA2,990nymous_
++B 21200,6000,300,300,CONT_VIA,1312ymous_
++B 24800,6000,300,300,CONT_VIA2,1258ymous_
++B 31600,33000,300,300,CONT_VIA2,1044ymous_
++B 29600,14000,300,300,CONT_DIF_P,1098ymous_
++B 3400,25000,300,300,CONT_VIA2,938nymous_
++B 36000,29000,300,300,CONT_VIA2,884nymous_
++B 37000,33000,300,300,CONT_DIF_P,830nymous_
++B 4400,28000,300,300,CONT_VIA,776nymous_
++B 5600,13800,300,300,CONT_DIF_P,722nymous_
++B 28000,24000,300,300,CONT_DIF_P,1153ymous_
++B 7600,25000,300,300,CONT_VIA,668nymous_
++B 8800,37600,300,300,CONT_VIA2,614nymous_
++B 1600,21400,300,300,CONT_BODY_P,453nymous_
++B 14000,26000,300,300,CONT_DIF_N,507nymous_
++B 29600,13000,300,300,CONT_DIF_P,1099ymous_
++B 31600,29000,300,300,CONT_VIA2,1045ymous_
++B 10800,29000,300,300,CONT_DIF_N,560nymous_
++B 17600,17000,300,300,CONT_VIA,399nymous_
++B 24800,6000,300,300,CONT_VIA,1259ymous_
++B 21200,6000,300,300,CONT_BODY_P,1313ymous_
++B 32800,33000,300,300,CONT_VIA2,991nymous_
++B 3400,26000,300,300,CONT_VIA2,937nymous_
++B 26000,6000,300,300,CONT_BODY_P,1205ymous_
++B 1600,22400,300,300,CONT_BODY_P,452nymous_
++B 17600,17000,300,300,CONT_VIA2,398nymous_
++B 10800,30000,300,300,CONT_DIF_N,559nymous_
++B 9200,23000,300,300,CONT_DIF_N,613nymous_
++B 28000,25200,300,300,CONT_DIF_P,1152ymous_
++B 14000,27000,300,300,CONT_DIF_N,506nymous_
++B 7600,25000,300,300,CONT_VIA2,667nymous_
++B 5600,16000,300,300,CONT_BODY_N,721nymous_
++B 4400,29000,300,300,CONT_DIF_N,775nymous_
++B 37000,33000,300,300,CONT_VIA,829nymous_
++B 36000,33000,300,300,CONT_VIA2,883nymous_
++B 28000,21600,300,300,CONT_DIF_P,1155ymous_
++B 29600,10600,300,300,CONT_POLY,1101ymous_
++B 8800,37600,300,300,CONT_BODY_P,616nymous_
++B 10800,27000,300,300,CONT_DIF_N,562nymous_
++B 17600,12800,300,300,CONT_DIF_P,401nymous_
++B 15800,37600,300,300,CONT_BODY_P,455nymous_
++B 20800,37600,300,300,CONT_BODY_P,1315ymous_
++B 31600,27000,300,300,CONT_VIA2,1047ymous_
++B 32800,28000,300,300,CONT_VIA2,993nymous_
++B 26000,36400,300,300,CONT_DIF_P,1207ymous_
++B 24000,19200,300,300,CONT_BODY_N,1261ymous_
++B 3400,24000,300,300,CONT_VIA2,939nymous_
++B 36000,28000,300,300,CONT_VIA2,885nymous_
++B 37000,32000,300,300,CONT_VIA,831nymous_
++B 4400,28000,300,300,CONT_DIF_N,777nymous_
++B 5600,12800,300,300,CONT_DIF_P,723nymous_
++B 7600,25000,300,300,CONT_DIF_N,669nymous_
++B 8800,37600,300,300,CONT_VIA,615nymous_
++B 1600,20400,300,300,CONT_BODY_P,454nymous_
++B 14000,25000,300,300,CONT_DIF_N,508nymous_
++B 28000,22800,300,300,CONT_DIF_P,1154ymous_
++B 29600,10600,300,300,CONT_VIA,1100ymous_
++B 10800,28000,300,300,CONT_DIF_N,561nymous_
++B 17600,16000,300,300,CONT_BODY_N,400nymous_
++B 20800,19200,300,300,CONT_BODY_P,1314ymous_
++B 31600,28000,300,300,CONT_VIA2,1046ymous_
++B 32800,29000,300,300,CONT_VIA2,992nymous_
++B 26000,37600,300,300,CONT_BODY_N,1206ymous_
++B 24800,6000,300,300,CONT_BODY_P,1260ymous_
++B 5600,37600,300,300,CONT_VIA,731nymous_
++B 31600,22000,300,300,CONT_VIA2,1049ymous_
++B 24000,35800,300,300,CONT_VIA,1263ymous_
++B 20800,35400,300,300,CONT_BODY_P,1317ymous_
++B 32800,23000,300,300,CONT_VIA2,995nymous_
++B 33800,36000,300,300,CONT_VIA,941nymous_
++B 26000,33600,300,300,CONT_VIA,1209ymous_
++B 36000,23000,300,300,CONT_VIA2,887nymous_
++B 37000,31000,300,300,CONT_VIA,833nymous_
++B 4400,27000,300,300,CONT_DIF_N,779nymous_
++B 5600,9000,300,300,CONT_DIF_N,725nymous_
++B 7600,24000,300,300,CONT_VIA,671nymous_
++B 14000,23000,300,300,CONT_DIF_N,510nymous_
++B 28000,20400,300,300,CONT_DIF_P,1156ymous_
++B 8600,19200,300,300,CONT_BODY_P,617nymous_
++B 10800,26000,300,300,CONT_DIF_N,563nymous_
++B 17600,8600,300,300,CONT_DIF_N,402nymous_
++B 15800,29000,300,300,CONT_VIA2,456nymous_
++B 29600,7000,300,300,CONT_DIF_N,1102ymous_
++B 31600,23000,300,300,CONT_VIA2,1048ymous_
++B 24000,37600,300,300,CONT_BODY_N,1262ymous_
++B 20800,36400,300,300,CONT_BODY_P,1316ymous_
++B 32800,27000,300,300,CONT_VIA2,994nymous_
++B 34000,19200,300,300,CONT_BODY_N,940nymous_
++B 26000,35000,300,300,CONT_DIF_P,1208ymous_
++B 36000,27000,300,300,CONT_VIA2,886nymous_
++B 37000,32000,300,300,CONT_DIF_P,832nymous_
++B 4400,27000,300,300,CONT_VIA,778nymous_
++B 5600,11800,300,300,CONT_DIF_P,724nymous_
++B 7600,24000,300,300,CONT_VIA2,670nymous_
++B 14000,24000,300,300,CONT_DIF_N,509nymous_
++B 27000,36400,300,300,CONT_VIA,1175ymous_
++B 37000,30000,300,300,CONT_VIA,835nymous_
++B 4400,26000,300,300,CONT_VIA,781nymous_
++B 5600,6000,300,300,CONT_VIA2,727nymous_
++B 7600,23000,300,300,CONT_VIA,673nymous_
++B 8600,32000,300,300,CONT_VIA2,619nymous_
++B 15800,27000,300,300,CONT_VIA2,458nymous_
++B 14000,21800,300,300,CONT_VIA,512nymous_
++B 28000,0,300,300,CONT_VIA3,1158ymous_
++B 29600,34000,300,300,CONT_VIA2,1104ymous_
++B 10800,24000,300,300,CONT_DIF_N,565nymous_
++B 17600,6000,300,300,CONT_VIA,404nymous_
++B 20800,34400,300,300,CONT_BODY_P,1318ymous_
++B 31600,20200,300,300,CONT_POLY,1050ymous_
++B 32800,22000,300,300,CONT_VIA2,996nymous_
++B 26000,33600,300,300,CONT_DIF_P,1210ymous_
++B 24000,35800,300,300,CONT_POLY,1264ymous_
++B 33800,36000,300,300,CONT_DIF_P,942nymous_
++B 36000,22000,300,300,CONT_VIA2,888nymous_
++B 37000,31000,300,300,CONT_DIF_P,834nymous_
++B 4400,26000,300,300,CONT_VIA2,780nymous_
++B 5600,8000,300,300,CONT_DIF_N,726nymous_
++B 28000,0,300,300,CONT_VIA4,1157ymous_
++B 7600,24000,300,300,CONT_DIF_N,672nymous_
++B 8600,36000,300,300,CONT_VIA2,618nymous_
++B 15800,28000,300,300,CONT_VIA2,457nymous_
++B 14000,21800,300,300,CONT_VIA2,511nymous_
++B 29600,35000,300,300,CONT_VIA2,1103ymous_
++B 10800,25000,300,300,CONT_DIF_N,564nymous_
++B 17600,6000,300,300,CONT_VIA2,403nymous_
++B 11600,17000,300,300,CONT_VIA2,541nymous_
++B 18800,6000,300,300,CONT_VIA,354nymous_
++B 18800,6000,300,300,CONT_BODY_P,355nymous_
++B 13600,19200,300,300,CONT_BODY_P,514nymous_
++B 27800,37600,300,300,CONT_BODY_N,1160ymous_
++B 8600,30000,300,300,CONT_VIA2,621nymous_
++B 10800,21800,300,300,CONT_VIA2,567nymous_
++B 17400,11800,300,300,CONT_POLY,406nymous_
++B 15600,36000,300,300,CONT_DIF_N,460nymous_
++B 29000,19200,300,300,CONT_BODY_N,1106ymous_
++B 30800,17000,300,300,CONT_VIA2,1052ymous_
++B 24000,34200,300,300,CONT_VIA,1266ymous_
++B 20800,32400,300,300,CONT_BODY_P,1320ymous_
++B 32200,36000,300,300,CONT_DIF_P,998nymous_
++B 33800,35000,300,300,CONT_VIA,944nymous_
++B 26000,31200,300,300,CONT_VIA,1212ymous_
++B 35600,17000,300,300,CONT_VIA2,890nymous_
++B 37000,30000,300,300,CONT_DIF_P,836nymous_
++B 4400,26000,300,300,CONT_DIF_N,782nymous_
++B 5600,6000,300,300,CONT_VIA,728nymous_
++B 7600,23000,300,300,CONT_DIF_N,674nymous_
++B 14000,21800,300,300,CONT_POLY,513nymous_
++B 28000,0,300,300,CONT_VIA2,1159ymous_
++B 29600,33000,300,300,CONT_VIA2,1105ymous_
++B 8600,31000,300,300,CONT_VIA2,620nymous_
++B 10800,23000,300,300,CONT_DIF_N,566nymous_
++B 17600,6000,300,300,CONT_BODY_P,405nymous_
++B 15600,19200,300,300,CONT_BODY_P,459nymous_
++B 20800,33400,300,300,CONT_BODY_P,1319ymous_
++B 31000,19200,300,300,CONT_BODY_N,1051ymous_
++B 32800,20200,300,300,CONT_POLY,997nymous_
++B 26000,32400,300,300,CONT_DIF_P,1211ymous_
++B 24000,34200,300,300,CONT_VIA2,1265ymous_
++B 33800,35000,300,300,CONT_VIA2,943nymous_
++B 36000,20200,300,300,CONT_POLY,889nymous_
++B 33800,35000,300,300,CONT_DIF_P,945nymous_
++B 26000,31200,300,300,CONT_DIF_P,1213ymous_
++B 35600,17000,300,300,CONT_VIA,891nymous_
++B 37000,29000,300,300,CONT_VIA2,837nymous_
++B 4400,25000,300,300,CONT_VIA2,783nymous_
++B 5600,6000,300,300,CONT_BODY_P,729nymous_
++B 7600,21800,300,300,CONT_VIA,675nymous_
++B 32200,35000,300,300,CONT_DIF_P,999nymous_
++B 20800,31400,300,300,CONT_BODY_P,1321ymous_
++B 24000,34200,300,300,CONT_POLY,1267ymous_
++B 16800,37600,300,300,CONT_BODY_P,407nymous_
++B 10800,21800,300,300,CONT_VIA,568nymous_
++B 30800,17000,300,300,CONT_VIA,1053ymous_
++B 29000,33000,300,300,CONT_POLY,1107ymous_
++B 12800,17000,300,300,CONT_VIA2,515nymous_
++B 15600,35000,300,300,CONT_DIF_N,461nymous_
++B 8600,26000,300,300,CONT_VIA2,622nymous_
++B 7600,21800,300,300,CONT_POLY,676nymous_
++B 27800,36400,300,300,CONT_DIF_P,1161ymous_
++B 5600,37600,300,300,CONT_VIA2,730nymous_
++B 4400,25000,300,300,CONT_VIA,784nymous_
++B 37000,29000,300,300,CONT_VIA,838nymous_
++B 35600,16000,300,300,CONT_BODY_N,892nymous_
++B 33800,34000,300,300,CONT_VIA2,946nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/po_mpx.vbe b/alliance/src/cells/src/mpxlib/po_mpx.vbe
+new file mode 100644
+index 0000000..91d5df8
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/po_mpx.vbe
+@@ -0,0 +1,29 @@
++ENTITY po_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_i : NATURAL := 191;
++ CONSTANT tpll_i : NATURAL := 2176;
++ CONSTANT rdown_i : NATURAL := 15;
++ CONSTANT tphh_i : NATURAL := 2032;
++ CONSTANT rup_i : NATURAL := 16
++ );
++ PORT (
++ i : in BIT;
++ pad : out BIT;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END po_mpx;
++
++ARCHITECTURE behaviour_data_flow OF po_mpx IS
++
++BEGIN
++ pad <= i;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on po_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pot_mpx.ap b/alliance/src/cells/src/mpxlib/pot_mpx.ap
+new file mode 100644
+index 0000000..161daf8
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pot_mpx.ap
+@@ -0,0 +1,1543 @@
++V ALLIANCE : 6
++H pot_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 28800,9000,29000,9000,200,i,RIGHT,POLY
++S 28000,-300,28000,10900,400,i,UP,ALU2
++S 28000,0,28000,0,400,i,RIGHT,CALU5
++S 28000,0,28000,0,400,i,RIGHT,CALU4
++S 27800,11800,28200,11800,200,i,RIGHT,POLY
++S 30000,-100,30000,10900,400,b,UP,ALU2
++S 30000,0,30000,0,400,b,RIGHT,CALU5
++S 30000,0,30000,0,400,b,RIGHT,CALU4
++S 29600,9800,29600,11400,200,b,UP,POLY
++S 29000,35100,29000,39700,400,pad,UP,ALU1
++S 29000,25900,29000,34900,400,pad,UP,ALU1
++S 28600,33000,29000,33000,600,pad,RIGHT,POLY
++S 28600,31800,29000,31800,600,pad,RIGHT,POLY
++S 28600,30600,29000,30600,600,pad,RIGHT,POLY
++S 28600,25800,29000,25800,600,pad,RIGHT,POLY
++S 20000,48100,20000,71900,24400,pad,UP,CALU1
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 16800,33400,17200,33400,200,vdde,RIGHT,POLY
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 3600,22200,5200,22200,200,vdde,RIGHT,POLY
++S 25100,28800,27900,28800,400,vdde,RIGHT,ALU1
++S 25100,26400,27900,26400,400,vdde,RIGHT,ALU1
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 6800,22200,8400,22200,200,vdde,RIGHT,POLY
++S 25100,21600,27900,21600,400,vdde,RIGHT,ALU1
++S 24000,35800,24400,35800,600,vdde,RIGHT,POLY
++S 24000,34200,24400,34200,600,vdde,RIGHT,POLY
++S 16800,32200,17200,32200,200,vdde,RIGHT,POLY
++S 16800,35800,17200,35800,200,vdde,RIGHT,POLY
++S 16800,34600,17200,34600,200,vdde,RIGHT,POLY
++S 16800,29900,16800,38300,400,vdde,UP,ALU2
++S 10500,21800,14300,21800,400,vdde,RIGHT,ALU2
++S 25100,24000,27900,24000,400,vdde,RIGHT,ALU1
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 3100,16000,36900,16000,2400,vddi,RIGHT,ALU1
++S 20000,9600,20000,11000,200,vddi,UP,POLY
++S 17800,22900,17800,31900,400,vsse,UP,ALU2
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 7600,22900,7600,37500,400,vsse,UP,ALU1
++S 4400,22900,4400,37500,400,vsse,UP,ALU1
++S 30400,36400,30400,36600,200,vsse,UP,POLY
++S 20800,22900,20800,37100,400,vsse,UP,ALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 3100,6000,36900,6000,2400,vssi,RIGHT,ALU1
++S 17500,22600,19100,22600,200,n6d,RIGHT,NTRANS
++S 28500,8000,30700,8000,400,93onymous_,RIGHT,ALU1
++S 28400,7500,28400,8100,620,92onymous_,UP,NDIF
++S 7300,21800,10100,21800,400,211nymous_,RIGHT,ALU2
++S 31700,6000,37100,6000,400,127nymous_,RIGHT,ALU2
++S 28300,9000,28700,9000,400,91onymous_,RIGHT,ALU1
++S 10800,22900,10800,39700,400,249nymous_,UP,ALU1
++S 35600,200,35600,12000,9000,11onymous_,UP,TALU5
++S 17700,8000,22300,8000,400,321nymous_,RIGHT,ALU1
++S 15800,9600,15800,10800,200,285nymous_,UP,POLY
++S 24900,30000,28100,30000,420,52onymous_,RIGHT,PDIF
++S 24900,31200,28100,31200,420,53onymous_,RIGHT,PDIF
++S 0,6000,40000,6000,12000,12onymous_,RIGHT,TALU6
++S 35600,13100,35600,15900,400,169nymous_,UP,ALU1
++S 10800,22700,10800,36500,620,248nymous_,UP,NDIF
++S 1700,37600,9500,37600,400,286nymous_,RIGHT,ALU1
++S 20000,40100,20000,59900,4400,13onymous_,UP,ALU1
++S 31800,12000,31800,12200,200,126nymous_,UP,POLY
++S 7600,21800,7600,22200,600,210nymous_,UP,POLY
++S 17700,36400,18900,36400,620,320nymous_,RIGHT,NDIF
++S 24900,28800,28100,28800,420,51onymous_,RIGHT,PDIF
++S 29000,200,29000,12000,0,10onymous_,UP,TALU5
++S 17700,35200,18900,35200,620,319nymous_,RIGHT,NDIF
++S 17700,34000,18900,34000,620,318nymous_,RIGHT,NDIF
++S 35000,12700,35000,14700,200,p5b,UP,PTRANS
++S 27800,12500,27800,14500,200,p1,UP,PTRANS
++S 35000,7300,35000,8300,200,n5b,UP,NTRANS
++S 6800,22500,6800,36700,200,n14c,UP,NTRANS
++S 30800,10600,33800,10600,200,cnbb,RIGHT,POLY
++S 30800,8100,30800,12900,400,cnbb,UP,ALU1
++S 6200,10900,6200,14900,200,p18b,UP,PTRANS
++S 14800,22500,14800,36700,200,n15d,UP,NTRANS
++S 14600,11100,14600,13100,200,p17c,UP,PTRANS
++S 31400,35300,31400,36100,200,p11,UP,PTRANS
++S 31400,20900,31400,34300,200,p14a,UP,PTRANS
++S 20800,19300,20800,37500,400,17onymous_,UP,ALU1
++S 8000,7500,8000,9100,420,215nymous_,UP,NDIF
++S 20000,6300,20000,8500,400,14onymous_,UP,ALU1
++S 24900,33600,28100,33600,420,55onymous_,RIGHT,PDIF
++S 1700,19200,20700,19200,400,287nymous_,RIGHT,ALU1
++S 17600,12500,17600,12900,620,324nymous_,UP,PDIF
++S 35300,17000,37100,17000,400,170nymous_,RIGHT,ALU2
++S 24900,32400,28100,32400,420,54onymous_,RIGHT,PDIF
++S 17600,8500,17600,9100,620,323nymous_,UP,NDIF
++S 17600,8100,17600,8500,400,322nymous_,UP,ALU1
++S 36000,20200,36000,20600,600,171nymous_,UP,POLY
++S 17700,12800,18300,12800,400,325nymous_,RIGHT,ALU1
++S 1480,19200,20920,19200,600,288nymous_,RIGHT,PTIE
++S 24900,35000,28100,35000,820,56onymous_,RIGHT,PDIF
++S 32000,7500,32000,8100,620,128nymous_,UP,NDIF
++S 1600,19300,1600,37500,400,289nymous_,UP,ALU1
++S 7600,22700,7600,36500,620,212nymous_,UP,NDIF
++S 24900,36400,28100,36400,620,57onymous_,RIGHT,PDIF
++S 11000,9600,11000,10600,200,250nymous_,UP,POLY
++S 3600,22200,5200,22200,200,172nymous_,RIGHT,POLY
++S 31700,7600,37100,7600,1200,129nymous_,RIGHT,ALU2
++S 20000,11100,20000,15900,400,15onymous_,UP,ALU1
++S 7600,22900,7600,37500,400,213nymous_,UP,ALU1
++S 1600,19080,1600,37720,600,290nymous_,UP,PTIE
++S 28400,12700,28400,14300,620,94onymous_,UP,PDIF
++S 24800,7500,24800,8100,620,58onymous_,UP,NDIF
++S 3480,16000,36920,16000,600,173nymous_,RIGHT,NTIE
++S 32000,8100,32000,12900,400,130nymous_,UP,ALU1
++S 20000,12700,20000,17300,400,16onymous_,UP,ALU2
++S 7600,22700,7600,38300,2400,214nymous_,UP,ALU2
++S 25400,8600,25400,12400,200,62onymous_,UP,POLY
++S 17900,25600,18700,25600,400,329nymous_,RIGHT,ALU1
++S 16400,6100,16400,8900,400,292nymous_,UP,ALU1
++S 32000,12900,32000,14500,620,131nymous_,UP,PDIF
++S 24800,8100,24800,13900,400,59onymous_,UP,ALU1
++S 28400,14100,28400,15900,400,95onymous_,UP,ALU1
++S 17900,24400,18700,24400,400,328nymous_,RIGHT,ALU1
++S 16400,29900,16400,32300,400,291nymous_,UP,ALU2
++S 17900,23200,18700,23200,400,327nymous_,RIGHT,ALU1
++S 2900,20600,15500,20600,400,pad2,RIGHT,ALU1
++S 2700,20600,15700,20600,400,pad2,RIGHT,ALU1
++S 20000,8500,20000,9100,620,pad2,UP,NDIF
++S 17900,22000,18700,22000,400,326nymous_,RIGHT,ALU1
++S 7400,7300,7400,9300,200,n18c,UP,NTRANS
++S 7400,10900,7400,14900,200,p18c,UP,PTRANS
++S 11600,6100,11600,8900,400,251nymous_,UP,ALU1
++S 28700,24600,30300,24600,400,96onymous_,RIGHT,ALU2
++S 24800,13100,24800,14500,620,60onymous_,UP,PDIF
++S 3200,5880,3200,8720,600,132nymous_,UP,PTIE
++S 36700,37600,38100,37600,400,174nymous_,RIGHT,ALU1
++S 16400,7500,16400,9100,620,293nymous_,UP,NDIF
++S 8000,8100,8000,8900,400,216nymous_,UP,ALU1
++S 11600,7500,11600,9100,420,252nymous_,UP,NDIF
++S 3200,6100,3200,9100,400,133nymous_,UP,ALU1
++S 36800,5880,36800,8720,600,175nymous_,UP,PTIE
++S 25100,35000,29100,35000,400,61onymous_,RIGHT,ALU1
++S 29000,8600,29000,9000,200,97onymous_,UP,POLY
++S 36800,6900,36800,17300,400,177nymous_,UP,ALU2
++S 21200,8500,21200,9100,420,19onymous_,UP,NDIF
++S 36800,6100,36800,9100,400,176nymous_,UP,ALU1
++S 20800,19080,20800,37720,600,18onymous_,UP,PTIE
++S 11600,11100,11600,14700,620,253nymous_,UP,PDIF
++S 8000,11100,8000,13700,400,217nymous_,UP,ALU1
++S 16400,11300,16400,12900,620,294nymous_,UP,PDIF
++S 26000,30900,26000,37100,400,65onymous_,UP,ALU2
++S 26000,23700,26000,29100,400,64onymous_,UP,ALU2
++S 26000,21300,26000,24300,400,63onymous_,UP,ALU2
++S 29000,18300,29000,19500,400,101nymous_,UP,ALU2
++S 3600,22500,3600,36700,200,n14a,UP,NTRANS
++S 15800,11100,15800,13100,200,p17d,UP,PTRANS
++S 20600,8300,20600,9300,200,n16c,UP,NTRANS
++S 17900,26800,18700,26800,400,330nymous_,RIGHT,ALU1
++S 17900,28000,18700,28000,400,331nymous_,RIGHT,ALU1
++S 3200,5700,3200,16100,400,134nymous_,UP,ALU2
++S 16400,12100,16400,15900,400,295nymous_,UP,ALU1
++S 8000,11100,8000,14700,620,218nymous_,UP,PDIF
++S 17900,30400,18700,30400,400,332nymous_,RIGHT,ALU1
++S 11600,11900,11600,15900,400,254nymous_,UP,ALU1
++S 2900,6000,7100,6000,400,135nymous_,RIGHT,ALU2
++S 17900,31600,18700,31600,400,333nymous_,RIGHT,ALU1
++S 900,37000,8900,37000,2400,255nymous_,RIGHT,ALU2
++S 21200,9100,21200,9900,400,20onymous_,UP,ALU1
++S 2900,10000,6300,10000,2400,136nymous_,RIGHT,ALU2
++S 36800,11100,36800,15900,400,178nymous_,UP,ALU1
++S 900,19000,9300,19000,2400,256nymous_,RIGHT,ALU2
++S 3200,11100,3200,15900,400,137nymous_,UP,ALU1
++S 36800,10880,36800,16120,600,179nymous_,UP,NTIE
++S 8600,9600,8600,10600,200,219nymous_,UP,POLY
++S 22000,21900,22000,28500,400,21onymous_,UP,ALU2
++S 29000,11400,29000,12200,200,98onymous_,UP,POLY
++S 37000,21100,37000,36500,620,180nymous_,UP,PDIF
++S 12200,9600,12200,10800,200,257nymous_,UP,POLY
++S 29000,11400,32600,11400,200,99onymous_,RIGHT,POLY
++S 9200,20700,9200,36300,400,220nymous_,UP,ALU1
++S 28700,18200,34700,18200,400,100nymous_,RIGHT,ALU2
++S 15800,7300,15800,9300,200,n17d,UP,NTRANS
++S 38200,19300,38200,37500,400,183nymous_,UP,ALU1
++S 18200,9600,21800,9600,200,337nymous_,RIGHT,POLY
++S 36200,20900,36200,36700,200,p14d,UP,PTRANS
++S 11600,22500,11600,36700,200,n15b,UP,NTRANS
++S 11000,10900,11000,14900,200,p18f,UP,PTRANS
++S 13200,22200,14800,22200,200,cn,RIGHT,POLY
++S 10000,22200,11600,22200,200,cn,RIGHT,POLY
++S 4100,21800,7900,21800,400,cn,RIGHT,ALU2
++S 25100,22800,27900,22800,400,cn,RIGHT,ALU1
++S 25100,20400,27900,20400,400,cn,RIGHT,ALU1
++S 25000,20100,25000,23100,400,cn,UP,ALU2
++S 25100,37000,27900,37000,1600,fbul,RIGHT,ALU1
++S 25100,25200,27900,25200,400,fbul,RIGHT,ALU1
++S 16500,20200,24300,20200,400,296nymous_,RIGHT,ALU2
++S 16800,20300,16800,23300,400,297nymous_,UP,ALU1
++S 17900,34000,18700,34000,400,334nymous_,RIGHT,ALU1
++S 16500,21200,25300,21200,400,298nymous_,RIGHT,ALU2
++S 17900,36400,18700,36400,400,335nymous_,RIGHT,ALU1
++S 3200,10880,3200,16120,600,138nymous_,UP,NTIE
++S 16800,20900,16800,24700,400,299nymous_,UP,ALU2
++S 22000,17900,22000,19500,400,22onymous_,UP,ALU2
++S 2900,15400,19300,15400,1200,139nymous_,RIGHT,ALU2
++S 37000,21300,37000,36300,400,181nymous_,UP,ALU1
++S 1800,17700,1800,38300,1600,336nymous_,UP,ALU2
++S 21700,18200,25100,18200,400,23onymous_,RIGHT,ALU2
++S 2900,17000,19100,17000,400,140nymous_,RIGHT,ALU2
++S 37000,17700,37000,38300,2400,182nymous_,UP,ALU2
++S 9200,22700,9200,36500,620,221nymous_,UP,NDIF
++S 22000,19300,22000,22100,400,24onymous_,UP,ALU1
++S 32200,21100,32200,36500,620,141nymous_,UP,PDIF
++S 11000,7300,11000,9300,200,n18f,UP,NTRANS
++S 8900,6000,26300,6000,400,222nymous_,RIGHT,ALU2
++S 12400,20700,12400,36300,400,258nymous_,UP,ALU1
++S 22400,8100,22400,8500,400,25onymous_,UP,ALU1
++S 29300,37000,31900,37000,2400,102nymous_,RIGHT,ALU2
++S 29480,37600,38520,37600,600,103nymous_,RIGHT,NTIE
++S 26000,6100,26000,7900,400,66onymous_,UP,ALU1
++S 26000,7500,26000,8100,620,67onymous_,UP,NDIF
++S 16800,24100,16800,29500,400,301nymous_,UP,ALU2
++S 16800,23200,16800,25400,600,300nymous_,UP,POLY
++S 19500,36800,26300,36800,400,node_cp,RIGHT,ALU2
++S 17900,35200,19700,35200,400,node_cp,RIGHT,ALU1
++S 17900,32800,19700,32800,400,node_cp,RIGHT,ALU1
++S 34600,20600,36200,20600,200,node_cp,RIGHT,POLY
++S 31400,20600,33000,20600,200,node_cp,RIGHT,POLY
++S 28600,24600,29000,24600,600,node_cp,RIGHT,POLY
++S 27700,24600,29300,24600,400,node_cp,RIGHT,ALU2
++S 28000,24300,28000,31500,400,node_cp,UP,ALU2
++S 25100,33600,27900,33600,400,node_cp,RIGHT,ALU1
++S 25100,31200,27900,31200,400,node_cp,RIGHT,ALU1
++S 21800,8300,21800,9300,200,n16d,UP,NTRANS
++S 18500,31600,25300,31600,400,cpd,RIGHT,ALU2
++S 18800,21900,18800,36700,400,cpd,UP,ALU2
++S 25100,32400,27900,32400,400,cpd,RIGHT,ALU1
++S 25100,30000,27900,30000,400,cpd,RIGHT,ALU1
++S 25100,27600,27900,27600,400,cpd,RIGHT,ALU1
++S 25000,27300,25000,32700,400,cpd,UP,ALU2
++S 29000,7300,29000,8300,200,n1,UP,NTRANS
++S 16900,24400,17700,24400,400,302nymous_,RIGHT,ALU1
++S 32200,21300,32200,39700,400,142nymous_,UP,ALU1
++S 38200,19080,38200,37920,600,184nymous_,UP,NTIE
++S 18400,10100,18400,12700,400,338nymous_,UP,ALU1
++S 16800,25500,16800,28100,400,303nymous_,UP,ALU1
++S 9200,6100,9200,7900,400,223nymous_,UP,ALU1
++S 12400,22700,12400,36500,620,259nymous_,UP,NDIF
++S 3900,7600,7300,7600,1200,185nymous_,RIGHT,ALU2
++S 18800,8500,18800,9100,420,339nymous_,UP,NDIF
++S 9200,5700,9200,11300,400,224nymous_,UP,ALU2
++S 12400,18500,12400,22100,2400,260nymous_,UP,ALU2
++S 32600,8600,32600,9800,200,143nymous_,UP,POLY
++S 22400,8500,22400,9100,620,26onymous_,UP,NDIF
++S 4400,21800,4400,22200,600,186nymous_,UP,POLY
++S 9200,7500,9200,9100,620,225nymous_,UP,NDIF
++S 18800,9100,18800,9900,400,340nymous_,UP,ALU1
++S 12800,7500,12800,9100,620,261nymous_,UP,NDIF
++S 22100,17000,23700,17000,400,27onymous_,RIGHT,ALU2
++S 32600,11400,32600,12400,200,144nymous_,UP,POLY
++S 4400,22700,4400,36500,620,187nymous_,UP,NDIF
++S 29600,7100,29600,8100,620,104nymous_,UP,NDIF
++S 8900,10000,26300,10000,2400,226nymous_,RIGHT,ALU2
++S 12800,8100,12800,12500,400,262nymous_,UP,ALU1
++S 23100,37600,27700,37600,400,28onymous_,RIGHT,ALU1
++S 29300,10600,30300,10600,400,105nymous_,RIGHT,ALU2
++S 32800,20200,32800,20600,600,145nymous_,UP,POLY
++S 17400,11800,17400,12000,200,307nymous_,UP,POLY
++S 17400,11100,17400,11700,400,306nymous_,UP,ALU1
++S 25400,7300,25400,8300,200,n4b,UP,NTRANS
++S 29000,12500,29000,14500,200,p2,UP,PTRANS
++S 8600,10900,8600,14900,200,p18d,UP,PTRANS
++S 12200,7300,12200,9300,200,n17a,UP,NTRANS
++S 8600,7300,8600,9300,200,n18d,UP,NTRANS
++S 8400,22500,8400,36700,200,n14d,UP,NTRANS
++S 19500,28200,24300,28200,400,cpb,RIGHT,ALU2
++S 19400,26200,19800,26200,200,cpb,RIGHT,POLY
++S 19400,22600,19800,22600,200,cpb,RIGHT,POLY
++S 24000,29200,24400,29200,600,cpb,RIGHT,POLY
++S 24000,28200,24400,28200,600,cpb,RIGHT,POLY
++S 19800,22700,19800,30900,400,cpb,UP,ALU1
++S 19400,31000,19800,31000,200,cpb,RIGHT,POLY
++S 19400,27400,19800,27400,200,cpb,RIGHT,POLY
++S 24800,12700,24800,18500,400,cpb,UP,ALU2
++S 24000,27000,24400,27000,600,cpb,RIGHT,POLY
++S 16800,28200,16800,29800,600,304nymous_,UP,POLY
++S 16900,29200,18700,29200,400,305nymous_,RIGHT,ALU1
++S 18500,17000,20300,17000,400,341nymous_,RIGHT,ALU2
++S 4400,22900,4400,37500,400,188nymous_,UP,ALU1
++S 9200,11100,9200,14700,620,227nymous_,UP,PDIF
++S 12900,9000,15100,9000,400,263nymous_,RIGHT,ALU1
++S 23000,11700,23000,17300,2000,29onymous_,UP,ALU2
++S 12900,11000,17300,11000,400,264nymous_,RIGHT,ALU1
++S 29600,12700,29600,14300,620,106nymous_,UP,PDIF
++S 4400,22700,4400,38300,2400,189nymous_,UP,ALU2
++S 23000,19300,23000,37500,400,30onymous_,UP,ALU1
++S 12800,11300,12800,12900,620,265nymous_,UP,PDIF
++S 29600,13100,29600,13900,400,107nymous_,UP,ALU1
++S 4400,6100,4400,8900,400,190nymous_,UP,ALU1
++S 19800,32900,19800,35100,400,342nymous_,UP,ALU1
++S 33200,6100,33200,7900,400,146nymous_,UP,ALU1
++S 23000,19080,23000,37920,600,31onymous_,UP,NTIE
++S 33200,7500,33200,8100,620,147nymous_,UP,NDIF
++S 26000,8700,26000,14300,400,68onymous_,UP,ALU2
++S 19800,34900,19800,37100,400,343nymous_,UP,ALU2
++S 33200,12900,33200,14500,620,148nymous_,UP,PDIF
++S 33200,13100,33200,15900,400,149nymous_,UP,ALU1
++S 24900,21600,28100,21600,420,45onymous_,RIGHT,PDIF
++S 24900,20400,28100,20400,620,44onymous_,RIGHT,PDIF
++S 17700,25600,18900,25600,620,311nymous_,RIGHT,NDIF
++S 17700,24400,18900,24400,620,310nymous_,RIGHT,NDIF
++S 17700,23200,18900,23200,620,309nymous_,RIGHT,NDIF
++S 12200,11100,12200,13100,200,p17a,UP,PTRANS
++S 18200,8300,18200,9300,200,n16a,UP,NTRANS
++S 12200,10000,16400,10000,600,nnt,RIGHT,POLY
++S 17700,22000,18900,22000,620,308nymous_,RIGHT,NDIF
++S 32600,7300,32600,8300,200,n0,UP,NTRANS
++S 27200,8100,27200,12900,400,cpbb,UP,ALU1
++S 25400,10600,27200,10600,200,cpbb,RIGHT,POLY
++S 25400,12700,25400,14700,200,p4b,UP,PTRANS
++S 9200,12100,9200,15900,400,228nymous_,UP,ALU1
++S 9300,25000,16100,25000,2400,229nymous_,RIGHT,ALU2
++S 30000,19900,30000,24900,400,108nymous_,UP,ALU2
++S 9300,31000,16100,31000,2400,230nymous_,RIGHT,ALU2
++S 4400,7500,4400,9100,620,191nymous_,UP,NDIF
++S 23100,19200,38100,19200,400,32onymous_,RIGHT,ALU1
++S 4400,11100,4400,14700,620,192nymous_,UP,PDIF
++S 26000,12900,26000,14500,620,69onymous_,UP,PDIF
++S 22880,19200,38320,19200,600,33onymous_,RIGHT,NTIE
++S 4400,11900,4400,15900,400,193nymous_,UP,ALU1
++S 13400,9600,13400,10800,200,266nymous_,UP,POLY
++S 23080,37600,29920,37600,600,34onymous_,RIGHT,NTIE
++S 26000,13100,26000,15900,400,70onymous_,UP,ALU1
++S 4100,13000,20300,13000,2400,194nymous_,RIGHT,ALU2
++S 30100,20200,35900,20200,400,109nymous_,RIGHT,ALU1
++S 33400,11700,33400,17300,400,150nymous_,UP,ALU2
++S 33800,21100,33800,36500,620,151nymous_,UP,PDIF
++S 30200,8600,30200,9000,200,110nymous_,UP,POLY
++S 24900,25200,28100,25200,420,48onymous_,RIGHT,PDIF
++S 24900,24000,28100,24000,420,47onymous_,RIGHT,PDIF
++S 24900,22800,28100,22800,420,46onymous_,RIGHT,PDIF
++S 17700,28000,18900,28000,620,313nymous_,RIGHT,NDIF
++S 17700,26800,18900,26800,620,312nymous_,RIGHT,NDIF
++S 30600,21300,30600,35500,400,114nymous_,UP,ALU1
++S 30600,21100,30600,35900,620,113nymous_,UP,PDIF
++S 5700,9000,10300,9000,400,197nymous_,RIGHT,ALU1
++S 32600,12700,32600,14700,200,p0,UP,PTRANS
++S 33000,20900,33000,36700,200,p14b,UP,PTRANS
++S 9800,21500,9800,23100,400,231nymous_,UP,ALU2
++S 9500,22800,17100,22800,400,232nymous_,RIGHT,ALU2
++S 9500,37000,17100,37000,2400,233nymous_,RIGHT,ALU2
++S 26000,13700,26000,16100,400,71onymous_,UP,ALU2
++S 23600,6100,23600,7900,400,35onymous_,UP,ALU1
++S 14000,21800,14000,22200,600,267nymous_,UP,POLY
++S 25700,15400,32500,15400,1200,72onymous_,RIGHT,ALU2
++S 23600,7500,23600,8100,620,36onymous_,UP,NDIF
++S 9800,9600,9800,10600,200,234nymous_,UP,POLY
++S 5000,9600,5000,10600,200,195nymous_,UP,POLY
++S 33800,21300,33800,36300,400,152nymous_,UP,ALU1
++S 14000,22700,14000,36500,620,268nymous_,UP,NDIF
++S 25700,17000,33500,17000,400,73onymous_,RIGHT,ALU2
++S 23600,12900,23600,14500,620,37onymous_,UP,PDIF
++S 14000,22900,14000,39700,400,269nymous_,UP,ALU1
++S 14000,6100,14000,7900,400,270nymous_,UP,ALU1
++S 30200,12000,30200,12200,200,111nymous_,UP,POLY
++S 5600,7500,5600,9100,420,196nymous_,UP,NDIF
++S 30400,36400,30400,36600,200,112nymous_,UP,POLY
++S 700,25000,8900,25000,2400,237nymous_,RIGHT,ALU2
++S 33800,12400,35000,12400,200,155nymous_,RIGHT,POLY
++S 27000,6900,27000,14300,400,77onymous_,UP,ALU2
++S 14100,10000,21100,10000,400,272nymous_,RIGHT,ALU1
++S 9700,19000,14900,19000,2400,236nymous_,RIGHT,ALU2
++S 27000,24900,27000,36700,400,76onymous_,UP,ALU2
++S 33800,8600,35000,8600,200,154nymous_,RIGHT,POLY
++S 24900,26400,28100,26400,420,49onymous_,RIGHT,PDIF
++S 17700,30400,18900,30400,620,315nymous_,RIGHT,NDIF
++S 17700,29200,18900,29200,620,314nymous_,RIGHT,NDIF
++S 6000,20700,6000,36300,400,200nymous_,UP,ALU1
++S 30600,26700,30600,35300,2400,115nymous_,UP,ALU2
++S 5700,11000,10300,11000,400,199nymous_,RIGHT,ALU1
++S 700,28000,15100,28000,2400,238nymous_,RIGHT,ALU2
++S 5600,11100,5600,14700,620,198nymous_,UP,PDIF
++S 16800,29800,17200,29800,200,cnb,RIGHT,POLY
++S 16800,28600,17200,28600,200,cnb,RIGHT,POLY
++S 16800,25000,17200,25000,200,cnb,RIGHT,POLY
++S 16800,23800,17200,23800,200,cnb,RIGHT,POLY
++S 34400,12700,34400,18500,400,cnb,UP,ALU2
++S 29000,17900,29000,23700,400,cnb,UP,ALU2
++S 28600,23400,29000,23400,600,cnb,RIGHT,POLY
++S 28600,22200,29000,22200,600,cnb,RIGHT,POLY
++S 28600,21000,29000,21000,600,cnb,RIGHT,POLY
++S 23700,19200,29300,19200,400,cnb,RIGHT,ALU2
++S 33800,19100,33800,38300,2400,156nymous_,UP,ALU2
++S 24000,18900,24000,20500,400,41onymous_,UP,ALU2
++S 14000,11300,14000,12900,620,273nymous_,UP,PDIF
++S 17000,12300,17000,13100,200,p16,UP,PTRANS
++S 19400,8300,19400,9300,200,n16b,UP,NTRANS
++S 24200,7300,24200,8300,200,n4a,UP,NTRANS
++S 2700,20200,15700,20200,400,74onymous_,RIGHT,ALU1
++S 23600,13100,23600,15900,400,38onymous_,UP,ALU1
++S 33800,8600,33800,12400,200,153nymous_,UP,POLY
++S 26400,18600,26400,38600,8400,75onymous_,UP,NWELL
++S 24000,27100,24000,29100,400,39onymous_,UP,ALU1
++S 10000,22200,11600,22200,200,235nymous_,RIGHT,POLY
++S 14000,7500,14000,9100,620,271nymous_,UP,NDIF
++S 24000,33900,24000,36100,400,40onymous_,UP,ALU2
++S 24700,22200,28300,22200,200,p7b,RIGHT,PTRANS
++S 33800,7300,33800,8300,200,n5a,UP,NTRANS
++S 17000,12000,17400,12000,200,nt,RIGHT,POLY
++S 5000,10000,11000,10000,600,nt,RIGHT,POLY
++S 24700,21000,28300,21000,200,p7c,RIGHT,PTRANS
++S 24200,12400,25400,12400,200,43onymous_,RIGHT,POLY
++S 30200,7300,30200,8300,200,n3,UP,NTRANS
++S 5000,7300,5000,9300,200,n18a,UP,NTRANS
++S 24200,12700,24200,14700,200,p4a,UP,PTRANS
++S 13400,11100,13400,13100,200,p17b,UP,PTRANS
++S 24200,8600,25400,8600,200,42onymous_,RIGHT,POLY
++S 17500,25000,19100,25000,200,n7c,RIGHT,NTRANS
++S 13400,7300,13400,9300,200,n17b,UP,NTRANS
++S 17500,23800,19100,23800,200,n7d,RIGHT,NTRANS
++S 13200,22500,13200,36700,200,n15c,UP,NTRANS
++S 26700,13000,33700,13000,2400,78onymous_,RIGHT,ALU2
++S 14000,12100,14000,15900,400,274nymous_,UP,ALU1
++S 27200,7500,27200,8100,620,79onymous_,UP,NDIF
++S 34000,18200,34000,38200,10400,157nymous_,UP,NWELL
++S 27200,12700,27200,14300,620,80onymous_,UP,PDIF
++S 3280,6000,28520,6000,600,158nymous_,RIGHT,PTIE
++S 27200,13100,27200,13900,400,81onymous_,UP,ALU1
++S 700,31000,8900,31000,2400,239nymous_,RIGHT,ALU2
++S 34400,7500,34400,8100,620,159nymous_,UP,NDIF
++S 30600,36400,31400,36400,200,116nymous_,RIGHT,POLY
++S 6000,22700,6000,36500,620,201nymous_,UP,NDIF
++S 700,34000,16100,34000,2400,240nymous_,RIGHT,ALU2
++S 30680,6000,37120,6000,600,117nymous_,RIGHT,PTIE
++S 6200,9600,6200,10600,200,202nymous_,UP,POLY
++S 10400,7500,10400,9100,420,241nymous_,UP,NDIF
++S 24900,27600,28100,27600,420,50onymous_,RIGHT,PDIF
++S 5600,8100,5600,13700,400,1.nq,UP,ALU1
++S 33800,12700,33800,14700,200,p5a,UP,PTRANS
++S 24700,25800,28300,25800,200,p13,RIGHT,PTRANS
++S 30200,12500,30200,14500,200,p3,UP,PTRANS
++S 24700,24600,28300,24600,200,p10,RIGHT,PTRANS
++S 5200,22500,5200,36700,200,n14b,UP,NTRANS
++S 24700,23400,28300,23400,200,p7a,RIGHT,PTRANS
++S 5000,10900,5000,14900,200,p18a,UP,PTRANS
++S 30200,12000,31800,12000,200,eb,RIGHT,POLY
++S 30200,9000,31800,9000,200,eb,RIGHT,POLY
++S 10000,22500,10000,36700,200,n15a,UP,NTRANS
++S 9800,10900,9800,14900,200,p18e,UP,PTRANS
++S 17500,29800,19100,29800,200,n7a,RIGHT,NTRANS
++S 17500,28600,19100,28600,200,n7b,RIGHT,NTRANS
++S 9800,7300,9800,9300,200,n18e,UP,NTRANS
++S 17500,27400,19100,27400,200,n6b,RIGHT,NTRANS
++S 17500,26200,19100,26200,200,n6c,RIGHT,NTRANS
++S 24700,27000,28300,27000,200,p6c,RIGHT,PTRANS
++S 1280,37600,21120,37600,600,275nymous_,RIGHT,PTIE
++S 14600,9600,14600,10800,200,276nymous_,UP,POLY
++S 27300,13000,29500,13000,400,82onymous_,RIGHT,ALU1
++S 50,6000,26800,6000,12000,0nonymous_,RIGHT,TALU2
++S 34400,8100,34400,13900,400,160nymous_,UP,ALU1
++S 34400,13100,34400,14500,620,161nymous_,UP,PDIF
++S 30800,7500,30800,8100,620,118nymous_,UP,NDIF
++S 27800,8600,27800,9800,200,83onymous_,UP,POLY
++S 15300,37600,20700,37600,400,277nymous_,RIGHT,ALU1
++S 31200,6000,39950,6000,12000,2nonymous_,RIGHT,TALU2
++S 27800,9800,32600,9800,200,84onymous_,RIGHT,POLY
++S 34800,20200,34800,20600,600,162nymous_,UP,POLY
++S 6800,6100,6800,7900,400,203nymous_,UP,ALU1
++S 10100,7600,27300,7600,1200,242nymous_,RIGHT,ALU2
++S 17500,34600,19100,34600,200,n8b,RIGHT,NTRANS
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 17500,33400,19100,33400,200,n8c,RIGHT,NTRANS
++S 17500,32200,19100,32200,200,n8d,RIGHT,NTRANS
++S 17500,31000,19100,31000,200,n6a,RIGHT,NTRANS
++S 2800,22700,2800,36500,620,88onymous_,UP,NDIF
++S 24700,28200,28300,28200,200,p6b,RIGHT,PTRANS
++S 24700,29400,28300,29400,200,p6a,RIGHT,PTRANS
++S 24700,30600,28300,30600,200,p8c,RIGHT,PTRANS
++S 15200,7500,15200,9100,620,278nymous_,UP,NDIF
++S 50,6000,26800,6000,12000,3nonymous_,RIGHT,TALU4
++S 27800,11800,27800,12400,200,85onymous_,UP,POLY
++S 30800,12700,30800,14300,620,119nymous_,UP,PDIF
++S 15200,8100,15200,8900,400,279nymous_,UP,ALU1
++S 15200,11100,15200,12500,400,280nymous_,UP,ALU1
++S 31200,6000,39950,6000,12000,5nonymous_,RIGHT,TALU4
++S 30800,13100,30800,13900,400,120nymous_,UP,ALU1
++S 15200,11300,15200,12900,620,281nymous_,UP,PDIF
++S 6800,7500,6800,9100,620,204nymous_,UP,NDIF
++S 31000,5700,31000,11300,400,121nymous_,UP,ALU2
++S 35400,21100,35400,36500,620,163nymous_,UP,PDIF
++S 6900,10000,12700,10000,400,205nymous_,RIGHT,ALU1
++S 35400,21300,35400,39700,400,164nymous_,UP,ALU1
++S 10400,8100,10400,8900,400,243nymous_,UP,ALU1
++S 6800,11100,6800,14700,620,206nymous_,UP,PDIF
++S 35100,13000,37100,13000,2400,165nymous_,RIGHT,ALU2
++S 10400,11100,10400,13700,400,244nymous_,UP,ALU1
++S 6800,12100,6800,15900,400,207nymous_,UP,ALU1
++S 10400,11100,10400,14700,620,245nymous_,UP,PDIF
++S 2800,20500,2800,36300,400,87onymous_,UP,ALU1
++S 17500,35800,19100,35800,200,n8a,RIGHT,NTRANS
++S 7400,9600,7400,10600,200,209nymous_,UP,POLY
++S 35600,12900,35600,14500,620,168nymous_,UP,PDIF
++S 31400,19100,31400,28300,400,124nymous_,UP,ALU2
++S 10700,39600,35500,39600,2400,246nymous_,RIGHT,ALU1
++S 10800,21800,10800,22200,600,247nymous_,UP,POLY
++S 2200,13600,37800,13600,6800,89onymous_,RIGHT,NWELL
++S 31600,20200,31600,20600,600,125nymous_,UP,POLY
++S 28200,9100,28200,11700,400,90onymous_,UP,ALU1
++S 14600,7300,14600,9300,200,n17c,UP,NTRANS
++S 24700,31800,28300,31800,200,p8b,RIGHT,PTRANS
++S 24700,33000,28300,33000,200,p8a,RIGHT,PTRANS
++S 27800,7300,27800,8300,200,n2,UP,NTRANS
++S 24700,34200,28300,34200,200,p9,RIGHT,PTRANS
++S 6200,7300,6200,9300,200,n18b,UP,NTRANS
++S 24700,35800,28300,35800,200,p12,RIGHT,PTRANS
++S 34600,20900,34600,36700,200,p14c,UP,PTRANS
++S 17700,31600,18900,31600,620,316nymous_,RIGHT,NDIF
++S 13400,200,13400,2000,27000,6nonymous_,UP,TALU3
++S 17700,32800,18900,32800,620,317nymous_,RIGHT,NDIF
++S 15600,20700,15600,36300,400,282nymous_,UP,ALU1
++S 29000,200,29000,2000,0,7nonymous_,UP,TALU3
++S 30700,6000,32300,6000,400,122nymous_,RIGHT,ALU2
++S 15600,22700,15600,36500,620,283nymous_,UP,NDIF
++S 35600,200,35600,2000,9000,8nonymous_,UP,TALU3
++S 30700,10000,36100,10000,2400,123nymous_,RIGHT,ALU2
++S 15800,23700,15800,32300,400,284nymous_,UP,ALU2
++S 13400,200,13400,12000,27000,9nonymous_,UP,TALU5
++S 35600,6100,35600,7900,400,166nymous_,UP,ALU1
++S 7000,6900,7000,14300,400,208nymous_,UP,ALU2
++S 35600,7500,35600,8100,620,167nymous_,UP,NDIF
++B 21200,10000,200,200,CONT_TURN1,344nymous_
++B 22400,8000,200,200,CONT_TURN1,345nymous_
++B 28200,9000,200,200,CONT_TURN1,346nymous_
++B 17400,11000,200,200,CONT_TURN1,349nymous_
++B 5000,19000,8300,2300,CONT_VIA2,347nymous_
++B 10400,11000,200,200,CONT_TURN1,348nymous_
++B 17800,22000,200,200,CONT_TURN1,351nymous_
++B 17600,8000,200,200,CONT_TURN1,350nymous_
++B 18400,12800,200,200,CONT_TURN1,352nymous_
++B 19800,32800,200,200,CONT_TURN1,353nymous_
++B 16400,17000,300,300,CONT_VIA,1268ymous_
++B 15200,9000,300,300,CONT_DIF_N,1214ymous_
++B 6800,37600,300,300,CONT_VIA,1000ymous_
++B 18800,23200,300,300,CONT_DIF_N,1322ymous_
++B 7600,36000,300,300,CONT_VIA2,1054ymous_
++B 9200,17000,300,300,CONT_VIA,1108ymous_
++B 26000,20400,300,300,CONT_DIF_P,462nymous_
++B 23000,35400,300,300,CONT_BODY_N,408nymous_
++B 28400,14000,300,300,CONT_DIF_P,569nymous_
++B 30600,31000,300,300,CONT_VIA,623nymous_
++B 12400,30000,300,300,CONT_DIF_N,1162ymous_
++B 27000,36400,300,300,CONT_DIF_P,516nymous_
++B 3200,14000,300,300,CONT_VIA2,677nymous_
++B 35400,26000,300,300,CONT_DIF_P,785nymous_
++B 37000,22000,300,300,CONT_VIA2,839nymous_
++B 38200,30400,300,300,CONT_BODY_N,893nymous_
++B 15200,10000,300,300,CONT_POLY,1215ymous_
++B 4400,14800,300,300,CONT_DIF_P,947nymous_
++B 6800,37600,300,300,CONT_VIA2,1001ymous_
++B 18800,24400,300,300,CONT_DIF_N,1323ymous_
++B 16400,17000,300,300,CONT_VIA2,1269ymous_
++B 23000,36400,300,300,CONT_BODY_N,409nymous_
++B 28400,16000,300,300,CONT_BODY_N,570nymous_
++B 7600,19200,300,300,CONT_BODY_P,1055ymous_
++B 9200,17000,300,300,CONT_VIA2,1109ymous_
++B 27000,36400,300,300,CONT_VIA,517nymous_
++B 26000,21600,300,300,CONT_DIF_P,463nymous_
++B 30600,32000,300,300,CONT_DIF_P,624nymous_
++B 3200,15000,300,300,CONT_BODY_N,678nymous_
++B 12400,31000,300,300,CONT_DIF_N,1163ymous_
++B 33800,28000,300,300,CONT_VIA,732nymous_
++B 35400,27000,300,300,CONT_DIF_P,786nymous_
++B 37000,23000,300,300,CONT_DIF_P,840nymous_
++B 28000,25200,300,300,CONT_DIF_P,540nymous_
++B 38200,31400,300,300,CONT_BODY_N,894nymous_
++B 4400,16000,300,300,CONT_BODY_N,948nymous_
++B 16600,19200,300,300,CONT_BODY_P,1270ymous_
++B 15200,11600,300,300,CONT_DIF_P,1216ymous_
++B 6800,6000,300,300,CONT_BODY_P,1002ymous_
++B 7800,37600,300,300,CONT_BODY_P,1056ymous_
++B 18800,25600,300,300,CONT_DIF_N,1324ymous_
++B 23000,37600,300,300,CONT_BODY_N,410nymous_
++B 20000,6000,300,300,CONT_VIA2,356nymous_
++B 28400,17000,300,300,CONT_VIA,571nymous_
++B 9600,37600,300,300,CONT_BODY_P,1110ymous_
++B 12400,32000,300,300,CONT_DIF_N,1164ymous_
++B 27000,37600,300,300,CONT_BODY_N,518nymous_
++B 26000,21600,300,300,CONT_VIA,464nymous_
++B 30600,32000,300,300,CONT_VIA,625nymous_
++B 3200,16000,300,300,CONT_BODY_N,679nymous_
++B 33800,28000,300,300,CONT_VIA2,733nymous_
++B 35400,28000,300,300,CONT_DIF_P,787nymous_
++B 37000,23000,300,300,CONT_VIA,841nymous_
++B 38200,32400,300,300,CONT_BODY_N,895nymous_
++B 4400,17000,300,300,CONT_VIA,949nymous_
++B 16800,20200,300,300,CONT_VIA,1271ymous_
++B 15200,12600,300,300,CONT_DIF_P,1217ymous_
++B 20000,8600,300,300,CONT_DIF_N,357nymous_
++B 6800,6000,300,300,CONT_VIA,1003ymous_
++B 7800,37600,300,300,CONT_VIA,1057ymous_
++B 18800,26800,300,300,CONT_DIF_N,1325ymous_
++B 23000,19200,300,300,CONT_BODY_N,411nymous_
++B 28400,17000,300,300,CONT_VIA2,572nymous_
++B 9600,19200,300,300,CONT_BODY_P,1111ymous_
++B 12400,33000,300,300,CONT_DIF_N,1165ymous_
++B 37000,23000,300,300,CONT_VIA2,842nymous_
++B 38200,33400,300,300,CONT_BODY_N,896nymous_
++B 15200,16000,300,300,CONT_BODY_N,1218ymous_
++B 4400,17000,300,300,CONT_VIA2,950nymous_
++B 6800,6000,300,300,CONT_VIA2,1004ymous_
++B 18800,26800,300,300,CONT_VIA,1326ymous_
++B 16800,23400,300,300,CONT_POLY,1272ymous_
++B 20000,11000,300,300,CONT_POLY,358nymous_
++B 7800,37600,300,300,CONT_VIA2,1058ymous_
++B 10400,6000,300,300,CONT_BODY_P,1112ymous_
++B 26000,22800,300,300,CONT_DIF_P,466nymous_
++B 23400,17000,300,300,CONT_VIA,412nymous_
++B 28800,9000,300,300,CONT_POLY,573nymous_
++B 30600,33000,300,300,CONT_VIA,627nymous_
++B 12400,34000,300,300,CONT_DIF_N,1166ymous_
++B 27000,10000,300,300,CONT_VIA2,520nymous_
++B 3200,17000,300,300,CONT_VIA2,681nymous_
++B 33800,29000,300,300,CONT_VIA,735nymous_
++B 35400,30000,300,300,CONT_DIF_P,789nymous_
++B 37000,24000,300,300,CONT_DIF_P,843nymous_
++B 38200,34400,300,300,CONT_BODY_N,897nymous_
++B 15200,17000,300,300,CONT_VIA,1219ymous_
++B 4600,37600,300,300,CONT_BODY_P,951nymous_
++B 6800,7200,300,300,CONT_DIF_N,1005ymous_
++B 16800,24400,300,300,CONT_VIA,1273ymous_
++B 20000,16000,300,300,CONT_BODY_N,359nymous_
++B 26000,21600,300,300,CONT_VIA2,465nymous_
++B 30600,33000,300,300,CONT_DIF_P,626nymous_
++B 27000,9000,300,300,CONT_VIA2,519nymous_
++B 3200,17000,300,300,CONT_VIA,680nymous_
++B 33800,29000,300,300,CONT_DIF_P,734nymous_
++B 35400,29000,300,300,CONT_DIF_P,788nymous_
++B 18800,28000,300,300,CONT_DIF_N,1327ymous_
++B 23400,17000,300,300,CONT_VIA2,413nymous_
++B 29000,21000,300,300,CONT_POLY,574nymous_
++B 8000,8000,300,300,CONT_DIF_N,1059ymous_
++B 10400,6000,300,300,CONT_VIA,1113ymous_
++B 27000,11000,300,300,CONT_VIA2,521nymous_
++B 26000,22800,300,300,CONT_VIA2,467nymous_
++B 30600,33000,300,300,CONT_VIA2,628nymous_
++B 32200,22000,300,300,CONT_DIF_P,682nymous_
++B 33800,29000,300,300,CONT_VIA2,736nymous_
++B 12400,35000,300,300,CONT_DIF_N,1167ymous_
++B 35400,31000,300,300,CONT_DIF_P,790nymous_
++B 37000,24000,300,300,CONT_VIA,844nymous_
++B 38200,35400,300,300,CONT_BODY_N,898nymous_
++B 4600,37600,300,300,CONT_VIA,952nymous_
++B 16800,25400,300,300,CONT_POLY,1274ymous_
++B 15200,17000,300,300,CONT_VIA2,1220ymous_
++B 6800,8000,300,300,CONT_DIF_N,1006ymous_
++B 8000,9000,300,300,CONT_DIF_N,1060ymous_
++B 18800,29200,300,300,CONT_DIF_N,1328ymous_
++B 23600,6000,300,300,CONT_BODY_P,414nymous_
++B 20800,20400,300,300,CONT_BODY_P,360nymous_
++B 29000,21000,300,300,CONT_VIA,575nymous_
++B 10400,6000,300,300,CONT_VIA2,1114ymous_
++B 12400,36000,300,300,CONT_DIF_N,1168ymous_
++B 27000,19200,300,300,CONT_BODY_N,522nymous_
++B 26000,24000,300,300,CONT_DIF_P,468nymous_
++B 30600,34000,300,300,CONT_DIF_P,629nymous_
++B 32200,23000,300,300,CONT_DIF_P,683nymous_
++B 33800,30000,300,300,CONT_DIF_P,737nymous_
++B 35400,32000,300,300,CONT_DIF_P,791nymous_
++B 37000,25000,300,300,CONT_DIF_P,845nymous_
++B 38200,36400,300,300,CONT_BODY_N,899nymous_
++B 4600,37600,300,300,CONT_VIA2,953nymous_
++B 16800,28200,300,300,CONT_POLY,1275ymous_
++B 15600,23000,300,300,CONT_DIF_N,1221ymous_
++B 20800,21400,300,300,CONT_BODY_P,361nymous_
++B 6800,10000,300,300,CONT_POLY,1007ymous_
++B 8000,9000,300,300,CONT_VIA,1061ymous_
++B 18800,30400,300,300,CONT_DIF_N,1329ymous_
++B 26000,24000,300,300,CONT_VIA,469nymous_
++B 23600,6000,300,300,CONT_VIA,415nymous_
++B 29000,22200,300,300,CONT_POLY,576nymous_
++B 30600,34000,300,300,CONT_VIA,630nymous_
++B 10400,8000,300,300,CONT_DIF_N,1115ymous_
++B 12600,19200,300,300,CONT_BODY_P,1169ymous_
++B 27200,6000,300,300,CONT_BODY_P,523nymous_
++B 32200,24000,300,300,CONT_DIF_P,684nymous_
++B 33800,30000,300,300,CONT_VIA,738nymous_
++B 35400,33000,300,300,CONT_DIF_P,792nymous_
++B 37000,25000,300,300,CONT_VIA,846nymous_
++B 38200,37600,300,300,CONT_BODY_N,900nymous_
++B 15600,24000,300,300,CONT_DIF_N,1222ymous_
++B 4600,19200,300,300,CONT_BODY_P,954nymous_
++B 6800,12000,300,300,CONT_DIF_P,1008ymous_
++B 18800,31600,300,300,CONT_DIF_N,1330ymous_
++B 16800,29200,300,300,CONT_VIA,1276ymous_
++B 20800,22400,300,300,CONT_BODY_P,362nymous_
++B 8000,10000,300,300,CONT_POLY,1062ymous_
++B 10400,9000,300,300,CONT_DIF_N,1116ymous_
++B 23600,6000,300,300,CONT_VIA2,416nymous_
++B 29000,22200,300,300,CONT_VIA,577nymous_
++B 12800,6000,300,300,CONT_BODY_P,1170ymous_
++B 27200,8000,300,300,CONT_DIF_N,524nymous_
++B 15600,25000,300,300,CONT_DIF_N,1223ymous_
++B 5400,24000,300,300,CONT_VIA2,955nymous_
++B 6800,12800,300,300,CONT_DIF_P,1009ymous_
++B 18800,31600,300,300,CONT_VIA,1331ymous_
++B 16800,32200,300,300,CONT_POLY,1277ymous_
++B 23600,8000,300,300,CONT_DIF_N,417nymous_
++B 20800,23400,300,300,CONT_BODY_P,363nymous_
++B 29000,23400,300,300,CONT_POLY,578nymous_
++B 8000,11000,300,300,CONT_VIA,1063ymous_
++B 10400,10000,300,300,CONT_POLY,1117ymous_
++B 27200,10600,300,300,CONT_POLY,525nymous_
++B 26000,26400,300,300,CONT_DIF_P,471nymous_
++B 30600,35000,300,300,CONT_DIF_P,632nymous_
++B 32200,26000,300,300,CONT_DIF_P,686nymous_
++B 33800,31000,300,300,CONT_VIA,740nymous_
++B 12800,6000,300,300,CONT_VIA,1171ymous_
++B 35400,35000,300,300,CONT_DIF_P,794nymous_
++B 37000,26000,300,300,CONT_VIA,848nymous_
++B 4400,21800,300,300,CONT_POLY,902nymous_
++B 5400,25000,300,300,CONT_VIA2,956nymous_
++B 16800,32200,300,300,CONT_VIA,1278ymous_
++B 15600,26000,300,300,CONT_DIF_N,1224ymous_
++B 6800,13800,300,300,CONT_DIF_P,1010ymous_
++B 18800,32800,300,300,CONT_DIF_N,1332ymous_
++B 20800,24400,300,300,CONT_BODY_P,364nymous_
++B 38200,19200,300,300,CONT_BODY_N,901nymous_
++B 37000,26000,300,300,CONT_DIF_P,847nymous_
++B 35400,34000,300,300,CONT_DIF_P,793nymous_
++B 33800,31000,300,300,CONT_DIF_P,739nymous_
++B 32200,25000,300,300,CONT_DIF_P,685nymous_
++B 30600,34000,300,300,CONT_VIA2,631nymous_
++B 26000,25200,300,300,CONT_DIF_P,470nymous_
++B 4400,23000,300,300,CONT_DIF_N,904nymous_
++B 37000,27000,300,300,CONT_VIA,850nymous_
++B 35600,6000,300,300,CONT_BODY_P,796nymous_
++B 33800,32000,300,300,CONT_VIA,742nymous_
++B 32200,28000,300,300,CONT_DIF_P,688nymous_
++B 27200,14000,300,300,CONT_DIF_P,527nymous_
++B 12800,8000,300,300,CONT_DIF_N,1173ymous_
++B 10400,12800,300,300,CONT_DIF_P,1119ymous_
++B 30600,35000,300,300,CONT_VIA2,634nymous_
++B 29000,24600,300,300,CONT_POLY,580nymous_
++B 23600,14000,300,300,CONT_DIF_P,419nymous_
++B 26000,27600,300,300,CONT_DIF_P,473nymous_
++B 18800,34000,300,300,CONT_DIF_N,1333ymous_
++B 8000,12800,300,300,CONT_DIF_P,1065ymous_
++B 6800,14800,300,300,CONT_DIF_P,1011ymous_
++B 20800,25400,300,300,CONT_BODY_P,365nymous_
++B 15600,27000,300,300,CONT_DIF_N,1225ymous_
++B 16800,33400,300,300,CONT_POLY,1279ymous_
++B 5400,26000,300,300,CONT_VIA2,957nymous_
++B 4400,21800,300,300,CONT_VIA,903nymous_
++B 37000,27000,300,300,CONT_DIF_P,849nymous_
++B 35400,36000,300,300,CONT_DIF_P,795nymous_
++B 33800,32000,300,300,CONT_DIF_P,741nymous_
++B 32200,27000,300,300,CONT_DIF_P,687nymous_
++B 30600,35000,300,300,CONT_VIA,633nymous_
++B 26000,26400,300,300,CONT_VIA,472nymous_
++B 27200,13000,300,300,CONT_DIF_P,526nymous_
++B 12800,6000,300,300,CONT_VIA2,1172ymous_
++B 10400,11800,300,300,CONT_DIF_P,1118ymous_
++B 29000,23400,300,300,CONT_VIA,579nymous_
++B 23600,13000,300,300,CONT_DIF_P,418nymous_
++B 8000,11800,300,300,CONT_DIF_P,1064ymous_
++B 30800,8000,300,300,CONT_DIF_N,636nymous_
++B 26000,28800,300,300,CONT_DIF_P,475nymous_
++B 27200,17000,300,300,CONT_VIA,529nymous_
++B 10400,16000,300,300,CONT_BODY_N,1121ymous_
++B 8000,16000,300,300,CONT_BODY_N,1067ymous_
++B 29000,25800,300,300,CONT_POLY,582nymous_
++B 20800,27400,300,300,CONT_BODY_P,367nymous_
++B 24000,27000,300,300,CONT_POLY,421nymous_
++B 16800,33400,300,300,CONT_VIA2,1281ymous_
++B 18800,35200,300,300,CONT_DIF_N,1335ymous_
++B 6800,17000,300,300,CONT_VIA,1013ymous_
++B 5400,31000,300,300,CONT_VIA2,959nymous_
++B 15600,29000,300,300,CONT_DIF_N,1227ymous_
++B 4400,23000,300,300,CONT_VIA,905nymous_
++B 37000,27000,300,300,CONT_VIA2,851nymous_
++B 35600,6000,300,300,CONT_VIA,797nymous_
++B 33800,33000,300,300,CONT_DIF_P,743nymous_
++B 32200,29000,300,300,CONT_DIF_P,689nymous_
++B 27200,16000,300,300,CONT_BODY_N,528nymous_
++B 12800,9000,300,300,CONT_DIF_N,1174ymous_
++B 30800,6000,300,300,CONT_BODY_P,635nymous_
++B 29000,24600,300,300,CONT_VIA,581nymous_
++B 23600,16000,300,300,CONT_BODY_N,420nymous_
++B 26000,27600,300,300,CONT_VIA2,474nymous_
++B 10400,13800,300,300,CONT_DIF_P,1120ymous_
++B 8000,13800,300,300,CONT_DIF_P,1066ymous_
++B 20800,26400,300,300,CONT_BODY_P,366nymous_
++B 16800,33400,300,300,CONT_VIA,1280ymous_
++B 18800,34000,300,300,CONT_VIA,1334ymous_
++B 6800,16000,300,300,CONT_BODY_N,1012ymous_
++B 5400,30000,300,300,CONT_VIA2,958nymous_
++B 15600,28000,300,300,CONT_DIF_N,1226ymous_
++B 15600,30000,300,300,CONT_DIF_N,1228ymous_
++B 16800,34600,300,300,CONT_POLY,1282ymous_
++B 5400,32000,300,300,CONT_VIA2,960nymous_
++B 4400,24000,300,300,CONT_DIF_N,906nymous_
++B 37000,28000,300,300,CONT_DIF_P,852nymous_
++B 35600,6000,300,300,CONT_VIA2,798nymous_
++B 33800,33000,300,300,CONT_VIA,744nymous_
++B 32200,30000,300,300,CONT_DIF_P,690nymous_
++B 6800,17000,300,300,CONT_VIA2,1014ymous_
++B 8000,17000,300,300,CONT_VIA,1068ymous_
++B 18800,36400,300,300,CONT_DIF_N,1336ymous_
++B 24000,28200,300,300,CONT_POLY,422nymous_
++B 20800,28400,300,300,CONT_BODY_P,368nymous_
++B 29000,30600,300,300,CONT_POLY,583nymous_
++B 10400,17000,300,300,CONT_VIA,1122ymous_
++B 12800,12600,300,300,CONT_DIF_P,1176ymous_
++B 27200,17000,300,300,CONT_VIA2,530nymous_
++B 26000,28800,300,300,CONT_VIA,476nymous_
++B 30800,10600,300,300,CONT_POLY,637nymous_
++B 32200,31000,300,300,CONT_DIF_P,691nymous_
++B 33800,33000,300,300,CONT_VIA2,745nymous_
++B 35600,8000,300,300,CONT_DIF_N,799nymous_
++B 37000,28000,300,300,CONT_VIA,853nymous_
++B 4400,24000,300,300,CONT_VIA,907nymous_
++B 5400,36000,300,300,CONT_VIA2,961nymous_
++B 16800,34600,300,300,CONT_VIA,1283ymous_
++B 15600,31000,300,300,CONT_DIF_N,1229ymous_
++B 20800,29400,300,300,CONT_BODY_P,369nymous_
++B 7000,9000,300,300,CONT_VIA2,1015ymous_
++B 8000,17000,300,300,CONT_VIA2,1069ymous_
++B 18800,36400,300,300,CONT_VIA,1337ymous_
++B 24000,28200,300,300,CONT_VIA,423nymous_
++B 26000,28800,300,300,CONT_VIA2,477nymous_
++B 29000,31800,300,300,CONT_POLY,584nymous_
++B 30800,13000,300,300,CONT_DIF_P,638nymous_
++B 10400,17000,300,300,CONT_VIA2,1123ymous_
++B 12800,16000,300,300,CONT_BODY_N,1177ymous_
++B 27800,36400,300,300,CONT_DIF_P,531nymous_
++B 32200,32000,300,300,CONT_DIF_P,692nymous_
++B 33800,34000,300,300,CONT_DIF_P,746nymous_
++B 35600,13000,300,300,CONT_DIF_P,800nymous_
++B 37000,28000,300,300,CONT_VIA2,854nymous_
++B 4400,24000,300,300,CONT_VIA2,908nymous_
++B 15600,32000,300,300,CONT_DIF_N,1230ymous_
++B 5600,37600,300,300,CONT_BODY_P,962nymous_
++B 7000,10000,300,300,CONT_VIA2,1016ymous_
++B 18800,37600,300,300,CONT_BODY_P,1338ymous_
++B 16800,34600,300,300,CONT_VIA2,1284ymous_
++B 20800,30400,300,300,CONT_BODY_P,370nymous_
++B 8600,24000,300,300,CONT_VIA2,1070ymous_
++B 10600,19200,300,300,CONT_BODY_P,1124ymous_
++B 26000,30000,300,300,CONT_DIF_P,478nymous_
++B 24000,29200,300,300,CONT_POLY,424nymous_
++B 29000,33000,300,300,CONT_POLY,585nymous_
++B 30800,14000,300,300,CONT_DIF_P,639nymous_
++B 12800,17000,300,300,CONT_VIA,1178ymous_
++B 27800,37600,300,300,CONT_BODY_N,532nymous_
++B 32200,33000,300,300,CONT_DIF_P,693nymous_
++B 33800,34000,300,300,CONT_VIA,747nymous_
++B 35600,14000,300,300,CONT_DIF_P,801nymous_
++B 37000,29000,300,300,CONT_DIF_P,855nymous_
++B 4400,25000,300,300,CONT_DIF_N,909nymous_
++B 5600,37600,300,300,CONT_VIA,963nymous_
++B 7000,11000,300,300,CONT_VIA2,1017ymous_
++B 12800,17000,300,300,CONT_VIA2,1179ymous_
++B 15600,33000,300,300,CONT_DIF_N,1231ymous_
++B 18800,6000,300,300,CONT_BODY_P,1339ymous_
++B 16800,35800,300,300,CONT_POLY,1285ymous_
++B 24000,34200,300,300,CONT_POLY,425nymous_
++B 20800,31400,300,300,CONT_BODY_P,371nymous_
++B 29000,19200,300,300,CONT_BODY_N,586nymous_
++B 8600,25000,300,300,CONT_VIA2,1071ymous_
++B 10800,21800,300,300,CONT_POLY,1125ymous_
++B 28000,0,300,300,CONT_VIA2,533nymous_
++B 26000,31200,300,300,CONT_DIF_P,479nymous_
++B 30800,16000,300,300,CONT_BODY_N,640nymous_
++B 32200,34000,300,300,CONT_DIF_P,694nymous_
++B 33800,34000,300,300,CONT_VIA2,748nymous_
++B 35600,16000,300,300,CONT_BODY_N,802nymous_
++B 37000,29000,300,300,CONT_VIA,856nymous_
++B 4400,25000,300,300,CONT_VIA,910nymous_
++B 5600,37600,300,300,CONT_VIA2,964nymous_
++B 16800,35800,300,300,CONT_VIA,1286ymous_
++B 15600,34000,300,300,CONT_DIF_N,1232ymous_
++B 7600,21800,300,300,CONT_POLY,1018ymous_
++B 8600,26000,300,300,CONT_VIA2,1072ymous_
++B 18800,6000,300,300,CONT_VIA,1340ymous_
++B 24000,34200,300,300,CONT_VIA,426nymous_
++B 20800,32400,300,300,CONT_BODY_P,372nymous_
++B 29600,33000,300,300,CONT_VIA2,587nymous_
++B 10800,21800,300,300,CONT_VIA,1126ymous_
++B 28000,0,300,300,CONT_VIA3,534nymous_
++B 26000,31200,300,300,CONT_VIA,480nymous_
++B 30800,17000,300,300,CONT_VIA,641nymous_
++B 32200,35000,300,300,CONT_DIF_P,695nymous_
++B 33800,35000,300,300,CONT_DIF_P,749nymous_
++B 35600,17000,300,300,CONT_VIA,803nymous_
++B 37000,29000,300,300,CONT_VIA2,857nymous_
++B 4400,25000,300,300,CONT_VIA2,911nymous_
++B 5600,6000,300,300,CONT_BODY_P,965nymous_
++B 16800,37600,300,300,CONT_BODY_P,1287ymous_
++B 15600,35000,300,300,CONT_DIF_N,1233ymous_
++B 20800,33400,300,300,CONT_BODY_P,373nymous_
++B 7600,21800,300,300,CONT_VIA,1019ymous_
++B 8600,30000,300,300,CONT_VIA2,1073ymous_
++B 18800,6000,300,300,CONT_VIA2,1341ymous_
++B 26000,32400,300,300,CONT_DIF_P,481nymous_
++B 24000,34200,300,300,CONT_VIA2,427nymous_
++B 29600,34000,300,300,CONT_VIA2,588nymous_
++B 30800,17000,300,300,CONT_VIA2,642nymous_
++B 10800,21800,300,300,CONT_VIA2,1127ymous_
++B 28000,0,300,300,CONT_VIA4,535nymous_
++B 32200,36000,300,300,CONT_DIF_P,696nymous_
++B 33800,35000,300,300,CONT_VIA,750nymous_
++B 35600,17000,300,300,CONT_VIA2,804nymous_
++B 37000,30000,300,300,CONT_DIF_P,858nymous_
++B 4400,26000,300,300,CONT_DIF_N,912nymous_
++B 15600,36000,300,300,CONT_DIF_N,1234ymous_
++B 5600,6000,300,300,CONT_VIA,966nymous_
++B 7600,23000,300,300,CONT_DIF_N,1020ymous_
++B 18800,9000,300,300,CONT_DIF_N,1342ymous_
++B 17400,11800,300,300,CONT_POLY,1288ymous_
++B 20800,34400,300,300,CONT_BODY_P,374nymous_
++B 8600,31000,300,300,CONT_VIA2,1074ymous_
++B 10800,23000,300,300,CONT_DIF_N,1128ymous_
++B 24000,35800,300,300,CONT_POLY,428nymous_
++B 29600,35000,300,300,CONT_VIA2,589nymous_
++B 28000,20400,300,300,CONT_DIF_P,536nymous_
++B 26000,33600,300,300,CONT_DIF_P,482nymous_
++B 31000,19200,300,300,CONT_BODY_N,643nymous_
++B 32800,20200,300,300,CONT_POLY,697nymous_
++B 33800,35000,300,300,CONT_VIA2,751nymous_
++B 36000,20200,300,300,CONT_POLY,805nymous_
++B 37000,30000,300,300,CONT_VIA,859nymous_
++B 4400,26000,300,300,CONT_VIA,913nymous_
++B 15600,19200,300,300,CONT_BODY_P,1235ymous_
++B 5600,6000,300,300,CONT_VIA2,967nymous_
++B 7600,23000,300,300,CONT_VIA,1021ymous_
++B 18800,16000,300,300,CONT_BODY_N,1343ymous_
++B 17600,6000,300,300,CONT_BODY_P,1289ymous_
++B 24000,35800,300,300,CONT_VIA,429nymous_
++B 20800,35400,300,300,CONT_BODY_P,375nymous_
++B 29600,7000,300,300,CONT_DIF_N,590nymous_
++B 8600,32000,300,300,CONT_VIA2,1075ymous_
++B 10800,24000,300,300,CONT_DIF_N,1129ymous_
++B 28000,21600,300,300,CONT_DIF_P,537nymous_
++B 26000,33600,300,300,CONT_VIA,483nymous_
++B 31600,20200,300,300,CONT_POLY,644nymous_
++B 32800,22000,300,300,CONT_VIA2,698nymous_
++B 33800,36000,300,300,CONT_DIF_P,752nymous_
++B 36000,22000,300,300,CONT_VIA2,806nymous_
++B 37000,31000,300,300,CONT_DIF_P,860nymous_
++B 4400,26000,300,300,CONT_VIA2,914nymous_
++B 5600,8000,300,300,CONT_DIF_N,968nymous_
++B 17600,6000,300,300,CONT_VIA,1290ymous_
++B 15800,27000,300,300,CONT_VIA2,1236ymous_
++B 7600,24000,300,300,CONT_DIF_N,1022ymous_
++B 18800,17000,300,300,CONT_VIA,1344ymous_
++B 20800,36400,300,300,CONT_BODY_P,376nymous_
++B 14000,21800,300,300,CONT_VIA,1182ymous_
++B 8600,36000,300,300,CONT_VIA2,1076ymous_
++B 24000,37600,300,300,CONT_BODY_N,430nymous_
++B 29600,10600,300,300,CONT_POLY,591nymous_
++B 10800,25000,300,300,CONT_DIF_N,1130ymous_
++B 28000,22800,300,300,CONT_DIF_P,538nymous_
++B 26000,35000,300,300,CONT_DIF_P,484nymous_
++B 31600,22000,300,300,CONT_VIA2,645nymous_
++B 32800,23000,300,300,CONT_VIA2,699nymous_
++B 33800,36000,300,300,CONT_VIA,753nymous_
++B 36000,23000,300,300,CONT_VIA2,807nymous_
++B 37000,31000,300,300,CONT_VIA,861nymous_
++B 4400,27000,300,300,CONT_DIF_N,915nymous_
++B 5600,9000,300,300,CONT_DIF_N,969nymous_
++B 17600,6000,300,300,CONT_VIA2,1291ymous_
++B 15800,28000,300,300,CONT_VIA2,1237ymous_
++B 20800,37600,300,300,CONT_BODY_P,377nymous_
++B 7600,24000,300,300,CONT_VIA,1023ymous_
++B 8600,19200,300,300,CONT_BODY_P,1077ymous_
++B 18800,17000,300,300,CONT_VIA2,1345ymous_
++B 26000,36400,300,300,CONT_DIF_P,485nymous_
++B 24000,19200,300,300,CONT_BODY_N,431nymous_
++B 29600,10600,300,300,CONT_VIA,592nymous_
++B 31600,23000,300,300,CONT_VIA2,646nymous_
++B 10800,26000,300,300,CONT_DIF_N,1131ymous_
++B 28000,24000,300,300,CONT_DIF_P,539nymous_
++B 32800,27000,300,300,CONT_VIA2,700nymous_
++B 34000,19200,300,300,CONT_BODY_N,754nymous_
++B 36000,27000,300,300,CONT_VIA2,808nymous_
++B 37000,32000,300,300,CONT_DIF_P,862nymous_
++B 4400,27000,300,300,CONT_VIA,916nymous_
++B 14000,23000,300,300,CONT_DIF_N,1184ymous_
++B 14000,21800,300,300,CONT_VIA2,1183ymous_
++B 13600,19200,300,300,CONT_BODY_P,1180ymous_
++B 15800,29000,300,300,CONT_VIA2,1238ymous_
++B 5600,11800,300,300,CONT_DIF_P,970nymous_
++B 7600,24000,300,300,CONT_VIA2,1024ymous_
++B 19600,19200,300,300,CONT_BODY_P,1346ymous_
++B 17600,8600,300,300,CONT_DIF_N,1292ymous_
++B 20800,19200,300,300,CONT_BODY_P,378nymous_
++B 8800,37600,300,300,CONT_BODY_P,1078ymous_
++B 10800,27000,300,300,CONT_DIF_N,1132ymous_
++B 26000,37600,300,300,CONT_BODY_N,486nymous_
++B 24800,6000,300,300,CONT_BODY_P,432nymous_
++B 29600,13000,300,300,CONT_DIF_P,593nymous_
++B 31600,27000,300,300,CONT_VIA2,647nymous_
++B 32800,28000,300,300,CONT_VIA2,701nymous_
++B 3400,24000,300,300,CONT_VIA2,755nymous_
++B 36000,28000,300,300,CONT_VIA2,809nymous_
++B 37000,32000,300,300,CONT_VIA,863nymous_
++B 4400,28000,300,300,CONT_DIF_N,917nymous_
++B 15800,37600,300,300,CONT_BODY_P,1239ymous_
++B 14000,24000,300,300,CONT_DIF_N,1185ymous_
++B 5600,12800,300,300,CONT_DIF_P,971nymous_
++B 7600,25000,300,300,CONT_DIF_N,1025ymous_
++B 19800,22600,300,300,CONT_POLY,1347ymous_
++B 17600,12800,300,300,CONT_DIF_P,1293ymous_
++B 24800,6000,300,300,CONT_VIA,433nymous_
++B 21200,6000,300,300,CONT_BODY_P,379nymous_
++B 29600,14000,300,300,CONT_DIF_P,594nymous_
++B 8800,37600,300,300,CONT_VIA,1079ymous_
++B 10800,28000,300,300,CONT_DIF_N,1133ymous_
++B 14000,21800,300,300,CONT_POLY,1181ymous_
++B 26000,6000,300,300,CONT_BODY_P,487nymous_
++B 31600,28000,300,300,CONT_VIA2,648nymous_
++B 32800,29000,300,300,CONT_VIA2,702nymous_
++B 3400,25000,300,300,CONT_VIA2,756nymous_
++B 36000,29000,300,300,CONT_VIA2,810nymous_
++B 37000,33000,300,300,CONT_DIF_P,864nymous_
++B 14000,25000,300,300,CONT_DIF_N,1186ymous_
++B 4400,28000,300,300,CONT_VIA,918nymous_
++B 5600,13800,300,300,CONT_DIF_P,972nymous_
++B 17600,16000,300,300,CONT_BODY_N,1294ymous_
++B 1600,20400,300,300,CONT_BODY_P,1240ymous_
++B 7600,25000,300,300,CONT_VIA,1026ymous_
++B 8800,37600,300,300,CONT_VIA2,1080ymous_
++B 19800,26200,300,300,CONT_POLY,1348ymous_
++B 24800,6000,300,300,CONT_VIA2,434nymous_
++B 21200,6000,300,300,CONT_VIA,380nymous_
++B 29600,16000,300,300,CONT_BODY_N,595nymous_
++B 10800,29000,300,300,CONT_DIF_N,1134ymous_
++B 26000,6000,300,300,CONT_VIA,488nymous_
++B 31600,29000,300,300,CONT_VIA2,649nymous_
++B 32800,33000,300,300,CONT_VIA2,703nymous_
++B 3400,26000,300,300,CONT_VIA2,757nymous_
++B 36000,33000,300,300,CONT_VIA2,811nymous_
++B 37000,33000,300,300,CONT_VIA,865nymous_
++B 14000,26000,300,300,CONT_DIF_N,1187ymous_
++B 4400,29000,300,300,CONT_DIF_N,919nymous_
++B 5600,16000,300,300,CONT_BODY_N,973nymous_
++B 17600,17000,300,300,CONT_VIA,1295ymous_
++B 1600,21400,300,300,CONT_BODY_P,1241ymous_
++B 21200,6000,300,300,CONT_VIA2,381nymous_
++B 7600,25000,300,300,CONT_VIA2,1027ymous_
++B 9200,23000,300,300,CONT_DIF_N,1081ymous_
++B 19800,27400,300,300,CONT_POLY,1349ymous_
++B 24800,8000,300,300,CONT_DIF_N,435nymous_
++B 26000,6000,300,300,CONT_VIA2,489nymous_
++B 29600,17000,300,300,CONT_VIA,596nymous_
++B 31600,33000,300,300,CONT_VIA2,650nymous_
++B 10800,30000,300,300,CONT_DIF_N,1135ymous_
++B 32800,34000,300,300,CONT_VIA2,704nymous_
++B 3400,30000,300,300,CONT_VIA2,758nymous_
++B 36000,34000,300,300,CONT_VIA2,812nymous_
++B 37000,33000,300,300,CONT_VIA2,866nymous_
++B 4400,29000,300,300,CONT_VIA,920nymous_
++B 1600,22400,300,300,CONT_BODY_P,1242ymous_
++B 14000,27000,300,300,CONT_DIF_N,1188ymous_
++B 5600,17000,300,300,CONT_VIA,974nymous_
++B 7600,26000,300,300,CONT_DIF_N,1028ymous_
++B 19800,28200,300,300,CONT_VIA,1350ymous_
++B 17600,17000,300,300,CONT_VIA2,1296ymous_
++B 21200,9000,300,300,CONT_DIF_N,382nymous_
++B 28000,28800,300,300,CONT_DIF_P,543nymous_
++B 9200,24000,300,300,CONT_DIF_N,1082ymous_
++B 10800,31000,300,300,CONT_DIF_N,1136ymous_
++B 26000,8000,300,300,CONT_DIF_N,490nymous_
++B 24800,13000,300,300,CONT_DIF_P,436nymous_
++B 29600,17000,300,300,CONT_VIA2,597nymous_
++B 31600,34000,300,300,CONT_VIA2,651nymous_
++B 32800,35000,300,300,CONT_VIA2,705nymous_
++B 3400,31000,300,300,CONT_VIA2,759nymous_
++B 36000,35000,300,300,CONT_VIA2,813nymous_
++B 37000,34000,300,300,CONT_DIF_P,867nymous_
++B 4400,30000,300,300,CONT_DIF_N,921nymous_
++B 14000,28000,300,300,CONT_DIF_N,1189ymous_
++B 5600,17000,300,300,CONT_VIA2,975nymous_
++B 7600,26000,300,300,CONT_VIA,1029ymous_
++B 28000,27600,300,300,CONT_DIF_P,542nymous_
++B 1600,23400,300,300,CONT_BODY_P,1243ymous_
++B 19800,31000,300,300,CONT_POLY,1351ymous_
++B 17600,19200,300,300,CONT_BODY_P,1297ymous_
++B 24800,13000,300,300,CONT_VIA,437nymous_
++B 21200,16000,300,300,CONT_BODY_N,383nymous_
++B 28000,30000,300,300,CONT_DIF_P,544nymous_
++B 30000,0,300,300,CONT_VIA2,598nymous_
++B 9200,25000,300,300,CONT_DIF_N,1083ymous_
++B 10800,32000,300,300,CONT_DIF_N,1137ymous_
++B 26000,12000,300,300,CONT_VIA2,491nymous_
++B 31600,35000,300,300,CONT_VIA2,652nymous_
++B 33000,19200,300,300,CONT_BODY_N,706nymous_
++B 3400,32000,300,300,CONT_VIA2,760nymous_
++B 36000,19200,300,300,CONT_BODY_N,814nymous_
++B 37000,34000,300,300,CONT_VIA,868nymous_
++B 14000,29000,300,300,CONT_DIF_N,1190ymous_
++B 4400,30000,300,300,CONT_VIA,922nymous_
++B 5600,19200,300,300,CONT_BODY_P,976nymous_
++B 17800,23200,300,300,CONT_DIF_N,1298ymous_
++B 1600,24400,300,300,CONT_BODY_P,1244ymous_
++B 7600,26000,300,300,CONT_VIA2,1030ymous_
++B 9200,26000,300,300,CONT_DIF_N,1084ymous_
++B 19800,35200,300,300,CONT_VIA,1352ymous_
++B 24800,14000,300,300,CONT_DIF_P,438nymous_
++B 22000,22200,300,300,CONT_VIA,384nymous_
++B 28000,31200,300,300,CONT_DIF_P,545nymous_
++B 30000,0,300,300,CONT_VIA3,599nymous_
++B 10800,33000,300,300,CONT_DIF_N,1138ymous_
++B 26000,13000,300,300,CONT_DIF_P,492nymous_
++B 31800,9000,300,300,CONT_POLY,653nymous_
++B 33200,6000,300,300,CONT_BODY_P,707nymous_
++B 3400,36000,300,300,CONT_VIA2,761nymous_
++B 3600,37600,300,300,CONT_BODY_P,815nymous_
++B 37000,34000,300,300,CONT_VIA2,869nymous_
++B 14000,30000,300,300,CONT_DIF_N,1191ymous_
++B 4400,30000,300,300,CONT_VIA2,923nymous_
++B 6000,23000,300,300,CONT_DIF_N,977nymous_
++B 17800,23200,300,300,CONT_VIA,1299ymous_
++B 1600,25400,300,300,CONT_BODY_P,1245ymous_
++B 22000,19200,300,300,CONT_VIA,385nymous_
++B 28000,31200,300,300,CONT_VIA,546nymous_
++B 7600,27000,300,300,CONT_DIF_N,1031ymous_
++B 9200,27000,300,300,CONT_DIF_N,1085ymous_
++B 19800,37600,300,300,CONT_BODY_P,1353ymous_
++B 26000,13000,300,300,CONT_VIA2,493nymous_
++B 24800,14000,300,300,CONT_VIA,439nymous_
++B 30000,0,300,300,CONT_VIA4,600nymous_
++B 31800,12200,300,300,CONT_POLY,654nymous_
++B 10800,34000,300,300,CONT_DIF_N,1139ymous_
++B 33200,6000,300,300,CONT_VIA,708nymous_
++B 34400,6000,300,300,CONT_BODY_P,762nymous_
++B 3600,37600,300,300,CONT_VIA,816nymous_
++B 37000,35000,300,300,CONT_DIF_P,870nymous_
++B 4400,31000,300,300,CONT_DIF_N,924nymous_
++B 1600,26400,300,300,CONT_BODY_P,1246ymous_
++B 14000,31000,300,300,CONT_DIF_N,1192ymous_
++B 6000,24000,300,300,CONT_DIF_N,978nymous_
++B 7600,27000,300,300,CONT_VIA,1032ymous_
++B 17800,24400,300,300,CONT_DIF_N,1300ymous_
++B 22400,6000,300,300,CONT_BODY_P,386nymous_
++B 28000,32400,300,300,CONT_DIF_P,547nymous_
++B 9200,28000,300,300,CONT_DIF_N,1086ymous_
++B 24800,16000,300,300,CONT_BODY_N,440nymous_
++B 10800,35000,300,300,CONT_DIF_N,1140ymous_
++B 26000,14000,300,300,CONT_DIF_P,494nymous_
++B 30000,20200,300,300,CONT_VIA,601nymous_
++B 32000,6000,300,300,CONT_BODY_P,655nymous_
++B 33200,6000,300,300,CONT_VIA2,709nymous_
++B 34400,6000,300,300,CONT_VIA,763nymous_
++B 3600,37600,300,300,CONT_VIA2,817nymous_
++B 37000,35000,300,300,CONT_VIA,871nymous_
++B 4400,31000,300,300,CONT_VIA,925nymous_
++B 1600,27400,300,300,CONT_BODY_P,1247ymous_
++B 14000,32000,300,300,CONT_DIF_N,1193ymous_
++B 6000,25000,300,300,CONT_DIF_N,979nymous_
++B 7600,28000,300,300,CONT_DIF_N,1033ymous_
++B 17800,24400,300,300,CONT_VIA2,1301ymous_
++B 25000,20400,300,300,CONT_DIF_P,441nymous_
++B 22400,6000,300,300,CONT_VIA,387nymous_
++B 28000,33600,300,300,CONT_DIF_P,548nymous_
++B 30000,19200,300,300,CONT_BODY_N,602nymous_
++B 9200,29000,300,300,CONT_DIF_N,1087ymous_
++B 10800,36000,300,300,CONT_DIF_N,1141ymous_
++B 26000,14000,300,300,CONT_VIA2,495nymous_
++B 32000,6000,300,300,CONT_VIA,656nymous_
++B 33200,8000,300,300,CONT_DIF_N,710nymous_
++B 34400,6000,300,300,CONT_VIA2,764nymous_
++B 3600,19200,300,300,CONT_BODY_P,818nymous_
++B 37000,35000,300,300,CONT_VIA2,872nymous_
++B 14000,33000,300,300,CONT_DIF_N,1194ymous_
++B 4400,31000,300,300,CONT_VIA2,926nymous_
++B 6000,26000,300,300,CONT_DIF_N,980nymous_
++B 1600,28400,300,300,CONT_BODY_P,1248ymous_
++B 7600,28000,300,300,CONT_VIA,1034ymous_
++B 17800,25600,300,300,CONT_DIF_N,1302ymous_
++B 9200,30000,300,300,CONT_DIF_N,1088ymous_
++B 25000,20400,300,300,CONT_VIA,442nymous_
++B 22400,6000,300,300,CONT_VIA2,388nymous_
++B 28000,35000,300,300,CONT_DIF_P,549nymous_
++B 30400,36600,300,300,CONT_POLY,603nymous_
++B 11600,6000,300,300,CONT_BODY_P,1142ymous_
++B 26000,16000,300,300,CONT_BODY_N,496nymous_
++B 32000,6000,300,300,CONT_VIA2,657nymous_
++B 33200,13000,300,300,CONT_DIF_P,711nymous_
++B 34400,8000,300,300,CONT_DIF_N,765nymous_
++B 36800,6000,300,300,CONT_BODY_P,819nymous_
++B 37000,36000,300,300,CONT_DIF_P,873nymous_
++B 14000,34000,300,300,CONT_DIF_N,1195ymous_
++B 4400,32000,300,300,CONT_DIF_N,927nymous_
++B 6000,27000,300,300,CONT_DIF_N,981nymous_
++B 17800,25600,300,300,CONT_VIA,1303ymous_
++B 1600,29400,300,300,CONT_BODY_P,1249ymous_
++B 22400,8600,300,300,CONT_DIF_N,389nymous_
++B 28000,19200,300,300,CONT_BODY_N,550nymous_
++B 7600,29000,300,300,CONT_DIF_N,1035ymous_
++B 9200,31000,300,300,CONT_DIF_N,1089ymous_
++B 26000,17000,300,300,CONT_VIA,497nymous_
++B 25000,21600,300,300,CONT_DIF_P,443nymous_
++B 30400,36600,300,300,CONT_VIA,604nymous_
++B 32000,8000,300,300,CONT_DIF_N,658nymous_
++B 11600,6000,300,300,CONT_VIA,1143ymous_
++B 33200,14000,300,300,CONT_DIF_P,712nymous_
++B 34400,13000,300,300,CONT_DIF_P,766nymous_
++B 36800,6000,300,300,CONT_VIA,820nymous_
++B 37000,36000,300,300,CONT_VIA,874nymous_
++B 4400,32000,300,300,CONT_VIA,928nymous_
++B 1600,30400,300,300,CONT_BODY_P,1250ymous_
++B 14000,35000,300,300,CONT_DIF_N,1196ymous_
++B 6000,28000,300,300,CONT_DIF_N,982nymous_
++B 7600,29000,300,300,CONT_VIA,1036ymous_
++B 17800,25600,300,300,CONT_VIA2,1304ymous_
++B 22400,16000,300,300,CONT_BODY_N,390nymous_
++B 2800,23000,300,300,CONT_DIF_N,551nymous_
++B 9200,32000,300,300,CONT_DIF_N,1090ymous_
++B 11600,6000,300,300,CONT_VIA2,1144ymous_
++B 26000,17000,300,300,CONT_VIA2,498nymous_
++B 25000,22800,300,300,CONT_DIF_P,444nymous_
++B 30400,36600,300,300,CONT_VIA2,605nymous_
++B 32000,13000,300,300,CONT_DIF_P,659nymous_
++B 33200,16000,300,300,CONT_BODY_N,713nymous_
++B 34400,13000,300,300,CONT_VIA,767nymous_
++B 36800,6000,300,300,CONT_VIA2,821nymous_
++B 37000,19200,300,300,CONT_BODY_N,875nymous_
++B 4400,32000,300,300,CONT_VIA2,929nymous_
++B 1600,31400,300,300,CONT_BODY_P,1251ymous_
++B 14000,36000,300,300,CONT_DIF_N,1197ymous_
++B 6000,29000,300,300,CONT_DIF_N,983nymous_
++B 7600,30000,300,300,CONT_DIF_N,1037ymous_
++B 17800,26800,300,300,CONT_DIF_N,1305ymous_
++B 22400,17000,300,300,CONT_VIA,391nymous_
++B 2800,24000,300,300,CONT_DIF_N,552nymous_
++B 9200,33000,300,300,CONT_DIF_N,1091ymous_
++B 11600,8000,300,300,CONT_DIF_N,1145ymous_
++B 26000,19200,300,300,CONT_BODY_N,499nymous_
++B 25000,22800,300,300,CONT_VIA,445nymous_
++B 30600,22000,300,300,CONT_DIF_P,606nymous_
++B 32000,16000,300,300,CONT_BODY_N,660nymous_
++B 33200,17000,300,300,CONT_VIA,714nymous_
++B 34400,14000,300,300,CONT_DIF_P,768nymous_
++B 36800,7000,300,300,CONT_BODY_P,822nymous_
++B 37200,37600,300,300,CONT_BODY_N,876nymous_
++B 14000,6000,300,300,CONT_BODY_P,1198ymous_
++B 4400,33000,300,300,CONT_DIF_N,930nymous_
++B 6000,30000,300,300,CONT_DIF_N,984nymous_
++B 17800,28000,300,300,CONT_DIF_N,1306ymous_
++B 1600,32400,300,300,CONT_BODY_P,1252ymous_
++B 7600,30000,300,300,CONT_VIA,1038ymous_
++B 9200,34000,300,300,CONT_DIF_N,1092ymous_
++B 25000,24000,300,300,CONT_DIF_P,446nymous_
++B 22400,17000,300,300,CONT_VIA2,392nymous_
++B 2800,25000,300,300,CONT_DIF_N,553nymous_
++B 30600,23000,300,300,CONT_DIF_P,607nymous_
++B 11600,9000,300,300,CONT_DIF_N,1146ymous_
++B 2600,37600,300,300,CONT_BODY_P,500nymous_
++B 32000,17000,300,300,CONT_VIA,661nymous_
++B 33200,17000,300,300,CONT_VIA2,715nymous_
++B 34400,14000,300,300,CONT_VIA,769nymous_
++B 36800,8000,300,300,CONT_BODY_P,823nymous_
++B 38000,27000,300,300,CONT_VIA2,877nymous_
++B 14000,6000,300,300,CONT_VIA,1199ymous_
++B 4400,33000,300,300,CONT_VIA,931nymous_
++B 6000,31000,300,300,CONT_DIF_N,985nymous_
++B 1600,33400,300,300,CONT_BODY_P,1253ymous_
++B 7600,30000,300,300,CONT_VIA2,1039ymous_
++B 9200,35000,300,300,CONT_DIF_N,1093ymous_
++B 17800,28000,300,300,CONT_VIA,1307ymous_
++B 23000,20400,300,300,CONT_BODY_N,393nymous_
++B 2800,26000,300,300,CONT_DIF_N,554nymous_
++B 2600,19200,300,300,CONT_BODY_P,501nymous_
++B 25000,25200,300,300,CONT_DIF_P,447nymous_
++B 30600,24000,300,300,CONT_DIF_P,608nymous_
++B 32000,17000,300,300,CONT_VIA2,662nymous_
++B 11600,11800,300,300,CONT_DIF_P,1147ymous_
++B 33800,22000,300,300,CONT_DIF_P,716nymous_
++B 34400,16000,300,300,CONT_BODY_N,770nymous_
++B 36800,9000,300,300,CONT_BODY_P,824nymous_
++B 38000,28000,300,300,CONT_VIA2,878nymous_
++B 4400,34000,300,300,CONT_DIF_N,932nymous_
++B 1600,34400,300,300,CONT_BODY_P,1254ymous_
++B 14000,6000,300,300,CONT_VIA2,1200ymous_
++B 6000,32000,300,300,CONT_DIF_N,986nymous_
++B 7600,31000,300,300,CONT_DIF_N,1040ymous_
++B 17800,29200,300,300,CONT_DIF_N,1308ymous_
++B 23000,21400,300,300,CONT_BODY_N,394nymous_
++B 2800,27000,300,300,CONT_DIF_N,555nymous_
++B 9200,36000,300,300,CONT_DIF_N,1094ymous_
++B 11600,12800,300,300,CONT_DIF_P,1148ymous_
++B 27000,20400,300,300,CONT_DIF_P,502nymous_
++B 25000,26400,300,300,CONT_DIF_P,448nymous_
++B 30600,25000,300,300,CONT_DIF_P,609nymous_
++B 32000,19200,300,300,CONT_BODY_N,663nymous_
++B 33800,22000,300,300,CONT_VIA,717nymous_
++B 34800,20200,300,300,CONT_POLY,771nymous_
++B 36800,9000,300,300,CONT_VIA2,825nymous_
++B 38000,29000,300,300,CONT_VIA2,879nymous_
++B 4400,34000,300,300,CONT_VIA,933nymous_
++B 1600,35400,300,300,CONT_BODY_P,1255ymous_
++B 14000,7200,300,300,CONT_DIF_N,1201ymous_
++B 6000,33000,300,300,CONT_DIF_N,987nymous_
++B 7600,31000,300,300,CONT_VIA,1041ymous_
++B 17800,30400,300,300,CONT_DIF_N,1309ymous_
++B 25000,27600,300,300,CONT_DIF_P,449nymous_
++B 23000,22400,300,300,CONT_BODY_N,395nymous_
++B 2800,28000,300,300,CONT_DIF_N,556nymous_
++B 30600,26000,300,300,CONT_DIF_P,610nymous_
++B 9200,6000,300,300,CONT_BODY_P,1095ymous_
++B 11600,13800,300,300,CONT_DIF_P,1149ymous_
++B 27000,21600,300,300,CONT_DIF_P,503nymous_
++B 3200,6000,300,300,CONT_BODY_P,664nymous_
++B 33800,22000,300,300,CONT_VIA2,718nymous_
++B 34800,22000,300,300,CONT_VIA2,772nymous_
++B 36800,10000,300,300,CONT_VIA2,826nymous_
++B 38000,33000,300,300,CONT_VIA2,880nymous_
++B 14000,8000,300,300,CONT_DIF_N,1202ymous_
++B 4400,35000,300,300,CONT_DIF_N,934nymous_
++B 6000,34000,300,300,CONT_DIF_N,988nymous_
++B 17800,30400,300,300,CONT_VIA,1310ymous_
++B 1600,36400,300,300,CONT_BODY_P,1256ymous_
++B 7600,31000,300,300,CONT_VIA2,1042ymous_
++B 9200,6000,300,300,CONT_VIA,1096ymous_
++B 25000,27600,300,300,CONT_VIA,450nymous_
++B 23000,23400,300,300,CONT_BODY_N,396nymous_
++B 2800,29000,300,300,CONT_DIF_N,557nymous_
++B 11600,14800,300,300,CONT_DIF_P,1150ymous_
++B 27000,22800,300,300,CONT_DIF_P,504nymous_
++B 30600,27000,300,300,CONT_DIF_P,611nymous_
++B 3200,6000,300,300,CONT_VIA,665nymous_
++B 33800,23000,300,300,CONT_DIF_P,719nymous_
++B 34800,23000,300,300,CONT_VIA2,773nymous_
++B 36800,11000,300,300,CONT_VIA2,827nymous_
++B 38000,34000,300,300,CONT_VIA2,881nymous_
++B 14000,10000,300,300,CONT_POLY,1203ymous_
++B 4400,35000,300,300,CONT_VIA,935nymous_
++B 6000,35000,300,300,CONT_DIF_N,989nymous_
++B 17800,30400,300,300,CONT_VIA2,1311ymous_
++B 1600,37600,300,300,CONT_BODY_P,1257ymous_
++B 23000,24400,300,300,CONT_BODY_N,397nymous_
++B 2800,30000,300,300,CONT_DIF_N,558nymous_
++B 7600,32000,300,300,CONT_DIF_N,1043ymous_
++B 9200,6000,300,300,CONT_VIA2,1097ymous_
++B 27000,24000,300,300,CONT_DIF_P,505nymous_
++B 25000,28800,300,300,CONT_DIF_P,451nymous_
++B 30600,27000,300,300,CONT_VIA,612nymous_
++B 3200,6000,300,300,CONT_VIA2,666nymous_
++B 11600,16000,300,300,CONT_BODY_N,1151ymous_
++B 33800,23000,300,300,CONT_VIA,720nymous_
++B 34800,27000,300,300,CONT_VIA2,774nymous_
++B 36800,12000,300,300,CONT_BODY_N,828nymous_
++B 38000,35000,300,300,CONT_VIA2,882nymous_
++B 4400,36000,300,300,CONT_DIF_N,936nymous_
++B 1600,19200,300,300,CONT_BODY_P,1258ymous_
++B 14000,12000,300,300,CONT_DIF_P,1204ymous_
++B 6000,36000,300,300,CONT_DIF_N,990nymous_
++B 7600,32000,300,300,CONT_VIA,1044ymous_
++B 17800,31600,300,300,CONT_DIF_N,1312ymous_
++B 9200,7000,300,300,CONT_VIA2,1098ymous_
++B 4400,36000,300,300,CONT_VIA2,938nymous_
++B 38200,21400,300,300,CONT_BODY_N,884nymous_
++B 36800,14000,300,300,CONT_BODY_N,830nymous_
++B 34800,29000,300,300,CONT_VIA2,776nymous_
++B 33800,24000,300,300,CONT_DIF_P,722nymous_
++B 3200,7000,300,300,CONT_VIA2,668nymous_
++B 27000,25200,300,300,CONT_VIA,507nymous_
++B 11600,17000,300,300,CONT_VIA2,1153ymous_
++B 9200,7200,300,300,CONT_DIF_N,1099ymous_
++B 30600,28000,300,300,CONT_DIF_P,614nymous_
++B 2800,32000,300,300,CONT_DIF_N,560nymous_
++B 23000,26400,300,300,CONT_BODY_N,399nymous_
++B 25000,30000,300,300,CONT_VIA,453nymous_
++B 17800,31600,300,300,CONT_VIA2,1313ymous_
++B 7600,32000,300,300,CONT_VIA2,1045ymous_
++B 6600,24000,300,300,CONT_VIA2,991nymous_
++B 14000,12800,300,300,CONT_DIF_P,1205ymous_
++B 16400,6000,300,300,CONT_BODY_P,1259ymous_
++B 4400,36000,300,300,CONT_VIA,937nymous_
++B 38200,20400,300,300,CONT_BODY_N,883nymous_
++B 36800,13000,300,300,CONT_BODY_N,829nymous_
++B 34800,28000,300,300,CONT_VIA2,775nymous_
++B 33800,23000,300,300,CONT_VIA2,721nymous_
++B 3200,7000,300,300,CONT_BODY_P,667nymous_
++B 30600,27000,300,300,CONT_VIA2,613nymous_
++B 23000,25400,300,300,CONT_BODY_N,398nymous_
++B 2800,31000,300,300,CONT_DIF_N,559nymous_
++B 11600,17000,300,300,CONT_VIA,1152ymous_
++B 27000,25200,300,300,CONT_DIF_P,506nymous_
++B 25000,30000,300,300,CONT_DIF_P,452nymous_
++B 12400,23000,300,300,CONT_DIF_N,1155ymous_
++B 30600,28000,300,300,CONT_VIA2,616nymous_
++B 25000,32400,300,300,CONT_DIF_P,455nymous_
++B 9200,8000,300,300,CONT_VIA2,1101ymous_
++B 7600,33000,300,300,CONT_VIA,1047ymous_
++B 2800,34000,300,300,CONT_DIF_N,562nymous_
++B 23000,28400,300,300,CONT_BODY_N,401nymous_
++B 16400,6000,300,300,CONT_VIA2,1261ymous_
++B 17800,34000,300,300,CONT_DIF_N,1315ymous_
++B 6600,26000,300,300,CONT_VIA2,993nymous_
++B 4400,6000,300,300,CONT_BODY_P,939nymous_
++B 14000,17000,300,300,CONT_VIA,1207ymous_
++B 38200,22400,300,300,CONT_BODY_N,885nymous_
++B 36800,15000,300,300,CONT_BODY_N,831nymous_
++B 34800,33000,300,300,CONT_VIA2,777nymous_
++B 33800,24000,300,300,CONT_VIA,723nymous_
++B 3200,8000,300,300,CONT_BODY_P,669nymous_
++B 27000,26400,300,300,CONT_DIF_P,508nymous_
++B 11600,19200,300,300,CONT_BODY_P,1154ymous_
++B 30600,28000,300,300,CONT_VIA,615nymous_
++B 2800,33000,300,300,CONT_DIF_N,561nymous_
++B 23000,27400,300,300,CONT_BODY_N,400nymous_
++B 25000,31200,300,300,CONT_DIF_P,454nymous_
++B 9200,8000,300,300,CONT_DIF_N,1100ymous_
++B 7600,33000,300,300,CONT_DIF_N,1046ymous_
++B 16400,6000,300,300,CONT_VIA,1260ymous_
++B 17800,32800,300,300,CONT_DIF_N,1314ymous_
++B 6600,25000,300,300,CONT_VIA2,992nymous_
++B 14000,16000,300,300,CONT_BODY_N,1206ymous_
++B 33800,28000,300,300,CONT_DIF_P,731nymous_
++B 30600,29000,300,300,CONT_DIF_P,617nymous_
++B 25000,32400,300,300,CONT_VIA,456nymous_
++B 27000,28800,300,300,CONT_DIF_P,510nymous_
++B 12400,24000,300,300,CONT_DIF_N,1156ymous_
++B 9200,10000,300,300,CONT_POLY,1102ymous_
++B 2800,35000,300,300,CONT_DIF_N,563nymous_
++B 23000,29400,300,300,CONT_BODY_N,402nymous_
++B 17800,35200,300,300,CONT_DIF_N,1316ymous_
++B 7600,34000,300,300,CONT_DIF_N,1048ymous_
++B 6600,30000,300,300,CONT_VIA2,994nymous_
++B 14000,17000,300,300,CONT_VIA2,1208ymous_
++B 16400,8000,300,300,CONT_DIF_N,1262ymous_
++B 4400,6000,300,300,CONT_VIA,940nymous_
++B 38200,23400,300,300,CONT_BODY_N,886nymous_
++B 36800,15000,300,300,CONT_VIA2,832nymous_
++B 34800,34000,300,300,CONT_VIA2,778nymous_
++B 33800,25000,300,300,CONT_DIF_P,724nymous_
++B 3200,8000,300,300,CONT_VIA2,670nymous_
++B 27000,27600,300,300,CONT_DIF_P,509nymous_
++B 12800,11600,300,300,CONT_DIF_P,1175ymous_
++B 3200,9000,300,300,CONT_BODY_P,671nymous_
++B 33800,25000,300,300,CONT_VIA,725nymous_
++B 34800,35000,300,300,CONT_VIA2,779nymous_
++B 36800,16000,300,300,CONT_BODY_N,833nymous_
++B 38200,24400,300,300,CONT_BODY_N,887nymous_
++B 4400,6000,300,300,CONT_VIA2,941nymous_
++B 16400,9000,300,300,CONT_DIF_N,1263ymous_
++B 14600,19200,300,300,CONT_BODY_P,1209ymous_
++B 6600,31000,300,300,CONT_VIA2,995nymous_
++B 7600,34000,300,300,CONT_VIA,1049ymous_
++B 17800,36400,300,300,CONT_DIF_N,1317ymous_
++B 28000,26400,300,300,CONT_DIF_P,541nymous_
++B 25000,33600,300,300,CONT_DIF_P,457nymous_
++B 23000,30400,300,300,CONT_BODY_N,403nymous_
++B 2800,36000,300,300,CONT_DIF_N,564nymous_
++B 30600,29000,300,300,CONT_VIA,618nymous_
++B 9200,12000,300,300,CONT_DIF_P,1103ymous_
++B 12400,25000,300,300,CONT_DIF_N,1157ymous_
++B 27000,30000,300,300,CONT_DIF_P,511nymous_
++B 3200,12000,300,300,CONT_BODY_N,672nymous_
++B 33800,26000,300,300,CONT_DIF_P,726nymous_
++B 35000,19200,300,300,CONT_BODY_N,780nymous_
++B 36800,16000,300,300,CONT_VIA2,834nymous_
++B 38200,25400,300,300,CONT_BODY_N,888nymous_
++B 15200,6000,300,300,CONT_BODY_P,1210ymous_
++B 4400,8000,300,300,CONT_DIF_N,942nymous_
++B 6600,32000,300,300,CONT_VIA2,996nymous_
++B 17800,37600,300,300,CONT_BODY_P,1318ymous_
++B 16400,10000,300,300,CONT_POLY,1264ymous_
++B 7600,35000,300,300,CONT_DIF_N,1050ymous_
++B 9200,12800,300,300,CONT_DIF_P,1104ymous_
++B 25000,35000,300,300,CONT_DIF_P,458nymous_
++B 23000,31400,300,300,CONT_BODY_N,404nymous_
++B 28200,10600,300,300,CONT_VIA,565nymous_
++B 30600,29000,300,300,CONT_VIA2,619nymous_
++B 12400,26000,300,300,CONT_DIF_N,1158ymous_
++B 27000,31200,300,300,CONT_DIF_P,512nymous_
++B 3200,12000,300,300,CONT_VIA2,673nymous_
++B 33800,26000,300,300,CONT_VIA,727nymous_
++B 35400,22000,300,300,CONT_DIF_P,781nymous_
++B 36800,17000,300,300,CONT_VIA,835nymous_
++B 20000,6000,300,300,CONT_BODY_P,354nymous_
++B 20000,6000,300,300,CONT_VIA,355nymous_
++B 38200,26400,300,300,CONT_BODY_N,889nymous_
++B 15200,6000,300,300,CONT_VIA,1211ymous_
++B 4400,9000,300,300,CONT_DIF_N,943nymous_
++B 6600,36000,300,300,CONT_VIA2,997nymous_
++B 18600,19200,300,300,CONT_BODY_P,1319ymous_
++B 16400,12000,300,300,CONT_DIF_P,1265ymous_
++B 23000,32400,300,300,CONT_BODY_N,405nymous_
++B 28200,11800,300,300,CONT_POLY,566nymous_
++B 7600,35000,300,300,CONT_VIA,1051ymous_
++B 9200,13800,300,300,CONT_DIF_P,1105ymous_
++B 27000,32400,300,300,CONT_DIF_P,513nymous_
++B 25000,36400,300,300,CONT_DIF_P,459nymous_
++B 30600,30000,300,300,CONT_DIF_P,620nymous_
++B 3200,13000,300,300,CONT_BODY_N,674nymous_
++B 12400,27000,300,300,CONT_DIF_N,1159ymous_
++B 33800,27000,300,300,CONT_DIF_P,728nymous_
++B 35400,23000,300,300,CONT_DIF_P,782nymous_
++B 36800,17000,300,300,CONT_VIA2,836nymous_
++B 38200,27400,300,300,CONT_BODY_N,890nymous_
++B 4400,11800,300,300,CONT_DIF_P,944nymous_
++B 16400,12800,300,300,CONT_DIF_P,1266ymous_
++B 15200,6000,300,300,CONT_VIA2,1212ymous_
++B 6600,19200,300,300,CONT_BODY_P,998nymous_
++B 7600,36000,300,300,CONT_DIF_N,1052ymous_
++B 18800,22000,300,300,CONT_DIF_N,1320ymous_
++B 23000,33400,300,300,CONT_BODY_N,406nymous_
++B 28400,6000,300,300,CONT_BODY_P,567nymous_
++B 9200,14800,300,300,CONT_DIF_P,1106ymous_
++B 12400,28000,300,300,CONT_DIF_N,1160ymous_
++B 27000,33600,300,300,CONT_DIF_P,514nymous_
++B 25000,37600,300,300,CONT_BODY_N,460nymous_
++B 30600,30000,300,300,CONT_VIA,621nymous_
++B 3200,13000,300,300,CONT_VIA2,675nymous_
++B 33800,27000,300,300,CONT_VIA,729nymous_
++B 35400,24000,300,300,CONT_DIF_P,783nymous_
++B 37000,22000,300,300,CONT_DIF_P,837nymous_
++B 38200,28400,300,300,CONT_BODY_N,891nymous_
++B 4400,12800,300,300,CONT_DIF_P,945nymous_
++B 16400,16000,300,300,CONT_BODY_N,1267ymous_
++B 15200,8000,300,300,CONT_DIF_N,1213ymous_
++B 6800,37600,300,300,CONT_BODY_P,999nymous_
++B 7600,36000,300,300,CONT_VIA,1053ymous_
++B 18800,22200,300,300,CONT_VIA,1321ymous_
++B 25000,19200,300,300,CONT_BODY_N,461nymous_
++B 23000,34400,300,300,CONT_BODY_N,407nymous_
++B 28400,8000,300,300,CONT_DIF_N,568nymous_
++B 30600,31000,300,300,CONT_DIF_P,622nymous_
++B 9200,16000,300,300,CONT_BODY_N,1107ymous_
++B 12400,29000,300,300,CONT_DIF_N,1161ymous_
++B 27000,35000,300,300,CONT_DIF_P,515nymous_
++B 3200,14000,300,300,CONT_BODY_N,676nymous_
++B 33800,27000,300,300,CONT_VIA2,730nymous_
++B 35400,25000,300,300,CONT_DIF_P,784nymous_
++B 37000,22000,300,300,CONT_VIA,838nymous_
++B 38200,29400,300,300,CONT_BODY_N,892nymous_
++B 4400,13800,300,300,CONT_DIF_P,946nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pot_mpx.vbe b/alliance/src/cells/src/mpxlib/pot_mpx.vbe
+new file mode 100644
+index 0000000..fd1e07a
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pot_mpx.vbe
+@@ -0,0 +1,42 @@
++ENTITY pot_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT rup : NATURAL := 684404;
++ CONSTANT rdown : NATURAL := 24
++ );
++ PORT (
++ i : in BIT;
++ b : in BIT;
++ pad : out MUX_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pot_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pot_mpx IS
++ SIGNAL b1 : BIT;
++ SIGNAL b2 : BIT;
++ SIGNAL b3 : BIT;
++ SIGNAL b4 : BIT;
++ SIGNAL b5 : BIT;
++ SIGNAL b6 : BIT;
++
++BEGIN
++ b6 <= b5;
++ b5 <= b4;
++ b4 <= b3;
++ b3 <= b2;
++ b2 <= b1;
++ b1 <= b;
++ label0 : BLOCK (b6 = '1')
++ BEGIN
++ pad <= GUARDED i;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pot_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvdde_mpx.ap b/alliance/src/cells/src/mpxlib/pvdde_mpx.ap
+new file mode 100644
+index 0000000..cc24326
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvdde_mpx.ap
+@@ -0,0 +1,90 @@
++V ALLIANCE : 6
++H pvdde_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 31200,6000,32800,6000,12000,13onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,11onymous_,RIGHT,TALU2
++S 50,6000,2800,6000,12000,10onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,12onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,17onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,14onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,16onymous_,RIGHT,TALU4
++S 50,6000,2800,6000,12000,15onymous_,RIGHT,TALU4
++S 31200,6000,32800,6000,12000,18onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,19onymous_,RIGHT,TALU4
++S 23000,18100,23000,59900,4400,21onymous_,UP,ALU1
++S 8000,200,8000,2000,2000,1nonymous_,UP,TALU3
++S 1400,200,1400,2000,3000,0nonymous_,UP,TALU3
++S 0,6000,40000,6000,12000,20onymous_,RIGHT,TALU6
++S 20000,200,20000,2000,14000,2nonymous_,UP,TALU3
++S 32000,200,32000,2000,2000,3nonymous_,UP,TALU3
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 38600,200,38600,2000,3000,4nonymous_,UP,TALU3
++S 1400,200,1400,12000,3000,5nonymous_,UP,TALU5
++S 17000,18100,17000,59900,4400,22onymous_,UP,ALU1
++S 20000,200,20000,12000,14000,7nonymous_,UP,TALU5
++S 8000,200,8000,12000,2000,6nonymous_,UP,TALU5
++S 38600,200,38600,12000,3000,9nonymous_,UP,TALU5
++S 32000,200,32000,12000,2000,8nonymous_,UP,TALU5
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 29000,-300,29000,17300,2400,vssi,UP,CALU2
++S 29000,-300,29000,2300,2400,vssi,UP,CALU3
++S 29000,0,29000,2000,2400,vssi,UP,CALU5
++S 29000,0,29000,2000,2400,vssi,UP,CALU4
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 11000,-300,11000,17300,2400,vddi,UP,CALU2
++S 11000,-300,11000,2300,2400,vddi,UP,CALU3
++S 11000,0,11000,2000,2400,vddi,UP,CALU5
++S 11000,0,11000,2000,2400,vddi,UP,CALU4
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 20000,48100,20000,71900,24400,vdde,UP,CALU1
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++B 11000,16000,2300,2300,CONT_VIA2,48onymous_
++B 17000,34000,4300,2300,CONT_VIA,53onymous_
++B 11000,1000,2300,2300,CONT_VIA3,46onymous_
++B 17000,28000,4300,2300,CONT_VIA,51onymous_
++B 35000,1000,2300,2300,CONT_VIA4,37onymous_
++B 11000,1000,2300,2300,CONT_VIA4,47onymous_
++B 17000,28000,4300,2300,CONT_VIA2,52onymous_
++B 35000,1000,2300,2300,CONT_VIA2,35onymous_
++B 35000,1000,2300,2300,CONT_VIA3,36onymous_
++B 5000,1000,2300,2300,CONT_VIA2,40onymous_
++B 17000,34000,4300,2300,CONT_VIA2,54onymous_
++B 17000,22000,4300,2300,CONT_VIA,49onymous_
++B 5000,7000,2300,2300,CONT_VIA2,39onymous_
++B 5000,1000,2300,2300,CONT_VIA3,41onymous_
++B 35000,16000,2300,2300,CONT_VIA2,38onymous_
++B 5000,1000,2300,2300,CONT_VIA4,42onymous_
++B 5000,13000,2300,2300,CONT_VIA2,43onymous_
++B 17000,22000,4300,2300,CONT_VIA2,50onymous_
++B 23000,28000,4300,2300,CONT_VIA,25onymous_
++B 23000,22000,4300,2300,CONT_VIA,23onymous_
++B 23000,22000,4300,2300,CONT_VIA2,24onymous_
++B 23000,34000,4300,2300,CONT_VIA2,28onymous_
++B 23000,34000,4300,2300,CONT_VIA,27onymous_
++B 23000,28000,4300,2300,CONT_VIA2,26onymous_
++B 29000,1000,2300,2300,CONT_VIA3,31onymous_
++B 29000,1000,2300,2300,CONT_VIA2,30onymous_
++B 29000,7000,2300,2300,CONT_VIA2,29onymous_
++B 29000,13000,2300,2300,CONT_VIA2,33onymous_
++B 11000,1000,2300,2300,CONT_VIA2,45onymous_
++B 29000,1000,2300,2300,CONT_VIA4,32onymous_
++B 11000,10000,2300,2300,CONT_VIA2,44onymous_
++B 35000,10000,2300,2300,CONT_VIA2,34onymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvdde_mpx.vbe b/alliance/src/cells/src/mpxlib/pvdde_mpx.vbe
+new file mode 100644
+index 0000000..43fa446
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvdde_mpx.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvdde_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvdde_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvdde_mpx IS
++
++BEGIN
++ ASSERT ((((not (vssi) and not (vsse)) and vddi) and vdde) = '1')
++ REPORT "power supply is missing on pvdde_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvddeck_mpx.ap b/alliance/src/cells/src/mpxlib/pvddeck_mpx.ap
+new file mode 100644
+index 0000000..a054f08
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvddeck_mpx.ap
+@@ -0,0 +1,344 @@
++V ALLIANCE : 6
++H pvddeck_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 20000,48100,20000,71900,24400,vdde,UP,CALU1
++S 26100,15600,31900,15600,1600,vddi,RIGHT,ALU1
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 8100,15600,13900,15600,1600,vddi,RIGHT,ALU1
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 9000,0,9000,2000,2400,vddi,UP,CALU4
++S 9000,0,9000,2000,2400,vddi,UP,CALU5
++S 9000,-300,9000,2300,2400,vddi,UP,CALU3
++S 9000,-300,9000,17300,2400,vddi,UP,CALU2
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 8100,6800,13900,6800,1600,vssi,RIGHT,ALU1
++S 26100,6800,31900,6800,1600,vssi,RIGHT,ALU1
++S 31000,0,31000,2000,2400,vssi,UP,CALU5
++S 31000,-300,31000,2300,2400,vssi,UP,CALU3
++S 31000,-300,31000,17300,2400,vssi,UP,CALU2
++S 31000,0,31000,2000,2400,vssi,UP,CALU4
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 26600,11100,26600,15100,200,93onymous_,UP,PTRANS
++S 37200,6000,39950,6000,12000,11onymous_,RIGHT,TALU4
++S 26600,10200,30200,10200,600,92onymous_,RIGHT,POLY
++S 11000,7500,11000,9500,200,53onymous_,UP,NTRANS
++S 26600,9800,26600,10800,200,91onymous_,UP,POLY
++S 33000,200,33000,2000,0,13onymous_,UP,TALU3
++S 30800,12100,30800,14900,400,127nymous_,UP,ALU1
++S 11600,7700,11600,9300,620,51onymous_,UP,NDIF
++S 11600,11300,11600,14900,620,52onymous_,UP,PDIF
++S 26000,12300,26000,14900,400,126nymous_,UP,ALU1
++S 0,6000,40000,6000,12000,12onymous_,RIGHT,TALU6
++S 11000,9800,11000,10800,200,54onymous_,UP,POLY
++S 38600,200,38600,2000,3000,17onymous_,UP,TALU3
++S 7000,200,7000,2000,0,16onymous_,UP,TALU3
++S 27200,700,27200,11500,400,130nymous_,UP,ALU2
++S 10400,7700,10400,9300,420,56onymous_,UP,NDIF
++S 11000,11100,11000,15100,200,55onymous_,UP,PTRANS
++S 27200,7700,27200,9300,420,94onymous_,UP,NDIF
++S 14000,200,14000,2000,6000,15onymous_,UP,TALU3
++S 10400,11300,10400,14900,620,58onymous_,UP,PDIF
++S 28400,700,28400,11500,400,129nymous_,UP,ALU2
++S 25000,200,25000,2000,8000,14onymous_,UP,TALU3
++S 10400,11300,10400,13900,400,57onymous_,UP,ALU1
++S 28400,12300,28400,14900,400,128nymous_,UP,ALU1
++S 1400,200,1400,2000,3000,18onymous_,UP,TALU3
++S 9800,11100,9800,15100,200,61onymous_,UP,PTRANS
++S 9800,9800,9800,10800,200,60onymous_,UP,POLY
++S 23000,18100,23000,59900,4400,131nymous_,UP,ALU1
++S 9800,7500,9800,9500,200,59onymous_,UP,NTRANS
++S 27300,9200,29500,9200,400,95onymous_,RIGHT,ALU1
++S 9200,7700,9200,9300,420,62onymous_,UP,NDIF
++S 33000,200,33000,12000,0,19onymous_,UP,TALU5
++S 17000,18100,17000,59900,4400,132nymous_,UP,ALU1
++S 27300,10200,31900,10200,400,96onymous_,RIGHT,ALU1
++S 27200,11300,27200,13900,400,97onymous_,UP,ALU1
++S 8600,9800,8600,10800,200,65onymous_,UP,POLY
++S 14000,200,14000,12000,6000,21onymous_,UP,TALU5
++S 8600,7500,8600,9500,200,64onymous_,UP,NTRANS
++S 27800,9800,27800,10800,200,101nymous_,UP,POLY
++S 25000,200,25000,12000,8000,20onymous_,UP,TALU5
++S 9200,11300,9200,14900,620,63onymous_,UP,PDIF
++S 27200,11300,27200,14900,620,98onymous_,UP,PDIF
++S 27300,11200,29500,11200,400,99onymous_,RIGHT,ALU1
++S 27800,7500,27800,9500,200,100nymous_,UP,NTRANS
++S 7000,200,7000,12000,0,22onymous_,UP,TALU5
++S 28400,7700,28400,9300,620,103nymous_,UP,NDIF
++S 27800,11100,27800,15100,200,102nymous_,UP,PTRANS
++S 7000,10200,8600,10200,600,66onymous_,RIGHT,POLY
++S 38600,200,38600,12000,3000,23onymous_,UP,TALU5
++S 8600,11100,8600,15100,200,67onymous_,UP,PTRANS
++S 1400,200,1400,12000,3000,24onymous_,UP,TALU5
++S 11300,1000,28700,1000,400,25onymous_,RIGHT,ALU3
++S 11300,2000,28700,2000,400,26onymous_,RIGHT,ALU3
++S 11300,16200,14300,16200,400,27onymous_,RIGHT,ALU2
++S 28400,11300,28400,14900,620,104nymous_,UP,PDIF
++S 14000,5900,14000,7700,400,28onymous_,UP,ALU2
++S 29000,7500,29000,9500,200,105nymous_,UP,NTRANS
++S 8000,7700,8000,9300,620,68onymous_,UP,NDIF
++S 7880,6200,14120,6200,600,30onymous_,RIGHT,PTIE
++S 29000,9800,29000,10800,200,106nymous_,UP,POLY
++S 7000,3700,7000,10500,400,29onymous_,UP,ALU2
++S 12800,8500,12800,9100,400,31onymous_,UP,ALU1
++S 29000,11100,29000,15100,200,107nymous_,UP,PTRANS
++S 10400,8500,10400,9100,400,32onymous_,UP,ALU1
++S 12800,11300,12800,13900,400,45onymous_,UP,ALU1
++S 29600,7700,29600,9300,420,108nymous_,UP,NDIF
++S 8000,11300,8000,14900,620,69onymous_,UP,PDIF
++S 8100,10200,12700,10200,400,44onymous_,RIGHT,ALU1
++S 9200,7500,9200,9100,400,70onymous_,UP,ALU1
++S 29600,11300,29600,13900,400,109nymous_,UP,ALU1
++S 8000,8500,8000,12700,400,33onymous_,UP,ALU1
++S 29600,11300,29600,14900,620,110nymous_,UP,PDIF
++S 7880,16200,14120,16200,600,34onymous_,RIGHT,NTIE
++S 30200,11100,30200,15100,200,113nymous_,UP,PTRANS
++S 14000,7700,14000,9300,620,36onymous_,UP,NDIF
++S 30200,9800,30200,10800,200,112nymous_,UP,POLY
++S 7000,13800,15000,13800,6800,35onymous_,RIGHT,NWELL
++S 9300,7400,13900,7400,400,73onymous_,RIGHT,ALU1
++S 12200,7500,12200,9500,200,48onymous_,UP,NTRANS
++S 30200,7500,30200,9500,200,111nymous_,UP,NTRANS
++S 11600,7500,11600,8100,400,72onymous_,UP,ALU1
++S 14000,11300,14000,14900,620,37onymous_,UP,PDIF
++S 30800,7700,30800,9300,420,114nymous_,UP,NDIF
++S 12800,11300,12800,14900,620,46onymous_,UP,PDIF
++S 14000,7500,14000,8100,400,71onymous_,UP,ALU1
++S 10500,11200,12700,11200,400,47onymous_,RIGHT,ALU1
++S 14000,12300,14000,14900,400,74onymous_,UP,ALU1
++S 12200,9800,12200,10800,200,49onymous_,UP,POLY
++S 13400,11100,13400,15100,200,41onymous_,UP,PTRANS
++S 30800,11300,30800,14900,620,115nymous_,UP,PDIF
++S 11600,12300,11600,14900,400,76onymous_,UP,ALU1
++S 13400,7500,13400,9500,200,38onymous_,UP,NTRANS
++S 9200,12100,9200,14900,400,75onymous_,UP,ALU1
++S 13400,9800,13400,10800,200,39onymous_,UP,POLY
++S 11600,700,11600,11500,400,77onymous_,UP,ALU2
++S 9800,10200,13400,10200,600,40onymous_,RIGHT,POLY
++S 26000,5900,26000,7700,400,80onymous_,UP,ALU2
++S 10500,9200,12700,9200,400,43onymous_,RIGHT,ALU1
++S 12200,11100,12200,15100,200,50onymous_,UP,PTRANS
++S 12800,7700,12800,9300,420,42onymous_,UP,NDIF
++S 25700,16200,28700,16200,400,79onymous_,RIGHT,ALU2
++S 31400,9800,31400,10800,200,117nymous_,UP,POLY
++S 33000,3700,33000,10500,400,81onymous_,UP,ALU2
++S 31400,7500,31400,9500,200,116nymous_,UP,NTRANS
++S 12800,700,12800,11500,400,78onymous_,UP,ALU2
++S 31400,10200,33000,10200,600,118nymous_,RIGHT,POLY
++S 29600,8500,29600,9100,400,84onymous_,UP,ALU1
++S 25880,6200,32120,6200,600,82onymous_,RIGHT,PTIE
++S 50,6000,2800,6000,12000,0nonymous_,RIGHT,TALU2
++S 27200,8500,27200,9100,400,83onymous_,UP,ALU1
++S 11200,6000,16800,6000,12000,2nonymous_,RIGHT,TALU2
++S 37200,6000,39950,6000,12000,5nonymous_,RIGHT,TALU2
++S 31400,11100,31400,15100,200,119nymous_,UP,PTRANS
++S 25880,16200,32120,16200,600,86onymous_,RIGHT,NTIE
++S 32000,8500,32000,12700,400,85onymous_,UP,ALU1
++S 21200,6000,28800,6000,12000,3nonymous_,RIGHT,TALU2
++S 32000,11300,32000,14900,620,121nymous_,UP,PDIF
++S 26000,7700,26000,9300,620,88onymous_,UP,NDIF
++S 32000,7700,32000,9300,620,120nymous_,UP,NDIF
++S 25000,13800,33000,13800,6800,87onymous_,RIGHT,NWELL
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 26100,7400,30700,7400,400,125nymous_,RIGHT,ALU1
++S 28400,7500,28400,8100,400,124nymous_,UP,ALU1
++S 19000,0,19000,2000,2400,cko,UP,CALU5
++S 19000,0,19000,2000,2400,cko,UP,CALU4
++S 50,6000,2800,6000,12000,6nonymous_,RIGHT,TALU4
++S 26000,11300,26000,14900,620,89onymous_,UP,PDIF
++S 30800,7500,30800,9100,400,122nymous_,UP,ALU1
++S 11200,6000,16800,6000,12000,8nonymous_,RIGHT,TALU4
++S 26600,7500,26600,9500,200,90onymous_,UP,NTRANS
++S 26000,7500,26000,8100,400,123nymous_,UP,ALU1
++S 21200,6000,28800,6000,12000,9nonymous_,RIGHT,TALU4
++B 35000,1000,2300,2300,CONT_VIA3,286nymous_
++B 26000,7400,300,300,CONT_VIA,211nymous_
++B 35000,1000,2300,2300,CONT_VIA2,285nymous_
++B 26000,7400,300,300,CONT_VIA2,210nymous_
++B 12800,11200,300,300,CONT_VIA,169nymous_
++B 28400,13000,300,300,CONT_DIF_P,249nymous_
++B 28400,12200,300,300,CONT_DIF_P,248nymous_
++B 29600,8400,300,300,CONT_DIF_N,214nymous_
++B 35000,16000,2300,2300,CONT_VIA2,288nymous_
++B 11600,7400,300,300,CONT_DIF_N,173nymous_
++B 33000,4000,300,300,CONT_VIA2,213nymous_
++B 35000,1000,2300,2300,CONT_VIA4,287nymous_
++B 12800,14000,300,300,CONT_DIF_P,172nymous_
++B 26000,6200,300,300,CONT_VIA,212nymous_
++B 12800,13000,300,300,CONT_DIF_P,171nymous_
++B 12800,12000,300,300,CONT_DIF_P,170nymous_
++B 28400,14000,300,300,CONT_DIF_P,250nymous_
++B 5000,1000,2300,2300,CONT_VIA2,290nymous_
++B 32000,8400,300,300,CONT_DIF_N,215nymous_
++B 5000,7000,2300,2300,CONT_VIA2,289nymous_
++B 11600,8200,300,300,CONT_DIF_N,174nymous_
++B 14000,16200,300,300,CONT_VIA,133nymous_
++B 11600,9200,300,300,CONT_VIA,175nymous_
++B 27200,8400,300,300,CONT_DIF_N,216nymous_
++B 11600,10200,300,300,CONT_POLY,176nymous_
++B 5000,1000,2300,2300,CONT_VIA3,291nymous_
++B 32000,6200,300,300,CONT_BODY_P,217nymous_
++B 28400,15000,300,300,CONT_DIF_P,251nymous_
++B 11600,11200,300,300,CONT_VIA,177nymous_
++B 5000,1000,2300,2300,CONT_VIA4,292nymous_
++B 29600,9200,300,300,CONT_DIF_N,252nymous_
++B 5000,13000,2300,2300,CONT_VIA2,293nymous_
++B 29600,10200,300,300,CONT_POLY,253nymous_
++B 9000,10000,2300,2300,CONT_VIA2,294nymous_
++B 11600,12200,300,300,CONT_DIF_P,178nymous_
++B 29600,6200,300,300,CONT_BODY_P,219nymous_
++B 11600,13000,300,300,CONT_DIF_P,179nymous_
++B 28400,6200,300,300,CONT_BODY_P,220nymous_
++B 29600,12000,300,300,CONT_DIF_P,254nymous_
++B 11600,14000,300,300,CONT_DIF_P,180nymous_
++B 30800,6200,300,300,CONT_BODY_P,218nymous_
++B 12800,16200,300,300,CONT_VIA2,137nymous_
++B 30800,8200,300,300,CONT_DIF_N,257nymous_
++B 11600,16200,300,300,CONT_VIA2,136nymous_
++B 29600,14000,300,300,CONT_DIF_P,256nymous_
++B 11600,16200,300,300,CONT_VIA,135nymous_
++B 12800,16200,300,300,CONT_VIA,134nymous_
++B 9000,1000,2300,2300,CONT_VIA2,295nymous_
++B 29600,13000,300,300,CONT_DIF_P,255nymous_
++B 14000,7400,300,300,CONT_VIA2,140nymous_
++B 14000,6200,300,300,CONT_VIA2,139nymous_
++B 14000,16200,300,300,CONT_VIA2,138nymous_
++B 17000,22000,4300,2300,CONT_VIA,299nymous_
++B 30800,9200,300,300,CONT_DIF_N,258nymous_
++B 9000,16000,2300,2300,CONT_VIA2,298nymous_
++B 10400,10200,300,300,CONT_POLY,183nymous_
++B 9000,1000,2300,2300,CONT_VIA4,297nymous_
++B 10400,9200,300,300,CONT_DIF_N,182nymous_
++B 26000,6200,300,300,CONT_BODY_P,222nymous_
++B 9000,1000,2300,2300,CONT_VIA3,296nymous_
++B 14000,7400,300,300,CONT_VIA,141nymous_
++B 11600,15000,300,300,CONT_DIF_P,181nymous_
++B 27200,6200,300,300,CONT_BODY_P,221nymous_
++B 17000,28000,4300,2300,CONT_VIA,301nymous_
++B 10400,14000,300,300,CONT_DIF_P,186nymous_
++B 30800,13000,300,300,CONT_DIF_P,260nymous_
++B 28400,16200,300,300,CONT_BODY_N,226nymous_
++B 17000,22000,4300,2300,CONT_VIA2,300nymous_
++B 8000,8400,300,300,CONT_DIF_N,145nymous_
++B 10400,13000,300,300,CONT_DIF_P,185nymous_
++B 30800,12000,300,300,CONT_DIF_P,259nymous_
++B 29600,16200,300,300,CONT_BODY_N,225nymous_
++B 10400,8400,300,300,CONT_DIF_N,144nymous_
++B 10400,12000,300,300,CONT_DIF_P,184nymous_
++B 32000,16200,300,300,CONT_BODY_N,224nymous_
++B 7000,4000,300,300,CONT_VIA2,143nymous_
++B 30800,16200,300,300,CONT_BODY_N,223nymous_
++B 14000,6200,300,300,CONT_VIA,142nymous_
++B 17000,34000,4300,2300,CONT_VIA,303nymous_
++B 30800,15000,300,300,CONT_DIF_P,262nymous_
++B 30800,14000,300,300,CONT_DIF_P,261nymous_
++B 9200,8200,300,300,CONT_DIF_N,187nymous_
++B 17000,28000,4300,2300,CONT_VIA2,302nymous_
++B 8000,6200,300,300,CONT_BODY_P,147nymous_
++B 27200,16200,300,300,CONT_BODY_N,227nymous_
++B 12800,8400,300,300,CONT_DIF_N,146nymous_
++B 19000,1000,2300,2300,CONT_VIA4,306nymous_
++B 32000,12800,300,300,CONT_DIF_P,265nymous_
++B 19000,1000,2300,2300,CONT_VIA3,305nymous_
++B 9200,13000,300,300,CONT_DIF_P,190nymous_
++B 32000,11800,300,300,CONT_DIF_P,264nymous_
++B 17000,34000,4300,2300,CONT_VIA2,304nymous_
++B 10400,6200,300,300,CONT_BODY_P,149nymous_
++B 9200,12000,300,300,CONT_DIF_P,189nymous_
++B 32000,9200,300,300,CONT_DIF_N,263nymous_
++B 9200,6200,300,300,CONT_BODY_P,148nymous_
++B 9200,9200,300,300,CONT_DIF_N,188nymous_
++B 26000,16200,300,300,CONT_BODY_N,228nymous_
++B 8000,11800,300,300,CONT_DIF_P,194nymous_
++B 29600,11200,200,200,CONT_TURN1,229nymous_
++B 26000,7400,300,300,CONT_DIF_N,230nymous_
++B 11600,6200,300,300,CONT_BODY_P,150nymous_
++B 9200,14000,300,300,CONT_DIF_P,191nymous_
++B 12800,6200,300,300,CONT_BODY_P,151nymous_
++B 33000,10200,300,300,CONT_POLY,266nymous_
++B 9200,15000,300,300,CONT_DIF_P,192nymous_
++B 8000,9200,300,300,CONT_DIF_N,193nymous_
++B 30800,7400,300,300,CONT_DIF_N,268nymous_
++B 28400,2000,300,300,CONT_VIA2,269nymous_
++B 8000,12800,300,300,CONT_DIF_P,195nymous_
++B 27200,2000,300,300,CONT_VIA2,270nymous_
++B 7000,10200,300,300,CONT_POLY,196nymous_
++B 7000,10200,300,300,CONT_VIA,197nymous_
++B 26000,8200,300,300,CONT_DIF_N,231nymous_
++B 26000,12200,300,300,CONT_DIF_P,232nymous_
++B 14000,6200,300,300,CONT_BODY_P,152nymous_
++B 26000,13000,300,300,CONT_DIF_P,233nymous_
++B 33000,10200,300,300,CONT_VIA,267nymous_
++B 26000,14000,300,300,CONT_DIF_P,234nymous_
++B 8000,16200,300,300,CONT_BODY_N,154nymous_
++B 26000,15000,300,300,CONT_DIF_P,235nymous_
++B 10400,16200,300,300,CONT_BODY_N,155nymous_
++B 27200,9200,300,300,CONT_DIF_N,236nymous_
++B 11600,16200,300,300,CONT_BODY_N,156nymous_
++B 27200,9200,300,300,CONT_VIA,237nymous_
++B 28400,1000,300,300,CONT_VIA2,271nymous_
++B 27200,10200,300,300,CONT_POLY,238nymous_
++B 27200,1000,300,300,CONT_VIA2,272nymous_
++B 9200,7400,300,300,CONT_DIF_N,198nymous_
++B 23000,22000,4300,2300,CONT_VIA,273nymous_
++B 11600,2000,300,300,CONT_VIA2,199nymous_
++B 9200,16200,300,300,CONT_BODY_N,153nymous_
++B 12800,2000,300,300,CONT_VIA2,200nymous_
++B 11600,1000,300,300,CONT_VIA2,201nymous_
++B 27200,13000,300,300,CONT_DIF_P,241nymous_
++B 12800,1000,300,300,CONT_VIA2,202nymous_
++B 12800,16200,300,300,CONT_BODY_N,157nymous_
++B 14000,16200,300,300,CONT_BODY_N,158nymous_
++B 27200,11200,300,300,CONT_VIA,239nymous_
++B 10400,11200,200,200,CONT_TURN1,159nymous_
++B 27200,12000,300,300,CONT_DIF_P,240nymous_
++B 23000,22000,4300,2300,CONT_VIA2,274nymous_
++B 23000,28000,4300,2300,CONT_VIA,275nymous_
++B 14000,7400,300,300,CONT_DIF_N,160nymous_
++B 27200,14000,300,300,CONT_DIF_P,242nymous_
++B 14000,8200,300,300,CONT_DIF_N,161nymous_
++B 23000,28000,4300,2300,CONT_VIA2,276nymous_
++B 14000,12200,300,300,CONT_DIF_P,162nymous_
++B 23000,34000,4300,2300,CONT_VIA,277nymous_
++B 26000,16200,300,300,CONT_VIA,203nymous_
++B 28400,7400,300,300,CONT_DIF_N,243nymous_
++B 14000,13000,300,300,CONT_DIF_P,163nymous_
++B 28400,8200,300,300,CONT_DIF_N,244nymous_
++B 23000,34000,4300,2300,CONT_VIA2,278nymous_
++B 27200,16200,300,300,CONT_VIA,204nymous_
++B 14000,14000,300,300,CONT_DIF_P,164nymous_
++B 28400,9200,300,300,CONT_VIA,245nymous_
++B 31000,7000,2300,2300,CONT_VIA2,279nymous_
++B 28400,16200,300,300,CONT_VIA,205nymous_
++B 14000,15000,300,300,CONT_DIF_P,165nymous_
++B 31000,1000,2300,2300,CONT_VIA2,280nymous_
++B 28400,16200,300,300,CONT_VIA2,206nymous_
++B 31000,1000,2300,2300,CONT_VIA3,281nymous_
++B 27200,16200,300,300,CONT_VIA2,207nymous_
++B 31000,1000,2300,2300,CONT_VIA4,282nymous_
++B 12800,9200,300,300,CONT_VIA,167nymous_
++B 26000,16200,300,300,CONT_VIA2,208nymous_
++B 12800,10200,300,300,CONT_POLY,168nymous_
++B 31000,13000,2300,2300,CONT_VIA2,283nymous_
++B 26000,6200,300,300,CONT_VIA2,209nymous_
++B 35000,10000,2300,2300,CONT_VIA2,284nymous_
++B 28400,10200,300,300,CONT_POLY,246nymous_
++B 12800,9200,300,300,CONT_DIF_N,166nymous_
++B 28400,11200,300,300,CONT_VIA,247nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvddeck_mpx.vbe b/alliance/src/cells/src/mpxlib/pvddeck_mpx.vbe
+new file mode 100644
+index 0000000..ddffa40
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvddeck_mpx.vbe
+@@ -0,0 +1,31 @@
++ENTITY pvddeck_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1055;
++ CONSTANT rdown_ck : NATURAL := 126;
++ CONSTANT tphh_ck : NATURAL := 963;
++ CONSTANT rup_ck : NATURAL := 183
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvddeck_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvddeck_mpx IS
++
++BEGIN
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((not (vssi) and not (vsse)) and vddi) and vdde) = '1')
++ REPORT "power supply is missing on pvddeck_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvddi_mpx.ap b/alliance/src/cells/src/mpxlib/pvddi_mpx.ap
+new file mode 100644
+index 0000000..8465dc2
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvddi_mpx.ap
+@@ -0,0 +1,86 @@
++V ALLIANCE : 6
++H pvddi_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 31200,6000,32800,6000,12000,13onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,11onymous_,RIGHT,TALU2
++S 50,6000,2800,6000,12000,10onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,12onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,17onymous_,RIGHT,TALU4
++S 50,6000,2800,6000,12000,15onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,14onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,16onymous_,RIGHT,TALU4
++S 31200,6000,32800,6000,12000,18onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,19onymous_,RIGHT,TALU4
++S 17000,6100,17000,59900,4400,21onymous_,UP,ALU1
++S 8000,200,8000,2000,2000,1nonymous_,UP,TALU3
++S 1400,200,1400,2000,3000,0nonymous_,UP,TALU3
++S 0,6000,40000,6000,12000,20onymous_,RIGHT,TALU6
++S 20000,200,20000,2000,14000,2nonymous_,UP,TALU3
++S 23000,6100,23000,59900,4400,22onymous_,UP,ALU1
++S 32000,200,32000,2000,2000,3nonymous_,UP,TALU3
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 38600,200,38600,2000,3000,4nonymous_,UP,TALU3
++S 1400,200,1400,12000,3000,5nonymous_,UP,TALU5
++S 20000,200,20000,12000,14000,7nonymous_,UP,TALU5
++S 8000,200,8000,12000,2000,6nonymous_,UP,TALU5
++S 32000,200,32000,12000,2000,8nonymous_,UP,TALU5
++S 38600,200,38600,12000,3000,9nonymous_,UP,TALU5
++S 29000,0,29000,2000,2400,vssi,UP,CALU4
++S 29000,0,29000,2000,2400,vssi,UP,CALU5
++S 29000,-300,29000,2300,2400,vssi,UP,CALU3
++S 29000,-300,29000,17300,2400,vssi,UP,CALU2
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 11000,0,11000,2000,2400,vddi,UP,CALU5
++S 11000,0,11000,2000,2400,vddi,UP,CALU4
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 20000,48100,20000,71900,24400,vddi,UP,CALU1
++S 11000,-300,11000,17300,2400,vddi,UP,CALU2
++S 11000,-300,11000,2300,2400,vddi,UP,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++B 29000,7000,2300,2300,CONT_VIA2,46onymous_
++B 35000,16000,2300,2300,CONT_VIA2,37onymous_
++B 23000,16000,4300,2300,CONT_VIA2,47onymous_
++B 5000,1000,2300,2300,CONT_VIA2,35onymous_
++B 5000,7000,2300,2300,CONT_VIA2,36onymous_
++B 23000,16000,4300,2300,CONT_VIA,48onymous_
++B 35000,1000,2300,2300,CONT_VIA4,38onymous_
++B 35000,10000,2300,2300,CONT_VIA2,41onymous_
++B 35000,1000,2300,2300,CONT_VIA2,40onymous_
++B 23000,10000,4300,2300,CONT_VIA2,49onymous_
++B 35000,1000,2300,2300,CONT_VIA3,39onymous_
++B 29000,13000,2300,2300,CONT_VIA2,42onymous_
++B 29000,1000,2300,2300,CONT_VIA4,43onymous_
++B 23000,10000,4300,2300,CONT_VIA,50onymous_
++B 17000,10000,4300,2300,CONT_VIA2,25onymous_
++B 17000,16000,4300,2300,CONT_VIA2,23onymous_
++B 17000,16000,4300,2300,CONT_VIA,24onymous_
++B 11000,1000,2300,2300,CONT_VIA4,28onymous_
++B 17000,10000,4300,2300,CONT_VIA,26onymous_
++B 11000,16000,2300,2300,CONT_VIA2,27onymous_
++B 11000,10000,2300,2300,CONT_VIA2,31onymous_
++B 11000,1000,2300,2300,CONT_VIA2,30onymous_
++B 11000,1000,2300,2300,CONT_VIA3,29onymous_
++B 29000,1000,2300,2300,CONT_VIA2,45onymous_
++B 5000,1000,2300,2300,CONT_VIA4,33onymous_
++B 5000,13000,2300,2300,CONT_VIA2,32onymous_
++B 29000,1000,2300,2300,CONT_VIA3,44onymous_
++B 5000,1000,2300,2300,CONT_VIA3,34onymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvddi_mpx.vbe b/alliance/src/cells/src/mpxlib/pvddi_mpx.vbe
+new file mode 100644
+index 0000000..cb25d33
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvddi_mpx.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvddi_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvddi_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvddi_mpx IS
++
++BEGIN
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvddi_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvddick_mpx.ap b/alliance/src/cells/src/mpxlib/pvddick_mpx.ap
+new file mode 100644
+index 0000000..0b164e8
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvddick_mpx.ap
+@@ -0,0 +1,340 @@
++V ALLIANCE : 6
++H pvddick_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 26100,15600,31900,15600,1600,vddi,RIGHT,ALU1
++S 9000,-300,9000,17300,2400,vddi,UP,CALU2
++S 9000,-300,9000,2300,2400,vddi,UP,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 9000,0,9000,2000,2400,vddi,UP,CALU5
++S 9000,0,9000,2000,2400,vddi,UP,CALU4
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 20000,48100,20000,71900,24400,vddi,UP,CALU1
++S 8100,15600,13900,15600,1600,vddi,RIGHT,ALU1
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 31000,0,31000,2000,2400,vssi,UP,CALU4
++S 26100,6800,31900,6800,1600,vssi,RIGHT,ALU1
++S 8100,6800,13900,6800,1600,vssi,RIGHT,ALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 31000,-300,31000,17300,2400,vssi,UP,CALU2
++S 31000,-300,31000,2300,2400,vssi,UP,CALU3
++S 31000,0,31000,2000,2400,vssi,UP,CALU5
++S 10500,9200,12700,9200,400,91onymous_,RIGHT,ALU1
++S 25880,6200,32120,6200,600,52onymous_,RIGHT,PTIE
++S 27200,8500,27200,9100,400,51onymous_,UP,ALU1
++S 32000,11300,32000,14900,620,13onymous_,UP,PDIF
++S 26000,7500,26000,8100,400,11onymous_,UP,ALU1
++S 13400,11100,13400,15100,200,93onymous_,UP,PTRANS
++S 28400,7500,28400,8100,400,10onymous_,UP,ALU1
++S 50,6000,2800,6000,12000,126nymous_,RIGHT,TALU4
++S 30800,7500,30800,9100,400,12onymous_,UP,ALU1
++S 37200,6000,39950,6000,12000,127nymous_,RIGHT,TALU2
++S 33000,3700,33000,10500,400,53onymous_,UP,ALU2
++S 12800,7700,12800,9300,420,92onymous_,UP,NDIF
++S 31400,11100,31400,15100,200,15onymous_,UP,PTRANS
++S 11200,6000,16800,6000,12000,130nymous_,RIGHT,TALU2
++S 11600,12300,11600,14900,400,58onymous_,UP,ALU1
++S 32000,7700,32000,9300,620,14onymous_,UP,NDIF
++S 21200,6000,28800,6000,12000,129nymous_,RIGHT,TALU2
++S 11600,700,11600,11500,400,57onymous_,UP,ALU2
++S 31400,9800,31400,10800,200,17onymous_,UP,POLY
++S 12800,700,12800,11500,400,56onymous_,UP,ALU2
++S 9800,10200,13400,10200,600,94onymous_,RIGHT,POLY
++S 26000,5900,26000,7700,400,54onymous_,UP,ALU2
++S 31400,10200,33000,10200,600,16onymous_,RIGHT,POLY
++S 25700,16200,28700,16200,400,55onymous_,RIGHT,ALU2
++S 9200,12100,9200,14900,400,59onymous_,UP,ALU1
++S 14000,11300,14000,14900,620,97onymous_,UP,PDIF
++S 13400,7500,13400,9500,200,96onymous_,UP,NTRANS
++S 9300,7400,13900,7400,400,61onymous_,RIGHT,ALU1
++S 50,6000,2800,6000,12000,132nymous_,RIGHT,TALU2
++S 14000,12300,14000,14900,400,60onymous_,UP,ALU1
++S 31400,7500,31400,9500,200,18onymous_,UP,NTRANS
++S 11600,7500,11600,8100,400,62onymous_,UP,ALU1
++S 13400,9800,13400,10800,200,95onymous_,UP,POLY
++S 30800,11300,30800,14900,620,19onymous_,UP,PDIF
++S 14000,7500,14000,8100,400,63onymous_,UP,ALU1
++S 8000,8500,8000,12700,400,101nymous_,UP,ALU1
++S 7000,13800,15000,13800,6800,99onymous_,RIGHT,NWELL
++S 7880,16200,14120,16200,600,100nymous_,RIGHT,NTIE
++S 30800,7700,30800,9300,420,20onymous_,UP,NDIF
++S 9200,7500,9200,9100,400,64onymous_,UP,ALU1
++S 30200,11100,30200,15100,200,21onymous_,UP,PTRANS
++S 8000,11300,8000,14900,620,65onymous_,UP,PDIF
++S 14000,7700,14000,9300,620,98onymous_,UP,NDIF
++S 10400,8500,10400,9100,400,102nymous_,UP,ALU1
++S 29600,11300,29600,13900,400,25onymous_,UP,ALU1
++S 30200,7500,30200,9500,200,23onymous_,UP,NTRANS
++S 8600,11100,8600,15100,200,67onymous_,UP,PTRANS
++S 29600,11300,29600,14900,620,24onymous_,UP,PDIF
++S 12800,8500,12800,9100,400,103nymous_,UP,ALU1
++S 30200,9800,30200,10800,200,22onymous_,UP,POLY
++S 8000,7700,8000,9300,620,66onymous_,UP,NDIF
++S 29600,7700,29600,9300,420,26onymous_,UP,NDIF
++S 29000,11100,29000,15100,200,27onymous_,UP,PTRANS
++S 7880,6200,14120,6200,600,104nymous_,RIGHT,PTIE
++S 29000,9800,29000,10800,200,28onymous_,UP,POLY
++S 7000,3700,7000,10500,400,105nymous_,UP,ALU2
++S 28400,7700,28400,9300,620,31onymous_,UP,NDIF
++S 7000,10200,8600,10200,600,68onymous_,RIGHT,POLY
++S 14000,5900,14000,7700,400,106nymous_,UP,ALU2
++S 29000,7500,29000,9500,200,29onymous_,UP,NTRANS
++S 28400,11300,28400,14900,620,30onymous_,UP,PDIF
++S 11300,16200,14300,16200,400,107nymous_,RIGHT,ALU2
++S 7000,200,7000,12000,0,110nymous_,UP,TALU5
++S 27800,7500,27800,9500,200,34onymous_,UP,NTRANS
++S 26000,11300,26000,14900,620,45onymous_,UP,PDIF
++S 38600,200,38600,12000,3000,109nymous_,UP,TALU5
++S 27800,9800,27800,10800,200,33onymous_,UP,POLY
++S 8600,7500,8600,9500,200,70onymous_,UP,NTRANS
++S 1400,200,1400,12000,3000,108nymous_,UP,TALU5
++S 8600,9800,8600,10800,200,69onymous_,UP,POLY
++S 27800,11100,27800,15100,200,32onymous_,UP,PTRANS
++S 26600,7500,26600,9500,200,44onymous_,UP,NTRANS
++S 14000,200,14000,12000,6000,111nymous_,UP,TALU5
++S 25000,13800,33000,13800,6800,47onymous_,RIGHT,NWELL
++S 27300,11200,29500,11200,400,35onymous_,RIGHT,ALU1
++S 9200,7700,9200,9300,420,72onymous_,UP,NDIF
++S 26000,7700,26000,9300,620,46onymous_,UP,NDIF
++S 9200,11300,9200,14900,620,71onymous_,UP,PDIF
++S 25880,16200,32120,16200,600,48onymous_,RIGHT,NTIE
++S 9800,11100,9800,15100,200,73onymous_,UP,PTRANS
++S 25000,200,25000,12000,8000,112nymous_,UP,TALU5
++S 33000,200,33000,12000,0,113nymous_,UP,TALU5
++S 27200,11300,27200,14900,620,36onymous_,UP,PDIF
++S 1400,200,1400,2000,3000,114nymous_,UP,TALU3
++S 27200,11300,27200,13900,400,37onymous_,UP,ALU1
++S 27200,7700,27200,9300,420,40onymous_,UP,NDIF
++S 27300,9200,29500,9200,400,39onymous_,RIGHT,ALU1
++S 10400,11300,10400,13900,400,77onymous_,UP,ALU1
++S 27300,10200,31900,10200,400,38onymous_,RIGHT,ALU1
++S 38600,200,38600,2000,3000,115nymous_,UP,TALU3
++S 9800,9800,9800,10800,200,74onymous_,UP,POLY
++S 26600,11100,26600,15100,200,41onymous_,UP,PTRANS
++S 32000,8500,32000,12700,400,49onymous_,UP,ALU1
++S 9800,7500,9800,9500,200,75onymous_,UP,NTRANS
++S 10400,11300,10400,14900,620,76onymous_,UP,PDIF
++S 14000,200,14000,2000,6000,117nymous_,UP,TALU3
++S 10400,7700,10400,9300,420,78onymous_,UP,NDIF
++S 7000,200,7000,2000,0,116nymous_,UP,TALU3
++S 26600,10200,30200,10200,600,42onymous_,RIGHT,POLY
++S 11000,9800,11000,10800,200,80onymous_,UP,POLY
++S 11000,11100,11000,15100,200,79onymous_,UP,PTRANS
++S 11000,7500,11000,9500,200,81onymous_,UP,NTRANS
++S 26600,9800,26600,10800,200,43onymous_,UP,POLY
++S 29600,8500,29600,9100,400,50onymous_,UP,ALU1
++S 12200,11100,12200,15100,200,84onymous_,UP,PTRANS
++S 11600,7700,11600,9300,620,83onymous_,UP,NDIF
++S 25000,200,25000,2000,8000,118nymous_,UP,TALU3
++S 11300,1000,28700,1000,400,0nonymous_,RIGHT,ALU3
++S 11300,2000,28700,2000,400,1nonymous_,RIGHT,ALU3
++S 17000,6100,17000,59900,4400,2nonymous_,UP,ALU1
++S 11600,11300,11600,14900,620,82onymous_,UP,PDIF
++S 12200,9800,12200,10800,200,85onymous_,UP,POLY
++S 23000,6100,23000,59900,4400,3nonymous_,UP,ALU1
++S 10500,11200,12700,11200,400,87onymous_,RIGHT,ALU1
++S 33000,200,33000,2000,0,119nymous_,UP,TALU3
++S 27200,700,27200,11500,400,4nonymous_,UP,ALU2
++S 12200,7500,12200,9500,200,86onymous_,UP,NTRANS
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 0,6000,40000,6000,12000,120nymous_,RIGHT,TALU6
++S 28400,700,28400,11500,400,5nonymous_,UP,ALU2
++S 12800,11300,12800,14900,620,88onymous_,UP,PDIF
++S 37200,6000,39950,6000,12000,121nymous_,RIGHT,TALU4
++S 26100,7400,30700,7400,400,9nonymous_,RIGHT,ALU1
++S 11200,6000,16800,6000,12000,124nymous_,RIGHT,TALU4
++S 26000,12300,26000,14900,400,8nonymous_,UP,ALU1
++S 21200,6000,28800,6000,12000,123nymous_,RIGHT,TALU4
++S 8100,10200,12700,10200,400,90onymous_,RIGHT,ALU1
++S 30800,12100,30800,14900,400,7nonymous_,UP,ALU1
++S 19000,0,19000,2000,2400,cko,UP,CALU4
++S 19000,0,19000,2000,2400,cko,UP,CALU5
++S 28400,12300,28400,14900,400,6nonymous_,UP,ALU1
++S 12800,11300,12800,13900,400,89onymous_,UP,ALU1
++B 10400,6200,300,300,CONT_BODY_P,286nymous_
++B 32000,16200,300,300,CONT_BODY_N,211nymous_
++B 11600,6200,300,300,CONT_BODY_P,285nymous_
++B 29600,16200,300,300,CONT_BODY_N,210nymous_
++B 33000,10200,300,300,CONT_POLY,169nymous_
++B 10400,14000,300,300,CONT_DIF_P,249nymous_
++B 9200,8200,300,300,CONT_DIF_N,248nymous_
++B 27200,6200,300,300,CONT_BODY_P,214nymous_
++B 8000,6200,300,300,CONT_BODY_P,288nymous_
++B 30800,15000,300,300,CONT_DIF_P,173nymous_
++B 26000,6200,300,300,CONT_BODY_P,213nymous_
++B 9200,6200,300,300,CONT_BODY_P,287nymous_
++B 32000,9200,300,300,CONT_DIF_N,172nymous_
++B 30800,16200,300,300,CONT_BODY_N,212nymous_
++B 32000,11800,300,300,CONT_DIF_P,171nymous_
++B 32000,12800,300,300,CONT_DIF_P,170nymous_
++B 10400,13000,300,300,CONT_DIF_P,250nymous_
++B 8000,8400,300,300,CONT_DIF_N,290nymous_
++B 28400,6200,300,300,CONT_BODY_P,215nymous_
++B 12800,8400,300,300,CONT_DIF_N,289nymous_
++B 30800,14000,300,300,CONT_DIF_P,174nymous_
++B 19000,1000,2300,2300,CONT_VIA4,133nymous_
++B 30800,13000,300,300,CONT_DIF_P,175nymous_
++B 29600,6200,300,300,CONT_BODY_P,216nymous_
++B 30800,12000,300,300,CONT_DIF_P,176nymous_
++B 10400,8400,300,300,CONT_DIF_N,291nymous_
++B 30800,6200,300,300,CONT_BODY_P,217nymous_
++B 10400,12000,300,300,CONT_DIF_P,251nymous_
++B 30800,9200,300,300,CONT_DIF_N,177nymous_
++B 7000,4000,300,300,CONT_VIA2,292nymous_
++B 10400,10200,300,300,CONT_POLY,252nymous_
++B 14000,6200,300,300,CONT_VIA,293nymous_
++B 10400,9200,300,300,CONT_DIF_N,253nymous_
++B 14000,7400,300,300,CONT_VIA,294nymous_
++B 30800,8200,300,300,CONT_DIF_N,178nymous_
++B 27200,8400,300,300,CONT_DIF_N,219nymous_
++B 29600,14000,300,300,CONT_DIF_P,179nymous_
++B 32000,8400,300,300,CONT_DIF_N,220nymous_
++B 11600,15000,300,300,CONT_DIF_P,254nymous_
++B 29600,13000,300,300,CONT_DIF_P,180nymous_
++B 32000,6200,300,300,CONT_BODY_P,218nymous_
++B 17000,10000,4300,2300,CONT_VIA2,137nymous_
++B 11600,12200,300,300,CONT_DIF_P,257nymous_
++B 17000,16000,4300,2300,CONT_VIA,136nymous_
++B 11600,13000,300,300,CONT_DIF_P,256nymous_
++B 17000,16000,4300,2300,CONT_VIA2,135nymous_
++B 19000,1000,2300,2300,CONT_VIA3,134nymous_
++B 14000,7400,300,300,CONT_VIA2,295nymous_
++B 11600,14000,300,300,CONT_DIF_P,255nymous_
++B 9000,1000,2300,2300,CONT_VIA4,140nymous_
++B 9000,16000,2300,2300,CONT_VIA2,139nymous_
++B 17000,10000,4300,2300,CONT_VIA,138nymous_
++B 11600,16200,300,300,CONT_VIA2,299nymous_
++B 11600,11200,300,300,CONT_VIA,258nymous_
++B 12800,16200,300,300,CONT_VIA2,298nymous_
++B 29600,9200,300,300,CONT_DIF_N,183nymous_
++B 14000,16200,300,300,CONT_VIA2,297nymous_
++B 29600,10200,300,300,CONT_POLY,182nymous_
++B 33000,4000,300,300,CONT_VIA2,222nymous_
++B 14000,6200,300,300,CONT_VIA2,296nymous_
++B 9000,1000,2300,2300,CONT_VIA3,141nymous_
++B 29600,12000,300,300,CONT_DIF_P,181nymous_
++B 29600,8400,300,300,CONT_DIF_N,221nymous_
++B 12800,16200,300,300,CONT_VIA,301nymous_
++B 28400,13000,300,300,CONT_DIF_P,186nymous_
++B 11600,9200,300,300,CONT_VIA,260nymous_
++B 26000,6200,300,300,CONT_VIA2,226nymous_
++B 11600,16200,300,300,CONT_VIA,300nymous_
++B 5000,1000,2300,2300,CONT_VIA4,145nymous_
++B 28400,14000,300,300,CONT_DIF_P,185nymous_
++B 11600,10200,300,300,CONT_POLY,259nymous_
++B 26000,7400,300,300,CONT_VIA2,225nymous_
++B 5000,13000,2300,2300,CONT_VIA2,144nymous_
++B 28400,15000,300,300,CONT_DIF_P,184nymous_
++B 26000,7400,300,300,CONT_VIA,224nymous_
++B 9000,10000,2300,2300,CONT_VIA2,143nymous_
++B 26000,6200,300,300,CONT_VIA,223nymous_
++B 9000,1000,2300,2300,CONT_VIA2,142nymous_
++B 11600,7400,300,300,CONT_DIF_N,262nymous_
++B 11600,8200,300,300,CONT_DIF_N,261nymous_
++B 28400,12200,300,300,CONT_DIF_P,187nymous_
++B 14000,16200,300,300,CONT_VIA,302nymous_
++B 5000,1000,2300,2300,CONT_VIA2,147nymous_
++B 26000,16200,300,300,CONT_VIA2,227nymous_
++B 5000,1000,2300,2300,CONT_VIA3,146nymous_
++B 12800,12000,300,300,CONT_DIF_P,265nymous_
++B 28400,9200,300,300,CONT_VIA,190nymous_
++B 12800,13000,300,300,CONT_DIF_P,264nymous_
++B 35000,16000,2300,2300,CONT_VIA2,149nymous_
++B 28400,10200,300,300,CONT_POLY,189nymous_
++B 12800,14000,300,300,CONT_DIF_P,263nymous_
++B 5000,7000,2300,2300,CONT_VIA2,148nymous_
++B 28400,11200,300,300,CONT_VIA,188nymous_
++B 27200,16200,300,300,CONT_VIA2,228nymous_
++B 27200,13000,300,300,CONT_DIF_P,194nymous_
++B 28400,16200,300,300,CONT_VIA2,229nymous_
++B 28400,16200,300,300,CONT_VIA,230nymous_
++B 35000,1000,2300,2300,CONT_VIA4,150nymous_
++B 28400,8200,300,300,CONT_DIF_N,191nymous_
++B 35000,1000,2300,2300,CONT_VIA3,151nymous_
++B 12800,11200,300,300,CONT_VIA,266nymous_
++B 28400,7400,300,300,CONT_DIF_N,192nymous_
++B 27200,14000,300,300,CONT_DIF_P,193nymous_
++B 12800,9200,300,300,CONT_VIA,268nymous_
++B 12800,9200,300,300,CONT_DIF_N,269nymous_
++B 27200,12000,300,300,CONT_DIF_P,195nymous_
++B 14000,15000,300,300,CONT_DIF_P,270nymous_
++B 27200,11200,300,300,CONT_VIA,196nymous_
++B 27200,10200,300,300,CONT_POLY,197nymous_
++B 27200,16200,300,300,CONT_VIA,231nymous_
++B 26000,16200,300,300,CONT_VIA,232nymous_
++B 35000,1000,2300,2300,CONT_VIA2,152nymous_
++B 12800,1000,300,300,CONT_VIA2,233nymous_
++B 12800,10200,300,300,CONT_POLY,267nymous_
++B 11600,1000,300,300,CONT_VIA2,234nymous_
++B 31000,13000,2300,2300,CONT_VIA2,154nymous_
++B 12800,2000,300,300,CONT_VIA2,235nymous_
++B 31000,1000,2300,2300,CONT_VIA4,155nymous_
++B 11600,2000,300,300,CONT_VIA2,236nymous_
++B 31000,1000,2300,2300,CONT_VIA3,156nymous_
++B 9200,7400,300,300,CONT_DIF_N,237nymous_
++B 14000,14000,300,300,CONT_DIF_P,271nymous_
++B 7000,10200,300,300,CONT_VIA,238nymous_
++B 14000,13000,300,300,CONT_DIF_P,272nymous_
++B 27200,9200,300,300,CONT_VIA,198nymous_
++B 14000,12200,300,300,CONT_DIF_P,273nymous_
++B 27200,9200,300,300,CONT_DIF_N,199nymous_
++B 35000,10000,2300,2300,CONT_VIA2,153nymous_
++B 26000,15000,300,300,CONT_DIF_P,200nymous_
++B 26000,14000,300,300,CONT_DIF_P,201nymous_
++B 8000,11800,300,300,CONT_DIF_P,241nymous_
++B 26000,13000,300,300,CONT_DIF_P,202nymous_
++B 31000,1000,2300,2300,CONT_VIA2,157nymous_
++B 31000,7000,2300,2300,CONT_VIA2,158nymous_
++B 7000,10200,300,300,CONT_POLY,239nymous_
++B 23000,16000,4300,2300,CONT_VIA2,159nymous_
++B 8000,12800,300,300,CONT_DIF_P,240nymous_
++B 14000,8200,300,300,CONT_DIF_N,274nymous_
++B 14000,7400,300,300,CONT_DIF_N,275nymous_
++B 23000,16000,4300,2300,CONT_VIA,160nymous_
++B 8000,9200,300,300,CONT_DIF_N,242nymous_
++B 23000,10000,4300,2300,CONT_VIA2,161nymous_
++B 10400,11200,200,200,CONT_TURN1,276nymous_
++B 23000,10000,4300,2300,CONT_VIA,162nymous_
++B 14000,16200,300,300,CONT_BODY_N,277nymous_
++B 26000,12200,300,300,CONT_DIF_P,203nymous_
++B 9200,15000,300,300,CONT_DIF_P,243nymous_
++B 27200,1000,300,300,CONT_VIA2,163nymous_
++B 9200,14000,300,300,CONT_DIF_P,244nymous_
++B 12800,16200,300,300,CONT_BODY_N,278nymous_
++B 26000,8200,300,300,CONT_DIF_N,204nymous_
++B 28400,1000,300,300,CONT_VIA2,164nymous_
++B 9200,13000,300,300,CONT_DIF_P,245nymous_
++B 11600,16200,300,300,CONT_BODY_N,279nymous_
++B 26000,7400,300,300,CONT_DIF_N,205nymous_
++B 27200,2000,300,300,CONT_VIA2,165nymous_
++B 10400,16200,300,300,CONT_BODY_N,280nymous_
++B 29600,11200,200,200,CONT_TURN1,206nymous_
++B 8000,16200,300,300,CONT_BODY_N,281nymous_
++B 26000,16200,300,300,CONT_BODY_N,207nymous_
++B 9200,16200,300,300,CONT_BODY_N,282nymous_
++B 30800,7400,300,300,CONT_DIF_N,167nymous_
++B 27200,16200,300,300,CONT_BODY_N,208nymous_
++B 33000,10200,300,300,CONT_VIA,168nymous_
++B 14000,6200,300,300,CONT_BODY_P,283nymous_
++B 28400,16200,300,300,CONT_BODY_N,209nymous_
++B 12800,6200,300,300,CONT_BODY_P,284nymous_
++B 9200,12000,300,300,CONT_DIF_P,246nymous_
++B 28400,2000,300,300,CONT_VIA2,166nymous_
++B 9200,9200,300,300,CONT_DIF_N,247nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvddick_mpx.vbe b/alliance/src/cells/src/mpxlib/pvddick_mpx.vbe
+new file mode 100644
+index 0000000..a195fbd
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvddick_mpx.vbe
+@@ -0,0 +1,31 @@
++ENTITY pvddick_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1235;
++ CONSTANT rdown_ck : NATURAL := 253;
++ CONSTANT tphh_ck : NATURAL := 1109;
++ CONSTANT rup_ck : NATURAL := 311
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvddick_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvddick_mpx IS
++
++BEGIN
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvddick_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvsse_mpx.ap b/alliance/src/cells/src/mpxlib/pvsse_mpx.ap
+new file mode 100644
+index 0000000..54ce412
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvsse_mpx.ap
+@@ -0,0 +1,94 @@
++V ALLIANCE : 6
++H pvsse_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 31200,6000,32800,6000,12000,13onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,11onymous_,RIGHT,TALU2
++S 50,6000,2800,6000,12000,10onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,12onymous_,RIGHT,TALU2
++S 37200,6000,39950,6000,12000,14onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,16onymous_,RIGHT,TALU4
++S 50,6000,2800,6000,12000,15onymous_,RIGHT,TALU4
++S 13200,6000,26800,6000,12000,17onymous_,RIGHT,TALU4
++S 31200,6000,32800,6000,12000,18onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,19onymous_,RIGHT,TALU4
++S 17000,18100,17000,59900,4400,21onymous_,UP,ALU1
++S 8000,200,8000,2000,2000,1nonymous_,UP,TALU3
++S 1400,200,1400,2000,3000,0nonymous_,UP,TALU3
++S 0,6000,40000,6000,12000,20onymous_,RIGHT,TALU6
++S 20000,200,20000,2000,14000,2nonymous_,UP,TALU3
++S 1400,200,1400,12000,3000,5nonymous_,UP,TALU5
++S 38600,200,38600,2000,3000,4nonymous_,UP,TALU3
++S 23000,18100,23000,59900,4400,22onymous_,UP,ALU1
++S 32000,200,32000,2000,2000,3nonymous_,UP,TALU3
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 20000,200,20000,12000,14000,7nonymous_,UP,TALU5
++S 8000,200,8000,12000,2000,6nonymous_,UP,TALU5
++S 38600,200,38600,12000,3000,9nonymous_,UP,TALU5
++S 32000,200,32000,12000,2000,8nonymous_,UP,TALU5
++S 29000,0,29000,2000,2400,vssi,UP,CALU4
++S 29000,0,29000,2000,2400,vssi,UP,CALU5
++S 29000,-300,29000,2300,2400,vssi,UP,CALU3
++S 29000,-300,29000,17300,2400,vssi,UP,CALU2
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 20000,48100,20000,71900,24400,vsse,UP,CALU1
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 11000,0,11000,2000,2400,vddi,UP,CALU4
++S 11000,0,11000,2000,2400,vddi,UP,CALU5
++S 11000,-300,11000,2300,2400,vddi,UP,CALU3
++S 11000,-300,11000,17300,2400,vddi,UP,CALU2
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++B 29000,1000,2300,2300,CONT_VIA3,48onymous_
++B 23000,37000,4300,2300,CONT_VIA2,53onymous_
++B 29000,13000,2300,2300,CONT_VIA2,46onymous_
++B 23000,19000,4300,2300,CONT_VIA2,51onymous_
++B 5000,1000,2300,2300,CONT_VIA4,37onymous_
++B 29000,1000,2300,2300,CONT_VIA4,47onymous_
++B 23000,19000,4300,2300,CONT_VIA,52onymous_
++B 11000,10000,2300,2300,CONT_VIA2,35onymous_
++B 5000,13000,2300,2300,CONT_VIA2,36onymous_
++B 5000,7000,2300,2300,CONT_VIA2,40onymous_
++B 23000,25000,4300,2300,CONT_VIA2,57onymous_
++B 23000,37000,4300,2300,CONT_VIA,54onymous_
++B 29000,1000,2300,2300,CONT_VIA2,49onymous_
++B 5000,1000,2300,2300,CONT_VIA2,39onymous_
++B 23000,31000,4300,2300,CONT_VIA,56onymous_
++B 23000,25000,4300,2300,CONT_VIA,58onymous_
++B 35000,16000,2300,2300,CONT_VIA2,41onymous_
++B 5000,1000,2300,2300,CONT_VIA3,38onymous_
++B 23000,31000,4300,2300,CONT_VIA2,55onymous_
++B 35000,1000,2300,2300,CONT_VIA4,42onymous_
++B 35000,1000,2300,2300,CONT_VIA3,43onymous_
++B 29000,7000,2300,2300,CONT_VIA2,50onymous_
++B 17000,19000,4300,2300,CONT_VIA,24onymous_
++B 17000,19000,4300,2300,CONT_VIA2,23onymous_
++B 17000,37000,4300,2300,CONT_VIA2,25onymous_
++B 17000,31000,4300,2300,CONT_VIA,28onymous_
++B 17000,31000,4300,2300,CONT_VIA2,27onymous_
++B 17000,37000,4300,2300,CONT_VIA,26onymous_
++B 11000,16000,2300,2300,CONT_VIA2,31onymous_
++B 17000,25000,4300,2300,CONT_VIA,30onymous_
++B 17000,25000,4300,2300,CONT_VIA2,29onymous_
++B 11000,1000,2300,2300,CONT_VIA3,33onymous_
++B 35000,10000,2300,2300,CONT_VIA2,45onymous_
++B 11000,1000,2300,2300,CONT_VIA4,32onymous_
++B 35000,1000,2300,2300,CONT_VIA2,44onymous_
++B 11000,1000,2300,2300,CONT_VIA2,34onymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvsse_mpx.vbe b/alliance/src/cells/src/mpxlib/pvsse_mpx.vbe
+new file mode 100644
+index 0000000..413e4b4
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvsse_mpx.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvsse_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvsse_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvsse_mpx IS
++
++BEGIN
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvsse_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvsseck_mpx.ap b/alliance/src/cells/src/mpxlib/pvsseck_mpx.ap
+new file mode 100644
+index 0000000..76c42d5
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvsseck_mpx.ap
+@@ -0,0 +1,348 @@
++V ALLIANCE : 6
++H pvsseck_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 9000,-300,9000,17300,2400,vddi,UP,CALU2
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 8100,15600,13900,15600,1600,vddi,RIGHT,ALU1
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 9000,0,9000,2000,2400,vddi,UP,CALU4
++S 9000,0,9000,2000,2400,vddi,UP,CALU5
++S 9000,-300,9000,2300,2400,vddi,UP,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 26100,15600,31900,15600,1600,vddi,RIGHT,ALU1
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 20000,48100,20000,71900,24400,vsse,UP,CALU1
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 8100,6800,13900,6800,1600,vssi,RIGHT,ALU1
++S 31000,0,31000,2000,2400,vssi,UP,CALU5
++S 31000,-300,31000,2300,2400,vssi,UP,CALU3
++S 31000,-300,31000,17300,2400,vssi,UP,CALU2
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 26100,6800,31900,6800,1600,vssi,RIGHT,ALU1
++S 31000,0,31000,2000,2400,vssi,UP,CALU4
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 31400,9800,31400,10800,200,92onymous_,UP,POLY
++S 12800,700,12800,11500,400,53onymous_,UP,ALU2
++S 31400,7500,31400,9500,200,91onymous_,UP,NTRANS
++S 50,6000,2800,6000,12000,126nymous_,RIGHT,TALU4
++S 14000,11300,14000,14900,620,12onymous_,UP,PDIF
++S 14000,7700,14000,9300,620,11onymous_,UP,NDIF
++S 13400,7500,13400,9500,200,13onymous_,UP,NTRANS
++S 11600,12300,11600,14900,400,51onymous_,UP,ALU1
++S 37200,6000,39950,6000,12000,127nymous_,RIGHT,TALU2
++S 11600,700,11600,11500,400,52onymous_,UP,ALU2
++S 7000,13800,15000,13800,6800,10onymous_,RIGHT,NWELL
++S 31400,10200,33000,10200,600,93onymous_,RIGHT,POLY
++S 12800,7700,12800,9300,420,17onymous_,UP,NDIF
++S 25700,16200,28700,16200,400,54onymous_,RIGHT,ALU2
++S 11200,6000,16800,6000,12000,130nymous_,RIGHT,TALU2
++S 13400,11100,13400,15100,200,16onymous_,UP,PTRANS
++S 21200,6000,28800,6000,12000,129nymous_,RIGHT,TALU2
++S 9800,10200,13400,10200,600,15onymous_,RIGHT,POLY
++S 13400,9800,13400,10800,200,14onymous_,UP,POLY
++S 27200,8500,27200,9100,400,58onymous_,UP,ALU1
++S 25880,6200,32120,6200,600,57onymous_,RIGHT,PTIE
++S 31400,11100,31400,15100,200,94onymous_,UP,PTRANS
++S 26000,5900,26000,7700,400,55onymous_,UP,ALU2
++S 33000,3700,33000,10500,400,56onymous_,UP,ALU2
++S 25880,16200,32120,16200,600,61onymous_,RIGHT,NTIE
++S 32000,8500,32000,12700,400,60onymous_,UP,ALU1
++S 29600,8500,29600,9100,400,59onymous_,UP,ALU1
++S 8100,10200,12700,10200,400,19onymous_,RIGHT,ALU1
++S 32000,7700,32000,9300,620,95onymous_,UP,NDIF
++S 25000,13800,33000,13800,6800,62onymous_,RIGHT,NWELL
++S 50,6000,2800,6000,12000,132nymous_,RIGHT,TALU2
++S 10500,9200,12700,9200,400,18onymous_,RIGHT,ALU1
++S 32000,11300,32000,14900,620,96onymous_,UP,PDIF
++S 30800,7500,30800,9100,400,97onymous_,UP,ALU1
++S 26000,11300,26000,14900,620,64onymous_,UP,PDIF
++S 12800,11300,12800,13900,400,20onymous_,UP,ALU1
++S 26000,7700,26000,9300,620,63onymous_,UP,NDIF
++S 26000,12300,26000,14900,400,101nymous_,UP,ALU1
++S 12800,11300,12800,14900,620,21onymous_,UP,PDIF
++S 26600,7500,26600,9500,200,65onymous_,UP,NTRANS
++S 26000,7500,26000,8100,400,98onymous_,UP,ALU1
++S 28400,7500,28400,8100,400,99onymous_,UP,ALU1
++S 26100,7400,30700,7400,400,100nymous_,RIGHT,ALU1
++S 28400,12300,28400,14900,400,103nymous_,UP,ALU1
++S 30800,12100,30800,14900,400,102nymous_,UP,ALU1
++S 12200,9800,12200,10800,200,24onymous_,UP,POLY
++S 12200,11100,12200,15100,200,25onymous_,UP,PTRANS
++S 10500,11200,12700,11200,400,22onymous_,RIGHT,ALU1
++S 26600,9800,26600,10800,200,66onymous_,UP,POLY
++S 12200,7500,12200,9500,200,23onymous_,UP,NTRANS
++S 26600,10200,30200,10200,600,67onymous_,RIGHT,POLY
++S 11600,11300,11600,14900,620,27onymous_,UP,PDIF
++S 11600,7700,11600,9300,620,26onymous_,UP,NDIF
++S 28400,700,28400,11500,400,104nymous_,UP,ALU2
++S 11000,7500,11000,9500,200,28onymous_,UP,NTRANS
++S 27200,700,27200,11500,400,105nymous_,UP,ALU2
++S 11000,11100,11000,15100,200,30onymous_,UP,PTRANS
++S 23000,18100,23000,59900,4400,106nymous_,UP,ALU1
++S 11000,9800,11000,10800,200,29onymous_,UP,POLY
++S 26600,11100,26600,15100,200,68onymous_,UP,PTRANS
++S 10400,7700,10400,9300,420,31onymous_,UP,NDIF
++S 17000,18100,17000,59900,4400,107nymous_,UP,ALU1
++S 7000,200,7000,12000,0,110nymous_,UP,TALU5
++S 38600,200,38600,12000,3000,109nymous_,UP,TALU5
++S 10400,11300,10400,13900,400,32onymous_,UP,ALU1
++S 9200,7500,9200,9100,400,45onymous_,UP,ALU1
++S 27200,7700,27200,9300,420,69onymous_,UP,NDIF
++S 8000,11300,8000,14900,620,44onymous_,UP,PDIF
++S 1400,200,1400,12000,3000,108nymous_,UP,TALU5
++S 27300,9200,29500,9200,400,70onymous_,RIGHT,ALU1
++S 10400,11300,10400,14900,620,33onymous_,UP,PDIF
++S 9800,7500,9800,9500,200,34onymous_,UP,NTRANS
++S 14000,200,14000,12000,6000,111nymous_,UP,TALU5
++S 9800,11100,9800,15100,200,36onymous_,UP,PTRANS
++S 27200,11300,27200,14900,620,73onymous_,UP,PDIF
++S 9800,9800,9800,10800,200,35onymous_,UP,POLY
++S 9300,7400,13900,7400,400,48onymous_,RIGHT,ALU1
++S 27200,11300,27200,13900,400,72onymous_,UP,ALU1
++S 33000,200,33000,12000,0,113nymous_,UP,TALU5
++S 9200,7700,9200,9300,420,37onymous_,UP,NDIF
++S 25000,200,25000,12000,8000,112nymous_,UP,TALU5
++S 14000,7500,14000,8100,400,46onymous_,UP,ALU1
++S 1400,200,1400,2000,3000,114nymous_,UP,TALU3
++S 27300,10200,31900,10200,400,71onymous_,RIGHT,ALU1
++S 11600,7500,11600,8100,400,47onymous_,UP,ALU1
++S 27300,11200,29500,11200,400,74onymous_,RIGHT,ALU1
++S 14000,12300,14000,14900,400,49onymous_,UP,ALU1
++S 7000,10200,8600,10200,600,41onymous_,RIGHT,POLY
++S 27800,7500,27800,9500,200,75onymous_,UP,NTRANS
++S 9200,11300,9200,14900,620,38onymous_,UP,PDIF
++S 8600,7500,8600,9500,200,39onymous_,UP,NTRANS
++S 27800,9800,27800,10800,200,76onymous_,UP,POLY
++S 8600,9800,8600,10800,200,40onymous_,UP,POLY
++S 27800,11100,27800,15100,200,77onymous_,UP,PTRANS
++S 38600,200,38600,2000,3000,115nymous_,UP,TALU3
++S 29000,7500,29000,9500,200,80onymous_,UP,NTRANS
++S 8000,7700,8000,9300,620,43onymous_,UP,NDIF
++S 9200,12100,9200,14900,400,50onymous_,UP,ALU1
++S 14000,200,14000,2000,6000,117nymous_,UP,TALU3
++S 28400,11300,28400,14900,620,79onymous_,UP,PDIF
++S 8600,11100,8600,15100,200,42onymous_,UP,PTRANS
++S 7000,200,7000,2000,0,116nymous_,UP,TALU3
++S 28400,7700,28400,9300,620,78onymous_,UP,NDIF
++S 29000,9800,29000,10800,200,81onymous_,UP,POLY
++S 29000,11100,29000,15100,200,82onymous_,UP,PTRANS
++S 25000,200,25000,2000,8000,118nymous_,UP,TALU3
++S 11300,1000,28700,1000,400,0nonymous_,RIGHT,ALU3
++S 11300,2000,28700,2000,400,1nonymous_,RIGHT,ALU3
++S 29600,7700,29600,9300,420,83onymous_,UP,NDIF
++S 11300,16200,14300,16200,400,2nonymous_,RIGHT,ALU2
++S 29600,11300,29600,13900,400,84onymous_,UP,ALU1
++S 7000,3700,7000,10500,400,4nonymous_,UP,ALU2
++S 30200,7500,30200,9500,200,86onymous_,UP,NTRANS
++S 14000,5900,14000,7700,400,3nonymous_,UP,ALU2
++S 29600,11300,29600,14900,620,85onymous_,UP,PDIF
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 33000,200,33000,2000,0,119nymous_,UP,TALU3
++S 30200,11100,30200,15100,200,88onymous_,UP,PTRANS
++S 7880,6200,14120,6200,600,5nonymous_,RIGHT,PTIE
++S 30200,9800,30200,10800,200,87onymous_,UP,POLY
++S 0,6000,40000,6000,12000,120nymous_,RIGHT,TALU6
++S 37200,6000,39950,6000,12000,121nymous_,RIGHT,TALU4
++S 11200,6000,16800,6000,12000,124nymous_,RIGHT,TALU4
++S 21200,6000,28800,6000,12000,123nymous_,RIGHT,TALU4
++S 7880,16200,14120,16200,600,9nonymous_,RIGHT,NTIE
++S 8000,8500,8000,12700,400,8nonymous_,UP,ALU1
++S 19000,0,19000,2000,2400,cko,UP,CALU5
++S 19000,0,19000,2000,2400,cko,UP,CALU4
++S 12800,8500,12800,9100,400,6nonymous_,UP,ALU1
++S 30800,7700,30800,9300,420,89onymous_,UP,NDIF
++S 10400,8500,10400,9100,400,7nonymous_,UP,ALU1
++S 30800,11300,30800,14900,620,90onymous_,UP,PDIF
++B 35000,10000,2300,2300,CONT_VIA2,286nymous_
++B 26000,7400,300,300,CONT_VIA,211nymous_
++B 31000,13000,2300,2300,CONT_VIA2,285nymous_
++B 26000,7400,300,300,CONT_VIA2,210nymous_
++B 12800,11200,300,300,CONT_VIA,169nymous_
++B 28400,13000,300,300,CONT_DIF_P,249nymous_
++B 28400,12200,300,300,CONT_DIF_P,248nymous_
++B 29600,8400,300,300,CONT_DIF_N,214nymous_
++B 35000,1000,2300,2300,CONT_VIA3,288nymous_
++B 11600,7400,300,300,CONT_DIF_N,173nymous_
++B 33000,4000,300,300,CONT_VIA2,213nymous_
++B 35000,1000,2300,2300,CONT_VIA2,287nymous_
++B 12800,14000,300,300,CONT_DIF_P,172nymous_
++B 26000,6200,300,300,CONT_VIA,212nymous_
++B 12800,13000,300,300,CONT_DIF_P,171nymous_
++B 12800,12000,300,300,CONT_DIF_P,170nymous_
++B 28400,14000,300,300,CONT_DIF_P,250nymous_
++B 35000,16000,2300,2300,CONT_VIA2,290nymous_
++B 32000,8400,300,300,CONT_DIF_N,215nymous_
++B 35000,1000,2300,2300,CONT_VIA4,289nymous_
++B 11600,8200,300,300,CONT_DIF_N,174nymous_
++B 14000,16200,300,300,CONT_VIA,133nymous_
++B 11600,9200,300,300,CONT_VIA,175nymous_
++B 27200,8400,300,300,CONT_DIF_N,216nymous_
++B 11600,10200,300,300,CONT_POLY,176nymous_
++B 5000,7000,2300,2300,CONT_VIA2,291nymous_
++B 32000,6200,300,300,CONT_BODY_P,217nymous_
++B 28400,15000,300,300,CONT_DIF_P,251nymous_
++B 11600,11200,300,300,CONT_VIA,177nymous_
++B 5000,1000,2300,2300,CONT_VIA2,292nymous_
++B 29600,9200,300,300,CONT_DIF_N,252nymous_
++B 5000,1000,2300,2300,CONT_VIA3,293nymous_
++B 29600,10200,300,300,CONT_POLY,253nymous_
++B 5000,1000,2300,2300,CONT_VIA4,294nymous_
++B 11600,12200,300,300,CONT_DIF_P,178nymous_
++B 29600,6200,300,300,CONT_BODY_P,219nymous_
++B 11600,13000,300,300,CONT_DIF_P,179nymous_
++B 28400,6200,300,300,CONT_BODY_P,220nymous_
++B 29600,12000,300,300,CONT_DIF_P,254nymous_
++B 11600,14000,300,300,CONT_DIF_P,180nymous_
++B 30800,6200,300,300,CONT_BODY_P,218nymous_
++B 12800,16200,300,300,CONT_VIA2,137nymous_
++B 30800,8200,300,300,CONT_DIF_N,257nymous_
++B 11600,16200,300,300,CONT_VIA2,136nymous_
++B 29600,14000,300,300,CONT_DIF_P,256nymous_
++B 11600,16200,300,300,CONT_VIA,135nymous_
++B 12800,16200,300,300,CONT_VIA,134nymous_
++B 5000,13000,2300,2300,CONT_VIA2,295nymous_
++B 29600,13000,300,300,CONT_DIF_P,255nymous_
++B 14000,7400,300,300,CONT_VIA2,140nymous_
++B 14000,6200,300,300,CONT_VIA2,139nymous_
++B 14000,16200,300,300,CONT_VIA2,138nymous_
++B 9000,1000,2300,2300,CONT_VIA4,299nymous_
++B 30800,9200,300,300,CONT_DIF_N,258nymous_
++B 9000,1000,2300,2300,CONT_VIA3,298nymous_
++B 10400,10200,300,300,CONT_POLY,183nymous_
++B 9000,1000,2300,2300,CONT_VIA2,297nymous_
++B 10400,9200,300,300,CONT_DIF_N,182nymous_
++B 26000,6200,300,300,CONT_BODY_P,222nymous_
++B 9000,10000,2300,2300,CONT_VIA2,296nymous_
++B 14000,7400,300,300,CONT_VIA,141nymous_
++B 11600,15000,300,300,CONT_DIF_P,181nymous_
++B 27200,6200,300,300,CONT_BODY_P,221nymous_
++B 17000,25000,4300,2300,CONT_VIA,301nymous_
++B 10400,14000,300,300,CONT_DIF_P,186nymous_
++B 30800,13000,300,300,CONT_DIF_P,260nymous_
++B 28400,16200,300,300,CONT_BODY_N,226nymous_
++B 9000,16000,2300,2300,CONT_VIA2,300nymous_
++B 8000,8400,300,300,CONT_DIF_N,145nymous_
++B 10400,13000,300,300,CONT_DIF_P,185nymous_
++B 30800,12000,300,300,CONT_DIF_P,259nymous_
++B 29600,16200,300,300,CONT_BODY_N,225nymous_
++B 10400,8400,300,300,CONT_DIF_N,144nymous_
++B 10400,12000,300,300,CONT_DIF_P,184nymous_
++B 32000,16200,300,300,CONT_BODY_N,224nymous_
++B 7000,4000,300,300,CONT_VIA2,143nymous_
++B 30800,16200,300,300,CONT_BODY_N,223nymous_
++B 14000,6200,300,300,CONT_VIA,142nymous_
++B 17000,31000,4300,2300,CONT_VIA,303nymous_
++B 30800,15000,300,300,CONT_DIF_P,262nymous_
++B 30800,14000,300,300,CONT_DIF_P,261nymous_
++B 9200,8200,300,300,CONT_DIF_N,187nymous_
++B 17000,25000,4300,2300,CONT_VIA2,302nymous_
++B 8000,6200,300,300,CONT_BODY_P,147nymous_
++B 27200,16200,300,300,CONT_BODY_N,227nymous_
++B 12800,8400,300,300,CONT_DIF_N,146nymous_
++B 17000,19000,4300,2300,CONT_VIA,307nymous_
++B 17000,37000,4300,2300,CONT_VIA2,306nymous_
++B 32000,12800,300,300,CONT_DIF_P,265nymous_
++B 17000,37000,4300,2300,CONT_VIA,305nymous_
++B 9200,13000,300,300,CONT_DIF_P,190nymous_
++B 32000,11800,300,300,CONT_DIF_P,264nymous_
++B 17000,31000,4300,2300,CONT_VIA2,304nymous_
++B 10400,6200,300,300,CONT_BODY_P,149nymous_
++B 9200,12000,300,300,CONT_DIF_P,189nymous_
++B 32000,9200,300,300,CONT_DIF_N,263nymous_
++B 9200,6200,300,300,CONT_BODY_P,148nymous_
++B 9200,9200,300,300,CONT_DIF_N,188nymous_
++B 26000,16200,300,300,CONT_BODY_N,228nymous_
++B 8000,11800,300,300,CONT_DIF_P,194nymous_
++B 19000,1000,2300,2300,CONT_VIA3,309nymous_
++B 19000,1000,2300,2300,CONT_VIA4,310nymous_
++B 29600,11200,200,200,CONT_TURN1,229nymous_
++B 26000,7400,300,300,CONT_DIF_N,230nymous_
++B 11600,6200,300,300,CONT_BODY_P,150nymous_
++B 9200,14000,300,300,CONT_DIF_P,191nymous_
++B 12800,6200,300,300,CONT_BODY_P,151nymous_
++B 33000,10200,300,300,CONT_POLY,266nymous_
++B 9200,15000,300,300,CONT_DIF_P,192nymous_
++B 8000,9200,300,300,CONT_DIF_N,193nymous_
++B 17000,19000,4300,2300,CONT_VIA2,308nymous_
++B 30800,7400,300,300,CONT_DIF_N,268nymous_
++B 28400,2000,300,300,CONT_VIA2,269nymous_
++B 8000,12800,300,300,CONT_DIF_P,195nymous_
++B 27200,2000,300,300,CONT_VIA2,270nymous_
++B 7000,10200,300,300,CONT_POLY,196nymous_
++B 7000,10200,300,300,CONT_VIA,197nymous_
++B 26000,8200,300,300,CONT_DIF_N,231nymous_
++B 26000,12200,300,300,CONT_DIF_P,232nymous_
++B 14000,6200,300,300,CONT_BODY_P,152nymous_
++B 26000,13000,300,300,CONT_DIF_P,233nymous_
++B 33000,10200,300,300,CONT_VIA,267nymous_
++B 26000,14000,300,300,CONT_DIF_P,234nymous_
++B 8000,16200,300,300,CONT_BODY_N,154nymous_
++B 26000,15000,300,300,CONT_DIF_P,235nymous_
++B 10400,16200,300,300,CONT_BODY_N,155nymous_
++B 27200,9200,300,300,CONT_DIF_N,236nymous_
++B 11600,16200,300,300,CONT_BODY_N,156nymous_
++B 27200,9200,300,300,CONT_VIA,237nymous_
++B 28400,1000,300,300,CONT_VIA2,271nymous_
++B 27200,10200,300,300,CONT_POLY,238nymous_
++B 27200,1000,300,300,CONT_VIA2,272nymous_
++B 9200,7400,300,300,CONT_DIF_N,198nymous_
++B 23000,25000,4300,2300,CONT_VIA,273nymous_
++B 11600,2000,300,300,CONT_VIA2,199nymous_
++B 9200,16200,300,300,CONT_BODY_N,153nymous_
++B 12800,2000,300,300,CONT_VIA2,200nymous_
++B 11600,1000,300,300,CONT_VIA2,201nymous_
++B 27200,13000,300,300,CONT_DIF_P,241nymous_
++B 12800,1000,300,300,CONT_VIA2,202nymous_
++B 12800,16200,300,300,CONT_BODY_N,157nymous_
++B 14000,16200,300,300,CONT_BODY_N,158nymous_
++B 27200,11200,300,300,CONT_VIA,239nymous_
++B 10400,11200,200,200,CONT_TURN1,159nymous_
++B 27200,12000,300,300,CONT_DIF_P,240nymous_
++B 23000,25000,4300,2300,CONT_VIA2,274nymous_
++B 23000,31000,4300,2300,CONT_VIA,275nymous_
++B 14000,7400,300,300,CONT_DIF_N,160nymous_
++B 27200,14000,300,300,CONT_DIF_P,242nymous_
++B 14000,8200,300,300,CONT_DIF_N,161nymous_
++B 23000,31000,4300,2300,CONT_VIA2,276nymous_
++B 14000,12200,300,300,CONT_DIF_P,162nymous_
++B 23000,37000,4300,2300,CONT_VIA,277nymous_
++B 26000,16200,300,300,CONT_VIA,203nymous_
++B 28400,7400,300,300,CONT_DIF_N,243nymous_
++B 14000,13000,300,300,CONT_DIF_P,163nymous_
++B 28400,8200,300,300,CONT_DIF_N,244nymous_
++B 23000,37000,4300,2300,CONT_VIA2,278nymous_
++B 27200,16200,300,300,CONT_VIA,204nymous_
++B 14000,14000,300,300,CONT_DIF_P,164nymous_
++B 28400,9200,300,300,CONT_VIA,245nymous_
++B 23000,19000,4300,2300,CONT_VIA,279nymous_
++B 28400,16200,300,300,CONT_VIA,205nymous_
++B 14000,15000,300,300,CONT_DIF_P,165nymous_
++B 23000,19000,4300,2300,CONT_VIA2,280nymous_
++B 28400,16200,300,300,CONT_VIA2,206nymous_
++B 31000,7000,2300,2300,CONT_VIA2,281nymous_
++B 27200,16200,300,300,CONT_VIA2,207nymous_
++B 31000,1000,2300,2300,CONT_VIA2,282nymous_
++B 12800,9200,300,300,CONT_VIA,167nymous_
++B 26000,16200,300,300,CONT_VIA2,208nymous_
++B 12800,10200,300,300,CONT_POLY,168nymous_
++B 31000,1000,2300,2300,CONT_VIA3,283nymous_
++B 26000,6200,300,300,CONT_VIA2,209nymous_
++B 31000,1000,2300,2300,CONT_VIA4,284nymous_
++B 28400,10200,300,300,CONT_POLY,246nymous_
++B 12800,9200,300,300,CONT_DIF_N,166nymous_
++B 28400,11200,300,300,CONT_VIA,247nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvsseck_mpx.vbe b/alliance/src/cells/src/mpxlib/pvsseck_mpx.vbe
+new file mode 100644
+index 0000000..3ef6010
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvsseck_mpx.vbe
+@@ -0,0 +1,31 @@
++ENTITY pvsseck_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1055;
++ CONSTANT rdown_ck : NATURAL := 126;
++ CONSTANT tphh_ck : NATURAL := 963;
++ CONSTANT rup_ck : NATURAL := 183
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvsseck_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvsseck_mpx IS
++
++BEGIN
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvsseck_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvssi_mpx.ap b/alliance/src/cells/src/mpxlib/pvssi_mpx.ap
+new file mode 100644
+index 0000000..1073dd8
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvssi_mpx.ap
+@@ -0,0 +1,86 @@
++V ALLIANCE : 6
++H pvssi_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 31200,6000,32800,6000,12000,13onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,11onymous_,RIGHT,TALU2
++S 50,6000,2800,6000,12000,10onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,12onymous_,RIGHT,TALU2
++S 13200,6000,26800,6000,12000,17onymous_,RIGHT,TALU4
++S 50,6000,2800,6000,12000,15onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,14onymous_,RIGHT,TALU2
++S 7200,6000,8800,6000,12000,16onymous_,RIGHT,TALU4
++S 31200,6000,32800,6000,12000,18onymous_,RIGHT,TALU4
++S 37200,6000,39950,6000,12000,19onymous_,RIGHT,TALU4
++S 17000,6100,17000,59900,4400,21onymous_,UP,ALU1
++S 8000,200,8000,2000,2000,1nonymous_,UP,TALU3
++S 1400,200,1400,2000,3000,0nonymous_,UP,TALU3
++S 0,6000,40000,6000,12000,20onymous_,RIGHT,TALU6
++S 20000,200,20000,2000,14000,2nonymous_,UP,TALU3
++S 23000,6100,23000,59900,4400,22onymous_,UP,ALU1
++S 32000,200,32000,2000,2000,3nonymous_,UP,TALU3
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 38600,200,38600,2000,3000,4nonymous_,UP,TALU3
++S 1400,200,1400,12000,3000,5nonymous_,UP,TALU5
++S 20000,200,20000,12000,14000,7nonymous_,UP,TALU5
++S 8000,200,8000,12000,2000,6nonymous_,UP,TALU5
++S 32000,200,32000,12000,2000,8nonymous_,UP,TALU5
++S 38600,200,38600,12000,3000,9nonymous_,UP,TALU5
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 20000,48100,20000,71900,24400,vssi,UP,CALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 29000,-300,29000,17300,2400,vssi,UP,CALU2
++S 29000,-300,29000,2300,2400,vssi,UP,CALU3
++S 29000,0,29000,2000,2400,vssi,UP,CALU5
++S 29000,0,29000,2000,2400,vssi,UP,CALU4
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 11000,0,11000,2000,2400,vddi,UP,CALU4
++S 11000,0,11000,2000,2400,vddi,UP,CALU5
++S 11000,-300,11000,2300,2400,vddi,UP,CALU3
++S 11000,-300,11000,17300,2400,vddi,UP,CALU2
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++B 29000,7000,2300,2300,CONT_VIA2,46onymous_
++B 35000,16000,2300,2300,CONT_VIA2,37onymous_
++B 23000,13000,4300,2300,CONT_VIA2,47onymous_
++B 5000,1000,2300,2300,CONT_VIA2,35onymous_
++B 5000,7000,2300,2300,CONT_VIA2,36onymous_
++B 23000,13000,4300,2300,CONT_VIA,48onymous_
++B 35000,1000,2300,2300,CONT_VIA4,38onymous_
++B 35000,10000,2300,2300,CONT_VIA2,41onymous_
++B 35000,1000,2300,2300,CONT_VIA2,40onymous_
++B 23000,7000,4300,2300,CONT_VIA2,49onymous_
++B 35000,1000,2300,2300,CONT_VIA3,39onymous_
++B 29000,13000,2300,2300,CONT_VIA2,42onymous_
++B 29000,1000,2300,2300,CONT_VIA4,43onymous_
++B 23000,7000,4300,2300,CONT_VIA,50onymous_
++B 17000,7000,4300,2300,CONT_VIA2,25onymous_
++B 17000,13000,4300,2300,CONT_VIA2,23onymous_
++B 17000,13000,4300,2300,CONT_VIA,24onymous_
++B 11000,1000,2300,2300,CONT_VIA4,28onymous_
++B 17000,7000,4300,2300,CONT_VIA,26onymous_
++B 11000,16000,2300,2300,CONT_VIA2,27onymous_
++B 11000,10000,2300,2300,CONT_VIA2,31onymous_
++B 11000,1000,2300,2300,CONT_VIA2,30onymous_
++B 11000,1000,2300,2300,CONT_VIA3,29onymous_
++B 29000,1000,2300,2300,CONT_VIA2,45onymous_
++B 5000,1000,2300,2300,CONT_VIA4,33onymous_
++B 5000,13000,2300,2300,CONT_VIA2,32onymous_
++B 29000,1000,2300,2300,CONT_VIA3,44onymous_
++B 5000,1000,2300,2300,CONT_VIA3,34onymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvssi_mpx.vbe b/alliance/src/cells/src/mpxlib/pvssi_mpx.vbe
+new file mode 100644
+index 0000000..a2d978a
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvssi_mpx.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvssi_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvssi_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvssi_mpx IS
++
++BEGIN
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvssi_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/mpxlib/pvssick_mpx.ap b/alliance/src/cells/src/mpxlib/pvssick_mpx.ap
+new file mode 100644
+index 0000000..5f10aff
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvssick_mpx.ap
+@@ -0,0 +1,337 @@
++V ALLIANCE : 6
++H pvssick_mpx,P,14/9/2014,100
++A 0,0,40000,80000
++I 0,40000,padreal_mpx,padreal,NOSYM
++S 700,4000,39300,4000,1000,ck,RIGHT,CALU3
++S 700,22000,39300,22000,2400,vdde,RIGHT,CALU3
++S 700,28000,39300,28000,2400,vdde,RIGHT,CALU3
++S 700,34000,39300,34000,2400,vdde,RIGHT,CALU3
++S 35000,-300,35000,2300,2400,vddi,UP,CALU3
++S 35000,0,35000,2000,2400,vddi,UP,CALU5
++S 8100,15600,13900,15600,1600,vddi,RIGHT,ALU1
++S 9000,-300,9000,17300,2400,vddi,UP,CALU2
++S 700,16000,39300,16000,2400,vddi,RIGHT,CALU3
++S 700,10000,39300,10000,2400,vddi,RIGHT,CALU3
++S 35000,-300,35000,17300,2400,vddi,UP,CALU2
++S 35000,0,35000,2000,2400,vddi,UP,CALU4
++S 26100,15600,31900,15600,1600,vddi,RIGHT,ALU1
++S 9000,-300,9000,2300,2400,vddi,UP,CALU3
++S 9000,0,9000,2000,2400,vddi,UP,CALU4
++S 9000,0,9000,2000,2400,vddi,UP,CALU5
++S 700,25000,39300,25000,2400,vsse,RIGHT,CALU3
++S 700,31000,39300,31000,2400,vsse,RIGHT,CALU3
++S 700,37000,39300,37000,2400,vsse,RIGHT,CALU3
++S 700,19000,39300,19000,2400,vsse,RIGHT,CALU3
++S 5000,-300,5000,17300,2400,vssi,UP,CALU2
++S 700,7000,39300,7000,2400,vssi,RIGHT,CALU3
++S 8100,6800,13900,6800,1600,vssi,RIGHT,ALU1
++S 700,13000,39300,13000,2400,vssi,RIGHT,CALU3
++S 5000,-300,5000,2300,2400,vssi,UP,CALU3
++S 5000,0,5000,2000,2400,vssi,UP,CALU5
++S 26100,6800,31900,6800,1600,vssi,RIGHT,ALU1
++S 20000,48100,20000,71900,24400,vssi,UP,CALU1
++S 5000,0,5000,2000,2400,vssi,UP,CALU4
++S 31000,0,31000,2000,2400,vssi,UP,CALU5
++S 31000,0,31000,2000,2400,vssi,UP,CALU4
++S 31000,-300,31000,17300,2400,vssi,UP,CALU2
++S 31000,-300,31000,2300,2400,vssi,UP,CALU3
++S 26000,12300,26000,14900,400,10onymous_,UP,ALU1
++S 12800,7700,12800,9300,420,92onymous_,UP,NDIF
++S 27200,8500,27200,9100,400,53onymous_,UP,ALU1
++S 10500,9200,12700,9200,400,91onymous_,RIGHT,ALU1
++S 26000,7500,26000,8100,400,13onymous_,UP,ALU1
++S 50,6000,2800,6000,12000,126nymous_,RIGHT,TALU4
++S 28400,7500,28400,8100,400,12onymous_,UP,ALU1
++S 32000,8500,32000,12700,400,51onymous_,UP,ALU1
++S 37200,6000,39950,6000,12000,127nymous_,RIGHT,TALU2
++S 29600,8500,29600,9100,400,52onymous_,UP,ALU1
++S 13400,11100,13400,15100,200,93onymous_,UP,PTRANS
++S 26100,7400,30700,7400,400,11onymous_,RIGHT,ALU1
++S 33000,3700,33000,10500,400,55onymous_,UP,ALU2
++S 31400,11100,31400,15100,200,17onymous_,UP,PTRANS
++S 11200,6000,16800,6000,12000,130nymous_,RIGHT,TALU2
++S 25880,6200,32120,6200,600,54onymous_,RIGHT,PTIE
++S 32000,7700,32000,9300,620,16onymous_,UP,NDIF
++S 21200,6000,28800,6000,12000,129nymous_,RIGHT,TALU2
++S 32000,11300,32000,14900,620,15onymous_,UP,PDIF
++S 11600,12300,11600,14900,400,58onymous_,UP,ALU1
++S 30800,7500,30800,9100,400,14onymous_,UP,ALU1
++S 11600,700,11600,11500,400,57onymous_,UP,ALU2
++S 9800,10200,13400,10200,600,94onymous_,RIGHT,POLY
++S 12800,700,12800,11500,400,56onymous_,UP,ALU2
++S 9300,7400,13900,7400,400,61onymous_,RIGHT,ALU1
++S 14000,12300,14000,14900,400,60onymous_,UP,ALU1
++S 9200,12100,9200,14900,400,59onymous_,UP,ALU1
++S 13400,9800,13400,10800,200,95onymous_,UP,POLY
++S 31400,9800,31400,10800,200,19onymous_,UP,POLY
++S 50,6000,2800,6000,12000,132nymous_,RIGHT,TALU2
++S 11600,7500,11600,8100,400,62onymous_,UP,ALU1
++S 31400,10200,33000,10200,600,18onymous_,RIGHT,POLY
++S 13400,7500,13400,9500,200,96onymous_,UP,NTRANS
++S 14000,11300,14000,14900,620,97onymous_,UP,PDIF
++S 30800,11300,30800,14900,620,21onymous_,UP,PDIF
++S 9200,7500,9200,9100,400,64onymous_,UP,ALU1
++S 31400,7500,31400,9500,200,20onymous_,UP,NTRANS
++S 14000,7500,14000,8100,400,63onymous_,UP,ALU1
++S 8000,8500,8000,12700,400,101nymous_,UP,ALU1
++S 8000,11300,8000,14900,620,65onymous_,UP,PDIF
++S 14000,7700,14000,9300,620,98onymous_,UP,NDIF
++S 7000,13800,15000,13800,6800,99onymous_,RIGHT,NWELL
++S 7880,16200,14120,16200,600,100nymous_,RIGHT,NTIE
++S 12800,8500,12800,9100,400,103nymous_,UP,ALU1
++S 30200,7500,30200,9500,200,25onymous_,UP,NTRANS
++S 10400,8500,10400,9100,400,102nymous_,UP,ALU1
++S 30800,7700,30800,9300,420,22onymous_,UP,NDIF
++S 8000,7700,8000,9300,620,66onymous_,UP,NDIF
++S 30200,11100,30200,15100,200,23onymous_,UP,PTRANS
++S 8600,11100,8600,15100,200,67onymous_,UP,PTRANS
++S 30200,9800,30200,10800,200,24onymous_,UP,POLY
++S 29600,7700,29600,9300,420,28onymous_,UP,NDIF
++S 29600,11300,29600,13900,400,27onymous_,UP,ALU1
++S 29600,11300,29600,14900,620,26onymous_,UP,PDIF
++S 7880,6200,14120,6200,600,104nymous_,RIGHT,PTIE
++S 7000,3700,7000,10500,400,105nymous_,UP,ALU2
++S 23000,6100,23000,59900,4400,107nymous_,UP,ALU1
++S 29000,7500,29000,9500,200,31onymous_,UP,NTRANS
++S 7000,10200,8600,10200,600,68onymous_,RIGHT,POLY
++S 29000,11100,29000,15100,200,29onymous_,UP,PTRANS
++S 29000,9800,29000,10800,200,30onymous_,UP,POLY
++S 17000,6100,17000,59900,4400,106nymous_,UP,ALU1
++S 7000,200,7000,12000,0,110nymous_,UP,TALU5
++S 38600,200,38600,12000,3000,109nymous_,UP,TALU5
++S 1400,200,1400,12000,3000,108nymous_,UP,TALU5
++S 8600,9800,8600,10800,200,69onymous_,UP,POLY
++S 28400,11300,28400,14900,620,32onymous_,UP,PDIF
++S 26600,9800,26600,10800,200,45onymous_,UP,POLY
++S 26600,10200,30200,10200,600,44onymous_,RIGHT,POLY
++S 28400,7700,28400,9300,620,33onymous_,UP,NDIF
++S 8600,7500,8600,9500,200,70onymous_,UP,NTRANS
++S 27800,11100,27800,15100,200,34onymous_,UP,PTRANS
++S 14000,200,14000,12000,6000,111nymous_,UP,TALU5
++S 27300,11200,29500,11200,400,37onymous_,RIGHT,ALU1
++S 9800,11100,9800,15100,200,73onymous_,UP,PTRANS
++S 27800,7500,27800,9500,200,36onymous_,UP,NTRANS
++S 9200,7700,9200,9300,420,72onymous_,UP,NDIF
++S 27800,9800,27800,10800,200,35onymous_,UP,POLY
++S 26000,7700,26000,9300,620,48onymous_,UP,NDIF
++S 33000,200,33000,12000,0,113nymous_,UP,TALU5
++S 25000,200,25000,12000,8000,112nymous_,UP,TALU5
++S 26600,7500,26600,9500,200,46onymous_,UP,NTRANS
++S 1400,200,1400,2000,3000,114nymous_,UP,TALU3
++S 26000,11300,26000,14900,620,47onymous_,UP,PDIF
++S 9200,11300,9200,14900,620,71onymous_,UP,PDIF
++S 9800,9800,9800,10800,200,74onymous_,UP,POLY
++S 25000,13800,33000,13800,6800,49onymous_,RIGHT,NWELL
++S 38600,200,38600,2000,3000,115nymous_,UP,TALU3
++S 27200,11300,27200,13900,400,39onymous_,UP,ALU1
++S 9800,7500,9800,9500,200,75onymous_,UP,NTRANS
++S 27200,11300,27200,14900,620,38onymous_,UP,PDIF
++S 10400,11300,10400,14900,620,76onymous_,UP,PDIF
++S 27300,10200,31900,10200,400,40onymous_,RIGHT,ALU1
++S 10400,11300,10400,13900,400,77onymous_,UP,ALU1
++S 27300,9200,29500,9200,400,41onymous_,RIGHT,ALU1
++S 11000,9800,11000,10800,200,80onymous_,UP,POLY
++S 14000,200,14000,2000,6000,117nymous_,UP,TALU3
++S 26600,11100,26600,15100,200,43onymous_,UP,PTRANS
++S 11000,11100,11000,15100,200,79onymous_,UP,PTRANS
++S 7000,200,7000,2000,0,116nymous_,UP,TALU3
++S 27200,7700,27200,9300,420,42onymous_,UP,NDIF
++S 10400,7700,10400,9300,420,78onymous_,UP,NDIF
++S 11000,7500,11000,9500,200,81onymous_,UP,NTRANS
++S 25880,16200,32120,16200,600,50onymous_,RIGHT,NTIE
++S 11600,11300,11600,14900,620,82onymous_,UP,PDIF
++S 25000,200,25000,2000,8000,118nymous_,UP,TALU3
++S 11300,1000,28700,1000,400,0nonymous_,RIGHT,ALU3
++S 11300,2000,28700,2000,400,1nonymous_,RIGHT,ALU3
++S 11600,7700,11600,9300,620,83onymous_,UP,NDIF
++S 25700,16200,28700,16200,400,2nonymous_,RIGHT,ALU2
++S 12200,11100,12200,15100,200,84onymous_,UP,PTRANS
++S 10500,11200,12700,11200,400,87onymous_,RIGHT,ALU1
++S 14000,5900,14000,7700,400,4nonymous_,UP,ALU2
++S 12200,7500,12200,9500,200,86onymous_,UP,NTRANS
++S 26000,5900,26000,7700,400,3nonymous_,UP,ALU2
++S 12200,9800,12200,10800,200,85onymous_,UP,POLY
++S 33000,200,33000,2000,0,119nymous_,UP,TALU3
++S 12800,11300,12800,14900,620,88onymous_,UP,PDIF
++S 8700,16200,14300,16200,400,5nonymous_,RIGHT,ALU2
++S 50,17000,39950,17000,10000,blockagenet,RIGHT,TALU2
++S 0,6000,40000,6000,12000,120nymous_,RIGHT,TALU6
++S 37200,6000,39950,6000,12000,121nymous_,RIGHT,TALU4
++S 11200,6000,16800,6000,12000,124nymous_,RIGHT,TALU4
++S 21200,6000,28800,6000,12000,123nymous_,RIGHT,TALU4
++S 30800,12100,30800,14900,400,9nonymous_,UP,ALU1
++S 27200,700,27200,11500,400,6nonymous_,UP,ALU2
++S 19000,0,19000,2000,2400,cko,UP,CALU4
++S 19000,0,19000,2000,2400,cko,UP,CALU5
++S 12800,11300,12800,13900,400,89onymous_,UP,ALU1
++S 28400,700,28400,11500,400,7nonymous_,UP,ALU2
++S 8100,10200,12700,10200,400,90onymous_,RIGHT,ALU1
++S 28400,12300,28400,14900,400,8nonymous_,UP,ALU1
++B 35000,16000,2300,2300,CONT_VIA2,286nymous_
++B 11600,1000,300,300,CONT_VIA2,211nymous_
++B 5000,7000,2300,2300,CONT_VIA2,285nymous_
++B 12800,1000,300,300,CONT_VIA2,210nymous_
++B 29600,10200,300,300,CONT_POLY,169nymous_
++B 14000,13000,300,300,CONT_DIF_P,249nymous_
++B 14000,14000,300,300,CONT_DIF_P,248nymous_
++B 9200,7400,300,300,CONT_DIF_N,214nymous_
++B 35000,1000,2300,2300,CONT_VIA3,288nymous_
++B 28400,13000,300,300,CONT_DIF_P,173nymous_
++B 11600,2000,300,300,CONT_VIA2,213nymous_
++B 35000,1000,2300,2300,CONT_VIA4,287nymous_
++B 28400,14000,300,300,CONT_DIF_P,172nymous_
++B 12800,2000,300,300,CONT_VIA2,212nymous_
++B 28400,15000,300,300,CONT_DIF_P,171nymous_
++B 29600,9200,300,300,CONT_DIF_N,170nymous_
++B 14000,12200,300,300,CONT_DIF_P,250nymous_
++B 35000,10000,2300,2300,CONT_VIA2,290nymous_
++B 7000,10200,300,300,CONT_VIA,215nymous_
++B 35000,1000,2300,2300,CONT_VIA2,289nymous_
++B 28400,12200,300,300,CONT_DIF_P,174nymous_
++B 26000,16200,300,300,CONT_VIA2,133nymous_
++B 28400,11200,300,300,CONT_VIA,175nymous_
++B 7000,10200,300,300,CONT_POLY,216nymous_
++B 28400,10200,300,300,CONT_POLY,176nymous_
++B 23000,13000,4300,2300,CONT_VIA2,291nymous_
++B 8000,12800,300,300,CONT_DIF_P,217nymous_
++B 14000,8200,300,300,CONT_DIF_N,251nymous_
++B 28400,9200,300,300,CONT_VIA,177nymous_
++B 23000,13000,4300,2300,CONT_VIA,292nymous_
++B 14000,7400,300,300,CONT_DIF_N,252nymous_
++B 23000,7000,4300,2300,CONT_VIA2,293nymous_
++B 10400,11200,200,200,CONT_TURN1,253nymous_
++B 23000,7000,4300,2300,CONT_VIA,294nymous_
++B 28400,8200,300,300,CONT_DIF_N,178nymous_
++B 8000,9200,300,300,CONT_DIF_N,219nymous_
++B 28400,7400,300,300,CONT_DIF_N,179nymous_
++B 9200,15000,300,300,CONT_DIF_P,220nymous_
++B 14000,16200,300,300,CONT_BODY_N,254nymous_
++B 27200,14000,300,300,CONT_DIF_P,180nymous_
++B 8000,11800,300,300,CONT_DIF_P,218nymous_
++B 27200,16200,300,300,CONT_VIA,137nymous_
++B 10400,16200,300,300,CONT_BODY_N,257nymous_
++B 28400,16200,300,300,CONT_VIA,136nymous_
++B 11600,16200,300,300,CONT_BODY_N,256nymous_
++B 28400,16200,300,300,CONT_VIA2,135nymous_
++B 27200,16200,300,300,CONT_VIA2,134nymous_
++B 31000,1000,2300,2300,CONT_VIA4,295nymous_
++B 12800,16200,300,300,CONT_BODY_N,255nymous_
++B 26000,7400,300,300,CONT_VIA,140nymous_
++B 26000,6200,300,300,CONT_VIA,139nymous_
++B 26000,16200,300,300,CONT_VIA,138nymous_
++B 31000,1000,2300,2300,CONT_VIA2,299nymous_
++B 8000,16200,300,300,CONT_BODY_N,258nymous_
++B 31000,7000,2300,2300,CONT_VIA2,298nymous_
++B 27200,11200,300,300,CONT_VIA,183nymous_
++B 31000,13000,2300,2300,CONT_VIA2,297nymous_
++B 27200,12000,300,300,CONT_DIF_P,182nymous_
++B 9200,13000,300,300,CONT_DIF_P,222nymous_
++B 31000,1000,2300,2300,CONT_VIA3,296nymous_
++B 27200,13000,300,300,CONT_DIF_P,181nymous_
++B 9200,14000,300,300,CONT_DIF_P,221nymous_
++B 26000,7400,300,300,CONT_VIA2,141nymous_
++B 27200,9200,300,300,CONT_DIF_N,186nymous_
++B 14000,6200,300,300,CONT_BODY_P,260nymous_
++B 10400,14000,300,300,CONT_DIF_P,226nymous_
++B 27200,9200,300,300,CONT_VIA,185nymous_
++B 14000,6200,300,300,CONT_VIA,145nymous_
++B 9200,16200,300,300,CONT_BODY_N,259nymous_
++B 9200,8200,300,300,CONT_DIF_N,225nymous_
++B 14000,6200,300,300,CONT_VIA2,144nymous_
++B 27200,10200,300,300,CONT_POLY,184nymous_
++B 9200,9200,300,300,CONT_DIF_N,224nymous_
++B 14000,7400,300,300,CONT_VIA2,143nymous_
++B 9200,12000,300,300,CONT_DIF_P,223nymous_
++B 26000,6200,300,300,CONT_VIA2,142nymous_
++B 11600,6200,300,300,CONT_BODY_P,262nymous_
++B 12800,6200,300,300,CONT_BODY_P,261nymous_
++B 26000,15000,300,300,CONT_DIF_P,187nymous_
++B 10400,13000,300,300,CONT_DIF_P,227nymous_
++B 14000,7400,300,300,CONT_VIA,146nymous_
++B 8000,6200,300,300,CONT_BODY_P,265nymous_
++B 26000,12200,300,300,CONT_DIF_P,190nymous_
++B 9200,6200,300,300,CONT_BODY_P,264nymous_
++B 26000,13000,300,300,CONT_DIF_P,189nymous_
++B 11600,16200,300,300,CONT_VIA,149nymous_
++B 10400,6200,300,300,CONT_BODY_P,263nymous_
++B 12800,16200,300,300,CONT_VIA,148nymous_
++B 26000,14000,300,300,CONT_DIF_P,188nymous_
++B 14000,16200,300,300,CONT_VIA,147nymous_
++B 10400,12000,300,300,CONT_DIF_P,228nymous_
++B 26000,16200,300,300,CONT_BODY_N,194nymous_
++B 10400,10200,300,300,CONT_POLY,229nymous_
++B 10400,9200,300,300,CONT_DIF_N,230nymous_
++B 27200,1000,300,300,CONT_VIA2,150nymous_
++B 26000,8200,300,300,CONT_DIF_N,191nymous_
++B 28400,1000,300,300,CONT_VIA2,151nymous_
++B 12800,8400,300,300,CONT_DIF_N,266nymous_
++B 29600,11200,200,200,CONT_TURN1,193nymous_
++B 26000,7400,300,300,CONT_DIF_N,192nymous_
++B 10400,8400,300,300,CONT_DIF_N,268nymous_
++B 7000,4000,300,300,CONT_VIA2,269nymous_
++B 27200,16200,300,300,CONT_BODY_N,195nymous_
++B 9000,1000,2300,2300,CONT_VIA2,270nymous_
++B 28400,16200,300,300,CONT_BODY_N,196nymous_
++B 29600,16200,300,300,CONT_BODY_N,197nymous_
++B 11600,15000,300,300,CONT_DIF_P,231nymous_
++B 11600,14000,300,300,CONT_DIF_P,232nymous_
++B 27200,2000,300,300,CONT_VIA2,152nymous_
++B 11600,13000,300,300,CONT_DIF_P,233nymous_
++B 8000,8400,300,300,CONT_DIF_N,267nymous_
++B 11600,12200,300,300,CONT_DIF_P,234nymous_
++B 30800,7400,300,300,CONT_DIF_N,154nymous_
++B 11600,11200,300,300,CONT_VIA,235nymous_
++B 33000,10200,300,300,CONT_VIA,155nymous_
++B 11600,10200,300,300,CONT_POLY,236nymous_
++B 33000,10200,300,300,CONT_POLY,156nymous_
++B 11600,9200,300,300,CONT_VIA,237nymous_
++B 9000,16000,2300,2300,CONT_VIA2,271nymous_
++B 11600,8200,300,300,CONT_DIF_N,238nymous_
++B 9000,10000,2300,2300,CONT_VIA2,272nymous_
++B 32000,16200,300,300,CONT_BODY_N,198nymous_
++B 9000,1000,2300,2300,CONT_VIA3,273nymous_
++B 30800,16200,300,300,CONT_BODY_N,199nymous_
++B 28400,2000,300,300,CONT_VIA2,153nymous_
++B 26000,6200,300,300,CONT_BODY_P,200nymous_
++B 27200,6200,300,300,CONT_BODY_P,201nymous_
++B 12800,13000,300,300,CONT_DIF_P,241nymous_
++B 28400,6200,300,300,CONT_BODY_P,202nymous_
++B 32000,12800,300,300,CONT_DIF_P,157nymous_
++B 32000,11800,300,300,CONT_DIF_P,158nymous_
++B 11600,7400,300,300,CONT_DIF_N,239nymous_
++B 32000,9200,300,300,CONT_DIF_N,159nymous_
++B 12800,14000,300,300,CONT_DIF_P,240nymous_
++B 9000,1000,2300,2300,CONT_VIA4,274nymous_
++B 19000,1000,2300,2300,CONT_VIA4,275nymous_
++B 30800,15000,300,300,CONT_DIF_P,160nymous_
++B 12800,12000,300,300,CONT_DIF_P,242nymous_
++B 30800,14000,300,300,CONT_DIF_P,161nymous_
++B 19000,1000,2300,2300,CONT_VIA3,276nymous_
++B 30800,13000,300,300,CONT_DIF_P,162nymous_
++B 17000,13000,4300,2300,CONT_VIA2,277nymous_
++B 29600,6200,300,300,CONT_BODY_P,203nymous_
++B 12800,11200,300,300,CONT_VIA,243nymous_
++B 30800,12000,300,300,CONT_DIF_P,163nymous_
++B 12800,10200,300,300,CONT_POLY,244nymous_
++B 17000,13000,4300,2300,CONT_VIA,278nymous_
++B 30800,6200,300,300,CONT_BODY_P,204nymous_
++B 30800,9200,300,300,CONT_DIF_N,164nymous_
++B 12800,9200,300,300,CONT_VIA,245nymous_
++B 17000,7000,4300,2300,CONT_VIA2,279nymous_
++B 32000,6200,300,300,CONT_BODY_P,205nymous_
++B 30800,8200,300,300,CONT_DIF_N,165nymous_
++B 17000,7000,4300,2300,CONT_VIA,280nymous_
++B 27200,8400,300,300,CONT_DIF_N,206nymous_
++B 5000,13000,2300,2300,CONT_VIA2,281nymous_
++B 32000,8400,300,300,CONT_DIF_N,207nymous_
++B 5000,1000,2300,2300,CONT_VIA4,282nymous_
++B 29600,13000,300,300,CONT_DIF_P,167nymous_
++B 29600,8400,300,300,CONT_DIF_N,208nymous_
++B 29600,12000,300,300,CONT_DIF_P,168nymous_
++B 5000,1000,2300,2300,CONT_VIA3,283nymous_
++B 33000,4000,300,300,CONT_VIA2,209nymous_
++B 5000,1000,2300,2300,CONT_VIA2,284nymous_
++B 12800,9200,300,300,CONT_DIF_N,246nymous_
++B 29600,14000,300,300,CONT_DIF_P,166nymous_
++B 14000,15000,300,300,CONT_DIF_P,247nymous_
++EOF
+diff --git a/alliance/src/cells/src/mpxlib/pvssick_mpx.vbe b/alliance/src/cells/src/mpxlib/pvssick_mpx.vbe
+new file mode 100644
+index 0000000..95d24f3
+--- /dev/null
++++ b/alliance/src/cells/src/mpxlib/pvssick_mpx.vbe
+@@ -0,0 +1,32 @@
++ENTITY pvssick_mpx IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1235;
++ CONSTANT rdown_ck : NATURAL := 253;
++ CONSTANT tphh_ck : NATURAL := 1109;
++ CONSTANT rup_ck : NATURAL := 311
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvssick_mpx;
++
++ARCHITECTURE behaviour_data_flow OF pvssick_mpx IS
++
++BEGIN
++
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvssick_mpx"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/CATAL b/alliance/src/cells/src/msxlib/CATAL
+new file mode 100644
+index 0000000..6fd9b7e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/CATAL
+@@ -0,0 +1,123 @@
++an2_x05 C
++an2_x1 C
++an2_x2 C
++an3_x1 C
++an3_x2 C
++an4_x1 C
++an4_x2 C
++an4_x3 C
++aoi21_x05 C
++aoi21_x1 C
++aoi21_x2 C
++aoi22_x05 C
++aoi22_x1 C
++aoi22_x2 C
++aon21_x1 C
++aon21_x2 C
++aon22_x1 C
++aon22_x2 C
++bf1_w05 C
++bf1_w2 C
++bf1_x1 C
++bf1_x2 C
++bf1_x4 C
++bf1_x8 C
++bf1_y05 C
++bf1_y1 C
++bf1_y2 C
++cgi2a_x05 C
++cgi2a_x1 C
++cgi2a_x2 C
++cgi2_x05 C
++cgi2_x1 C
++cgi2_x2 C
++cgn2_x1 C
++cgn2_x2 C
++cgn2_x3 C
++cgn2_x4 C
++ha2_x2 C
++iv1_w2 C
++iv1_x05 C
++iv1_x1 C
++iv1_x2 C
++iv1_x3 C
++iv1_x4 C
++iv1_x8 C
++iv1_y2 C
++mxi2_x05 C
++mxi2_x1 C
++nd2ab_x1 C
++nd2ab_x2 C
++nd2a_x1 C
++nd2a_x2 C
++nd2_x05 C
++nd2_x1 C
++nd2_x2 C
++nd2_x4 C
++nd3_x05 C
++nd3_x1 C
++nd3_x2 C
++nd3_x4 C
++nd4_x05 C
++nd4_x1 C
++nd4_x2 C
++nd4_x3 C
++nr2a_x05 C
++nr2a_x1 C
++nr2_x05 C
++nr2_x1 C
++nr2_x2 C
++nr3_x05 C
++nr3_x1 C
++nr4_x05 C
++nr4_x1 C
++oai21_x05 C
++oai21_x1 C
++oai21_x2 C
++oai22_x05 C
++oai22_x1 C
++oai22_x2 C
++oan21_x1 C
++oan21_x2 C
++oan22_x1 C
++oan22_x2 C
++or2_x1 C
++or3_x1 C
++or4_x1 C
++powmid_x0 C
++powmid_x0 F
++rowend_x0 C
++rowend_x0 F
++sff1_x4 C
++sff2_x4 C
++sff3_x4 C
++tie_x0 C
++tie_x0 F
++vddtie C
++vfeed1 C
++vfeed1 F
++vfeed2 C
++vfeed2 F
++vfeed3 C
++vfeed3 F
++vfeed4 C
++vfeed4 F
++vfeed5 C
++vfeed5 F
++vfeed6 C
++vfeed6 F
++vfeed7 C
++vfeed7 F
++vfeed8 C
++vfeed8 F
++vsstie C
++xaoi21_x05 C
++xaoi21_x1 C
++xaon21_x05 C
++xaon21_x1 C
++xaon22_x05 C
++xaon22_x1 C
++xnr2_x05 C
++xnr2_x1 C
++xor2_x05 C
++xor2_x1 C
+diff --git a/alliance/src/cells/src/msxlib/Makefile.am b/alliance/src/cells/src/msxlib/Makefile.am
+new file mode 100644
+index 0000000..d67fc5b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/Makefile.am
+@@ -0,0 +1,232 @@
++
++msxlibdir=$(prefix)/cells/msxlib
++
++msxlib_DATA=CATAL \
++ an2_x05.ap \
++ an2_x05.vbe \
++ an2_x1.ap \
++ an2_x1.vbe \
++ an2_x2.ap \
++ an2_x2.vbe \
++ an3_x1.ap \
++ an3_x1.vbe \
++ an3_x2.ap \
++ an3_x2.vbe \
++ an4_x1.ap \
++ an4_x1.vbe \
++ an4_x2.ap \
++ an4_x2.vbe \
++ an4_x3.ap \
++ an4_x3.vbe \
++ aoi21_x05.ap \
++ aoi21_x05.vbe \
++ aoi21_x1.ap \
++ aoi21_x1.vbe \
++ aoi21_x2.ap \
++ aoi21_x2.vbe \
++ aoi22_x05.ap \
++ aoi22_x05.vbe \
++ aoi22_x1.ap \
++ aoi22_x1.vbe \
++ aoi22_x2.ap \
++ aoi22_x2.vbe \
++ aon21_x1.ap \
++ aon21_x1.vbe \
++ aon21_x2.ap \
++ aon21_x2.vbe \
++ aon22_x1.ap \
++ aon22_x1.vbe \
++ aon22_x2.ap \
++ aon22_x2.vbe \
++ bf1_w05.ap \
++ bf1_w05.vbe \
++ bf1_w2.ap \
++ bf1_w2.vbe \
++ bf1_x1.ap \
++ bf1_x1.vbe \
++ bf1_x2.ap \
++ bf1_x2.vbe \
++ bf1_x4.ap \
++ bf1_x4.vbe \
++ bf1_x8.ap \
++ bf1_x8.vbe \
++ bf1_y05.ap \
++ bf1_y05.vbe \
++ bf1_y1.ap \
++ bf1_y1.vbe \
++ bf1_y2.ap \
++ bf1_y2.vbe \
++ cgi2a_x05.ap \
++ cgi2a_x05.vbe \
++ cgi2a_x1.ap \
++ cgi2a_x1.vbe \
++ cgi2a_x2.ap \
++ cgi2a_x2.vbe \
++ cgi2_x05.ap \
++ cgi2_x05.vbe \
++ cgi2_x1.ap \
++ cgi2_x1.vbe \
++ cgi2_x2.ap \
++ cgi2_x2.vbe \
++ cgn2_x1.ap \
++ cgn2_x1.vbe \
++ cgn2_x2.ap \
++ cgn2_x2.vbe \
++ cgn2_x3.ap \
++ cgn2_x3.vbe \
++ cgn2_x4.ap \
++ cgn2_x4.vbe \
++ ha2_x2.ap \
++ ha2_x2.vbe \
++ iv1_w2.ap \
++ iv1_w2.vbe \
++ iv1_x05.ap \
++ iv1_x05.vbe \
++ iv1_x1.ap \
++ iv1_x1.vbe \
++ iv1_x2.ap \
++ iv1_x2.vbe \
++ iv1_x3.ap \
++ iv1_x3.vbe \
++ iv1_x4.ap \
++ iv1_x4.vbe \
++ iv1_x8.ap \
++ iv1_x8.vbe \
++ iv1_y2.ap \
++ iv1_y2.vbe \
++ Makefile.am \
++ mxi2_x05.ap \
++ mxi2_x05.vbe \
++ mxi2_x1.ap \
++ mxi2_x1.vbe \
++ nd2ab_x1.ap \
++ nd2ab_x1.vbe \
++ nd2ab_x2.ap \
++ nd2ab_x2.vbe \
++ nd2a_x1.ap \
++ nd2a_x1.vbe \
++ nd2a_x2.ap \
++ nd2a_x2.vbe \
++ nd2_x05.ap \
++ nd2_x05.vbe \
++ nd2_x1.ap \
++ nd2_x1.vbe \
++ nd2_x2.ap \
++ nd2_x2.vbe \
++ nd2_x4.ap \
++ nd2_x4.vbe \
++ nd3_x05.ap \
++ nd3_x05.vbe \
++ nd3_x1.ap \
++ nd3_x1.vbe \
++ nd3_x2.ap \
++ nd3_x2.vbe \
++ nd3_x4.ap \
++ nd3_x4.vbe \
++ nd4_x05.ap \
++ nd4_x05.vbe \
++ nd4_x1.ap \
++ nd4_x1.vbe \
++ nd4_x2.ap \
++ nd4_x2.vbe \
++ nd4_x3.ap \
++ nd4_x3.vbe \
++ nr2a_x05.ap \
++ nr2a_x05.vbe \
++ nr2a_x1.ap \
++ nr2a_x1.vbe \
++ nr2_x05.ap \
++ nr2_x05.vbe \
++ nr2_x1.ap \
++ nr2_x1.vbe \
++ nr2_x2.ap \
++ nr2_x2.vbe \
++ nr3_x05.ap \
++ nr3_x05.vbe \
++ nr3_x1.ap \
++ nr3_x1.vbe \
++ nr4_x05.ap \
++ nr4_x05.vbe \
++ nr4_x1.ap \
++ nr4_x1.vbe \
++ oai21_x05.ap \
++ oai21_x05.vbe \
++ oai21_x1.ap \
++ oai21_x1.vbe \
++ oai21_x2.ap \
++ oai21_x2.vbe \
++ oai22_x05.ap \
++ oai22_x05.vbe \
++ oai22_x1.ap \
++ oai22_x1.vbe \
++ oai22_x2.ap \
++ oai22_x2.vbe \
++ oan21_x1.ap \
++ oan21_x1.vbe \
++ oan21_x2.ap \
++ oan21_x2.vbe \
++ oan22_x1.ap \
++ oan22_x1.vbe \
++ oan22_x2.ap \
++ oan22_x2.vbe \
++ or2_x1.ap \
++ or2_x1.vbe \
++ or3_x1.ap \
++ or3_x1.vbe \
++ or4_x1.ap \
++ or4_x1.vbe \
++ powmid_x0.ap \
++ powmid_x0.vbe \
++ rowend_x0.ap \
++ rowend_x0.vbe \
++ sff1_x4.ap \
++ sff1_x4.vbe \
++ sff2_x4.ap \
++ sff2_x4.vbe \
++ sff3_x4.ap \
++ sff3_x4.vbe \
++ tie_x0.ap \
++ tie_x0.vbe \
++ vddtie.ap \
++ vddtie.vbe \
++ vfeed1.ap \
++ vfeed1.vbe \
++ vfeed2.ap \
++ vfeed2.vbe \
++ vfeed3.ap \
++ vfeed3.vbe \
++ vfeed4.ap \
++ vfeed4.vbe \
++ vfeed5.ap \
++ vfeed5.vbe \
++ vfeed6.ap \
++ vfeed6.vbe \
++ vfeed7.ap \
++ vfeed7.vbe \
++ vfeed8.ap \
++ vfeed8.vbe \
++ vsstie.ap \
++ vsstie.vbe \
++ xaoi21_x05.ap \
++ xaoi21_x05.vbe \
++ xaoi21_x1.ap \
++ xaoi21_x1.vbe \
++ xaon21_x05.ap \
++ xaon21_x05.vbe \
++ xaon21_x1.ap \
++ xaon21_x1.vbe \
++ xaon22_x05.ap \
++ xaon22_x05.vbe \
++ xaon22_x1.ap \
++ xaon22_x1.vbe \
++ xnr2_x05.ap \
++ xnr2_x05.vbe \
++ xnr2_x1.ap \
++ xnr2_x1.vbe \
++ xor2_x05.ap \
++ xor2_x05.vbe \
++ xor2_x1.ap \
++ xor2_x1.vbe
++
++EXTRA_DIST=$(msxlib_DATA)
++
+diff --git a/alliance/src/cells/src/msxlib/README b/alliance/src/cells/src/msxlib/README
+new file mode 100644
+index 0000000..5455f04
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/README
+@@ -0,0 +1,5 @@
++
++This library is derived from the 130um vsxlib from Graham Petley .
++
++It has been modificated to better fit the MOSIS scn6m_deep technology.
++
+diff --git a/alliance/src/cells/src/msxlib/an2_x05.ap b/alliance/src/cells/src/msxlib/an2_x05.ap
+new file mode 100644
+index 0000000..dd93d6d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an2_x05.ap
+@@ -0,0 +1,85 @@
++V ALLIANCE : 6
++H an2_x05,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 3000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,a_40
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 4000,6000,ref_ref,b_60
++R 4000,7000,ref_ref,b_70
++R 3000,7000,ref_ref,b_70
++R 4000,5000,ref_ref,b_50
++R 2000,7000,ref_ref,z_70
++R 4000,4000,ref_ref,a_40
++S 1100,700,1700,700,600,*,LEFT,PTIE
++S 1100,9300,1900,9300,600,*,LEFT,NTIE
++S 4000,4900,4000,7000,400,*,UP,ALU1
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,an2_x05,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 2000,6100,3200,6100,600,*,LEFT,ALU1
++S 4000,5000,4000,7000,400,b,UP,CALU1
++S 4400,6000,4400,8100,600,*,DOWN,PDIF
++S 2600,5200,2600,5800,200,*,DOWN,POLY
++S 1000,7000,2100,7000,400,*,RIGHT,ALU1
++S 1000,7100,2100,7100,400,*,RIGHT,ALU1
++S 2900,7100,4000,7100,400,*,LEFT,ALU1
++S 2900,7000,4000,7000,400,*,LEFT,ALU1
++S 2000,6000,2000,7600,600,*,DOWN,PDIF
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 4400,7900,4400,9300,400,*,DOWN,ALU1
++S 1000,4000,1000,7000,400,z,DOWN,CALU1
++S 1600,3800,1600,4600,200,*,UP,POLY
++S 1400,4500,1400,5500,200,*,DOWN,POLY
++S 1000,6000,1000,6800,400,*,UP,PDIF
++S 1400,5800,1400,7000,200,1z,DOWN,PTRANS
++S 1400,7000,1400,7400,200,*,DOWN,POLY
++S 900,6000,900,6200,600,*,UP,ALU1
++S 2600,5800,2600,7000,200,1a,DOWN,PTRANS
++S 3800,5800,3800,7000,200,1b,DOWN,PTRANS
++S 3200,6000,3200,6800,400,*,UP,PDIF
++S 2600,7000,2600,7400,200,*,DOWN,POLY
++S 3800,7000,3800,7400,200,*,DOWN,POLY
++S 1600,3200,1600,3800,200,2z,UP,NTRANS
++S 1600,2800,1600,3200,200,*,UP,POLY
++S 1000,3400,1000,7100,400,*,DOWN,ALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 3000,3900,3000,5200,400,*,DOWN,ALU1
++S 3000,4000,3000,5000,400,a,DOWN,CALU1
++S 2000,3000,4500,3000,400,*,LEFT,ALU1
++S 3400,2500,3400,3100,600,n1,DOWN,NDIF
++S 3000,2300,3000,3300,200,2a,UP,NTRANS
++S 4200,2500,4200,3100,400,*,UP,NDIF
++S 3800,2300,3800,3300,200,2b,UP,NTRANS
++S 3000,1900,3000,2300,200,*,UP,POLY
++S 3800,1900,3800,2300,200,*,UP,POLY
++S 3000,3300,3000,4900,200,*,UP,POLY
++S 3800,3300,3800,5800,200,*,DOWN,POLY
++S 2000,3000,2000,6200,400,*,UP,ALU1
++S 2300,700,2300,2100,400,*,DOWN,ALU1
++S 2300,1900,2300,3600,800,*,UP,NDIF
++S 2600,5300,3000,5300,200,*,RIGHT,POLY
++S 1400,4400,2200,4400,600,*,LEFT,POLY
++V 1800,700,CONT_BODY_P,*
++V 1100,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1100,9300,CONT_BODY_N,*
++V 3000,5100,CONT_POLY,*
++V 3200,6100,CONT_DIF_P,zn
++V 2000,4400,CONT_POLY,zn
++V 1000,3500,CONT_DIF_N,*
++V 2000,8000,CONT_DIF_P,*
++V 4400,8000,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 800,6100,CONT_DIF_P,*
++V 4400,3000,CONT_DIF_N,zn
++V 2300,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an2_x05.vbe b/alliance/src/cells/src/msxlib/an2_x05.vbe
+new file mode 100644
+index 0000000..2f01024
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an2_x05.vbe
+@@ -0,0 +1,32 @@
++ENTITY an2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT rdown_b_z : NATURAL := 3810;
++ CONSTANT rdown_a_z : NATURAL := 3830;
++ CONSTANT rup_b_z : NATURAL := 4940;
++ CONSTANT rup_a_z : NATURAL := 4940;
++ CONSTANT tphh_a_z : NATURAL := 71;
++ CONSTANT tphh_b_z : NATURAL := 70;
++ CONSTANT tpll_b_z : NATURAL := 87;
++ CONSTANT tpll_a_z : NATURAL := 97;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an2_x05;
++
++ARCHITECTURE behaviour_data_flow OF an2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an2_x05"
++ SEVERITY WARNING;
++ z <= (b and a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an2_x1.ap b/alliance/src/cells/src/msxlib/an2_x1.ap
+new file mode 100644
+index 0000000..3637824
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an2_x1.ap
+@@ -0,0 +1,90 @@
++V ALLIANCE : 6
++H an2_x1,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 4000,4000,ref_ref,a_40
++R 2000,7000,ref_ref,z_70
++R 4000,5000,ref_ref,b_50
++R 3000,7000,ref_ref,b_70
++R 4000,7000,ref_ref,b_70
++R 4000,6000,ref_ref,b_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 1000,7000,ref_ref,z_70
++R 3000,4000,ref_ref,a_40
++R 3000,5000,ref_ref,a_50
++S 1100,700,1700,700,600,*,LEFT,PTIE
++S 1100,9300,1900,9300,600,*,LEFT,NTIE
++S 2300,700,2300,2000,600,*,DOWN,ALU1
++S 2300,1900,2300,3600,800,*,UP,NDIF
++S 4400,2100,4400,2700,600,*,DOWN,NDIF
++S 4400,2000,4400,2800,600,*,DOWN,ALU1
++S 2000,2800,2000,6200,400,*,UP,ALU1
++S 2000,2800,4500,2800,400,*,LEFT,ALU1
++S 3000,4000,3000,5000,400,a,DOWN,CALU1
++S 3000,3900,3000,5200,400,*,DOWN,ALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 900,6000,900,7000,600,*,UP,ALU1
++S 800,7000,2100,7000,400,*,RIGHT,ALU1
++S 3000,2700,3000,4900,200,*,UP,POLY
++S 3800,2700,3800,5800,200,*,DOWN,POLY
++S 1400,4500,1400,5500,200,*,DOWN,POLY
++S 1600,3800,1600,4600,200,*,UP,POLY
++S 1000,3400,1000,7000,400,*,DOWN,ALU1
++S 1000,4000,1000,7000,400,z,DOWN,CALU1
++S 4400,7900,4400,9300,400,*,DOWN,ALU1
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 2000,6000,2000,7600,600,*,DOWN,PDIF
++S 2900,7000,4000,7000,400,*,LEFT,ALU1
++S 2900,7100,4000,7100,400,*,LEFT,ALU1
++S 2600,5200,2600,5800,200,*,DOWN,POLY
++S 4400,6000,4400,8100,600,*,DOWN,PDIF
++S 4000,5000,4000,7000,400,b,UP,CALU1
++S 2000,6100,3200,6100,600,*,LEFT,ALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,an2_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 3000,1300,3000,1700,200,*,UP,POLY
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++S 4000,4900,4000,7000,400,*,UP,ALU1
++S 1400,5800,1400,7800,200,1z,DOWN,PTRANS
++S 1000,6000,1000,7600,400,*,UP,PDIF
++S 1400,7800,1400,8200,200,*,DOWN,POLY
++S 3800,5800,3800,7400,200,1b,DOWN,PTRANS
++S 2600,5800,2600,7400,200,1a,DOWN,PTRANS
++S 3200,6000,3200,7200,400,*,UP,PDIF
++S 2600,7400,2600,7800,200,*,DOWN,POLY
++S 3800,7400,3800,7800,200,*,DOWN,POLY
++S 800,6200,800,6800,600,*,UP,PDIF
++S 1600,2800,1600,3800,200,2z,UP,NTRANS
++S 1600,2400,1600,2800,200,*,UP,POLY
++S 1200,3000,1200,3600,400,*,UP,NDIF
++S 3400,1900,3400,2900,600,n1,DOWN,NDIF
++S 3000,1700,3000,3100,200,2a,UP,NTRANS
++S 3800,1700,3800,3100,200,2b,UP,NTRANS
++S 4200,1900,4200,2900,400,*,UP,NDIF
++S 2600,5300,3000,5300,200,*,RIGHT,POLY
++S 1400,4400,2200,4400,600,*,LEFT,POLY
++V 1800,700,CONT_BODY_P,*
++V 1100,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1100,9300,CONT_BODY_N,*
++V 2300,2000,CONT_DIF_N,*
++V 4400,2000,CONT_DIF_N,zn
++V 4400,2800,CONT_DIF_N,zn
++V 800,6100,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 4400,8000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 1000,3500,CONT_DIF_N,*
++V 2000,4400,CONT_POLY,zn
++V 3200,6100,CONT_DIF_P,zn
++V 3000,5100,CONT_POLY,*
++V 800,6900,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an2_x1.vbe b/alliance/src/cells/src/msxlib/an2_x1.vbe
+new file mode 100644
+index 0000000..11d6ba4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an2_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY an2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 2290;
++ CONSTANT rdown_a_z : NATURAL := 2290;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT tphh_a_z : NATURAL := 68;
++ CONSTANT tphh_b_z : NATURAL := 68;
++ CONSTANT tpll_b_z : NATURAL := 87;
++ CONSTANT tpll_a_z : NATURAL := 97;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an2_x1;
++
++ARCHITECTURE behaviour_data_flow OF an2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an2_x1"
++ SEVERITY WARNING;
++ z <= (b and a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an2_x2.ap b/alliance/src/cells/src/msxlib/an2_x2.ap
+new file mode 100644
+index 0000000..c747c4c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an2_x2.ap
+@@ -0,0 +1,94 @@
++V ALLIANCE : 6
++H an2_x2,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 4000,4000,ref_ref,a_40
++R 3000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,a_40
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,b_60
++R 4000,7000,ref_ref,b_70
++R 3000,7000,ref_ref,b_70
++R 4000,5000,ref_ref,b_50
++R 2000,7000,ref_ref,z_70
++S 1100,700,1700,700,600,*,RIGHT,PTIE
++S 3300,9300,3900,9300,600,*,LEFT,NTIE
++S 2600,5300,3000,5300,200,*,RIGHT,POLY
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 4400,1900,4400,3000,400,*,DOWN,ALU1
++S 2000,3000,4400,3000,400,*,LEFT,ALU1
++S 4400,2100,4400,2700,600,*,UP,NDIF
++S 2300,700,2300,2200,400,*,DOWN,ALU1
++S 2300,1900,2300,3600,800,*,UP,NDIF
++S 2000,3000,2000,6200,400,*,UP,ALU1
++S 3000,3900,3000,5200,400,*,DOWN,ALU1
++S 3000,4000,3000,5000,400,a,DOWN,CALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 800,7000,2100,7000,400,*,RIGHT,ALU1
++S 900,5700,900,7000,600,*,UP,ALU1
++S 4000,4900,4000,7100,400,*,UP,ALU1
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 1400,4200,1400,5500,200,*,DOWN,POLY
++S 1000,2600,1000,7000,400,*,DOWN,ALU1
++S 1000,2800,1000,3400,600,*,DOWN,NDIF
++S 1600,1900,1600,3800,200,2z,UP,NTRANS
++S 3000,1700,3000,3800,200,2a,UP,NTRANS
++S 3800,1700,3800,3800,200,2b,UP,NTRANS
++S 1400,5500,1400,9300,200,1z,DOWN,PTRANS
++S 2600,5800,2600,8300,200,1a,DOWN,PTRANS
++S 3800,5800,3800,8300,200,1b,DOWN,PTRANS
++S 4200,1900,4200,3600,400,*,UP,NDIF
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 3000,1300,3000,1700,200,*,UP,POLY
++S 3400,1900,3400,3600,600,n1,DOWN,NDIF
++S 1200,2100,1200,3600,400,*,UP,NDIF
++S 1400,9300,1400,9700,200,*,DOWN,POLY
++S 1000,5700,1000,9100,400,*,UP,PDIF
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,an2_x2,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 3000,3800,3000,4900,200,*,UP,POLY
++S 2000,6100,3200,6100,600,*,LEFT,ALU1
++S 4000,5000,4000,7000,400,b,UP,CALU1
++S 3200,6000,3200,8100,400,*,UP,PDIF
++S 4400,6000,4400,8100,600,*,DOWN,PDIF
++S 2600,5200,2600,5800,200,*,DOWN,POLY
++S 3800,3800,3800,5800,200,*,DOWN,POLY
++S 3800,8300,3800,8700,200,*,DOWN,POLY
++S 2600,8300,2600,8700,200,*,DOWN,POLY
++S 2900,7100,4000,7100,400,*,LEFT,ALU1
++S 2900,7000,4000,7000,400,*,LEFT,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1600,1500,1600,1900,200,*,UP,POLY
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 4400,7900,4400,9300,400,*,DOWN,ALU1
++S 1600,3800,1600,4600,200,*,UP,POLY
++S 2000,5700,2000,9100,600,*,DOWN,PDIF
++S 800,6200,800,7000,600,*,UP,PDIF
++V 1800,700,CONT_BODY_P,*
++V 1100,700,CONT_BODY_P,*
++V 3200,9300,CONT_BODY_N,*
++V 3900,9300,CONT_BODY_N,*
++V 4400,2800,CONT_DIF_N,zn
++V 4400,2000,CONT_DIF_N,zn
++V 2300,2100,CONT_DIF_N,*
++V 3000,5100,CONT_POLY,*
++V 1000,2700,CONT_DIF_N,*
++V 3200,6100,CONT_DIF_P,zn
++V 2000,4400,CONT_POLY,zn
++V 1000,3500,CONT_DIF_N,*
++V 2000,8000,CONT_DIF_P,*
++V 2000,9000,CONT_DIF_P,*
++V 4400,8000,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 800,6900,CONT_DIF_P,*
++V 800,6100,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an2_x2.vbe b/alliance/src/cells/src/msxlib/an2_x2.vbe
+new file mode 100644
+index 0000000..e0be85f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an2_x2.vbe
+@@ -0,0 +1,32 @@
++ENTITY an2_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_a : NATURAL := 6;
++ CONSTANT rdown_b_z : NATURAL := 1200;
++ CONSTANT rdown_a_z : NATURAL := 1200;
++ CONSTANT rup_b_z : NATURAL := 1560;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT tphh_a_z : NATURAL := 68;
++ CONSTANT tphh_b_z : NATURAL := 68;
++ CONSTANT tpll_b_z : NATURAL := 87;
++ CONSTANT tpll_a_z : NATURAL := 96;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an2_x2;
++
++ARCHITECTURE behaviour_data_flow OF an2_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an2_x2"
++ SEVERITY WARNING;
++ z <= (b and a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an3_x1.ap b/alliance/src/cells/src/msxlib/an3_x1.ap
+new file mode 100644
+index 0000000..0d5304a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an3_x1.ap
+@@ -0,0 +1,110 @@
++V ALLIANCE : 6
++H an3_x1,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 2000,3000,ref_ref,z_30
++R 5000,3000,ref_ref,c_30
++R 4000,3000,ref_ref,c_30
++R 4000,6000,ref_ref,b_60
++R 5000,6000,ref_ref,b_60
++R 3000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,a_60
++R 3000,7000,ref_ref,a_70
++R 4000,7000,ref_ref,a_70
++R 5000,7000,ref_ref,a_70
++R 5000,4000,ref_ref,c_40
++R 5000,5000,ref_ref,c_50
++R 4000,5000,ref_ref,b_50
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,b_40
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 3000,5000,3000,7000,400,a,DOWN,CALU1
++S 4000,3000,4000,3000,400,c,LEFT,CALU1
++S 5000,3000,5000,5000,400,c,DOWN,CALU1
++S 5000,2900,5000,5100,400,*,DOWN,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 4000,6100,5100,6100,400,*,RIGHT,ALU1
++S 4000,6000,5100,6000,400,*,RIGHT,ALU1
++S 4000,4000,4000,6000,400,b,DOWN,CALU1
++S 4000,3900,4000,6100,400,*,DOWN,ALU1
++S 5000,6000,5000,6000,400,b,LEFT,CALU1
++S 3900,2900,5000,2900,400,*,RIGHT,ALU1
++S 5000,7000,5000,7000,400,a,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,5000,6000,5000,10000,an3_x1,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 2000,8000,5500,8000,400,*,RIGHT,ALU1
++S 3000,7000,5100,7000,400,*,RIGHT,ALU1
++S 3000,7100,5100,7100,400,*,RIGHT,ALU1
++S 3000,2000,5300,2000,400,*,LEFT,ALU1
++S 3600,6700,3600,8300,200,1b,UP,PTRANS
++S 2400,6700,2400,8300,200,1a,UP,PTRANS
++S 3000,6900,3000,8100,1000,*,DOWN,PDIF
++S 4200,6900,4200,9100,600,*,UP,PDIF
++S 4800,6700,4800,8300,200,1c,UP,PTRANS
++S 5200,6900,5200,8100,400,*,DOWN,PDIF
++S 2400,8300,2400,8700,200,*,DOWN,POLY
++S 3600,8300,3600,8700,200,*,DOWN,POLY
++S 4800,8300,4800,8700,200,*,DOWN,POLY
++S 3400,1900,3400,3100,600,n1,UP,NDIF
++S 3000,1700,3000,3300,200,2a,DOWN,NTRANS
++S 3800,1700,3800,3300,200,2b,DOWN,NTRANS
++S 4200,1900,4200,3100,600,n2,UP,NDIF
++S 4600,1700,4600,3300,200,2c,DOWN,NTRANS
++S 5000,1900,5000,3100,400,*,UP,NDIF
++S 1200,2500,1200,3100,400,*,UP,NDIF
++S 1600,2300,1600,3300,200,2z,DOWN,NTRANS
++S 1600,1900,1600,2300,200,*,DOWN,POLY
++S 3000,1300,3000,1700,200,*,DOWN,POLY
++S 3800,1300,3800,1700,200,*,DOWN,POLY
++S 4600,1300,4600,1700,200,*,DOWN,POLY
++S 2300,1900,2300,3100,800,*,UP,NDIF
++S 3600,6100,3600,6700,200,*,DOWN,POLY
++S 4600,3300,4600,3800,200,*,UP,POLY
++S 4800,3900,4800,6700,200,*,DOWN,POLY
++S 3800,3300,3800,6000,200,*,UP,POLY
++S 2400,5200,2400,6700,200,*,DOWN,POLY
++S 2400,5200,3000,5200,200,*,RIGHT,POLY
++S 3000,3300,3000,5200,200,*,DOWN,POLY
++S 1000,2900,1000,7100,400,*,DOWN,ALU1
++S 1000,3000,2000,3000,600,*,RIGHT,ALU1
++S 3000,4900,3000,7000,400,*,DOWN,ALU1
++S 2000,4000,3000,4000,400,*,RIGHT,ALU1
++S 2000,4000,2000,8000,400,*,UP,ALU1
++S 3000,2000,3000,4000,400,*,DOWN,ALU1
++S 1200,4300,1800,4300,200,*,RIGHT,POLY
++S 1600,3300,1600,4300,200,*,UP,POLY
++S 500,7100,1000,7100,400,*,RIGHT,ALU1
++S 1200,6000,1200,8000,200,1z,UP,PTRANS
++S 800,6200,800,7800,400,*,UP,PDIF
++S 600,6400,600,7000,600,*,UP,PDIF
++S 1800,6200,1800,9100,600,*,DOWN,PDIF
++S 500,6300,1000,6300,400,*,RIGHT,ALU1
++S 1200,8000,1200,8400,200,*,DOWN,POLY
++S 1200,4300,1200,6000,200,*,DOWN,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3000,9300,CONT_BODY_N,*
++V 2200,2000,CONT_DIF_N,*
++V 5400,8000,CONT_DIF_P,zn
++V 3000,8000,CONT_DIF_P,zn
++V 5200,2000,CONT_DIF_N,zn
++V 1800,9000,CONT_DIF_P,*
++V 4200,9000,CONT_DIF_P,*
++V 4000,6000,CONT_POLY,*
++V 5000,3900,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 1000,3000,CONT_DIF_N,*
++V 2000,4100,CONT_POLY,zn
++V 600,7100,CONT_DIF_P,*
++V 600,6300,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an3_x1.vbe b/alliance/src/cells/src/msxlib/an3_x1.vbe
+new file mode 100644
+index 0000000..0f9f78c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an3_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY an3_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT cin_c : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 2310;
++ CONSTANT rdown_b_z : NATURAL := 2300;
++ CONSTANT rdown_c_z : NATURAL := 2290;
++ CONSTANT rup_a_z : NATURAL := 2970;
++ CONSTANT rup_b_z : NATURAL := 2970;
++ CONSTANT rup_c_z : NATURAL := 2970;
++ CONSTANT tphh_c_z : NATURAL := 88;
++ CONSTANT tphh_b_z : NATURAL := 91;
++ CONSTANT tphh_a_z : NATURAL := 93;
++ CONSTANT tpll_a_z : NATURAL := 121;
++ CONSTANT tpll_b_z : NATURAL := 111;
++ CONSTANT tpll_c_z : NATURAL := 100;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an3_x1;
++
++ARCHITECTURE behaviour_data_flow OF an3_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an3_x1"
++ SEVERITY WARNING;
++ z <= ((a and b) and c) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an3_x2.ap b/alliance/src/cells/src/msxlib/an3_x2.ap
+new file mode 100644
+index 0000000..291cb56
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an3_x2.ap
+@@ -0,0 +1,114 @@
++V ALLIANCE : 6
++H an3_x2,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 2000,8000,ref_ref,z_80
++R 1000,8000,ref_ref,z_80
++R 4000,4000,ref_ref,a_40
++R 3000,4000,ref_ref,a_40
++R 5000,7000,ref_ref,b_70
++R 5000,3000,ref_ref,c_30
++R 4000,3000,ref_ref,c_30
++R 4000,6000,ref_ref,b_60
++R 5000,6000,ref_ref,b_60
++R 3000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,a_60
++R 5000,4000,ref_ref,c_40
++R 5000,5000,ref_ref,c_50
++R 4000,5000,ref_ref,b_50
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++S 4800,4200,4800,6900,200,*,DOWN,POLY
++S 4800,9300,4800,9700,200,*,DOWN,POLY
++S 5200,7100,5200,9100,400,*,DOWN,PDIF
++S 4800,6900,4800,9300,200,1c,UP,PTRANS
++S 500,6200,1000,6200,400,*,RIGHT,ALU1
++S 600,6300,600,6900,600,*,UP,PDIF
++S 500,7000,1000,7000,400,*,RIGHT,ALU1
++S 2000,8000,2000,8000,400,z,LEFT,CALU1
++S 1000,8000,2000,8000,600,*,RIGHT,ALU1
++S 1000,2600,1000,8100,400,*,DOWN,ALU1
++S 1000,3000,1000,8000,400,z,DOWN,CALU1
++S 3000,8000,5500,8000,400,*,RIGHT,ALU1
++S 3000,7000,3000,8000,400,*,UP,ALU1
++S 2000,7000,3000,7000,400,*,RIGHT,ALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 3000,2000,3000,3000,400,*,DOWN,ALU1
++S 2000,3000,3000,3000,400,*,RIGHT,ALU1
++S 4000,5000,4000,6000,400,b,DOWN,CALU1
++S 4000,4900,4000,6100,400,*,DOWN,ALU1
++S 5000,6000,5000,7000,600,*,UP,ALU1
++S 5000,6000,5000,7000,400,b,UP,CALU1
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 3600,8400,3600,8800,200,*,DOWN,POLY
++S 2400,8400,2400,8800,200,*,DOWN,POLY
++S 3600,5500,3600,6000,200,*,DOWN,POLY
++S 2800,4600,2800,5600,200,*,DOWN,POLY
++S 2400,5600,2800,5600,200,*,RIGHT,POLY
++S 4200,6200,4200,9100,600,*,UP,PDIF
++S 3000,6200,3000,8200,1000,*,DOWN,PDIF
++S 2400,6000,2400,8400,200,1a,UP,PTRANS
++S 3600,6000,3600,8400,200,1b,UP,PTRANS
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 3000,3800,3000,4600,200,*,UP,POLY
++S 4600,3800,4600,4300,200,*,UP,POLY
++S 4000,3000,4000,3000,400,c,LEFT,CALU1
++S 5000,3000,5000,5000,400,c,DOWN,CALU1
++S 5000,2900,5000,5100,400,*,DOWN,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 3800,4100,3800,5300,200,*,UP,POLY
++S 4000,6100,5100,6100,400,*,RIGHT,ALU1
++S 4000,6000,5100,6000,400,*,RIGHT,ALU1
++S 3900,2900,5000,2900,400,*,RIGHT,ALU1
++S 1000,2800,1000,3400,600,*,DOWN,NDIF
++S 1600,1900,1600,3800,200,2z,DOWN,NTRANS
++S 3000,1400,3000,3800,200,2a,DOWN,NTRANS
++S 3800,1400,3800,3800,200,2b,DOWN,NTRANS
++S 4600,1400,4600,3800,200,2c,DOWN,NTRANS
++S 1200,5500,1200,9300,200,1z,UP,PTRANS
++S 1200,4600,1800,4600,200,*,RIGHT,POLY
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,5000,6000,5000,10000,an3_x2,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 1800,5700,1800,9100,600,*,DOWN,PDIF
++S 800,5700,800,9100,400,*,UP,PDIF
++S 3000,1000,3000,1400,200,*,DOWN,POLY
++S 3800,1000,3800,1400,200,*,DOWN,POLY
++S 4600,1000,4600,1400,200,*,DOWN,POLY
++S 5000,1600,5000,3600,400,*,UP,NDIF
++S 1600,1500,1600,1900,200,*,DOWN,POLY
++S 1200,2100,1200,3600,400,*,UP,NDIF
++S 2300,900,2300,3600,800,*,UP,NDIF
++S 1200,4600,1200,5500,200,*,DOWN,POLY
++S 1600,3800,1600,4600,200,*,UP,POLY
++S 3000,2000,5300,2000,400,*,LEFT,ALU1
++S 3400,1600,3400,3600,600,n1,UP,NDIF
++S 4200,1600,4200,3600,600,n2,UP,NDIF
++V 1000,700,CONT_BODY_P,*
++V 3000,9300,CONT_BODY_N,*
++V 5400,8000,CONT_DIF_P,zn
++V 600,6200,CONT_DIF_P,*
++V 600,7000,CONT_DIF_P,*
++V 3000,7900,CONT_DIF_P,zn
++V 3000,7100,CONT_DIF_P,zn
++V 4000,5400,CONT_POLY,*
++V 3000,4700,CONT_POLY,*
++V 2200,1000,CONT_DIF_N,*
++V 2200,2000,CONT_DIF_N,*
++V 5000,4400,CONT_POLY,*
++V 1000,2700,CONT_DIF_N,*
++V 2000,4400,CONT_POLY,zn
++V 5200,2000,CONT_DIF_N,zn
++V 1800,9000,CONT_DIF_P,*
++V 1000,3500,CONT_DIF_N,*
++V 4200,9000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an3_x2.vbe b/alliance/src/cells/src/msxlib/an3_x2.vbe
+new file mode 100644
+index 0000000..2fb10d6
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an3_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY an3_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 6;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_c : NATURAL := 6;
++ CONSTANT rdown_a_z : NATURAL := 1210;
++ CONSTANT rdown_b_z : NATURAL := 1210;
++ CONSTANT rdown_c_z : NATURAL := 1210;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT rup_b_z : NATURAL := 1560;
++ CONSTANT rup_c_z : NATURAL := 1560;
++ CONSTANT tphh_c_z : NATURAL := 86;
++ CONSTANT tphh_b_z : NATURAL := 89;
++ CONSTANT tphh_a_z : NATURAL := 91;
++ CONSTANT tpll_a_z : NATURAL := 119;
++ CONSTANT tpll_b_z : NATURAL := 109;
++ CONSTANT tpll_c_z : NATURAL := 98;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an3_x2;
++
++ARCHITECTURE behaviour_data_flow OF an3_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an3_x2"
++ SEVERITY WARNING;
++ z <= ((a and b) and c) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an4_x1.ap b/alliance/src/cells/src/msxlib/an4_x1.ap
+new file mode 100644
+index 0000000..73b6d84
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an4_x1.ap
+@@ -0,0 +1,132 @@
++V ALLIANCE : 6
++H an4_x1,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 2000,3000,ref_ref,z_30
++R 4000,5000,ref_ref,b_50
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,b_40
++R 4000,3000,ref_ref,b_30
++R 5000,3000,ref_ref,b_30
++R 5000,7000,ref_ref,d_70
++R 6000,7000,ref_ref,d_70
++R 6000,6000,ref_ref,d_60
++R 6000,5000,ref_ref,d_50
++R 4000,6000,ref_ref,c_60
++R 5000,6000,ref_ref,c_60
++R 5000,5000,ref_ref,c_50
++R 5000,4000,ref_ref,c_40
++R 4000,7000,ref_ref,a_70
++R 3000,7000,ref_ref,a_70
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++R 1000,8000,ref_ref,z_80
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 4000,2900,4000,5200,400,*,DOWN,ALU1
++S 3100,2000,6000,2000,400,*,LEFT,ALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 6000,8300,6000,8600,200,*,DOWN,POLY
++S 2000,8000,5500,8000,400,*,RIGHT,ALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,5000,7000,5000,10000,an4_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 4800,8300,4800,8700,200,*,DOWN,POLY
++S 500,6600,1000,6600,400,*,RIGHT,ALU1
++S 3600,8300,3600,8700,200,*,DOWN,POLY
++S 2400,8300,2400,8700,200,*,DOWN,POLY
++S 5000,7000,5000,7000,400,d,LEFT,CALU1
++S 5000,3000,5000,3000,400,b,LEFT,CALU1
++S 4000,6000,4000,6000,400,c,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++S 4000,3000,4000,5000,400,b,DOWN,CALU1
++S 4000,2900,5100,2900,400,*,RIGHT,ALU1
++S 4000,3000,5100,3000,400,*,RIGHT,ALU1
++S 5000,3900,5000,6100,400,*,DOWN,ALU1
++S 3900,6000,5000,6000,400,*,RIGHT,ALU1
++S 3900,6100,5000,6100,400,*,RIGHT,ALU1
++S 3000,7000,4100,7000,400,*,RIGHT,ALU1
++S 3000,7100,4100,7100,400,*,RIGHT,ALU1
++S 6000,5000,6000,7000,400,d,UP,CALU1
++S 6000,4900,6000,7000,400,*,UP,ALU1
++S 4900,7000,6000,7000,400,*,LEFT,ALU1
++S 4900,7100,6000,7100,400,*,LEFT,ALU1
++S 5000,4000,5000,6000,400,c,DOWN,CALU1
++S 3000,4900,3000,7000,400,*,DOWN,ALU1
++S 3000,5000,3000,7000,400,a,DOWN,CALU1
++S 3600,6700,3600,8300,200,1b,UP,PTRANS
++S 3000,6900,3000,8100,1000,*,DOWN,PDIF
++S 2400,6700,2400,8300,200,1a,UP,PTRANS
++S 5400,6900,5400,8100,600,*,DOWN,PDIF
++S 6000,6700,6000,8300,200,1d,UP,PTRANS
++S 4800,6700,4800,8300,200,1c,UP,PTRANS
++S 4200,6900,4200,9100,600,*,UP,PDIF
++S 6500,6900,6500,9300,400,*,UP,PDIF
++S 6000,4800,6000,6700,200,*,DOWN,POLY
++S 1800,6500,1800,9100,600,*,DOWN,PDIF
++S 1200,6300,1200,8300,200,1z,UP,PTRANS
++S 800,6500,800,8100,400,*,UP,PDIF
++S 1200,8300,1200,8700,200,*,DOWN,POLY
++S 1000,3000,2000,3000,600,*,RIGHT,ALU1
++S 2300,1900,2300,3400,800,*,UP,NDIF
++S 2300,700,2300,2100,400,*,DOWN,ALU1
++S 1600,2600,1600,3600,200,2z,DOWN,NTRANS
++S 1200,2800,1200,3400,400,*,UP,NDIF
++S 1600,2200,1600,2600,200,*,DOWN,POLY
++S 3000,1300,3000,1700,200,*,DOWN,POLY
++S 3800,1300,3800,1700,200,*,DOWN,POLY
++S 4600,1300,4600,1700,200,*,DOWN,POLY
++S 5400,1300,5400,1700,200,*,DOWN,POLY
++S 3000,1700,3000,3600,200,2a,DOWN,NTRANS
++S 3400,1900,3400,3400,600,n1,UP,NDIF
++S 3800,1700,3800,3600,200,2b,DOWN,NTRANS
++S 5000,1900,5000,3400,600,n3,UP,NDIF
++S 4600,1700,4600,3600,200,2c,DOWN,NTRANS
++S 5400,1700,5400,3600,200,2d,DOWN,NTRANS
++S 5800,1900,5800,3400,400,*,UP,NDIF
++S 4200,1900,4200,3400,600,n2,UP,NDIF
++S 3800,3600,3800,4800,200,*,UP,POLY
++S 6000,2100,6000,2700,600,*,UP,NDIF
++S 6000,2000,6000,2800,600,*,UP,ALU1
++S 5400,4000,5800,4000,200,*,RIGHT,POLY
++S 5800,4000,5800,4800,200,*,UP,POLY
++S 4800,4000,4800,6700,200,*,DOWN,POLY
++S 4600,3600,4600,4100,200,*,UP,POLY
++S 3600,4700,3600,6700,200,*,DOWN,POLY
++S 2000,4100,3100,4100,400,*,RIGHT,ALU1
++S 2000,4100,2000,8000,400,*,UP,ALU1
++S 3100,2000,3100,4100,400,*,DOWN,ALU1
++S 1200,4400,1600,4400,200,*,RIGHT,POLY
++S 1200,4400,1200,6300,200,*,DOWN,POLY
++S 1600,3600,1600,4400,200,*,UP,POLY
++S 2400,5800,2400,6700,200,*,DOWN,POLY
++S 3000,3600,3000,5900,200,*,UP,POLY
++S 2800,6000,3000,6000,600,*,RIGHT,ALU1
++S 600,6700,600,7300,600,*,DOWN,PDIF
++S 500,7400,1000,7400,400,*,RIGHT,ALU1
++S 1000,3000,1000,8000,400,z,DOWN,CALU1
++S 1000,2900,1000,8100,400,*,DOWN,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3000,9300,CONT_BODY_N,*
++V 6400,9200,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,zn
++V 4200,9000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,zn
++V 1800,9000,CONT_DIF_P,*
++V 600,6600,CONT_DIF_P,*
++V 6000,5000,CONT_POLY,*
++V 2300,2000,CONT_DIF_N,*
++V 1000,3300,CONT_DIF_N,*
++V 6000,2000,CONT_DIF_N,zn
++V 6000,2800,CONT_DIF_N,zn
++V 4000,4900,CONT_POLY,*
++V 5000,6000,CONT_POLY,*
++V 2000,4200,CONT_POLY,zn
++V 2800,6000,CONT_POLY,*
++V 600,7400,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an4_x1.vbe b/alliance/src/cells/src/msxlib/an4_x1.vbe
+new file mode 100644
+index 0000000..bdfe74f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an4_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY an4_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT cin_d : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 2330;
++ CONSTANT rdown_b_z : NATURAL := 2320;
++ CONSTANT rdown_c_z : NATURAL := 2310;
++ CONSTANT rdown_d_z : NATURAL := 2300;
++ CONSTANT rup_a_z : NATURAL := 2980;
++ CONSTANT rup_b_z : NATURAL := 2980;
++ CONSTANT rup_c_z : NATURAL := 2980;
++ CONSTANT rup_d_z : NATURAL := 2980;
++ CONSTANT tphh_a_z : NATURAL := 115;
++ CONSTANT tphh_b_z : NATURAL := 112;
++ CONSTANT tpll_d_z : NATURAL := 107;
++ CONSTANT tphh_c_z : NATURAL := 106;
++ CONSTANT tpll_c_z : NATURAL := 121;
++ CONSTANT tphh_d_z : NATURAL := 98;
++ CONSTANT tpll_b_z : NATURAL := 133;
++ CONSTANT tpll_a_z : NATURAL := 142;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an4_x1;
++
++ARCHITECTURE behaviour_data_flow OF an4_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an4_x1"
++ SEVERITY WARNING;
++ z <= (((a and b) and c) and d) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an4_x2.ap b/alliance/src/cells/src/msxlib/an4_x2.ap
+new file mode 100644
+index 0000000..fda7322
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an4_x2.ap
+@@ -0,0 +1,133 @@
++V ALLIANCE : 6
++H an4_x2,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 2000,3000,ref_ref,z_30
++R 4000,5000,ref_ref,b_50
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,b_40
++R 4000,3000,ref_ref,b_30
++R 5000,3000,ref_ref,b_30
++R 5000,7000,ref_ref,d_70
++R 6000,7000,ref_ref,d_70
++R 6000,6000,ref_ref,d_60
++R 6000,5000,ref_ref,d_50
++R 4000,6000,ref_ref,c_60
++R 5000,6000,ref_ref,c_60
++R 5000,5000,ref_ref,c_50
++R 5000,4000,ref_ref,c_40
++R 4000,7000,ref_ref,a_70
++R 3000,7000,ref_ref,a_70
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++R 1000,2000,ref_ref,z_20
++S 3800,3800,3800,5100,200,*,UP,POLY
++S 4600,3800,4600,4300,200,*,UP,POLY
++S 4000,2900,4000,5200,400,*,DOWN,ALU1
++S 3600,4900,3600,5900,200,*,DOWN,POLY
++S 2300,700,2300,2200,400,*,DOWN,ALU1
++S 2300,1200,2300,3600,800,*,UP,NDIF
++S 2000,4000,3100,4000,400,*,RIGHT,ALU1
++S 3100,2000,6000,2000,400,*,LEFT,ALU1
++S 3100,2000,3100,4000,400,*,DOWN,ALU1
++S 1000,3000,2100,3000,400,*,RIGHT,ALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 6000,2300,6000,2900,600,*,UP,NDIF
++S 6000,2000,6000,3100,400,*,UP,ALU1
++S 6000,8300,6000,8600,200,*,DOWN,POLY
++S 6500,6100,6500,9300,400,*,UP,PDIF
++S 2000,8000,5500,8000,400,*,RIGHT,ALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,5000,7000,5000,10000,an4_x2,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 6000,4800,6000,5900,200,*,DOWN,POLY
++S 4800,4200,4800,5900,200,*,DOWN,POLY
++S 4800,8300,4800,8700,200,*,DOWN,POLY
++S 5400,6100,5400,8100,600,*,DOWN,PDIF
++S 6000,5900,6000,8300,200,1d,UP,PTRANS
++S 4800,5900,4800,8300,200,1c,UP,PTRANS
++S 4200,6100,4200,9100,600,*,UP,PDIF
++S 500,6600,1000,6600,400,*,RIGHT,ALU1
++S 500,5800,1000,5800,400,*,RIGHT,ALU1
++S 2900,4900,2900,5200,600,*,UP,ALU1
++S 2400,5200,2400,5900,200,*,DOWN,POLY
++S 1800,4400,2000,4400,600,*,RIGHT,ALU1
++S 1200,4600,1600,4600,200,*,RIGHT,POLY
++S 1200,4600,1200,5500,200,*,DOWN,POLY
++S 3600,8300,3600,8700,200,*,DOWN,POLY
++S 2400,8300,2400,8700,200,*,DOWN,POLY
++S 3600,5900,3600,8300,200,1b,UP,PTRANS
++S 2400,5900,2400,8300,200,1a,UP,PTRANS
++S 3000,6100,3000,8100,1000,*,DOWN,PDIF
++S 1800,5700,1800,9100,600,*,DOWN,PDIF
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 600,5900,600,6700,600,*,UP,PDIF
++S 1200,5500,1200,9300,200,1z,UP,PTRANS
++S 800,5700,800,9100,400,*,UP,PDIF
++S 5000,7000,5000,7000,400,d,LEFT,CALU1
++S 5000,3000,5000,3000,400,b,LEFT,CALU1
++S 4000,6000,4000,6000,400,c,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++S 1000,2800,1000,3400,600,*,DOWN,NDIF
++S 5400,600,5400,1000,200,*,DOWN,POLY
++S 4600,600,4600,1000,200,*,DOWN,POLY
++S 3800,600,3800,1000,200,*,DOWN,POLY
++S 3000,600,3000,1000,200,*,DOWN,POLY
++S 5800,1200,5800,3600,400,*,UP,NDIF
++S 5400,1000,5400,3800,200,2d,DOWN,NTRANS
++S 5000,1200,5000,3600,600,n3,UP,NDIF
++S 4600,1000,4600,3800,200,2c,DOWN,NTRANS
++S 4200,1200,4200,3600,600,n2,UP,NDIF
++S 3000,1000,3000,3800,200,2a,DOWN,NTRANS
++S 3800,1000,3800,3800,200,2b,DOWN,NTRANS
++S 3400,1200,3400,3600,600,n1,UP,NDIF
++S 4000,3000,4000,5000,400,b,DOWN,CALU1
++S 4000,2900,5100,2900,400,*,RIGHT,ALU1
++S 4000,3000,5100,3000,400,*,RIGHT,ALU1
++S 5000,3900,5000,6100,400,*,DOWN,ALU1
++S 3900,6000,5000,6000,400,*,RIGHT,ALU1
++S 3900,6100,5000,6100,400,*,RIGHT,ALU1
++S 1600,1500,1600,1900,200,*,DOWN,POLY
++S 1200,2100,1200,3600,400,*,UP,NDIF
++S 3000,3800,3000,4900,200,*,UP,POLY
++S 5400,4200,5800,4200,200,*,RIGHT,POLY
++S 5800,4200,5800,4800,200,*,UP,POLY
++S 3000,7000,4100,7000,400,*,RIGHT,ALU1
++S 3000,7100,4100,7100,400,*,RIGHT,ALU1
++S 6000,5000,6000,7000,400,d,UP,CALU1
++S 6000,4900,6000,7000,400,*,UP,ALU1
++S 4900,7000,6000,7000,400,*,LEFT,ALU1
++S 4900,7100,6000,7100,400,*,LEFT,ALU1
++S 5000,4000,5000,6000,400,c,DOWN,CALU1
++S 3000,4900,3000,7000,400,*,DOWN,ALU1
++S 3000,5000,3000,7000,400,a,DOWN,CALU1
++S 2000,4000,2000,8000,400,*,UP,ALU1
++S 1600,1900,1600,3800,200,2z,DOWN,NTRANS
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,1900,1000,7100,400,*,DOWN,ALU1
++V 1000,700,CONT_BODY_P,*
++V 3000,9300,CONT_BODY_N,*
++V 5000,5100,CONT_POLY,*
++V 4000,5100,CONT_POLY,*
++V 2300,1300,CONT_DIF_N,*
++V 2300,2100,CONT_DIF_N,*
++V 6000,2200,CONT_DIF_N,zn
++V 6000,3000,CONT_DIF_N,zn
++V 6400,9200,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,zn
++V 4200,9000,CONT_DIF_P,*
++V 2800,5100,CONT_POLY,*
++V 1800,4400,CONT_POLY,zn
++V 3000,8000,CONT_DIF_P,zn
++V 1800,9000,CONT_DIF_P,*
++V 600,6600,CONT_DIF_P,*
++V 600,5800,CONT_DIF_P,*
++V 1000,2700,CONT_DIF_N,*
++V 1000,3500,CONT_DIF_N,*
++V 6000,5000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an4_x2.vbe b/alliance/src/cells/src/msxlib/an4_x2.vbe
+new file mode 100644
+index 0000000..ac82e4f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an4_x2.vbe
+@@ -0,0 +1,44 @@
++ENTITY an4_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_c : NATURAL := 6;
++ CONSTANT cin_d : NATURAL := 6;
++ CONSTANT rdown_a_z : NATURAL := 1220;
++ CONSTANT rdown_b_z : NATURAL := 1220;
++ CONSTANT rdown_c_z : NATURAL := 1210;
++ CONSTANT rdown_d_z : NATURAL := 1210;
++ CONSTANT rup_a_z : NATURAL := 1570;
++ CONSTANT rup_b_z : NATURAL := 1570;
++ CONSTANT rup_c_z : NATURAL := 1570;
++ CONSTANT rup_d_z : NATURAL := 1570;
++ CONSTANT tphh_a_z : NATURAL := 112;
++ CONSTANT tphh_b_z : NATURAL := 110;
++ CONSTANT tpll_d_z : NATURAL := 105;
++ CONSTANT tphh_c_z : NATURAL := 104;
++ CONSTANT tpll_c_z : NATURAL := 118;
++ CONSTANT tphh_d_z : NATURAL := 97;
++ CONSTANT tpll_b_z : NATURAL := 130;
++ CONSTANT tpll_a_z : NATURAL := 139;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an4_x2;
++
++ARCHITECTURE behaviour_data_flow OF an4_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an4_x2"
++ SEVERITY WARNING;
++ z <= (((a and b) and c) and d) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/an4_x3.ap b/alliance/src/cells/src/msxlib/an4_x3.ap
+new file mode 100644
+index 0000000..d1daacf
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an4_x3.ap
+@@ -0,0 +1,137 @@
++V ALLIANCE : 6
++H an4_x3,P, 8/ 8/2014,100
++A 0,0,9000,10000
++R 8000,5000,ref_ref,d_50
++R 8000,7000,ref_ref,d_70
++R 8000,6000,ref_ref,d_60
++R 1000,7000,ref_ref,z_70
++R 6000,6000,ref_ref,d_60
++R 7000,5000,ref_ref,d_50
++R 6000,5000,ref_ref,c_50
++R 6000,6000,ref_ref,c_60
++R 5000,6000,ref_ref,c_60
++R 5000,7000,ref_ref,a_70
++R 4000,7000,ref_ref,a_70
++R 4000,6000,ref_ref,a_60
++R 6000,3000,ref_ref,b_30
++R 6000,4000,ref_ref,c_40
++R 5000,3000,ref_ref,b_30
++R 5000,4000,ref_ref,b_40
++R 5000,5000,ref_ref,b_50
++R 4000,5000,ref_ref,a_50
++R 2000,7000,ref_ref,z_70
++R 2000,8000,ref_ref,z_80
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,z_50
++R 2000,6000,ref_ref,z_60
++S 8000,4900,8000,7100,400,*,UP,ALU1
++S 3000,8000,6600,8000,400,*,RIGHT,ALU1
++S 6600,6900,6600,8000,400,*,DOWN,ALU1
++S 6900,5000,8000,5000,600,*,LEFT,ALU1
++S 7000,5000,7000,5000,400,d,LEFT,CALU1
++S 8000,5000,8000,7000,400,d,UP,CALU1
++S 7800,7900,7800,9300,400,*,DOWN,ALU1
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 7200,2300,7200,2900,600,*,UP,NDIF
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,9000,5000,10000,an4_x3,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 6000,4000,6000,6000,400,c,DOWN,CALU1
++S 6000,3900,6000,6100,400,*,DOWN,ALU1
++S 4900,6000,6000,6000,400,*,RIGHT,ALU1
++S 4900,6100,6000,6100,400,*,RIGHT,ALU1
++S 5000,6000,5000,6000,400,c,LEFT,CALU1
++S 4000,7000,5100,7000,400,*,RIGHT,ALU1
++S 4000,7100,5100,7100,400,*,RIGHT,ALU1
++S 5000,7000,5000,7000,400,a,LEFT,CALU1
++S 4000,4900,4000,7000,400,*,DOWN,ALU1
++S 4000,5000,4000,7000,400,a,DOWN,CALU1
++S 7200,2000,7200,3100,400,*,UP,ALU1
++S 5000,3000,6100,3000,400,*,RIGHT,ALU1
++S 6000,3000,6000,3000,400,b,LEFT,CALU1
++S 5000,2900,6100,2900,400,*,RIGHT,ALU1
++S 5000,3000,5000,5000,400,b,DOWN,CALU1
++S 5400,1200,5400,3700,600,n2,UP,NDIF
++S 5800,3900,5800,6000,200,*,UP,POLY
++S 5000,3900,5000,5100,200,*,UP,POLY
++S 1200,6700,1200,9300,200,1z,UP,PTRANS
++S 1800,6900,1800,9100,600,*,DOWN,PDIF
++S 4800,6400,4800,9300,200,1b,UP,PTRANS
++S 4200,6600,4200,9100,1000,*,DOWN,PDIF
++S 3600,6400,3600,9300,200,1a,UP,PTRANS
++S 3000,6600,3000,9100,600,*,DOWN,PDIF
++S 5400,6600,5400,9100,600,*,UP,PDIF
++S 6000,6400,6000,9300,200,1c,UP,PTRANS
++S 7200,6400,7200,9300,200,1d,UP,PTRANS
++S 6600,6600,6600,9100,600,*,DOWN,PDIF
++S 4200,3900,4200,5800,200,*,UP,POLY
++S 6600,3900,6600,4900,200,*,UP,POLY
++S 5000,2900,5000,5100,400,*,DOWN,ALU1
++S 7200,4800,7200,6400,200,*,DOWN,POLY
++S 4800,4900,4800,6400,200,*,DOWN,POLY
++S 3600,5600,3600,6400,200,*,DOWN,POLY
++S 1000,7000,1800,7000,600,*,RIGHT,ALU1
++S 1900,6900,1900,8100,600,*,DOWN,ALU1
++S 1200,6300,2400,6300,200,*,RIGHT,POLY
++S 2400,6700,2400,9300,200,2z,UP,PTRANS
++S 600,6900,600,9100,600,*,DOWN,PDIF
++S 600,7900,600,9300,400,*,UP,ALU1
++S 7900,6600,7900,9100,600,*,DOWN,PDIF
++S 4000,2000,4000,4000,400,*,UP,ALU1
++S 3000,4000,4000,4000,400,*,LEFT,ALU1
++S 3000,4000,3000,8000,400,*,DOWN,ALU1
++S 4000,2000,7200,2000,400,*,LEFT,ALU1
++S 3200,700,3200,3100,400,*,DOWN,ALU1
++S 2600,1300,2600,3900,200,3z,DOWN,NTRANS
++S 2600,3900,2600,5000,200,*,UP,POLY
++S 2400,4600,2400,6700,200,*,DOWN,POLY
++S 2200,1500,2200,3700,400,*,UP,NDIF
++S 2000,2900,2000,3500,600,*,DOWN,NDIF
++S 2000,3000,2000,8000,400,z,UP,CALU1
++S 2000,2700,2000,8100,400,*,DOWN,ALU1
++S 1000,7000,1000,7000,400,z,LEFT,CALU1
++S 2400,9300,2400,9700,200,*,UP,POLY
++S 3600,9300,3600,9700,200,*,UP,POLY
++S 4800,9300,4800,9700,200,*,UP,POLY
++S 6000,9300,6000,9700,200,*,UP,POLY
++S 7200,9300,7200,9700,200,*,UP,POLY
++S 6200,800,6200,3700,600,n3,UP,NDIF
++S 5800,600,5800,3900,200,2c,DOWN,NTRANS
++S 6600,600,6600,3900,200,2d,DOWN,NTRANS
++S 4600,800,4600,3700,600,n1,UP,NDIF
++S 4200,600,4200,3900,200,2a,DOWN,NTRANS
++S 5000,600,5000,3900,200,2b,DOWN,NTRANS
++S 7000,800,7000,3700,400,*,UP,NDIF
++S 3300,800,3300,3700,800,*,UP,NDIF
++S 4200,300,4200,600,200,*,DOWN,POLY
++S 5000,300,5000,600,200,*,DOWN,POLY
++S 5800,300,5800,600,200,*,DOWN,POLY
++S 6600,300,6600,600,200,*,DOWN,POLY
++S 2600,1000,2600,1300,200,*,DOWN,POLY
++V 1000,700,CONT_BODY_P,*
++V 6600,7800,CONT_DIF_P,zn
++V 6600,7000,CONT_DIF_P,zn
++V 7800,8000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,zn
++V 7000,5000,CONT_POLY,*
++V 7200,3000,CONT_DIF_N,zn
++V 7200,2200,CONT_DIF_N,zn
++V 5400,9000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 600,9000,CONT_DIF_P,*
++V 7800,9000,CONT_DIF_P,*
++V 3000,4800,CONT_POLY,zn
++V 1800,7000,CONT_DIF_P,*
++V 1800,8000,CONT_DIF_P,*
++V 4000,5800,CONT_POLY,*
++V 6000,5800,CONT_POLY,*
++V 5000,5000,CONT_POLY,*
++V 600,8000,CONT_DIF_P,*
++V 3200,2100,CONT_DIF_N,*
++V 3200,3000,CONT_DIF_N,*
++V 2000,3600,CONT_DIF_N,*
++V 2000,2800,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/an4_x3.vbe b/alliance/src/cells/src/msxlib/an4_x3.vbe
+new file mode 100644
+index 0000000..f5dae13
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/an4_x3.vbe
+@@ -0,0 +1,44 @@
++ENTITY an4_x3 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_a : NATURAL := 8;
++ CONSTANT cin_b : NATURAL := 8;
++ CONSTANT cin_c : NATURAL := 7;
++ CONSTANT cin_d : NATURAL := 7;
++ CONSTANT rdown_a_z : NATURAL := 890;
++ CONSTANT rdown_b_z : NATURAL := 890;
++ CONSTANT rdown_c_z : NATURAL := 880;
++ CONSTANT rdown_d_z : NATURAL := 880;
++ CONSTANT rup_a_z : NATURAL := 1140;
++ CONSTANT rup_b_z : NATURAL := 1140;
++ CONSTANT rup_c_z : NATURAL := 1140;
++ CONSTANT rup_d_z : NATURAL := 1150;
++ CONSTANT tphh_a_z : NATURAL := 114;
++ CONSTANT tphh_b_z : NATURAL := 111;
++ CONSTANT tpll_d_z : NATURAL := 105;
++ CONSTANT tphh_c_z : NATURAL := 105;
++ CONSTANT tpll_c_z : NATURAL := 118;
++ CONSTANT tphh_d_z : NATURAL := 98;
++ CONSTANT tpll_b_z : NATURAL := 129;
++ CONSTANT tpll_a_z : NATURAL := 138;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END an4_x3;
++
++ARCHITECTURE behaviour_data_flow OF an4_x3 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on an4_x3"
++ SEVERITY WARNING;
++ z <= (((a and b) and c) and d) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aoi21_x05.ap b/alliance/src/cells/src/msxlib/aoi21_x05.ap
+new file mode 100644
+index 0000000..0a9ddcc
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi21_x05.ap
+@@ -0,0 +1,94 @@
++V ALLIANCE : 6
++H aoi21_x05,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 2000,7000,ref_ref,b_70
++R 3000,6000,ref_ref,a2_60
++R 3000,3000,ref_ref,a1_30
++R 2000,4000,ref_ref,z_40
++R 4000,4000,ref_ref,a1_40
++R 2000,3000,ref_ref,z_30
++R 1000,8000,ref_ref,z_80
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,b_50
++R 2000,6000,ref_ref,b_60
++R 3000,7000,ref_ref,b_70
++R 3000,5000,ref_ref,a2_50
++R 4000,6000,ref_ref,a2_60
++R 4000,5000,ref_ref,a1_50
++R 3000,4000,ref_ref,a1_40
++R 4000,7000,ref_ref,a2_70
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 3800,8300,3800,8700,200,*,DOWN,POLY
++S 2600,8300,2600,8700,200,*,DOWN,POLY
++S 1400,8300,1400,8700,200,*,DOWN,POLY
++S 1900,4900,1900,5100,600,*,UP,ALU1
++S 2000,7100,3100,7100,400,*,RIGHT,ALU1
++S 2000,5000,2000,7000,400,b,DOWN,CALU1
++S 2000,4900,2000,7000,400,*,DOWN,ALU1
++S 4000,6000,4000,7000,400,a2,DOWN,CALU1
++S 4000,6000,4000,7100,400,*,UP,ALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 3000,4900,3000,6000,400,*,UP,ALU1
++S 3000,5000,3000,6000,400,a2,DOWN,CALU1
++S 1400,3300,1400,6300,200,*,DOWN,POLY
++S 2600,3600,2600,6300,200,*,DOWN,POLY
++S 3800,4000,3800,6300,200,*,UP,POLY
++S 3400,4000,3800,4000,200,*,RIGHT,POLY
++S 4000,700,4000,3100,400,*,UP,ALU1
++S 4000,2900,4000,3400,600,*,UP,NDIF
++S 3000,2900,3000,4000,400,*,DOWN,ALU1
++S 3000,4000,4000,4000,600,*,RIGHT,ALU1
++S 4000,4000,4000,5100,400,*,UP,ALU1
++S 4000,4000,4000,5000,400,a1,UP,CALU1
++S 3000,3000,3000,4000,400,a1,DOWN,CALU1
++S 2200,2900,2200,3400,400,*,UP,NDIF
++S 3000,2900,3000,3400,600,n1,UP,NDIF
++S 3400,2700,3400,3600,200,4,UP,NTRANS
++S 3400,2300,3400,2700,200,*,UP,POLY
++S 2600,2700,2600,3600,200,5,UP,NTRANS
++S 2600,2300,2600,2700,200,*,UP,POLY
++S 1400,2700,1400,3300,200,6,UP,NTRANS
++S 1400,2300,1400,2700,200,*,UP,POLY
++S 800,700,800,3100,400,*,UP,ALU1
++S 2000,2900,2000,4000,400,*,DOWN,ALU1
++S 1000,4000,2000,4000,600,*,RIGHT,ALU1
++S 2000,3000,2000,4000,400,z,DOWN,CALU1
++S 1000,4000,1000,8000,400,z,DOWN,CALU1
++S 1000,4000,1000,6600,400,*,DOWN,ALU1
++S 0,5000,5000,5000,10000,aoi21_x05,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 3200,6500,3200,9100,600,*,UP,PDIF
++S 1000,6500,1000,8100,400,*,UP,PDIF
++S 3800,6300,3800,8300,200,1,DOWN,PTRANS
++S 4200,6500,4200,8100,400,*,UP,PDIF
++S 2600,6300,2600,8300,200,2,DOWN,PTRANS
++S 2000,6500,2000,8100,1000,*,UP,PDIF
++S 1400,6300,1400,8300,200,3,DOWN,PTRANS
++S 1900,8000,4500,8000,400,*,RIGHT,ALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 2000,7000,3100,7000,400,*,RIGHT,ALU1
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++S 800,7100,800,8100,600,*,UP,PDIF
++S 900,7100,900,8100,600,*,UP,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 4000,3000,CONT_DIF_N,*
++V 2000,3000,CONT_DIF_N,*
++V 800,3000,CONT_DIF_N,*
++V 3000,5700,CONT_POLY,*
++V 1800,5000,CONT_POLY,*
++V 3200,9000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,n2
++V 4400,8000,CONT_DIF_P,n2
++V 800,8000,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 800,7200,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aoi21_x05.vbe b/alliance/src/cells/src/msxlib/aoi21_x05.vbe
+new file mode 100644
+index 0000000..db51972
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi21_x05.vbe
+@@ -0,0 +1,38 @@
++ENTITY aoi21_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a1 : NATURAL := 4;
++ CONSTANT cin_a2 : NATURAL := 4;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT rdown_a1_z : NATURAL := 4130;
++ CONSTANT rdown_a2_z : NATURAL := 4130;
++ CONSTANT rdown_b_z : NATURAL := 3810;
++ CONSTANT rup_a1_z : NATURAL := 5810;
++ CONSTANT rup_a2_z : NATURAL := 5830;
++ CONSTANT rup_b_z : NATURAL := 5310;
++ CONSTANT tphl_a1_z : NATURAL := 57;
++ CONSTANT tphl_a2_z : NATURAL := 58;
++ CONSTANT tphl_b_z : NATURAL := 45;
++ CONSTANT tplh_b_z : NATURAL := 48;
++ CONSTANT tplh_a2_z : NATURAL := 69;
++ CONSTANT tplh_a1_z : NATURAL := 76;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aoi21_x05;
++
++ARCHITECTURE behaviour_data_flow OF aoi21_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aoi21_x05"
++ SEVERITY WARNING;
++ z <= not (((a1 and a2) or b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aoi21_x1.ap b/alliance/src/cells/src/msxlib/aoi21_x1.ap
+new file mode 100644
+index 0000000..d16aa44
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi21_x1.ap
+@@ -0,0 +1,102 @@
++V ALLIANCE : 6
++H aoi21_x1,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 3000,3000,ref_ref,a1_30
++R 4000,4000,ref_ref,a1_40
++R 2000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,b_50
++R 2000,6000,ref_ref,b_60
++R 3000,5000,ref_ref,a2_50
++R 4000,6000,ref_ref,a2_60
++R 4000,3000,ref_ref,a1_30
++R 2000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 3000,2000,ref_ref,a1_20
++R 3000,4000,ref_ref,a2_40
++R 4000,5000,ref_ref,a2_50
++R 3000,6000,ref_ref,b_60
++R 2000,4000,ref_ref,b_40
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 4100,1900,4100,3200,600,*,UP,NDIF
++S 3400,3800,3800,3800,200,*,RIGHT,POLY
++S 1900,4800,1900,5000,600,*,UP,ALU1
++S 3400,1300,3400,1700,200,*,UP,POLY
++S 3400,1700,3400,3400,200,4,UP,NTRANS
++S 3000,1900,3000,3200,600,n1,UP,NDIF
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 2600,3400,2600,5500,200,*,DOWN,POLY
++S 2600,1700,2600,3400,200,5,UP,NTRANS
++S 2200,1900,2200,3200,400,*,UP,NDIF
++S 900,5700,900,7100,600,*,UP,ALU1
++S 800,5700,800,6500,600,*,UP,PDIF
++S 2000,5700,2000,9200,600,*,UP,PDIF
++S 3200,5700,3200,9200,600,*,UP,PDIF
++S 4200,5700,4200,9200,400,*,UP,PDIF
++S 3800,5500,3800,9400,200,1,DOWN,PTRANS
++S 2600,5500,2600,9400,200,2,DOWN,PTRANS
++S 1000,5700,1000,9200,400,*,UP,PDIF
++S 1400,5500,1400,9400,200,3,DOWN,PTRANS
++S 3800,9400,3800,9700,200,*,DOWN,POLY
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 1400,9400,1400,9700,200,*,DOWN,POLY
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,aoi21_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 4000,700,4000,2100,400,*,UP,ALU1
++S 3000,3000,4000,3000,600,*,RIGHT,ALU1
++S 1400,1700,1400,2700,200,6,UP,NTRANS
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 2000,1900,2000,2500,1000,*,UP,NDIF
++S 1400,2700,1400,5500,200,*,DOWN,POLY
++S 800,1900,800,2500,600,*,UP,NDIF
++S 700,1900,700,2500,600,*,UP,NDIF
++S 800,700,800,2100,400,*,UP,ALU1
++S 1000,3000,2000,3000,400,*,RIGHT,ALU1
++S 1000,2900,2000,2900,400,*,RIGHT,ALU1
++S 2000,2000,2000,3000,600,*,DOWN,ALU1
++S 2000,2000,2000,3000,400,z,DOWN,CALU1
++S 1000,2900,1000,7000,400,*,DOWN,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2000,4000,2000,6000,400,b,DOWN,CALU1
++S 3000,2000,3000,3000,400,a1,DOWN,CALU1
++S 3000,1900,3000,3100,400,*,DOWN,ALU1
++S 3800,3800,3800,5500,200,*,UP,POLY
++S 4000,3000,4000,4100,400,*,UP,ALU1
++S 4000,3000,4000,4000,400,a1,UP,CALU1
++S 3000,5000,4000,5000,600,*,RIGHT,ALU1
++S 4000,5000,4000,6000,400,a2,DOWN,CALU1
++S 3000,3900,3000,5100,400,*,UP,ALU1
++S 3000,4000,3000,5000,400,a2,DOWN,CALU1
++S 4000,4900,4000,6100,400,*,UP,ALU1
++S 2000,6100,3100,6100,400,*,RIGHT,ALU1
++S 2000,6000,3100,6000,400,*,RIGHT,ALU1
++S 3000,6000,3000,6000,400,b,LEFT,CALU1
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 3200,7900,3200,9300,400,*,DOWN,ALU1
++S 4400,7000,4400,8100,400,*,DOWN,ALU1
++S 2000,7000,2000,8100,400,*,DOWN,ALU1
++S 2000,7000,4400,7000,400,*,RIGHT,ALU1
++S 4400,7300,4400,7900,600,*,UP,PDIF
++V 2100,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1800,4900,CONT_POLY,*
++V 4000,2000,CONT_DIF_N,*
++V 3000,4900,CONT_POLY,*
++V 800,6600,CONT_DIF_P,*
++V 800,5800,CONT_DIF_P,*
++V 3200,9000,CONT_DIF_P,*
++V 800,2000,CONT_DIF_N,*
++V 2000,2000,CONT_DIF_N,*
++V 4000,4000,CONT_POLY,*
++V 3200,8000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,n2
++V 4400,8000,CONT_DIF_P,n2
++V 2000,7200,CONT_DIF_P,n2
++V 4400,7200,CONT_DIF_P,n2
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aoi21_x1.vbe b/alliance/src/cells/src/msxlib/aoi21_x1.vbe
+new file mode 100644
+index 0000000..b53540f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi21_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY aoi21_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT cin_a2 : NATURAL := 6;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT rdown_a1_z : NATURAL := 2190;
++ CONSTANT rdown_a2_z : NATURAL := 2180;
++ CONSTANT rdown_b_z : NATURAL := 2280;
++ CONSTANT rup_a1_z : NATURAL := 2980;
++ CONSTANT rup_a2_z : NATURAL := 2990;
++ CONSTANT rup_b_z : NATURAL := 2720;
++ CONSTANT tphl_a1_z : NATURAL := 55;
++ CONSTANT tphl_a2_z : NATURAL := 56;
++ CONSTANT tphl_b_z : NATURAL := 45;
++ CONSTANT tplh_b_z : NATURAL := 45;
++ CONSTANT tplh_a2_z : NATURAL := 64;
++ CONSTANT tplh_a1_z : NATURAL := 71;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aoi21_x1;
++
++ARCHITECTURE behaviour_data_flow OF aoi21_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aoi21_x1"
++ SEVERITY WARNING;
++ z <= not (((a1 and a2) or b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aoi21_x2.ap b/alliance/src/cells/src/msxlib/aoi21_x2.ap
+new file mode 100644
+index 0000000..c4a05d0
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi21_x2.ap
+@@ -0,0 +1,136 @@
++V ALLIANCE : 6
++H aoi21_x2,P, 8/ 8/2014,100
++A 0,0,9000,10000
++R 1000,3000,ref_ref,z_30
++R 4000,4000,ref_ref,b_40
++R 8000,4000,ref_ref,a1_40
++R 8000,6000,ref_ref,a1_60
++R 3000,5000,ref_ref,b_50
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 3000,3000,ref_ref,z_30
++R 2000,3000,ref_ref,z_30
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 2000,5000,ref_ref,a1_50
++R 8000,5000,ref_ref,a1_50
++R 7000,6000,ref_ref,a1_60
++R 6000,6000,ref_ref,a1_60
++R 5000,6000,ref_ref,a1_60
++R 4000,6000,ref_ref,a1_60
++R 3000,6000,ref_ref,a1_60
++R 6000,5000,ref_ref,a2_50
++R 5000,5000,ref_ref,a2_50
++R 1000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,a1_60
++R 4000,5000,ref_ref,b_50
++R 6000,4000,ref_ref,a2_40
++R 6000,3000,ref_ref,a2_30
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 4900,5000,6000,5000,600,*,RIGHT,ALU1
++S 3800,3900,3800,5100,200,*,UP,POLY
++S 3100,1900,3100,3700,600,*,UP,NDIF
++S 3200,700,3200,2100,400,*,UP,ALU1
++S 3800,1700,3800,3900,200,09,UP,NTRANS
++S 3800,1300,3800,1700,200,*,DOWN,POLY
++S 4400,1900,4400,3700,1000,*,UP,NDIF
++S 4600,800,4600,3700,400,*,UP,NDIF
++S 5800,4300,7600,4300,200,*,LEFT,POLY
++S 5000,3900,5000,4800,200,*,UP,POLY
++S 5000,300,5000,600,200,*,DOWN,POLY
++S 5000,600,5000,3900,200,08,UP,NTRANS
++S 5800,300,5800,600,200,*,DOWN,POLY
++S 5800,600,5800,3900,200,07,UP,NTRANS
++S 6500,800,6500,3700,600,*,UP,NDIF
++S 6400,700,6400,2000,400,*,UP,ALU1
++S 5000,5000,5000,5000,400,a2,LEFT,CALU1
++S 3000,5000,3000,5000,400,b,LEFT,CALU1
++S 7000,6000,7000,6000,400,a1,LEFT,CALU1
++S 6000,6000,6000,6000,400,a1,LEFT,CALU1
++S 5000,6000,5000,6000,400,a1,LEFT,CALU1
++S 4000,6000,4000,6000,400,a1,LEFT,CALU1
++S 3000,6000,3000,6000,400,a1,LEFT,CALU1
++S 4000,3000,4000,3000,400,z,LEFT,CALU1
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,9000,5000,10000,aoi21_x2,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 2000,6000,8000,6000,400,*,RIGHT,ALU1
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 1600,5500,1600,9400,200,02,DOWN,PTRANS
++S 900,5700,900,9200,600,*,DOWN,PDIF
++S 2800,5500,2800,9400,200,06,DOWN,PTRANS
++S 2200,5700,2200,9200,1000,*,UP,PDIF
++S 4000,5500,4000,9400,200,05,DOWN,PTRANS
++S 3400,5700,3400,9200,1000,*,UP,PDIF
++S 4600,5700,4600,9200,1000,*,UP,PDIF
++S 5200,5500,5200,9400,200,04,DOWN,PTRANS
++S 5800,5700,5800,9200,1000,*,UP,PDIF
++S 6400,5500,6400,9400,200,03,DOWN,PTRANS
++S 7000,5700,7000,9200,1000,*,UP,PDIF
++S 7600,5500,7600,9400,200,01,DOWN,PTRANS
++S 8300,5700,8300,9200,600,*,DOWN,PDIF
++S 1000,7000,3500,7000,400,*,RIGHT,ALU1
++S 1000,7100,3500,7100,400,*,RIGHT,ALU1
++S 8000,4000,8000,6000,400,a1,DOWN,CALU1
++S 8000,4000,8000,6000,600,*,UP,ALU1
++S 2000,5000,2000,6000,400,a1,DOWN,CALU1
++S 2000,4900,2000,6000,600,*,UP,ALU1
++S 1600,5000,1600,5500,200,*,DOWN,POLY
++S 2800,5100,4000,5100,200,*,LEFT,POLY
++S 5200,5100,6400,5100,200,*,RIGHT,POLY
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 2800,9400,2800,9700,200,*,DOWN,POLY
++S 4000,9400,4000,9700,200,*,DOWN,POLY
++S 5200,9400,5200,9700,200,*,DOWN,POLY
++S 6400,9400,6400,9700,200,*,DOWN,POLY
++S 7600,9400,7600,9700,200,*,DOWN,POLY
++S 7600,4300,7600,5500,200,*,DOWN,POLY
++S 4000,3900,4000,5000,400,*,DOWN,ALU1
++S 4000,4000,4000,5000,400,b,DOWN,CALU1
++S 6000,2900,6000,5000,400,*,DOWN,ALU1
++S 6000,3000,6000,5000,400,a2,DOWN,CALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,3000,1000,7000,400,*,DOWN,ALU1
++S 3000,5000,4000,5000,600,*,RIGHT,ALU1
++S 1000,3000,4400,3000,400,*,RIGHT,ALU1
++S 1000,2900,4400,2900,400,*,RIGHT,ALU1
++S 4400,1900,4400,3000,400,*,DOWN,ALU1
++S 2100,8000,4600,8000,400,*,RIGHT,ALU1
++S 4600,7000,7000,7000,400,*,RIGHT,ALU1
++S 4600,7000,4600,8000,400,*,UP,ALU1
++S 7000,7000,7000,8000,400,*,UP,ALU1
++S 5800,7900,5800,9300,400,*,DOWN,ALU1
++S 1000,7900,1000,9300,400,*,UP,ALU1
++S 8200,6900,8200,9300,400,*,UP,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3200,2000,CONT_DIF_N,*
++V 5000,4900,CONT_POLY,*
++V 6400,900,CONT_DIF_N,*
++V 6400,1900,CONT_DIF_N,*
++V 3400,7000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,n2
++V 1000,8000,CONT_DIF_P,*
++V 8200,8000,CONT_DIF_P,*
++V 8200,9000,CONT_DIF_P,*
++V 5800,9000,CONT_DIF_P,*
++V 1000,9000,CONT_DIF_P,*
++V 2000,4900,CONT_POLY,*
++V 8000,4500,CONT_POLY,*
++V 3800,4900,CONT_POLY,*
++V 8200,7000,CONT_DIF_P,*
++V 4400,2000,CONT_DIF_N,*
++V 4400,2800,CONT_DIF_N,*
++V 4600,7900,CONT_DIF_P,n2
++V 4600,7100,CONT_DIF_P,n2
++V 7000,7100,CONT_DIF_P,n2
++V 7000,7900,CONT_DIF_P,n2
++V 5800,8000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aoi21_x2.vbe b/alliance/src/cells/src/msxlib/aoi21_x2.vbe
+new file mode 100644
+index 0000000..705fdb4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi21_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY aoi21_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_a1 : NATURAL := 13;
++ CONSTANT cin_a2 : NATURAL := 12;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT rdown_a1_z : NATURAL := 1120;
++ CONSTANT rdown_a2_z : NATURAL := 1120;
++ CONSTANT rdown_b_z : NATURAL := 1040;
++ CONSTANT rup_a1_z : NATURAL := 1490;
++ CONSTANT rup_a2_z : NATURAL := 1490;
++ CONSTANT rup_b_z : NATURAL := 1360;
++ CONSTANT tphl_a1_z : NATURAL := 53;
++ CONSTANT tphl_a2_z : NATURAL := 54;
++ CONSTANT tphl_b_z : NATURAL := 41;
++ CONSTANT tplh_b_z : NATURAL := 43;
++ CONSTANT tplh_a2_z : NATURAL := 60;
++ CONSTANT tplh_a1_z : NATURAL := 68;
++ CONSTANT transistors : NATURAL := 9
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aoi21_x2;
++
++ARCHITECTURE behaviour_data_flow OF aoi21_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aoi21_x2"
++ SEVERITY WARNING;
++ z <= not (((a1 and a2) or b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aoi22_x05.ap b/alliance/src/cells/src/msxlib/aoi22_x05.ap
+new file mode 100644
+index 0000000..dab8c9b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi22_x05.ap
+@@ -0,0 +1,126 @@
++V ALLIANCE : 6
++H aoi22_x05,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 2000,7000,ref_ref,z_70
++R 2000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 3000,2000,ref_ref,z_20
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,b1_50
++R 2000,4000,ref_ref,b1_40
++R 3000,3000,ref_ref,b1_30
++R 3000,6000,ref_ref,b2_60
++R 2000,6000,ref_ref,b2_60
++R 3000,5000,ref_ref,b2_50
++R 3000,4000,ref_ref,b2_40
++R 4000,6000,ref_ref,a2_60
++R 4000,5000,ref_ref,a2_50
++R 4000,4000,ref_ref,a2_40
++R 5000,4000,ref_ref,a1_40
++R 4000,3000,ref_ref,a1_30
++R 1000,7000,ref_ref,z_70
++R 5000,6000,ref_ref,a2_60
++R 5000,3000,ref_ref,a1_30
++R 2000,3000,ref_ref,b1_30
++R 1000,2000,ref_ref,z_20
++R 4000,2000,ref_ref,a1_20
++S 4100,700,4900,700,600,*,RIGHT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 3000,7000,5400,7000,400,*,LEFT,ALU1
++S 5400,7000,5400,8100,400,*,DOWN,ALU1
++S 5400,7300,5400,7900,600,*,UP,PDIF
++S 2000,3000,2000,5100,400,*,UP,ALU1
++S 5000,6000,5000,6000,400,a2,LEFT,CALU1
++S 2000,6000,2000,6000,400,b2,LEFT,CALU1
++S 3000,3000,3000,3000,400,b1,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3600,5600,3600,6300,200,*,DOWN,POLY
++S 2400,4600,2400,6300,200,*,DOWN,POLY
++S 4600,2600,4600,3400,200,*,UP,POLY
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 2600,1700,2600,2600,200,7,UP,NTRANS
++S 3800,1700,3800,2600,200,8,UP,NTRANS
++S 4600,1700,4600,2600,200,6,UP,NTRANS
++S 2200,1900,2200,2400,600,n2,UP,NDIF
++S 5300,1900,5300,2400,600,*,UP,NDIF
++S 4200,1900,4200,2400,600,n1,UP,NDIF
++S 3200,1900,3200,2400,1000,*,UP,NDIF
++S 1200,900,1200,2400,600,*,UP,NDIF
++S 1800,1700,1800,2600,200,5,UP,NTRANS
++S 2000,4900,2000,5100,400,*,UP,ALU1
++S 2000,3000,3100,3000,400,*,LEFT,ALU1
++S 1800,1300,1800,1700,200,*,UP,POLY
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 4600,1300,4600,1700,200,*,UP,POLY
++S 0,5000,6000,5000,10000,aoi22_x05,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 1800,6500,1800,8100,1000,*,UP,PDIF
++S 2400,6300,2400,8300,200,3,DOWN,PTRANS
++S 1200,6300,1200,8300,200,1,DOWN,PTRANS
++S 3600,6300,3600,8300,200,4,DOWN,PTRANS
++S 4800,6300,4800,8300,200,2,DOWN,PTRANS
++S 800,6500,800,8100,400,*,UP,PDIF
++S 5200,6500,5200,8100,400,*,UP,PDIF
++S 3000,6500,3000,8100,1000,*,UP,PDIF
++S 1200,8300,1200,8700,200,*,DOWN,POLY
++S 2400,8300,2400,8700,200,*,DOWN,POLY
++S 3600,8300,3600,8700,200,*,DOWN,POLY
++S 4800,8300,4800,8700,200,*,DOWN,POLY
++S 3000,4000,3000,6000,400,b2,DOWN,CALU1
++S 3000,3900,3000,6000,400,*,DOWN,ALU1
++S 1900,6000,3000,6000,400,*,RIGHT,ALU1
++S 1900,6100,3000,6100,400,*,RIGHT,ALU1
++S 1000,7000,2100,7000,400,*,RIGHT,ALU1
++S 1000,7100,2100,7100,400,*,RIGHT,ALU1
++S 4000,6000,5100,6000,400,*,RIGHT,ALU1
++S 4000,6100,5100,6100,400,*,RIGHT,ALU1
++S 4000,3900,4000,6000,400,*,UP,ALU1
++S 4000,4000,4000,6000,400,a2,DOWN,CALU1
++S 500,8000,3000,8000,400,*,RIGHT,ALU1
++S 3000,7000,3000,8000,600,*,UP,ALU1
++S 4200,7900,4200,9300,400,*,UP,ALU1
++S 4200,6500,4200,8100,600,*,UP,PDIF
++S 2000,3000,2000,5000,400,b1,UP,CALU1
++S 2000,2900,3100,2900,400,*,LEFT,ALU1
++S 5200,700,5200,2100,400,*,UP,ALU1
++S 3800,2600,3800,5300,200,*,UP,POLY
++S 4800,3600,4800,6300,200,*,DOWN,POLY
++S 1800,2600,1800,3400,200,*,UP,POLY
++S 1200,3700,1500,3700,200,*,RIGHT,POLY
++S 1200,3700,1200,6300,200,*,DOWN,POLY
++S 2600,2600,2600,4700,200,*,DOWN,POLY
++S 1800,3500,2000,3500,600,*,RIGHT,ALU1
++S 4000,2000,4000,3000,400,a1,DOWN,CALU1
++S 4000,1900,4000,3100,400,*,DOWN,ALU1
++S 4000,3000,5000,3000,600,*,RIGHT,ALU1
++S 1000,1900,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,3200,2000,600,*,RIGHT,ALU1
++S 5000,3000,5000,4100,400,*,UP,ALU1
++S 5000,3000,5000,4000,400,a1,UP,CALU1
++V 5000,700,CONT_BODY_P,*
++V 4000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 5400,7200,CONT_DIF_P,n3
++V 5400,8000,CONT_DIF_P,n3
++V 1800,7000,CONT_DIF_P,*
++V 5200,2000,CONT_DIF_N,*
++V 1200,1000,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 3000,8000,CONT_DIF_P,n3
++V 600,8000,CONT_DIF_P,n3
++V 3000,7000,CONT_DIF_P,n3
++V 4200,8000,CONT_DIF_P,*
++V 4000,5500,CONT_POLY,*
++V 5000,3500,CONT_POLY,*
++V 1800,3500,CONT_POLY,*
++V 3000,4500,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aoi22_x05.vbe b/alliance/src/cells/src/msxlib/aoi22_x05.vbe
+new file mode 100644
+index 0000000..995b188
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi22_x05.vbe
+@@ -0,0 +1,44 @@
++ENTITY aoi22_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_b1 : NATURAL := 4;
++ CONSTANT cin_b2 : NATURAL := 4;
++ CONSTANT cin_a1 : NATURAL := 4;
++ CONSTANT cin_a2 : NATURAL := 4;
++ CONSTANT rdown_b1_z : NATURAL := 4100;
++ CONSTANT rdown_b2_z : NATURAL := 4090;
++ CONSTANT rdown_a1_z : NATURAL := 4140;
++ CONSTANT rdown_a2_z : NATURAL := 4140;
++ CONSTANT rup_b1_z : NATURAL := 5310;
++ CONSTANT rup_b2_z : NATURAL := 5310;
++ CONSTANT rup_a1_z : NATURAL := 5370;
++ CONSTANT rup_a2_z : NATURAL := 5390;
++ CONSTANT tphl_b1_z : NATURAL := 49;
++ CONSTANT tphl_b2_z : NATURAL := 49;
++ CONSTANT tplh_a2_z : NATURAL := 83;
++ CONSTANT tphl_a1_z : NATURAL := 70;
++ CONSTANT tplh_b2_z : NATURAL := 55;
++ CONSTANT tplh_a1_z : NATURAL := 90;
++ CONSTANT tplh_b1_z : NATURAL := 63;
++ CONSTANT tphl_a2_z : NATURAL := 71;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aoi22_x05;
++
++ARCHITECTURE behaviour_data_flow OF aoi22_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aoi22_x05"
++ SEVERITY WARNING;
++ z <= not (((b1 and b2) or (a1 and a2))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aoi22_x1.ap b/alliance/src/cells/src/msxlib/aoi22_x1.ap
+new file mode 100644
+index 0000000..14246d4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi22_x1.ap
+@@ -0,0 +1,124 @@
++V ALLIANCE : 6
++H aoi22_x1,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 3000,6000,ref_ref,b2_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 3000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 2000,2000,ref_ref,z_20
++R 2000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,b1_50
++R 2000,4000,ref_ref,b1_40
++R 3000,3000,ref_ref,b1_30
++R 2000,6000,ref_ref,b2_60
++R 3000,5000,ref_ref,b2_50
++R 3000,4000,ref_ref,b2_40
++R 4000,6000,ref_ref,a2_60
++R 4000,5000,ref_ref,a2_50
++R 5000,4000,ref_ref,a1_40
++R 5000,5000,ref_ref,a1_50
++R 5000,3000,ref_ref,a1_30
++R 4000,3000,ref_ref,a1_30
++R 5000,6000,ref_ref,a2_60
++R 4000,4000,ref_ref,a2_40
++R 2000,3000,ref_ref,b1_30
++R 1000,7000,ref_ref,z_70
++R 1000,2000,ref_ref,z_20
++S 4100,700,4900,700,600,*,RIGHT,PTIE
++S 3600,5000,3600,5500,200,*,DOWN,POLY
++S 4600,3400,4600,3900,200,*,UP,POLY
++S 3000,7000,5400,7000,400,*,RIGHT,ALU1
++S 5400,7000,5400,8100,400,*,DOWN,ALU1
++S 5400,7300,5400,7900,600,*,DOWN,PDIF
++S 5000,6000,5000,6000,400,a2,LEFT,CALU1
++S 4000,3000,4000,3000,400,a1,LEFT,CALU1
++S 3000,3000,3000,3000,400,b1,LEFT,CALU1
++S 2000,6000,2000,6000,400,b2,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 2600,1700,2600,3400,200,7,UP,NTRANS
++S 3800,1700,3800,3400,200,8,UP,NTRANS
++S 4600,1700,4600,3400,200,6,UP,NTRANS
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,5000,6000,5000,10000,aoi22_x1,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 4600,1300,4600,1700,200,*,UP,POLY
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 2200,1900,2200,3200,600,n2,UP,NDIF
++S 1800,1700,1800,3400,200,5,UP,NTRANS
++S 4200,1900,4200,3200,600,n1,UP,NDIF
++S 3200,1900,3200,3200,1000,*,UP,NDIF
++S 5300,1900,5300,3200,600,*,UP,NDIF
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 1800,1300,1800,1700,200,*,UP,POLY
++S 1200,900,1200,3200,600,*,UP,NDIF
++S 2000,3000,3100,3000,400,*,LEFT,ALU1
++S 2000,4900,2000,5100,400,*,UP,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 1800,5700,1800,9200,1000,*,UP,PDIF
++S 1200,5500,1200,9400,200,1,DOWN,PTRANS
++S 2400,5500,2400,9400,200,3,DOWN,PTRANS
++S 800,5700,800,9200,400,*,UP,PDIF
++S 3600,5500,3600,9400,200,4,DOWN,PTRANS
++S 4800,5500,4800,9400,200,2,DOWN,PTRANS
++S 4200,5700,4200,9200,1000,*,UP,PDIF
++S 3000,5700,3000,9200,1000,*,UP,PDIF
++S 5200,5700,5200,9200,400,*,UP,PDIF
++S 3900,2900,5000,2900,400,*,RIGHT,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 5000,3000,5000,5000,400,a1,UP,CALU1
++S 5000,3000,5000,5100,400,*,UP,ALU1
++S 4000,4000,4000,6000,400,a2,DOWN,CALU1
++S 4000,3900,4000,6000,400,*,UP,ALU1
++S 4000,6000,5100,6000,400,*,RIGHT,ALU1
++S 4000,6100,5100,6100,400,*,RIGHT,ALU1
++S 3000,4000,3000,6000,400,b2,DOWN,CALU1
++S 3000,3900,3000,6000,400,*,DOWN,ALU1
++S 1900,6000,3000,6000,400,*,RIGHT,ALU1
++S 1900,6100,3000,6100,400,*,RIGHT,ALU1
++S 500,8000,3000,8000,400,*,RIGHT,ALU1
++S 3000,7000,3000,8000,600,*,DOWN,ALU1
++S 4200,7900,4200,9300,400,*,DOWN,ALU1
++S 2000,3000,2000,5000,400,b1,UP,CALU1
++S 2000,3000,2000,3900,400,*,UP,ALU1
++S 2000,2900,3100,2900,400,*,LEFT,ALU1
++S 1000,2000,3300,2000,400,*,RIGHT,ALU1
++S 1000,7000,2100,7000,400,*,RIGHT,ALU1
++S 1800,4000,2000,4000,600,*,RIGHT,ALU1
++S 1200,4200,1500,4200,200,*,RIGHT,POLY
++S 1200,4200,1200,5500,200,*,DOWN,POLY
++S 3800,3400,3800,4700,200,*,UP,POLY
++S 4800,3800,4800,5500,200,*,DOWN,POLY
++S 5200,700,5200,2100,400,*,UP,ALU1
++S 1000,7100,2100,7100,400,*,RIGHT,ALU1
++S 1000,1900,3300,1900,400,*,RIGHT,ALU1
++S 2600,3400,2600,5100,200,*,DOWN,POLY
++S 2400,5000,2400,5500,200,*,DOWN,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++V 5000,700,CONT_BODY_P,*
++V 4000,700,CONT_BODY_P,*
++V 5400,7200,CONT_DIF_P,n3
++V 5400,8000,CONT_DIF_P,n3
++V 3200,2000,CONT_DIF_N,*
++V 1200,1000,CONT_DIF_N,*
++V 5200,2000,CONT_DIF_N,*
++V 600,8000,CONT_DIF_P,n3
++V 3000,8000,CONT_DIF_P,n3
++V 1800,7000,CONT_DIF_P,*
++V 4200,9000,CONT_DIF_P,*
++V 4000,4900,CONT_POLY,*
++V 3000,7000,CONT_DIF_P,n3
++V 4200,8000,CONT_DIF_P,*
++V 1800,4000,CONT_POLY,*
++V 3000,4000,CONT_POLY,*
++V 5000,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aoi22_x1.vbe b/alliance/src/cells/src/msxlib/aoi22_x1.vbe
+new file mode 100644
+index 0000000..c6b647e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi22_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY aoi22_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_b1 : NATURAL := 6;
++ CONSTANT cin_b2 : NATURAL := 6;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT cin_a2 : NATURAL := 6;
++ CONSTANT rdown_b1_z : NATURAL := 2170;
++ CONSTANT rdown_b2_z : NATURAL := 2160;
++ CONSTANT rdown_a1_z : NATURAL := 2190;
++ CONSTANT rdown_a2_z : NATURAL := 2190;
++ CONSTANT rup_b1_z : NATURAL := 2720;
++ CONSTANT rup_b2_z : NATURAL := 2720;
++ CONSTANT rup_a1_z : NATURAL := 2750;
++ CONSTANT rup_a2_z : NATURAL := 2760;
++ CONSTANT tphl_b1_z : NATURAL := 46;
++ CONSTANT tphl_b2_z : NATURAL := 47;
++ CONSTANT tplh_a2_z : NATURAL := 77;
++ CONSTANT tphl_a1_z : NATURAL := 67;
++ CONSTANT tplh_b2_z : NATURAL := 51;
++ CONSTANT tplh_a1_z : NATURAL := 83;
++ CONSTANT tplh_b1_z : NATURAL := 58;
++ CONSTANT tphl_a2_z : NATURAL := 68;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aoi22_x1;
++
++ARCHITECTURE behaviour_data_flow OF aoi22_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aoi22_x1"
++ SEVERITY WARNING;
++ z <= not (((b1 and b2) or (a1 and a2))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aoi22_x2.ap b/alliance/src/cells/src/msxlib/aoi22_x2.ap
+new file mode 100644
+index 0000000..4677497
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi22_x2.ap
+@@ -0,0 +1,168 @@
++V ALLIANCE : 6
++H aoi22_x2,P, 8/ 8/2014,100
++A 0,0,11000,10000
++R 1000,2000,ref_ref,z_20
++R 9000,5000,ref_ref,a2_50
++R 9000,4000,ref_ref,a2_40
++R 7000,5000,ref_ref,a1_50
++R 4000,5000,ref_ref,b1_50
++R 5000,6000,ref_ref,b2_60
++R 2000,6000,ref_ref,b2_60
++R 1000,7000,ref_ref,z_70
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 4000,6000,ref_ref,b2_60
++R 2000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 3000,2000,ref_ref,z_20
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 6000,5000,ref_ref,a2_50
++R 10000,5000,ref_ref,a2_50
++R 7000,6000,ref_ref,a2_60
++R 8000,6000,ref_ref,a2_60
++R 9000,6000,ref_ref,a2_60
++R 2000,5000,ref_ref,b2_50
++R 5000,5000,ref_ref,b2_50
++R 3000,6000,ref_ref,b2_60
++R 2000,4000,ref_ref,b2_40
++R 4000,7000,ref_ref,z_70
++R 4000,2000,ref_ref,z_20
++R 5000,2000,ref_ref,z_20
++R 4000,4000,ref_ref,b1_40
++R 4000,3000,ref_ref,b1_30
++R 3000,5000,ref_ref,b1_50
++R 7000,4000,ref_ref,a1_40
++R 7000,3000,ref_ref,a1_30
++R 8000,5000,ref_ref,a1_50
++R 6000,6000,ref_ref,a2_60
++S 9100,700,9900,700,600,*,RIGHT,PTIE
++S 10200,5800,10200,7000,400,*,UP,ALU1
++S 10200,6000,10200,6600,600,*,DOWN,PDIF
++S 5400,7000,10200,7000,400,*,RIGHT,ALU1
++S 6800,3900,6800,5200,200,*,UP,POLY
++S 6000,3900,6000,4700,200,*,UP,POLY
++S 4000,3900,4000,4700,200,*,UP,POLY
++S 4800,3900,4800,4700,200,*,UP,POLY
++S 1200,4600,1200,5600,200,*,DOWN,POLY
++S 9600,9300,9600,9700,200,*,DOWN,POLY
++S 8400,9300,8400,9700,200,*,DOWN,POLY
++S 7200,9300,7200,9700,200,*,DOWN,POLY
++S 6000,9300,6000,9700,200,*,DOWN,POLY
++S 4800,9300,4800,9700,200,*,DOWN,POLY
++S 3600,9300,3600,9700,200,*,DOWN,POLY
++S 2400,9300,2400,9700,200,*,DOWN,POLY
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 7400,700,7400,2100,400,*,DOWN,ALU1
++S 5400,1900,5400,3100,400,*,UP,ALU1
++S 1000,1900,5400,1900,400,*,RIGHT,ALU1
++S 9000,5000,10100,5000,400,*,RIGHT,ALU1
++S 6000,6000,9000,6000,400,*,RIGHT,ALU1
++S 9000,4000,9000,6000,600,*,UP,ALU1
++S 9000,4000,9000,6000,400,a2,UP,CALU1
++S 7000,3000,7000,5000,400,a1,DOWN,CALU1
++S 7000,2900,7000,5000,400,*,DOWN,ALU1
++S 7000,5100,8100,5100,400,*,RIGHT,ALU1
++S 1000,2000,5400,2000,400,*,RIGHT,ALU1
++S 2000,4000,2000,6000,600,*,DOWN,ALU1
++S 2900,5100,4000,5100,400,*,RIGHT,ALU1
++S 4000,2900,4000,5000,400,*,DOWN,ALU1
++S 4000,3000,4000,5000,400,b1,UP,CALU1
++S 2000,4000,2000,6000,400,b2,UP,CALU1
++S 6000,5000,6000,6000,600,*,UP,ALU1
++S 5000,5000,5000,6000,600,*,DOWN,ALU1
++S 5000,5000,5000,6000,400,b2,UP,CALU1
++S 6600,7900,6600,9300,400,*,UP,ALU1
++S 5400,7000,5400,8000,600,*,UP,ALU1
++S 7800,7000,7800,8100,400,*,DOWN,ALU1
++S 500,8000,5400,8000,400,*,RIGHT,ALU1
++S 6000,5000,6000,6000,400,a2,UP,CALU1
++S 1000,7000,4300,7000,400,*,RIGHT,ALU1
++S 1000,7100,4300,7100,400,*,RIGHT,ALU1
++S 9000,7900,9000,9300,400,*,UP,ALU1
++S 4800,5600,4800,9300,200,4b,DOWN,PTRANS
++S 1200,5600,1200,9300,200,4a,DOWN,PTRANS
++S 3600,5600,3600,9300,200,3b,DOWN,PTRANS
++S 2400,5600,2400,9300,200,3a,DOWN,PTRANS
++S 6000,5600,6000,9300,200,2a,DOWN,PTRANS
++S 7200,5600,7200,9300,200,1a,DOWN,PTRANS
++S 8400,5600,8400,9300,200,1b,DOWN,PTRANS
++S 9600,5600,9600,9300,200,2b,DOWN,PTRANS
++S 4000,300,4000,600,200,*,UP,POLY
++S 4800,300,4800,600,200,*,UP,POLY
++S 6000,300,6000,600,200,*,UP,POLY
++S 6800,300,6800,600,200,*,UP,POLY
++S 7500,800,7500,3700,600,*,UP,NDIF
++S 5400,800,5400,3700,1000,*,UP,NDIF
++S 6000,600,6000,3900,200,6,UP,NTRANS
++S 6800,600,6800,3900,200,5,UP,NTRANS
++S 6400,800,6400,3700,600,n1,UP,NDIF
++S 3300,800,3300,3700,600,*,UP,NDIF
++S 4000,600,4000,3900,200,7,UP,NTRANS
++S 4800,600,4800,3900,200,8,UP,NTRANS
++S 4400,800,4400,3600,600,n2,UP,NDIF
++S 0,9400,11000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,11000,5000,10000,aoi22_x2,LEFT,TALU8
++S 0,2200,11000,2200,5200,*,LEFT,PWELL
++S 0,7600,11000,7600,5600,*,LEFT,NWELL
++S 0,600,11000,600,1200,vss,RIGHT,CALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 4200,5800,4200,9100,1000,*,UP,PDIF
++S 3000,5800,3000,9100,1000,*,UP,PDIF
++S 1800,5800,1800,9100,1000,*,UP,PDIF
++S 7200,5200,8400,5200,200,*,RIGHT,POLY
++S 2000,6000,5000,6000,400,*,RIGHT,ALU1
++S 2400,5200,3600,5200,200,*,RIGHT,POLY
++S 1200,4600,1700,4600,200,*,RIGHT,POLY
++S 5400,5800,5400,9100,1000,*,UP,PDIF
++S 6600,5800,6600,9100,1000,*,UP,PDIF
++S 7800,5800,7800,9100,1000,*,UP,PDIF
++S 9000,5800,9000,9100,1000,*,UP,PDIF
++S 2900,5000,4000,5000,400,*,RIGHT,ALU1
++S 7000,5000,8100,5000,400,*,RIGHT,ALU1
++S 10000,5800,10000,9100,400,*,UP,PDIF
++S 800,5800,800,9100,400,*,UP,PDIF
++S 7000,6000,7000,6000,400,a2,LEFT,CALU1
++S 8000,6000,8000,6000,400,a2,LEFT,CALU1
++S 10000,5000,10000,5000,400,a2,LEFT,CALU1
++S 8000,5000,8000,5000,400,a1,LEFT,CALU1
++S 3000,6000,3000,6000,400,b2,LEFT,CALU1
++S 4000,6000,4000,6000,400,b2,LEFT,CALU1
++S 3000,5000,3000,5000,400,b1,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 4000,7000,4000,7000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 4000,2000,4000,2000,400,z,LEFT,CALU1
++S 5000,2000,5000,2000,400,z,LEFT,CALU1
++V 10000,700,CONT_BODY_P,*
++V 9000,700,CONT_BODY_P,*
++V 10200,6700,CONT_DIF_P,n3
++V 10200,5900,CONT_DIF_P,n3
++V 9400,5000,CONT_POLY,*
++V 7400,2000,CONT_DIF_N,*
++V 6600,8000,CONT_DIF_P,*
++V 5400,7000,CONT_DIF_P,n3
++V 9000,8000,CONT_DIF_P,*
++V 7800,7000,CONT_DIF_P,n3
++V 5000,5000,CONT_POLY,*
++V 600,8000,CONT_DIF_P,n3
++V 3000,8000,CONT_DIF_P,n3
++V 5400,8000,CONT_DIF_P,n3
++V 7800,8000,CONT_DIF_P,n3
++V 6000,5000,CONT_POLY,*
++V 2000,4400,CONT_POLY,*
++V 3800,5000,CONT_POLY,*
++V 6600,9000,CONT_DIF_P,*
++V 9000,9000,CONT_DIF_P,*
++V 1800,7000,CONT_DIF_P,*
++V 4200,7000,CONT_DIF_P,*
++V 5400,2000,CONT_DIF_N,*
++V 7400,1000,CONT_DIF_N,*
++V 3400,1000,CONT_DIF_N,*
++V 5400,3000,CONT_DIF_N,*
++V 7100,5000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aoi22_x2.vbe b/alliance/src/cells/src/msxlib/aoi22_x2.vbe
+new file mode 100644
+index 0000000..329506d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aoi22_x2.vbe
+@@ -0,0 +1,44 @@
++ENTITY aoi22_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 11000;
++ CONSTANT cin_b1 : NATURAL := 11;
++ CONSTANT cin_b2 : NATURAL := 12;
++ CONSTANT cin_a1 : NATURAL := 11;
++ CONSTANT cin_a2 : NATURAL := 12;
++ CONSTANT rdown_b1_z : NATURAL := 1110;
++ CONSTANT rdown_b2_z : NATURAL := 1110;
++ CONSTANT rdown_a1_z : NATURAL := 1120;
++ CONSTANT rdown_a2_z : NATURAL := 1120;
++ CONSTANT rup_b1_z : NATURAL := 1430;
++ CONSTANT rup_b2_z : NATURAL := 1430;
++ CONSTANT rup_a1_z : NATURAL := 1450;
++ CONSTANT rup_a2_z : NATURAL := 1450;
++ CONSTANT tphl_b1_z : NATURAL := 44;
++ CONSTANT tphl_b2_z : NATURAL := 46;
++ CONSTANT tplh_a2_z : NATURAL := 75;
++ CONSTANT tphl_a1_z : NATURAL := 64;
++ CONSTANT tplh_b2_z : NATURAL := 51;
++ CONSTANT tplh_a1_z : NATURAL := 81;
++ CONSTANT tplh_b1_z : NATURAL := 57;
++ CONSTANT tphl_a2_z : NATURAL := 66;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aoi22_x2;
++
++ARCHITECTURE behaviour_data_flow OF aoi22_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aoi22_x2"
++ SEVERITY WARNING;
++ z <= not (((b1 and b2) or (a1 and a2))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aon21_x1.ap b/alliance/src/cells/src/msxlib/aon21_x1.ap
+new file mode 100644
+index 0000000..bfdcb14
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon21_x1.ap
+@@ -0,0 +1,110 @@
++V ALLIANCE : 6
++H aon21_x1,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 6000,6000,ref_ref,a2_60
++R 5000,5000,ref_ref,a2_50
++R 5000,7000,ref_ref,b_70
++R 4000,6000,ref_ref,b_60
++R 4000,5000,ref_ref,b_50
++R 6000,4000,ref_ref,a1_40
++R 6000,7000,ref_ref,a2_70
++R 4000,7000,ref_ref,b_70
++R 5000,6000,ref_ref,a2_60
++R 5000,4000,ref_ref,a1_40
++R 6000,5000,ref_ref,a1_50
++R 5000,3000,ref_ref,a1_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 2000,7000,ref_ref,z_70
++R 5000,2000,ref_ref,a1_20
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 5800,8900,5800,9300,200,*,DOWN,POLY
++S 4600,8900,4600,9300,200,*,DOWN,POLY
++S 3400,8900,3400,9300,200,*,DOWN,POLY
++S 5800,6300,5800,8900,200,1,DOWN,PTRANS
++S 6200,6500,6200,8700,400,*,UP,PDIF
++S 3000,6500,3000,8700,400,*,UP,PDIF
++S 4600,6300,4600,8900,200,2,DOWN,PTRANS
++S 3400,6300,3400,8900,200,3,DOWN,PTRANS
++S 4000,6500,4000,8700,600,*,UP,PDIF
++S 6100,2700,6100,3500,600,*,UP,NDIF
++S 4200,2700,4200,3500,400,*,UP,NDIF
++S 4600,2500,4600,3700,200,5,UP,NTRANS
++S 5400,2500,5400,3700,200,4,UP,NTRANS
++S 5000,2700,5000,3500,600,n1,UP,NDIF
++S 5400,2100,5400,2500,200,*,UP,POLY
++S 4600,2100,4600,2500,200,*,UP,POLY
++S 3400,3000,3400,3700,200,6,UP,NTRANS
++S 4000,3200,4000,3500,1000,*,UP,NDIF
++S 3400,2600,3400,3000,200,*,UP,POLY
++S 4600,3700,4600,6300,200,*,DOWN,POLY
++S 1600,3700,1600,5100,200,*,UP,POLY
++S 3400,3700,3400,6300,200,*,DOWN,POLY
++S 4000,3300,4000,4000,400,*,DOWN,ALU1
++S 5800,4100,5800,6300,200,*,UP,POLY
++S 5400,4100,5800,4100,200,*,RIGHT,POLY
++S 1200,5100,1200,6300,200,*,DOWN,POLY
++S 1600,2300,1600,2700,200,*,UP,POLY
++S 1000,2900,1000,7100,400,*,DOWN,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2500,2900,2500,3500,1200,*,UP,NDIF
++S 1600,2700,1600,3700,200,5,UP,NTRANS
++S 1200,2900,1200,3500,400,*,DOWN,NDIF
++S 5200,6500,5200,8800,600,*,UP,PDIF
++S 1200,8300,1200,8700,200,*,DOWN,POLY
++S 800,6500,800,8100,400,*,UP,PDIF
++S 1700,6500,1700,8100,400,*,UP,PDIF
++S 1200,6300,1200,8300,200,3,DOWN,PTRANS
++S 1800,7700,1800,8100,600,*,UP,PDIF
++S 4000,7000,5100,7000,400,*,RIGHT,ALU1
++S 3900,8000,6500,8000,400,*,RIGHT,ALU1
++S 4000,7100,5100,7100,400,*,RIGHT,ALU1
++S 5000,5000,5000,6000,400,a2,DOWN,CALU1
++S 5000,4800,5000,6000,400,*,UP,ALU1
++S 5000,6000,6000,6000,600,*,RIGHT,ALU1
++S 6000,6000,6000,7100,400,*,UP,ALU1
++S 6000,6000,6000,7000,400,a2,UP,CALU1
++S 3900,4800,3900,5000,600,*,UP,ALU1
++S 4000,5000,4000,7000,400,b,DOWN,CALU1
++S 4000,5000,4000,7000,400,*,DOWN,ALU1
++S 6000,4000,6000,5000,400,a1,UP,CALU1
++S 6000,4000,6000,5000,600,*,UP,ALU1
++S 5000,4000,6000,4000,400,*,RIGHT,ALU1
++S 6000,700,6000,3100,400,*,UP,ALU1
++S 5000,7000,5000,7000,400,b,LEFT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,aon21_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 2200,700,2200,3100,400,*,UP,ALU1
++S 1200,5100,1900,5100,200,*,RIGHT,POLY
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 2800,4000,4000,4000,400,*,RIGHT,ALU1
++S 1800,4900,2800,4900,400,*,RIGHT,ALU1
++S 1800,7900,1800,9300,400,*,UP,ALU1
++S 600,7000,2000,7000,600,*,LEFT,ALU1
++S 2800,4000,2800,6700,400,*,DOWN,ALU1
++S 5000,2000,5000,4000,600,*,DOWN,ALU1
++S 5000,2000,5000,4000,400,a1,DOWN,CALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1000,9300,CONT_BODY_N,*
++V 4000,3400,CONT_DIF_N,zn
++V 1000,3400,CONT_DIF_N,*
++V 5000,4900,CONT_POLY,*
++V 6000,4900,CONT_POLY,*
++V 3800,4900,CONT_POLY,*
++V 6000,3000,CONT_DIF_N,*
++V 5200,9000,CONT_DIF_P,*
++V 6400,8000,CONT_DIF_P,n2
++V 4000,8000,CONT_DIF_P,n2
++V 1800,8000,CONT_DIF_P,*
++V 2200,3000,CONT_DIF_N,*
++V 1900,4900,CONT_POLY,zn
++V 2800,6600,CONT_DIF_P,zn
++V 600,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aon21_x1.vbe b/alliance/src/cells/src/msxlib/aon21_x1.vbe
+new file mode 100644
+index 0000000..b1daf14
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon21_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY aon21_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a1 : NATURAL := 5;
++ CONSTANT cin_a2 : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT rdown_a1_z : NATURAL := 2310;
++ CONSTANT rdown_a2_z : NATURAL := 2300;
++ CONSTANT rdown_b_z : NATURAL := 2290;
++ CONSTANT rup_a1_z : NATURAL := 2980;
++ CONSTANT rup_a2_z : NATURAL := 2980;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT tphh_a1_z : NATURAL := 94;
++ CONSTANT tphh_b_z : NATURAL := 80;
++ CONSTANT tpll_b_z : NATURAL := 91;
++ CONSTANT tphh_a2_z : NATURAL := 95;
++ CONSTANT tpll_a2_z : NATURAL := 113;
++ CONSTANT tpll_a1_z : NATURAL := 123;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aon21_x1;
++
++ARCHITECTURE behaviour_data_flow OF aon21_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aon21_x1"
++ SEVERITY WARNING;
++ z <= ((a1 and a2) or b) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aon21_x2.ap b/alliance/src/cells/src/msxlib/aon21_x2.ap
+new file mode 100644
+index 0000000..cb0ae11
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon21_x2.ap
+@@ -0,0 +1,119 @@
++V ALLIANCE : 6
++H aon21_x2,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 6000,6000,ref_ref,a2_60
++R 5000,5000,ref_ref,a2_50
++R 5000,7000,ref_ref,b_70
++R 4000,6000,ref_ref,b_60
++R 4000,5000,ref_ref,b_50
++R 6000,4000,ref_ref,a1_40
++R 6000,7000,ref_ref,a2_70
++R 4000,7000,ref_ref,b_70
++R 5000,6000,ref_ref,a2_60
++R 5000,4000,ref_ref,a1_40
++R 6000,5000,ref_ref,a1_50
++R 5000,3000,ref_ref,a1_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++R 2000,7000,ref_ref,z_70
++R 5000,2000,ref_ref,a1_20
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 4600,1400,4600,1800,200,*,UP,POLY
++S 5400,1400,5400,1800,200,*,UP,POLY
++S 6100,2000,6100,3300,600,*,UP,NDIF
++S 5400,1800,5400,3500,200,4,UP,NTRANS
++S 5000,2000,5000,3300,600,n1,UP,NDIF
++S 4600,1800,4600,3500,200,5,UP,NTRANS
++S 4200,2000,4200,3300,400,*,UP,NDIF
++S 1600,1200,1600,1600,200,*,UP,POLY
++S 1000,2500,1000,3100,600,*,UP,NDIF
++S 1200,1800,1200,3300,400,*,DOWN,NDIF
++S 1600,1600,1600,3500,200,5,UP,NTRANS
++S 2500,1800,2500,3300,1200,*,UP,NDIF
++S 4000,3100,4000,4000,400,*,DOWN,ALU1
++S 4600,3500,4600,5500,200,*,DOWN,POLY
++S 3400,2100,3400,2500,200,*,UP,POLY
++S 3400,2500,3400,3500,200,6,UP,NTRANS
++S 4000,2700,4000,3300,1000,*,UP,NDIF
++S 5800,3900,5800,4700,200,*,UP,POLY
++S 5400,3900,5800,3900,200,*,RIGHT,POLY
++S 3400,3300,3400,5500,200,*,DOWN,POLY
++S 4000,7000,5100,7000,400,*,RIGHT,ALU1
++S 3900,8000,6500,8000,400,*,RIGHT,ALU1
++S 4000,7100,5100,7100,400,*,RIGHT,ALU1
++S 5000,5000,5000,6000,400,a2,DOWN,CALU1
++S 5000,4800,5000,6000,400,*,UP,ALU1
++S 5000,6000,6000,6000,600,*,RIGHT,ALU1
++S 6000,6000,6000,7100,400,*,UP,ALU1
++S 6000,6000,6000,7000,400,a2,UP,CALU1
++S 3900,4800,3900,5000,600,*,UP,ALU1
++S 4000,5000,4000,7000,400,b,DOWN,CALU1
++S 4000,5000,4000,7000,400,*,DOWN,ALU1
++S 6000,4000,6000,5000,400,a1,UP,CALU1
++S 6000,4000,6000,5000,600,*,UP,ALU1
++S 5000,4000,6000,4000,400,*,RIGHT,ALU1
++S 6000,700,6000,3100,400,*,UP,ALU1
++S 5000,7000,5000,7000,400,b,LEFT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,aon21_x2,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 2200,700,2200,3100,400,*,UP,ALU1
++S 1600,3600,1600,5100,200,*,UP,POLY
++S 1200,5100,1900,5100,200,*,RIGHT,POLY
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 2800,4000,4000,4000,400,*,RIGHT,ALU1
++S 1800,4900,2800,4900,400,*,RIGHT,ALU1
++S 1800,7900,1800,9300,400,*,UP,ALU1
++S 600,7000,2000,7000,600,*,LEFT,ALU1
++S 600,6100,600,6900,600,*,DOWN,PDIF
++S 1000,1900,1000,7100,400,*,DOWN,ALU1
++S 600,6000,1000,6000,600,*,RIGHT,ALU1
++S 2800,4000,2800,6700,400,*,DOWN,ALU1
++S 2800,5900,2800,6500,600,*,UP,PDIF
++S 1200,5500,1200,9300,200,3,DOWN,PTRANS
++S 1700,5700,1700,9100,400,*,UP,PDIF
++S 1800,7700,1800,9100,600,*,UP,PDIF
++S 800,5700,800,9100,400,*,UP,PDIF
++S 4000,5700,4000,9100,600,*,UP,PDIF
++S 4600,5500,4600,9300,200,2,DOWN,PTRANS
++S 3400,5500,3400,9300,200,3,DOWN,PTRANS
++S 3000,5700,3000,9100,400,*,UP,PDIF
++S 6200,5700,6200,9100,400,*,UP,PDIF
++S 5800,5500,5800,9300,200,1,DOWN,PTRANS
++S 5200,5700,5200,9100,600,*,UP,PDIF
++S 5800,9300,5800,9700,200,*,DOWN,POLY
++S 4600,9300,4600,9700,200,*,DOWN,POLY
++S 3400,9300,3400,9700,200,*,DOWN,POLY
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 5000,2000,5000,4000,600,*,DOWN,ALU1
++S 5000,2000,5000,4000,400,a1,DOWN,CALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 6000,2100,CONT_DIF_N,*
++V 1000,2400,CONT_DIF_N,*
++V 1000,3200,CONT_DIF_N,*
++V 4000,3200,CONT_DIF_N,zn
++V 5000,4900,CONT_POLY,*
++V 6000,4900,CONT_POLY,*
++V 3800,4900,CONT_POLY,*
++V 6000,3000,CONT_DIF_N,*
++V 5200,9000,CONT_DIF_P,*
++V 6400,8000,CONT_DIF_P,n2
++V 4000,8000,CONT_DIF_P,n2
++V 1800,9000,CONT_DIF_P,*
++V 1800,8000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 2200,3000,CONT_DIF_N,*
++V 2800,5800,CONT_DIF_P,zn
++V 1900,4900,CONT_POLY,zn
++V 2800,6600,CONT_DIF_P,zn
++V 600,7000,CONT_DIF_P,*
++V 600,6000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aon21_x2.vbe b/alliance/src/cells/src/msxlib/aon21_x2.vbe
+new file mode 100644
+index 0000000..cec020d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon21_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY aon21_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a1 : NATURAL := 7;
++ CONSTANT cin_a2 : NATURAL := 7;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT rdown_a1_z : NATURAL := 1210;
++ CONSTANT rdown_a2_z : NATURAL := 1210;
++ CONSTANT rdown_b_z : NATURAL := 1210;
++ CONSTANT rup_a1_z : NATURAL := 1570;
++ CONSTANT rup_a2_z : NATURAL := 1570;
++ CONSTANT rup_b_z : NATURAL := 1560;
++ CONSTANT tphh_a1_z : NATURAL := 97;
++ CONSTANT tphh_b_z : NATURAL := 83;
++ CONSTANT tpll_b_z : NATURAL := 94;
++ CONSTANT tphh_a2_z : NATURAL := 98;
++ CONSTANT tpll_a2_z : NATURAL := 116;
++ CONSTANT tpll_a1_z : NATURAL := 126;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aon21_x2;
++
++ARCHITECTURE behaviour_data_flow OF aon21_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aon21_x2"
++ SEVERITY WARNING;
++ z <= ((a1 and a2) or b) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aon22_x1.ap b/alliance/src/cells/src/msxlib/aon22_x1.ap
+new file mode 100644
+index 0000000..a1f15c4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon22_x1.ap
+@@ -0,0 +1,140 @@
++V ALLIANCE : 6
++H aon22_x1,P, 8/ 8/2014,100
++A 0,0,8000,10000
++R 6000,7000,ref_ref,a2_70
++R 5000,7000,ref_ref,b2_70
++R 6000,6000,ref_ref,a2_60
++R 6000,5000,ref_ref,a2_50
++R 7000,5000,ref_ref,a1_50
++R 7000,3000,ref_ref,a1_30
++R 6000,3000,ref_ref,a1_30
++R 7000,6000,ref_ref,a2_60
++R 6000,4000,ref_ref,a2_40
++R 4000,3000,ref_ref,b1_30
++R 4000,5000,ref_ref,b1_50
++R 5000,6000,ref_ref,b2_60
++R 7000,4000,ref_ref,a1_40
++R 4000,4000,ref_ref,b1_40
++R 5000,3000,ref_ref,b1_30
++R 4000,6000,ref_ref,b2_60
++R 5000,5000,ref_ref,b2_50
++R 5000,4000,ref_ref,b2_40
++R 2000,6000,ref_ref,z_60
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++S 2100,9300,2900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 6200,5900,6200,9100,600,*,UP,PDIF
++S 6000,4000,6000,7000,400,a2,DOWN,CALU1
++S 5000,4000,5000,7000,400,b2,DOWN,CALU1
++S 5000,3900,5000,7100,400,*,DOWN,ALU1
++S 6000,3900,6000,7100,400,*,UP,ALU1
++S 7400,7300,7400,8100,600,*,DOWN,PDIF
++S 7400,7000,7400,8000,400,*,DOWN,ALU1
++S 2500,8000,7400,8000,400,*,RIGHT,ALU1
++S 4000,3000,4000,5000,400,b1,UP,CALU1
++S 4000,3000,4000,3900,400,*,UP,ALU1
++S 4000,2900,5100,2900,400,*,LEFT,ALU1
++S 3000,2000,5300,2000,400,*,RIGHT,ALU1
++S 7200,700,7200,2100,400,*,UP,ALU1
++S 6000,6000,7100,6000,400,*,RIGHT,ALU1
++S 3900,6000,5000,6000,400,*,RIGHT,ALU1
++S 3000,2000,3000,7000,400,*,DOWN,ALU1
++S 5900,2900,7000,2900,400,*,RIGHT,ALU1
++S 5900,3000,7000,3000,400,*,RIGHT,ALU1
++S 7000,3000,7000,5000,400,a1,UP,CALU1
++S 7000,3000,7000,5100,400,*,UP,ALU1
++S 7000,6000,7000,6000,400,a2,LEFT,CALU1
++S 6000,3000,6000,3000,400,a1,LEFT,CALU1
++S 5000,3000,5000,3000,400,b1,LEFT,CALU1
++S 4000,6000,4000,6000,400,b2,LEFT,CALU1
++S 4000,3000,5100,3000,400,*,LEFT,ALU1
++S 4000,4900,4000,5100,400,*,UP,ALU1
++S 1000,6000,2000,6000,600,*,LEFT,ALU1
++S 2000,6000,2000,6000,400,z,LEFT,CALU1
++S 3000,7000,3900,7000,400,*,RIGHT,ALU1
++S 600,8400,600,9300,400,*,UP,ALU1
++S 1800,4900,3000,4900,400,*,RIGHT,ALU1
++S 1700,5900,1700,6900,400,*,DOWN,ALU1
++S 6600,1300,6600,1700,200,*,UP,POLY
++S 5800,1300,5800,1700,200,*,UP,POLY
++S 4600,1300,4600,1700,200,*,UP,POLY
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 6600,2900,6600,3900,200,*,UP,POLY
++S 5800,2900,5800,4700,200,*,UP,POLY
++S 4600,2900,4600,5100,200,*,DOWN,POLY
++S 3800,2900,3800,4000,200,*,UP,POLY
++S 1100,5100,1900,5100,200,*,RIGHT,POLY
++S 1100,7500,1100,7900,200,*,UP,POLY
++S 6800,8300,6800,8700,200,*,DOWN,POLY
++S 5600,8300,5600,8700,200,*,DOWN,POLY
++S 3200,8300,3200,8700,200,*,DOWN,POLY
++S 4400,8300,4400,8700,200,*,DOWN,POLY
++S 4200,1900,4200,2700,600,n2,UP,NDIF
++S 5200,1900,5200,2700,1000,*,UP,NDIF
++S 7300,1900,7300,2700,600,*,UP,NDIF
++S 6200,1900,6200,2700,600,n1,UP,NDIF
++S 6600,1700,6600,2900,200,6,UP,NTRANS
++S 3800,1700,3800,2900,200,5,UP,NTRANS
++S 4600,1700,4600,2900,200,7,UP,NTRANS
++S 5800,1700,5800,2900,200,8,UP,NTRANS
++S 600,5700,600,8600,400,*,DOWN,PDIF
++S 500,5700,500,8600,400,*,DOWN,PDIF
++S 3800,5900,3800,8100,1000,*,UP,PDIF
++S 5000,5900,5000,8100,1000,*,UP,PDIF
++S 6800,5700,6800,8300,200,2,DOWN,PTRANS
++S 2800,5900,2800,8100,400,*,UP,PDIF
++S 1100,5500,1100,7500,200,1z,DOWN,PTRANS
++S 4400,5700,4400,8300,200,3,DOWN,PTRANS
++S 3200,5700,3200,8300,200,1,DOWN,PTRANS
++S 1500,5700,1500,7300,400,*,UP,PDIF
++S 1700,6100,1700,6700,600,*,UP,PDIF
++S 5600,5700,5600,8300,200,4,DOWN,PTRANS
++S 7200,5900,7200,8100,400,*,UP,PDIF
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 0,5000,8000,5000,10000,aon22_x1,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 1600,2900,1600,3900,200,2z,UP,NTRANS
++S 1200,3100,1200,3700,400,*,UP,NDIF
++S 1600,2500,1600,2900,200,*,DOWN,POLY
++S 2500,1900,2500,3700,1200,*,UP,NDIF
++S 2200,700,2200,3100,400,*,DOWN,ALU1
++S 3200,1900,3200,2700,600,*,UP,NDIF
++S 3200,4300,3500,4300,200,*,RIGHT,POLY
++S 3200,4300,3200,5700,200,*,DOWN,POLY
++S 4400,5000,4400,5700,200,*,DOWN,POLY
++S 5600,5000,5600,5700,200,*,DOWN,POLY
++S 6800,3800,6800,5700,200,*,DOWN,POLY
++S 3800,4100,4000,4100,600,*,RIGHT,ALU1
++S 1600,3900,1600,5100,200,*,UP,POLY
++S 1000,1900,1000,6000,400,*,DOWN,ALU1
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++V 3000,9300,CONT_BODY_N,*
++V 2000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 7400,7100,CONT_DIF_P,n3
++V 7400,7900,CONT_DIF_P,n3
++V 6200,9000,CONT_DIF_P,*
++V 5000,4000,CONT_POLY,*
++V 6000,4900,CONT_POLY,*
++V 7000,4000,CONT_POLY,*
++V 1900,4900,CONT_POLY,zn
++V 7200,2000,CONT_DIF_N,*
++V 5200,2000,CONT_DIF_N,zn
++V 2200,2000,CONT_DIF_N,*
++V 1700,6000,CONT_DIF_P,*
++V 600,8500,CONT_DIF_P,*
++V 1700,6800,CONT_DIF_P,*
++V 2600,8000,CONT_DIF_P,n3
++V 5000,8000,CONT_DIF_P,n3
++V 3800,7000,CONT_DIF_P,zn
++V 1000,3600,CONT_DIF_N,*
++V 2200,3000,CONT_DIF_N,*
++V 3800,4100,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aon22_x1.vbe b/alliance/src/cells/src/msxlib/aon22_x1.vbe
+new file mode 100644
+index 0000000..ffdc6d2
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon22_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY aon22_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b1 : NATURAL := 5;
++ CONSTANT cin_b2 : NATURAL := 5;
++ CONSTANT cin_a2 : NATURAL := 5;
++ CONSTANT cin_a1 : NATURAL := 5;
++ CONSTANT rdown_b1_z : NATURAL := 2310;
++ CONSTANT rdown_b2_z : NATURAL := 2310;
++ CONSTANT rdown_a2_z : NATURAL := 2320;
++ CONSTANT rdown_a1_z : NATURAL := 2320;
++ CONSTANT rup_b1_z : NATURAL := 2960;
++ CONSTANT rup_b2_z : NATURAL := 2960;
++ CONSTANT rup_a2_z : NATURAL := 2990;
++ CONSTANT rup_a1_z : NATURAL := 2990;
++ CONSTANT tphh_b1_z : NATURAL := 87;
++ CONSTANT tpll_a2_z : NATURAL := 133;
++ CONSTANT tphh_b2_z : NATURAL := 88;
++ CONSTANT tpll_a1_z : NATURAL := 142;
++ CONSTANT tpll_b2_z : NATURAL := 104;
++ CONSTANT tphh_a1_z : NATURAL := 114;
++ CONSTANT tpll_b1_z : NATURAL := 114;
++ CONSTANT tphh_a2_z : NATURAL := 115;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a2 : in BIT;
++ a1 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aon22_x1;
++
++ARCHITECTURE behaviour_data_flow OF aon22_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aon22_x1"
++ SEVERITY WARNING;
++ z <= ((b1 and b2) or (a2 and a1)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/aon22_x2.ap b/alliance/src/cells/src/msxlib/aon22_x2.ap
+new file mode 100644
+index 0000000..c7a228c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon22_x2.ap
+@@ -0,0 +1,142 @@
++V ALLIANCE : 6
++H aon22_x2,P, 8/ 8/2014,100
++A 0,0,9000,10000
++R 1000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,z_50
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,2000,ref_ref,z_20
++R 5000,5000,ref_ref,b1_50
++R 6000,6000,ref_ref,b2_60
++R 8000,4000,ref_ref,a1_40
++R 5000,4000,ref_ref,b1_40
++R 6000,3000,ref_ref,b1_30
++R 5000,6000,ref_ref,b2_60
++R 6000,5000,ref_ref,b2_50
++R 6000,4000,ref_ref,b2_40
++R 7000,6000,ref_ref,a2_60
++R 7000,5000,ref_ref,a2_50
++R 8000,5000,ref_ref,a1_50
++R 8000,3000,ref_ref,a1_30
++R 7000,3000,ref_ref,a1_30
++R 8000,6000,ref_ref,a2_60
++R 7000,4000,ref_ref,a2_40
++R 5000,3000,ref_ref,b1_30
++R 6000,7000,ref_ref,b2_70
++R 7000,7000,ref_ref,a2_70
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1200,5500,1200,9300,200,1z,DOWN,PTRANS
++S 5400,5000,5400,5500,200,*,DOWN,POLY
++S 5600,3400,5600,5100,200,*,DOWN,POLY
++S 2800,4900,4000,4900,400,*,RIGHT,ALU1
++S 1200,5100,2900,5100,200,*,RIGHT,POLY
++S 1900,6000,1900,7100,600,*,UP,ALU1
++S 2000,1900,2000,6000,400,*,DOWN,ALU1
++S 900,6000,2000,6000,400,*,LEFT,ALU1
++S 1000,6000,1000,6000,400,z,LEFT,CALU1
++S 1800,6100,1800,6700,600,*,UP,PDIF
++S 2000,2000,2000,7000,400,z,DOWN,CALU1
++S 600,5700,600,9100,600,*,DOWN,PDIF
++S 1600,5700,1600,9100,400,*,UP,PDIF
++S 1200,9300,1200,9700,200,*,UP,POLY
++S 600,6900,600,9300,400,*,UP,ALU1
++S 4000,7000,4900,7000,400,*,RIGHT,ALU1
++S 3200,700,3200,3100,400,*,DOWN,ALU1
++S 4200,9300,4200,9700,200,*,DOWN,POLY
++S 5400,9300,5400,9700,200,*,DOWN,POLY
++S 6600,9300,6600,9700,200,*,DOWN,POLY
++S 7800,9300,7800,9700,200,*,DOWN,POLY
++S 8200,5700,8200,9100,400,*,UP,PDIF
++S 6000,5700,6000,9100,1000,*,UP,PDIF
++S 7200,5700,7200,9100,1000,*,UP,PDIF
++S 7800,5500,7800,9300,200,2,DOWN,PTRANS
++S 6600,5500,6600,9300,200,4,DOWN,PTRANS
++S 3800,5700,3800,9100,400,*,UP,PDIF
++S 4800,5700,4800,9100,1000,*,UP,PDIF
++S 5400,5500,5400,9300,200,3,DOWN,PTRANS
++S 4200,5500,4200,9300,200,1,DOWN,PTRANS
++S 0,5000,9000,5000,10000,aon22_x2,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 7600,3400,7600,3900,200,*,UP,POLY
++S 6800,3400,6800,4700,200,*,UP,POLY
++S 7800,3800,7800,5500,200,*,DOWN,POLY
++S 7600,1300,7600,1700,200,*,UP,POLY
++S 6800,1300,6800,1700,200,*,UP,POLY
++S 5600,1300,5600,1700,200,*,UP,POLY
++S 4800,1300,4800,1700,200,*,UP,POLY
++S 6600,5000,6600,5500,200,*,DOWN,POLY
++S 4200,4200,4500,4200,200,*,RIGHT,POLY
++S 4200,4200,4200,5500,200,*,DOWN,POLY
++S 8000,6000,8000,6000,400,a2,LEFT,CALU1
++S 7000,3000,7000,3000,400,a1,LEFT,CALU1
++S 6000,3000,6000,3000,400,b1,LEFT,CALU1
++S 5000,6000,5000,6000,400,b2,LEFT,CALU1
++S 5000,3000,6100,3000,400,*,LEFT,ALU1
++S 5000,4900,5000,5100,400,*,UP,ALU1
++S 4000,2000,4000,7000,400,*,DOWN,ALU1
++S 6900,2900,8000,2900,400,*,RIGHT,ALU1
++S 6900,3000,8000,3000,400,*,RIGHT,ALU1
++S 8000,3000,8000,5000,400,a1,UP,CALU1
++S 8000,3000,8000,5100,400,*,UP,ALU1
++S 7000,6000,8100,6000,400,*,RIGHT,ALU1
++S 4900,6000,6000,6000,400,*,RIGHT,ALU1
++S 5000,3000,5000,5000,400,b1,UP,CALU1
++S 5000,3000,5000,3900,400,*,UP,ALU1
++S 5000,2900,6100,2900,400,*,LEFT,ALU1
++S 4000,2000,6300,2000,400,*,RIGHT,ALU1
++S 4800,4000,5000,4000,600,*,RIGHT,ALU1
++S 8200,700,8200,2100,400,*,UP,ALU1
++S 8300,1900,8300,3200,600,*,UP,NDIF
++S 7200,1900,7200,3200,600,n1,UP,NDIF
++S 7600,1700,7600,3400,200,6,UP,NTRANS
++S 6800,1700,6800,3400,200,8,UP,NTRANS
++S 5200,1900,5200,3200,600,n2,UP,NDIF
++S 4800,1700,4800,3400,200,5,UP,NTRANS
++S 5600,1700,5600,3400,200,7,UP,NTRANS
++S 6200,1900,6200,3200,1000,*,UP,NDIF
++S 4200,1900,4200,3200,600,*,UP,NDIF
++S 4800,3400,4800,4000,200,*,UP,POLY
++S 2600,1300,2600,1700,200,*,DOWN,POLY
++S 2200,1900,2200,3400,400,*,UP,NDIF
++S 2600,1700,2600,3600,200,2z,UP,NTRANS
++S 2000,2600,2000,3200,600,*,UP,NDIF
++S 3500,1900,3500,3400,1200,*,UP,NDIF
++S 2600,3600,2600,5100,200,*,UP,POLY
++S 3500,8000,8400,8000,400,*,RIGHT,ALU1
++S 8400,7200,8400,7800,600,*,DOWN,PDIF
++S 8400,7000,8400,8000,400,*,DOWN,ALU1
++S 6000,3900,6000,7100,400,*,DOWN,ALU1
++S 6000,4000,6000,7000,400,b2,DOWN,CALU1
++S 7000,3900,7000,7100,400,*,UP,ALU1
++S 7000,4000,7000,7000,400,a2,DOWN,CALU1
++V 2700,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2900,4900,CONT_POLY,zn
++V 6200,2000,CONT_DIF_N,zn
++V 4800,7000,CONT_DIF_P,zn
++V 1800,6800,CONT_DIF_P,*
++V 1800,6000,CONT_DIF_P,*
++V 600,9000,CONT_DIF_P,*
++V 600,7000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 3200,3000,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 3600,8000,CONT_DIF_P,n3
++V 6000,8000,CONT_DIF_P,n3
++V 7200,9000,CONT_DIF_P,*
++V 8200,2000,CONT_DIF_N,*
++V 7000,4900,CONT_POLY,*
++V 4800,4000,CONT_POLY,*
++V 6000,4000,CONT_POLY,*
++V 8000,4000,CONT_POLY,*
++V 2000,2500,CONT_DIF_N,*
++V 2000,3300,CONT_DIF_N,*
++V 8400,7100,CONT_DIF_P,n3
++V 8400,7900,CONT_DIF_P,n3
++EOF
+diff --git a/alliance/src/cells/src/msxlib/aon22_x2.vbe b/alliance/src/cells/src/msxlib/aon22_x2.vbe
+new file mode 100644
+index 0000000..2b7c10b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/aon22_x2.vbe
+@@ -0,0 +1,44 @@
++ENTITY aon22_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_b1 : NATURAL := 7;
++ CONSTANT cin_b2 : NATURAL := 7;
++ CONSTANT cin_a2 : NATURAL := 6;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT rdown_b1_z : NATURAL := 1220;
++ CONSTANT rdown_b2_z : NATURAL := 1210;
++ CONSTANT rdown_a2_z : NATURAL := 1220;
++ CONSTANT rdown_a1_z : NATURAL := 1220;
++ CONSTANT rup_b1_z : NATURAL := 1560;
++ CONSTANT rup_b2_z : NATURAL := 1560;
++ CONSTANT rup_a2_z : NATURAL := 1570;
++ CONSTANT rup_a1_z : NATURAL := 1570;
++ CONSTANT tphh_b1_z : NATURAL := 88;
++ CONSTANT tpll_a2_z : NATURAL := 132;
++ CONSTANT tphh_b2_z : NATURAL := 89;
++ CONSTANT tpll_a1_z : NATURAL := 141;
++ CONSTANT tpll_b2_z : NATURAL := 105;
++ CONSTANT tphh_a1_z : NATURAL := 115;
++ CONSTANT tpll_b1_z : NATURAL := 114;
++ CONSTANT tphh_a2_z : NATURAL := 117;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a2 : in BIT;
++ a1 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END aon22_x2;
++
++ARCHITECTURE behaviour_data_flow OF aon22_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on aon22_x2"
++ SEVERITY WARNING;
++ z <= ((b1 and b2) or (a2 and a1)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_w05.ap b/alliance/src/cells/src/msxlib/bf1_w05.ap
+new file mode 100644
+index 0000000..5fba830
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_w05.ap
+@@ -0,0 +1,59 @@
++V ALLIANCE : 6
++H bf1_w05,P, 8/ 8/2014,100
++A 0,0,3000,10000
++R 2000,5000,ref_ref,z_50
++R 2000,4000,ref_ref,z_40
++R 2000,6000,ref_ref,z_60
++R 2000,8000,ref_ref,a_80
++R 2000,7000,ref_ref,a_70
++R 1000,5000,ref_ref,z_50
++S 2000,7000,2300,7000,600,*,RIGHT,ALU1
++S 0,5000,3000,5000,10000,bf1_w05,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 1200,5500,1200,6400,200,1z,UP,PTRANS
++S 800,5700,800,6200,400,*,UP,PDIF
++S 1600,5700,1600,6200,400,*,DOWN,PDIF
++S 1200,3300,1200,3900,200,2z,DOWN,NTRANS
++S 400,6100,700,6100,400,*,LEFT,ALU1
++S 400,6100,400,9300,400,*,UP,ALU1
++S 400,6000,700,6000,400,*,LEFT,ALU1
++S 1200,3900,1200,5500,200,*,DOWN,POLY
++S 400,700,400,3600,400,*,DOWN,ALU1
++S 400,3600,700,3600,400,*,RIGHT,ALU1
++S 400,3700,700,3700,400,*,LEFT,ALU1
++S 1600,7800,1600,8300,400,*,DOWN,PDIF
++S 2000,7600,2000,8500,200,1a,UP,PTRANS
++S 2000,8500,2000,8800,200,*,UP,POLY
++S 2500,7800,2500,9500,400,*,DOWN,PDIF
++S 2000,4000,2000,6000,400,z,DOWN,CALU1
++S 1200,6900,1200,8000,400,*,DOWN,ALU1
++S 2000,7000,2000,8000,400,a,UP,CALU1
++S 2000,6900,2000,8100,400,*,DOWN,ALU1
++S 2000,6800,2000,7600,200,*,DOWN,POLY
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 1900,3600,1900,6100,600,*,UP,ALU1
++S 900,5000,2000,5000,400,*,LEFT,ALU1
++S 1000,5000,1000,5000,400,z,LEFT,CALU1
++S 2000,1600,2000,2200,200,2a,DOWN,NTRANS
++S 2000,2600,2500,2600,200,*,RIGHT,POLY
++S 2500,2600,2500,7200,200,*,DOWN,POLY
++S 2500,500,2500,2000,400,*,UP,NDIF
++S 2000,1200,2000,1600,200,*,DOWN,POLY
++S 1300,1900,1300,2800,600,*,DOWN,ALU1
++S 2000,2200,2000,2600,200,*,UP,POLY
++V 1000,700,CONT_BODY_P,*
++V 1000,9300,CONT_BODY_N,*
++V 2200,7000,CONT_POLY,*
++V 1800,5800,CONT_DIF_P,*
++V 600,6100,CONT_DIF_P,*
++V 600,3600,CONT_DIF_N,*
++V 2400,9400,CONT_DIF_P,*
++V 1200,2700,CONT_POLY,an
++V 1200,7900,CONT_DIF_P,an
++V 2400,600,CONT_DIF_N,*
++V 1900,3600,CONT_DIF_N,*
++V 1200,7000,CONT_POLY,an
++V 1300,1900,CONT_DIF_N,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_w05.vbe b/alliance/src/cells/src/msxlib/bf1_w05.vbe
+new file mode 100644
+index 0000000..aee4efe
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_w05.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_w05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT cin_a : NATURAL := 2;
++ CONSTANT rdown_a_z : NATURAL := 3810;
++ CONSTANT rup_a_z : NATURAL := 6580;
++ CONSTANT tpll_a_z : NATURAL := 80;
++ CONSTANT tphh_a_z : NATURAL := 61;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_w05;
++
++ARCHITECTURE behaviour_data_flow OF bf1_w05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_w05"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_w2.ap b/alliance/src/cells/src/msxlib/bf1_w2.ap
+new file mode 100644
+index 0000000..47d5bb1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_w2.ap
+@@ -0,0 +1,65 @@
++V ALLIANCE : 6
++H bf1_w2,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 1000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,a_40
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 2200,1900,2200,3400,600,*,UP,NDIF
++S 3400,7000,3400,7900,400,*,UP,ALU1
++S 2000,6900,3400,6900,400,*,RIGHT,ALU1
++S 1600,9300,1600,9700,200,*,DOWN,POLY
++S 2200,5700,2200,9100,600,*,DOWN,PDIF
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 1200,5700,1200,9100,400,*,UP,PDIF
++S 1200,1900,1200,3400,400,*,DOWN,NDIF
++S 1600,3600,1600,5500,200,*,UP,POLY
++S 1600,1300,1600,1700,200,*,UP,POLY
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 1000,1900,1000,7100,400,*,UP,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,bf1_w2,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 2800,3600,2800,5500,200,*,UP,POLY
++S 3400,7300,3400,7900,600,*,UP,PDIF
++S 1000,5700,1000,6500,600,*,UP,PDIF
++S 1000,2900,1000,3310,600,*,UP,NDIF
++S 1600,5500,1600,9300,200,1z,UP,PTRANS
++S 1600,1700,1600,3600,200,2z,DOWN,NTRANS
++S 2800,9300,2800,9700,200,*,DOWN,POLY
++S 2800,5500,2800,9300,200,1a,UP,PTRANS
++S 3200,5700,3200,9100,400,*,UP,PDIF
++S 2800,1300,2800,1700,200,*,UP,POLY
++S 3200,1900,3200,3400,400,*,DOWN,NDIF
++S 2800,1700,2800,3600,200,2a,DOWN,NTRANS
++S 2000,3000,2000,6900,400,*,UP,ALU1
++S 3400,1900,3400,3000,400,*,UP,ALU1
++S 2000,3000,3400,3000,400,*,LEFT,ALU1
++S 3400,2100,3400,2700,600,*,UP,NDIF
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3400,7800,CONT_DIF_P,an
++V 3400,7000,CONT_DIF_P,an
++V 2200,8000,CONT_DIF_P,*
++V 2200,9000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 3000,4700,CONT_POLY,*
++V 2000,4700,CONT_POLY,an
++V 1000,5800,CONT_DIF_P,*
++V 1000,6600,CONT_DIF_P,*
++V 1000,3300,CONT_DIF_N,*
++V 1000,2500,CONT_DIF_N,*
++V 3400,2000,CONT_DIF_N,an
++V 3400,2800,CONT_DIF_N,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_w2.vbe b/alliance/src/cells/src/msxlib/bf1_w2.vbe
+new file mode 100644
+index 0000000..b4b7b0d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_w2.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_w2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT rdown_a_z : NATURAL := 1200;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT tpll_a_z : NATURAL := 69;
++ CONSTANT tphh_a_z : NATURAL := 56;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_w2;
++
++ARCHITECTURE behaviour_data_flow OF bf1_w2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_w2"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_x1.ap b/alliance/src/cells/src/msxlib/bf1_x1.ap
+new file mode 100644
+index 0000000..78c6bb1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x1.ap
+@@ -0,0 +1,61 @@
++V ALLIANCE : 6
++H bf1_x1,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,a_40
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2000,3000,3500,3000,400,*,LEFT,ALU1
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,bf1_x1,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 1600,6300,1600,8300,200,1z,UP,PTRANS
++S 1600,8300,1600,8700,200,*,DOWN,POLY
++S 2800,8300,2800,8700,200,*,DOWN,POLY
++S 3200,6500,3200,8100,400,*,UP,PDIF
++S 2800,6300,2800,8300,200,1a,UP,PTRANS
++S 1200,6500,1200,8100,400,*,UP,PDIF
++S 1000,6590,1000,7200,600,*,UP,PDIF
++S 1000,2900,1000,7500,400,*,UP,ALU1
++S 3400,7300,3400,7900,600,*,DOWN,PDIF
++S 2000,7000,3400,7000,400,*,RIGHT,ALU1
++S 3400,7000,3400,8100,400,*,DOWN,ALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 2200,6500,2200,8100,600,*,DOWN,PDIF
++S 3200,2500,3200,3100,400,*,DOWN,NDIF
++S 2200,1900,2200,3100,600,*,UP,NDIF
++S 1200,2500,1200,3100,400,*,DOWN,NDIF
++S 1600,2300,1600,3300,200,2z,DOWN,NTRANS
++S 1600,3300,1600,6300,200,*,UP,POLY
++S 2800,3300,2800,6300,200,*,UP,POLY
++S 2800,2300,2800,3300,200,2a,DOWN,NTRANS
++S 2800,1900,2800,2300,200,*,UP,POLY
++S 1600,1900,1600,2300,200,*,UP,POLY
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3400,3000,CONT_DIF_N,an
++V 2200,8000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 3000,4700,CONT_POLY,*
++V 2000,4700,CONT_POLY,an
++V 1000,6600,CONT_DIF_P,*
++V 1000,7400,CONT_DIF_P,*
++V 3400,8000,CONT_DIF_P,an
++V 3400,7200,CONT_DIF_P,an
++V 1000,3000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_x1.vbe b/alliance/src/cells/src/msxlib/bf1_x1.vbe
+new file mode 100644
+index 0000000..c296d8e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x1.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 2280;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT tpll_a_z : NATURAL := 73;
++ CONSTANT tphh_a_z : NATURAL := 61;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_x1;
++
++ARCHITECTURE behaviour_data_flow OF bf1_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_x1"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_x2.ap b/alliance/src/cells/src/msxlib/bf1_x2.ap
+new file mode 100644
+index 0000000..25ca522
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x2.ap
+@@ -0,0 +1,63 @@
++V ALLIANCE : 6
++H bf1_x2,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 1000,2000,ref_ref,z_20
++R 3000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,a_60
++R 3000,4000,ref_ref,a_40
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 1000,7000,ref_ref,z_70
++R 1000,3000,ref_ref,z_30
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1600,1700,1600,3600,200,2z,DOWN,NTRANS
++S 1600,5500,1600,9300,200,1z,UP,PTRANS
++S 1000,2900,1000,3310,600,*,UP,NDIF
++S 1000,5700,1000,6500,600,*,UP,PDIF
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 0,5000,4000,5000,10000,bf1_x2,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,1900,1000,7100,400,*,UP,ALU1
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 1600,1300,1600,1700,200,*,UP,POLY
++S 1600,3600,1600,5500,200,*,UP,POLY
++S 1200,1900,1200,3400,400,*,DOWN,NDIF
++S 1200,5700,1200,9100,400,*,UP,PDIF
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2200,5700,2200,9100,600,*,DOWN,PDIF
++S 1600,9300,1600,9700,200,*,DOWN,POLY
++S 2200,1900,2200,3400,600,*,UP,NDIF
++S 2000,3000,3500,3000,400,*,LEFT,ALU1
++S 3200,2200,3200,3100,400,*,DOWN,NDIF
++S 2800,2000,2800,3300,200,2a,DOWN,NTRANS
++S 2800,1600,2800,2000,200,*,UP,POLY
++S 3400,7500,3400,8100,600,*,UP,PDIF
++S 2800,5700,2800,8300,200,1a,UP,PTRANS
++S 3200,5900,3200,8100,400,*,UP,PDIF
++S 2000,7000,3400,7000,400,*,RIGHT,ALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 3400,7000,3400,8100,400,*,UP,ALU1
++S 2800,8300,2800,8700,200,*,DOWN,POLY
++S 2800,3300,2800,5700,200,*,UP,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3300,9300,CONT_BODY_N,*
++V 1000,2500,CONT_DIF_N,*
++V 1000,3300,CONT_DIF_N,*
++V 1000,6600,CONT_DIF_P,*
++V 1000,5800,CONT_DIF_P,*
++V 2000,4700,CONT_POLY,an
++V 3000,4700,CONT_POLY,*
++V 2200,2000,CONT_DIF_N,*
++V 2200,9000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 3400,3000,CONT_DIF_N,an
++V 3400,8000,CONT_DIF_P,an
++V 3400,7200,CONT_DIF_P,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_x2.vbe b/alliance/src/cells/src/msxlib/bf1_x2.vbe
+new file mode 100644
+index 0000000..ef9a368
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x2.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 1200;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT tpll_a_z : NATURAL := 78;
++ CONSTANT tphh_a_z : NATURAL := 64;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_x2;
++
++ARCHITECTURE behaviour_data_flow OF bf1_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_x2"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_x4.ap b/alliance/src/cells/src/msxlib/bf1_x4.ap
+new file mode 100644
+index 0000000..bcdef37
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x4.ap
+@@ -0,0 +1,88 @@
++V ALLIANCE : 6
++H bf1_x4,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 3000,6000,ref_ref,a_60
++R 2000,5000,ref_ref,a_50
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 3000,5000,ref_ref,a_50
++R 2000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 3000,7000,ref_ref,a_70
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 800,6900,800,9300,400,*,UP,ALU1
++S 1400,3600,1400,5600,200,*,UP,POLY
++S 2600,3600,2600,5600,200,*,UP,POLY
++S 3200,700,3200,3100,400,*,DOWN,ALU1
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 1400,9400,1400,9700,200,*,DOWN,POLY
++S 2000,5800,2000,9200,1000,*,DOWN,PDIF
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 800,5800,800,9200,800,*,DOWN,PDIF
++S 3200,5800,3200,9200,800,*,DOWN,PDIF
++S 2000,6000,2000,7100,400,*,UP,ALU1
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 3800,9400,3800,9700,200,*,DOWN,POLY
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,bf1_x4,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 3800,3600,3800,5600,200,*,DOWN,POLY
++S 3000,5000,3000,7000,400,a,DOWN,CALU1
++S 800,700,800,2100,400,*,DOWN,ALU1
++S 1000,3000,2000,3000,600,*,LEFT,ALU1
++S 1000,3000,1000,6000,400,z,DOWN,CALU1
++S 1000,3000,1000,6000,400,*,UP,ALU1
++S 2000,2000,2000,3000,400,z,DOWN,CALU1
++S 2000,1900,2000,3000,400,*,UP,ALU1
++S 1400,4000,2600,4000,600,*,RIGHT,POLY
++S 800,1700,800,3200,600,*,UP,NDIF
++S 700,1700,700,3200,600,*,UP,NDIF
++S 2000,1700,2000,3200,600,*,UP,NDIF
++S 3300,1700,3300,3200,600,*,UP,NDIF
++S 3200,1700,3200,3200,600,*,UP,NDIF
++S 4400,2200,4400,6800,400,*,UP,ALU1
++S 4400,2400,4400,3000,600,*,UP,NDIF
++S 4200,1700,4200,3200,400,*,UP,NDIF
++S 2300,4000,4400,4000,400,*,RIGHT,ALU1
++S 1900,5000,3600,5000,400,*,RIGHT,ALU1
++S 3000,5000,3000,7100,400,*,UP,ALU1
++S 3200,7900,3200,9300,400,*,UP,ALU1
++S 4200,5800,4200,9200,400,*,DOWN,PDIF
++S 4400,6000,4400,6600,600,*,UP,PDIF
++S 3800,5600,3800,9400,200,1a,UP,PTRANS
++S 3800,1500,3800,3400,200,1b,DOWN,NTRANS
++S 2600,5600,2600,9400,200,1z,UP,PTRANS
++S 1400,5600,1400,9400,200,2z,UP,PTRANS
++S 2600,1500,2600,3400,200,3z,DOWN,NTRANS
++S 1400,1500,1400,3400,200,4z,DOWN,NTRANS
++S 1400,1200,1400,1500,200,*,UP,POLY
++S 2600,1100,2600,1500,200,*,UP,POLY
++S 3800,1100,3800,1500,200,*,UP,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 800,9000,CONT_DIF_P,*
++V 3200,9000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 800,8000,CONT_DIF_P,*
++V 800,7000,CONT_DIF_P,*
++V 2000,3000,CONT_DIF_N,*
++V 2000,7000,CONT_DIF_P,*
++V 2000,6000,CONT_DIF_P,*
++V 3200,3000,CONT_DIF_N,*
++V 800,2000,CONT_DIF_N,*
++V 4400,6700,CONT_DIF_P,an
++V 4400,5900,CONT_DIF_P,an
++V 4400,2300,CONT_DIF_N,an
++V 4400,3100,CONT_DIF_N,an
++V 3200,2000,CONT_DIF_N,*
++V 2000,2000,CONT_DIF_N,*
++V 2400,4000,CONT_POLY,an
++V 3500,5000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_x4.vbe b/alliance/src/cells/src/msxlib/bf1_x4.vbe
+new file mode 100644
+index 0000000..475fb08
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x4.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT rdown_a_z : NATURAL := 600;
++ CONSTANT rup_a_z : NATURAL := 780;
++ CONSTANT tpll_a_z : NATURAL := 82;
++ CONSTANT tphh_a_z : NATURAL := 66;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_x4;
++
++ARCHITECTURE behaviour_data_flow OF bf1_x4 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_x4"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_x8.ap b/alliance/src/cells/src/msxlib/bf1_x8.ap
+new file mode 100644
+index 0000000..971f02e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x8.ap
+@@ -0,0 +1,138 @@
++V ALLIANCE : 6
++H bf1_x8,P, 8/ 8/2014,100
++A 0,0,9000,10000
++R 4000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 2000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,z_60
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 4000,7000,ref_ref,z_70
++R 3000,4000,ref_ref,z_40
++R 4000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 8000,6000,ref_ref,a_60
++R 8000,5000,ref_ref,a_50
++R 8000,4000,ref_ref,a_40
++R 2000,5000,ref_ref,z_50
++R 7000,4000,ref_ref,a_40
++S 2400,700,3200,700,600,*,LEFT,PTIE
++S 5400,700,5400,3100,400,*,DOWN,ALU1
++S 3000,4000,3000,4000,400,z,LEFT,CALU1
++S 4000,2000,4000,4000,400,z,DOWN,CALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 4000,6000,4000,7000,400,z,UP,CALU1
++S 4100,6000,4100,7100,600,*,DOWN,ALU1
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 600,6900,600,9300,400,*,UP,ALU1
++S 3000,6900,3000,9300,400,*,UP,ALU1
++S 5400,6900,5400,9300,400,*,UP,ALU1
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 4100,1900,4100,4000,600,*,DOWN,ALU1
++S 3000,700,3000,3100,400,*,DOWN,ALU1
++S 4800,1300,4800,1700,200,*,UP,POLY
++S 3600,1300,3600,1700,200,*,UP,POLY
++S 2400,1300,2400,1700,200,*,UP,POLY
++S 1200,1300,1200,1700,200,*,UP,POLY
++S 1200,5500,1200,9400,200,1,UP,PTRANS
++S 600,5700,600,9200,600,*,DOWN,PDIF
++S 1800,5700,1800,9200,600,*,DOWN,PDIF
++S 2400,5500,2400,9400,200,2,UP,PTRANS
++S 3600,5500,3600,9400,200,3,UP,PTRANS
++S 3000,5700,3000,9200,600,*,DOWN,PDIF
++S 5400,5700,5400,8100,600,*,DOWN,PDIF
++S 4800,5500,4800,8300,200,4,UP,PTRANS
++S 4200,5700,4200,8100,600,*,UP,PDIF
++S 4000,8500,4000,9200,400,*,UP,PDIF
++S 4800,8400,4800,8700,200,*,DOWN,POLY
++S 6600,5700,6600,8100,600,*,UP,PDIF
++S 6000,8400,6000,8700,200,*,DOWN,POLY
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,9000,5000,10000,bf1_x8,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 7800,6900,7800,9300,400,*,UP,ALU1
++S 8000,3900,8000,6100,400,*,DOWN,ALU1
++S 8000,4000,8000,6000,400,a,DOWN,CALU1
++S 6600,1900,6600,2800,600,*,UP,NDIF
++S 7600,1900,7600,3100,400,*,UP,NDIF
++S 7800,700,7800,3100,400,*,DOWN,ALU1
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 7900,1900,7900,3100,600,*,UP,NDIF
++S 7900,5700,7900,8900,600,*,DOWN,PDIF
++S 6800,5700,6800,8900,400,*,UP,PDIF
++S 7200,9100,7200,9500,200,*,DOWN,POLY
++S 7200,5500,7200,9100,200,1a,UP,PTRANS
++S 6000,5500,6000,8300,200,2a,UP,PTRANS
++S 7200,1700,7200,3300,200,3a,DOWN,NTRANS
++S 6000,1700,6000,3300,200,4a,DOWN,NTRANS
++S 6000,1300,6000,1700,200,*,UP,POLY
++S 7200,1300,7200,1700,200,*,UP,POLY
++S 2400,4900,3600,4900,600,*,RIGHT,POLY
++S 1200,5100,4800,5100,200,*,RIGHT,POLY
++S 1800,6000,4200,6000,400,*,LEFT,ALU1
++S 1800,4000,4200,4000,400,*,RIGHT,ALU1
++S 1900,1900,1900,7100,600,*,DOWN,ALU1
++S 2000,2000,2000,7000,400,z,UP,CALU1
++S 6000,4000,7200,4000,600,*,RIGHT,POLY
++S 7200,3300,7200,5500,200,*,DOWN,POLY
++S 6000,3300,6000,5500,200,*,UP,POLY
++S 7000,4000,8000,4000,600,*,RIGHT,ALU1
++S 7000,4000,7000,4000,400,a,LEFT,CALU1
++S 6200,3100,6200,4900,400,*,DOWN,ALU1
++S 2900,4900,6600,4900,400,*,RIGHT,ALU1
++S 6600,4900,6600,7100,400,*,DOWN,ALU1
++S 6600,1900,6600,3100,400,*,UP,ALU1
++S 700,1900,700,3300,800,*,UP,NDIF
++S 1200,1700,1200,3500,200,5,DOWN,NTRANS
++S 1800,1900,1800,3300,1000,*,UP,NDIF
++S 3000,1900,3000,3300,1000,*,UP,NDIF
++S 2400,1700,2400,3500,200,6,DOWN,NTRANS
++S 1200,3500,1200,5500,200,*,UP,POLY
++S 2400,3500,2400,5500,200,*,UP,POLY
++S 3600,1700,3600,3500,200,7,DOWN,NTRANS
++S 3600,3500,3600,5500,200,*,UP,POLY
++S 4200,1900,4200,3300,1000,*,UP,NDIF
++S 4800,1700,4800,3500,200,8,DOWN,NTRANS
++S 4800,3500,4800,5500,200,*,UP,POLY
++S 5300,1900,5300,3300,800,*,UP,NDIF
++V 5400,9300,CONT_BODY_N,*
++V 3300,700,CONT_BODY_P,*
++V 2300,700,CONT_BODY_P,*
++V 5400,3000,CONT_DIF_N,*
++V 1800,7000,CONT_DIF_P,*
++V 4200,7000,CONT_DIF_P,*
++V 600,7000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 600,9000,CONT_DIF_P,*
++V 3000,7000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 5400,7000,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,*
++V 600,3000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,*
++V 3000,3000,CONT_DIF_N,*
++V 3000,2000,CONT_DIF_N,*
++V 1800,2000,CONT_DIF_N,*
++V 1800,3000,CONT_DIF_N,*
++V 4200,3000,CONT_DIF_N,*
++V 4200,2000,CONT_DIF_N,*
++V 5400,2000,CONT_DIF_N,*
++V 7800,8000,CONT_DIF_P,*
++V 7800,7000,CONT_DIF_P,*
++V 6600,6000,CONT_DIF_P,an
++V 6600,7000,CONT_DIF_P,an
++V 7800,3000,CONT_DIF_N,*
++V 7800,2200,CONT_DIF_N,*
++V 6600,3000,CONT_DIF_N,an
++V 3000,4900,CONT_POLY,*
++V 1800,6200,CONT_DIF_P,*
++V 4200,6200,CONT_DIF_P,*
++V 7000,4000,CONT_POLY,*
++V 6600,2000,CONT_DIF_N,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_x8.vbe b/alliance/src/cells/src/msxlib/bf1_x8.vbe
+new file mode 100644
+index 0000000..9d99611
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_x8.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_x8 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_a : NATURAL := 11;
++ CONSTANT rdown_a_z : NATURAL := 320;
++ CONSTANT rup_a_z : NATURAL := 410;
++ CONSTANT tpll_a_z : NATURAL := 84;
++ CONSTANT tphh_a_z : NATURAL := 68;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_x8;
++
++ARCHITECTURE behaviour_data_flow OF bf1_x8 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_x8"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_y05.ap b/alliance/src/cells/src/msxlib/bf1_y05.ap
+new file mode 100644
+index 0000000..d82bc19
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_y05.ap
+@@ -0,0 +1,55 @@
++V ALLIANCE : 6
++H bf1_y05,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,a_40
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1600,2300,1600,2700,200,*,UP,POLY
++S 1600,2700,1600,3300,200,2z,DOWN,NTRANS
++S 1200,2900,1200,3100,400,*,DOWN,NDIF
++S 1000,2900,1000,7100,400,*,UP,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2200,1900,2200,3100,600,*,UP,NDIF
++S 2000,3000,3500,3000,400,*,LEFT,ALU1
++S 2000,7000,3500,7000,400,*,RIGHT,ALU1
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,bf1_y05,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 2800,2700,2800,3300,200,2a,DOWN,NTRANS
++S 2800,2300,2800,2700,200,*,UP,POLY
++S 3200,6900,3200,7700,400,*,UP,PDIF
++S 2800,6700,2800,7900,200,1a,UP,PTRANS
++S 1200,6900,1200,7700,400,*,UP,PDIF
++S 1600,6700,1600,7900,200,1z,UP,PTRANS
++S 2200,6900,2200,8100,600,*,DOWN,PDIF
++S 1600,3300,1600,6700,200,*,UP,POLY
++S 2800,3300,2800,6700,200,*,UP,POLY
++S 1600,7900,1600,8300,200,*,DOWN,POLY
++S 2800,7900,2800,8300,200,*,DOWN,POLY
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1000,3000,CONT_DIF_N,*
++V 3400,3000,CONT_DIF_N,an
++V 3400,7000,CONT_DIF_P,an
++V 2200,8000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 3000,4700,CONT_POLY,*
++V 2000,4700,CONT_POLY,an
++V 1000,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_y05.vbe b/alliance/src/cells/src/msxlib/bf1_y05.vbe
+new file mode 100644
+index 0000000..9d7eeb6
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_y05.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_y05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 3810;
++ CONSTANT rup_a_z : NATURAL := 4940;
++ CONSTANT tpll_a_z : NATURAL := 78;
++ CONSTANT tphh_a_z : NATURAL := 66;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_y05;
++
++ARCHITECTURE behaviour_data_flow OF bf1_y05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_y05"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_y1.ap b/alliance/src/cells/src/msxlib/bf1_y1.ap
+new file mode 100644
+index 0000000..1a88dac
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_y1.ap
+@@ -0,0 +1,57 @@
++V ALLIANCE : 6
++H bf1_y1,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,a_40
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1600,3300,1600,6300,200,*,UP,POLY
++S 1000,2900,1000,7500,400,*,UP,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1600,1900,1600,2300,200,*,UP,POLY
++S 1600,2300,1600,3300,200,2z,DOWN,NTRANS
++S 1200,2500,1200,3100,400,*,DOWN,NDIF
++S 2200,1900,2200,3100,600,*,UP,NDIF
++S 1600,8300,1600,8700,200,*,DOWN,POLY
++S 2200,6500,2200,8100,600,*,DOWN,PDIF
++S 1000,6500,1000,7300,600,*,UP,PDIF
++S 1600,6300,1600,8300,200,1z,UP,PTRANS
++S 1200,6500,1200,8100,400,*,UP,PDIF
++S 2000,3000,3500,3000,400,*,LEFT,ALU1
++S 2000,7000,3500,7000,400,*,RIGHT,ALU1
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,bf1_y1,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 2800,2700,2800,3300,200,2a,DOWN,NTRANS
++S 2800,2300,2800,2700,200,*,UP,POLY
++S 3200,6900,3200,7700,400,*,UP,PDIF
++S 2800,6700,2800,7900,200,1a,UP,PTRANS
++S 2800,3300,2800,6700,200,*,UP,POLY
++S 2800,7900,2800,8300,200,*,DOWN,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 1000,3000,CONT_DIF_N,*
++V 1000,6600,CONT_DIF_P,*
++V 1000,7400,CONT_DIF_P,*
++V 3400,3000,CONT_DIF_N,an
++V 3400,7000,CONT_DIF_P,an
++V 2200,8000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 3000,4700,CONT_POLY,*
++V 2000,4700,CONT_POLY,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_y1.vbe b/alliance/src/cells/src/msxlib/bf1_y1.vbe
+new file mode 100644
+index 0000000..c63f067
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_y1.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_y1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 2290;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT tpll_a_z : NATURAL := 87;
++ CONSTANT tphh_a_z : NATURAL := 72;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_y1;
++
++ARCHITECTURE behaviour_data_flow OF bf1_y1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_y1"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/bf1_y2.ap b/alliance/src/cells/src/msxlib/bf1_y2.ap
+new file mode 100644
+index 0000000..0692c2b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_y2.ap
+@@ -0,0 +1,59 @@
++V ALLIANCE : 6
++H bf1_y2,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,a_40
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++R 1000,2000,ref_ref,z_20
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 2800,3300,2800,6700,200,*,UP,POLY
++S 2800,6700,2800,7900,200,1a,UP,PTRANS
++S 3200,6900,3200,7700,400,*,UP,PDIF
++S 2000,3000,3500,3000,400,*,LEFT,ALU1
++S 2000,7000,3500,7000,400,*,RIGHT,ALU1
++S 2200,1900,2200,3400,600,*,UP,NDIF
++S 1600,9300,1600,9700,200,*,DOWN,POLY
++S 2200,5700,2200,9100,600,*,DOWN,PDIF
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 1200,5700,1200,9100,400,*,UP,PDIF
++S 1200,1900,1200,3400,400,*,DOWN,NDIF
++S 1600,3600,1600,5500,200,*,UP,POLY
++S 1600,1300,1600,1700,200,*,UP,POLY
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 1000,1900,1000,7100,400,*,UP,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,bf1_y2,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 1000,5700,1000,6500,600,*,UP,PDIF
++S 1000,2900,1000,3310,600,*,UP,NDIF
++S 1600,5500,1600,9300,200,1z,UP,PTRANS
++S 1600,1700,1600,3600,200,2z,DOWN,NTRANS
++S 2800,2700,2800,3300,200,2a,DOWN,NTRANS
++S 2800,2300,2800,2700,200,*,UP,POLY
++S 2800,7900,2800,8300,200,*,DOWN,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3300,9300,CONT_BODY_N,*
++V 3400,3000,CONT_DIF_N,an
++V 3400,7000,CONT_DIF_P,an
++V 2200,8000,CONT_DIF_P,*
++V 2200,9000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 3000,4700,CONT_POLY,*
++V 2000,4700,CONT_POLY,an
++V 1000,5800,CONT_DIF_P,*
++V 1000,6600,CONT_DIF_P,*
++V 1000,3300,CONT_DIF_N,*
++V 1000,2500,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/bf1_y2.vbe b/alliance/src/cells/src/msxlib/bf1_y2.vbe
+new file mode 100644
+index 0000000..adcc717
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/bf1_y2.vbe
+@@ -0,0 +1,26 @@
++ENTITY bf1_y2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 2;
++ CONSTANT rdown_a_z : NATURAL := 1210;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT tpll_a_z : NATURAL := 106;
++ CONSTANT tphh_a_z : NATURAL := 87;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END bf1_y2;
++
++ARCHITECTURE behaviour_data_flow OF bf1_y2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on bf1_y2"
++ SEVERITY WARNING;
++ z <= a after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgi2_x05.ap b/alliance/src/cells/src/msxlib/cgi2_x05.ap
+new file mode 100644
+index 0000000..817c429
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2_x05.ap
+@@ -0,0 +1,120 @@
++V ALLIANCE : 6
++H cgi2_x05,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 4000,6000,ref_ref,z_60
++R 6000,4000,ref_ref,b_40
++R 5000,4000,ref_ref,b_40
++R 6000,7000,ref_ref,c_70
++R 5000,7000,ref_ref,c_70
++R 5000,6000,ref_ref,c_60
++R 3000,3000,ref_ref,z_30
++R 1000,6000,ref_ref,a_60
++R 1000,5000,ref_ref,a_50
++R 6000,6000,ref_ref,b_60
++R 3000,6000,ref_ref,z_60
++R 3000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 4000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,a_50
++R 4000,4000,ref_ref,b_40
++R 6000,5000,ref_ref,b_50
++R 5000,5000,ref_ref,c_50
++R 1000,4000,ref_ref,a_40
++S 5100,700,5900,700,600,*,RIGHT,PTIE
++S 4100,9300,4900,9300,600,*,RIGHT,NTIE
++S 2000,6500,2000,8100,600,*,UP,PDIF
++S 800,7000,800,8100,400,*,UP,ALU1
++S 3000,7000,3000,8000,400,*,UP,ALU1
++S 800,7000,3000,7000,400,*,RIGHT,ALU1
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 3000,8000,5300,8000,400,*,RIGHT,ALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 4000,5900,4000,7100,400,*,UP,ALU1
++S 3000,2900,3000,6100,400,*,UP,ALU1
++S 3000,3000,3000,6000,400,z,DOWN,CALU1
++S 4000,6000,4000,7000,400,z,DOWN,CALU1
++S 1400,1300,1400,1700,200,*,DOWN,POLY
++S 700,2000,5200,2000,400,*,RIGHT,ALU1
++S 1400,2600,1400,6300,200,*,UP,POLY
++S 1400,1700,1400,2600,200,07,UP,NTRANS
++S 1000,1900,1000,2400,400,*,DOWN,NDIF
++S 6400,7900,6400,9300,400,*,UP,ALU1
++S 6400,6500,6400,8100,600,*,DOWN,PDIF
++S 1400,8300,1400,8700,200,*,DOWN,POLY
++S 2600,8300,2600,8700,200,*,DOWN,POLY
++S 3400,8300,3400,8700,200,*,DOWN,POLY
++S 4600,8300,4600,8700,200,*,DOWN,POLY
++S 5800,8300,5800,8700,200,*,DOWN,POLY
++S 2600,2100,2600,2500,200,*,DOWN,POLY
++S 6400,700,6400,3100,400,*,DOWN,ALU1
++S 5200,2000,5200,3100,400,*,UP,ALU1
++S 5800,2100,5800,2500,200,*,DOWN,POLY
++S 4600,2100,4600,2500,200,*,DOWN,POLY
++S 3400,2100,3400,2500,200,*,DOWN,POLY
++S 1000,5000,2100,5000,600,*,LEFT,ALU1
++S 1400,5000,2600,5000,600,*,RIGHT,POLY
++S 5800,3400,5800,6300,200,*,UP,POLY
++S 4600,3400,4600,6300,200,*,UP,POLY
++S 2600,3400,2600,6300,200,*,UP,POLY
++S 3400,3400,3400,6300,200,*,UP,POLY
++S 2600,2500,2600,3400,200,06,UP,NTRANS
++S 3000,2700,3000,3200,600,n3,UP,NDIF
++S 3400,2500,3400,3400,200,08,UP,NTRANS
++S 4000,2700,4000,3200,1000,*,UP,NDIF
++S 4600,2500,4600,3400,200,10,UP,NTRANS
++S 5200,2700,5200,3200,1000,*,UP,NDIF
++S 5800,2500,5800,3400,200,09,UP,NTRANS
++S 6400,2700,6400,3200,600,*,UP,NDIF
++S 3800,4000,6000,4000,600,*,RIGHT,ALU1
++S 6000,4000,6000,6100,400,*,DOWN,ALU1
++S 5000,4900,5000,7000,400,*,UP,ALU1
++S 5000,7100,6100,7100,400,*,LEFT,ALU1
++S 5000,7000,6100,7000,400,*,LEFT,ALU1
++S 5000,5000,5000,7000,400,c,DOWN,CALU1
++S 6000,4000,6000,6000,400,b,UP,CALU1
++S 3000,2900,4100,2900,400,*,RIGHT,ALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,5000,7000,5000,10000,cgi2_x05,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 3000,3000,4100,3000,400,*,RIGHT,ALU1
++S 5800,6300,5800,8300,200,04,DOWN,PTRANS
++S 4600,6300,4600,8300,200,05,DOWN,PTRANS
++S 5200,6500,5200,8100,1000,*,UP,PDIF
++S 3000,6500,3000,8100,600,n1,DOWN,PDIF
++S 2600,6300,2600,8300,200,01,DOWN,PTRANS
++S 3400,6300,3400,8300,200,03,DOWN,PTRANS
++S 1400,6300,1400,8300,200,02,DOWN,PTRANS
++S 1000,6500,1000,8100,400,*,UP,PDIF
++S 4000,6500,4000,8100,1000,*,UP,PDIF
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 4000,3000,4000,3000,400,z,LEFT,CALU1
++S 4000,4000,4000,4000,400,b,LEFT,CALU1
++S 5000,4000,5000,4000,400,b,LEFT,CALU1
++S 6000,7000,6000,7000,400,c,LEFT,CALU1
++S 2000,900,2000,3200,600,*,UP,NDIF
++S 1000,4000,1000,6000,400,a,DOWN,CALU1
++S 1000,3900,1000,6100,400,*,DOWN,ALU1
++S 800,7300,800,7900,600,*,UP,PDIF
++V 5000,700,CONT_BODY_P,*
++V 6000,700,CONT_BODY_P,*
++V 5000,9300,CONT_BODY_N,*
++V 4000,9300,CONT_BODY_N,*
++V 2000,8000,CONT_DIF_P,*
++V 800,2000,CONT_DIF_N,n4
++V 6400,8000,CONT_DIF_P,*
++V 5200,3000,CONT_DIF_N,n4
++V 4000,3000,CONT_DIF_N,*
++V 2000,5000,CONT_POLY,*
++V 3800,4000,CONT_POLY,*
++V 6000,5000,CONT_POLY,*
++V 5000,5000,CONT_POLY,*
++V 4000,7000,CONT_DIF_P,*
++V 2000,1000,CONT_DIF_N,*
++V 800,8000,CONT_DIF_P,n2
++V 5200,8000,CONT_DIF_P,n2
++V 6400,3000,CONT_DIF_N,*
++V 800,7200,CONT_DIF_P,n2
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgi2_x05.vbe b/alliance/src/cells/src/msxlib/cgi2_x05.vbe
+new file mode 100644
+index 0000000..889ec26
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2_x05.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgi2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a : NATURAL := 6;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_c : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 4120;
++ CONSTANT rdown_b_z : NATURAL := 4130;
++ CONSTANT rdown_c_z : NATURAL := 4100;
++ CONSTANT rup_a_z : NATURAL := 5810;
++ CONSTANT rup_b_z : NATURAL := 5850;
++ CONSTANT rup_c_z : NATURAL := 5850;
++ CONSTANT tphl_c_z : NATURAL := 53;
++ CONSTANT tphl_b_z : NATURAL := 62;
++ CONSTANT tplh_a_z : NATURAL := 81;
++ CONSTANT tplh_c_z : NATURAL := 58;
++ CONSTANT tplh_b_z : NATURAL := 75;
++ CONSTANT tphl_a_z : NATURAL := 61;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgi2_x05;
++
++ARCHITECTURE behaviour_data_flow OF cgi2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgi2_x05"
++ SEVERITY WARNING;
++ z <= not((b or (a and c)) and (a or c)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgi2_x1.ap b/alliance/src/cells/src/msxlib/cgi2_x1.ap
+new file mode 100644
+index 0000000..5dd80f3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2_x1.ap
+@@ -0,0 +1,128 @@
++V ALLIANCE : 6
++H cgi2_x1,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 4000,5000,ref_ref,b_50
++R 4000,6000,ref_ref,z_60
++R 1000,6000,ref_ref,a_60
++R 1000,5000,ref_ref,a_50
++R 6000,6000,ref_ref,b_60
++R 3000,6000,ref_ref,z_60
++R 3000,5000,ref_ref,z_50
++R 3000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 4000,7000,ref_ref,z_70
++R 1000,4000,ref_ref,a_40
++R 2000,5000,ref_ref,a_50
++R 4000,4000,ref_ref,b_40
++R 6000,5000,ref_ref,b_50
++R 5000,5000,ref_ref,c_50
++R 3000,3000,ref_ref,z_30
++R 5000,6000,ref_ref,c_60
++R 5000,7000,ref_ref,c_70
++R 6000,7000,ref_ref,c_70
++R 5000,4000,ref_ref,b_40
++R 6000,4000,ref_ref,b_40
++S 5100,700,5900,700,600,*,RIGHT,PTIE
++S 1400,9400,1400,9700,200,*,DOWN,POLY
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 3400,9400,3400,9700,200,*,DOWN,POLY
++S 4600,9400,4600,9700,200,*,DOWN,POLY
++S 5800,9400,5800,9700,200,*,DOWN,POLY
++S 1400,1300,1400,1700,200,*,DOWN,POLY
++S 2600,1300,2600,1700,200,*,DOWN,POLY
++S 3400,1300,3400,1700,200,*,DOWN,POLY
++S 4600,1300,4600,1700,200,*,DOWN,POLY
++S 5800,1300,5800,1700,200,*,DOWN,POLY
++S 4000,4000,4000,5000,400,b,UP,CALU1
++S 3900,3900,3900,5100,600,*,UP,ALU1
++S 4000,4000,6000,4000,400,*,RIGHT,ALU1
++S 4000,3900,6000,3900,400,*,RIGHT,ALU1
++S 6000,4000,6000,6100,400,*,DOWN,ALU1
++S 700,2000,5200,2000,400,*,RIGHT,ALU1
++S 2000,900,2000,3300,600,*,UP,NDIF
++S 1400,1700,1400,3500,200,07,UP,NTRANS
++S 1000,1900,1000,3300,400,*,DOWN,NDIF
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 3000,8000,5300,8000,400,*,RIGHT,ALU1
++S 3000,7000,3000,8000,400,*,UP,ALU1
++S 1000,3900,1000,6100,400,*,DOWN,ALU1
++S 1000,4000,1000,6000,400,a,DOWN,CALU1
++S 5000,4900,5000,7000,600,*,UP,ALU1
++S 1400,3900,1400,5500,200,*,UP,POLY
++S 2600,3500,2600,5500,200,*,UP,POLY
++S 1400,4900,2600,4900,600,*,RIGHT,POLY
++S 1000,4900,2100,4900,600,*,LEFT,ALU1
++S 4000,6000,4000,7100,400,*,UP,ALU1
++S 4000,6000,4000,7000,400,z,UP,CALU1
++S 3000,3000,3000,6000,400,*,UP,ALU1
++S 3000,3000,3000,6000,400,z,DOWN,CALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,cgi2_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 3000,3000,4100,3000,400,*,RIGHT,ALU1
++S 6400,5700,6400,9200,600,*,DOWN,PDIF
++S 1000,5700,1000,9200,400,*,UP,PDIF
++S 5200,5700,5200,9200,1000,*,UP,PDIF
++S 4000,5700,4000,9200,1000,*,UP,PDIF
++S 2000,5700,2000,9200,1000,*,UP,PDIF
++S 2600,5500,2600,9400,200,01,DOWN,PTRANS
++S 1400,5500,1400,9400,200,02,DOWN,PTRANS
++S 3400,5500,3400,9400,200,03,DOWN,PTRANS
++S 5800,5500,5800,9400,200,04,DOWN,PTRANS
++S 4600,5500,4600,9400,200,05,DOWN,PTRANS
++S 3000,5700,3000,9200,600,n1,DOWN,PDIF
++S 6400,7900,6400,9300,400,*,UP,ALU1
++S 6400,1900,6400,3300,600,*,UP,NDIF
++S 5800,1700,5800,3500,200,09,UP,NTRANS
++S 5200,1900,5200,3300,1000,*,UP,NDIF
++S 4600,1700,4600,3500,200,10,UP,NTRANS
++S 4000,1900,4000,3300,1000,*,UP,NDIF
++S 3400,1700,3400,3500,200,08,UP,NTRANS
++S 3000,1900,3000,3300,600,n3,UP,NDIF
++S 2600,1700,2600,3500,200,06,UP,NTRANS
++S 5300,2000,5300,3100,400,*,UP,ALU1
++S 5200,2000,5200,3100,400,*,UP,ALU1
++S 6400,700,6400,3100,400,*,DOWN,ALU1
++S 3000,2900,4100,2900,400,*,RIGHT,ALU1
++S 5000,7000,6100,7000,400,*,LEFT,ALU1
++S 6000,4000,6000,6000,400,b,UP,CALU1
++S 3400,3500,3400,5500,200,*,UP,POLY
++S 4600,3500,4600,5500,200,*,UP,POLY
++S 5800,3500,5800,5500,200,*,UP,POLY
++S 5000,5000,5000,7000,400,c,DOWN,CALU1
++S 800,7000,3000,7000,400,*,RIGHT,ALU1
++S 800,7000,800,8100,400,*,DOWN,ALU1
++S 800,7300,800,7900,600,*,DOWN,PDIF
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 4000,3000,4000,3000,400,z,LEFT,CALU1
++S 5000,4000,5000,4000,400,b,LEFT,CALU1
++S 6000,7000,6000,7000,400,c,LEFT,CALU1
++S 800,2100,800,2700,600,*,UP,NDIF
++S 800,2000,800,2800,600,*,DOWN,ALU1
++V 6000,700,CONT_BODY_P,*
++V 5000,700,CONT_BODY_P,*
++V 4000,7000,CONT_DIF_P,*
++V 3800,4900,CONT_POLY,*
++V 800,2000,CONT_DIF_N,n4
++V 2000,8000,CONT_DIF_P,*
++V 4000,6000,CONT_DIF_P,*
++V 2000,4900,CONT_POLY,*
++V 6000,4900,CONT_POLY,*
++V 5000,4900,CONT_POLY,*
++V 4000,3000,CONT_DIF_N,*
++V 2000,1000,CONT_DIF_N,*
++V 5200,8000,CONT_DIF_P,n2
++V 2000,9000,CONT_DIF_P,*
++V 6400,9000,CONT_DIF_P,*
++V 6400,8000,CONT_DIF_P,*
++V 6400,2000,CONT_DIF_N,*
++V 5200,2000,CONT_DIF_N,n4
++V 5200,3000,CONT_DIF_N,n4
++V 6400,3000,CONT_DIF_N,*
++V 800,8000,CONT_DIF_P,n2
++V 800,7200,CONT_DIF_P,n2
++V 800,2800,CONT_DIF_N,n4
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgi2_x1.vbe b/alliance/src/cells/src/msxlib/cgi2_x1.vbe
+new file mode 100644
+index 0000000..161a55e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgi2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a : NATURAL := 12;
++ CONSTANT cin_b : NATURAL := 12;
++ CONSTANT cin_c : NATURAL := 6;
++ CONSTANT rdown_a_z : NATURAL := 2050;
++ CONSTANT rdown_b_z : NATURAL := 2060;
++ CONSTANT rdown_c_z : NATURAL := 2050;
++ CONSTANT rup_a_z : NATURAL := 2980;
++ CONSTANT rup_b_z : NATURAL := 3000;
++ CONSTANT rup_c_z : NATURAL := 3000;
++ CONSTANT tphl_c_z : NATURAL := 51;
++ CONSTANT tphl_b_z : NATURAL := 58;
++ CONSTANT tplh_a_z : NATURAL := 76;
++ CONSTANT tplh_c_z : NATURAL := 56;
++ CONSTANT tplh_b_z : NATURAL := 71;
++ CONSTANT tphl_a_z : NATURAL := 57;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgi2_x1;
++
++ARCHITECTURE behaviour_data_flow OF cgi2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgi2_x1"
++ SEVERITY WARNING;
++ z <= not((b or (a and c)) and (a or c)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgi2_x2.ap b/alliance/src/cells/src/msxlib/cgi2_x2.ap
+new file mode 100644
+index 0000000..190441e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2_x2.ap
+@@ -0,0 +1,214 @@
++V ALLIANCE : 6
++H cgi2_x2,P, 8/ 8/2014,100
++A 0,0,13000,10000
++R 1000,4000,ref_ref,a_50
++R 8000,2000,ref_ref,z_20
++R 5000,5000,ref_ref,b_50
++R 2000,3000,ref_ref,c_30
++R 6000,4000,ref_ref,b_40
++R 7000,4000,ref_ref,b_40
++R 8000,4000,ref_ref,b_40
++R 9000,4000,ref_ref,b_40
++R 5000,4000,ref_ref,b_40
++R 9000,6000,ref_ref,a_60
++R 1000,6000,ref_ref,a_60
++R 2000,7000,ref_ref,a_70
++R 3000,7000,ref_ref,a_70
++R 4000,7000,ref_ref,a_70
++R 5000,7000,ref_ref,a_70
++R 6000,7000,ref_ref,a_70
++R 7000,7000,ref_ref,a_70
++R 8000,7000,ref_ref,a_70
++R 8000,5000,ref_ref,a_50
++R 7000,5000,ref_ref,a_50
++R 9000,7000,ref_ref,a_70
++R 9000,5000,ref_ref,a_50
++R 6000,5000,ref_ref,a_50
++R 1000,5000,ref_ref,a_50
++R 7000,3000,ref_ref,z_30
++R 6000,3000,ref_ref,z_30
++R 5000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,z_30
++R 4000,3000,ref_ref,z_30
++R 4000,4000,ref_ref,z_40
++R 4000,5000,ref_ref,z_50
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 5000,6000,ref_ref,z_60
++R 6000,6000,ref_ref,z_60
++R 7000,6000,ref_ref,z_60
++R 10000,4000,ref_ref,b_40
++R 2000,5000,ref_ref,c_50
++R 2000,6000,ref_ref,c_60
++R 3000,5000,ref_ref,c_50
++R 2000,4000,ref_ref,c_40
++R 11000,5000,ref_ref,b_50
++R 11000,3000,ref_ref,b_30
++R 11000,4000,ref_ref,b_40
++S 11100,700,11900,700,600,*,RIGHT,PTIE
++S 1000,3900,1000,7000,400,*,UP,ALU1
++S 5700,800,5700,3700,1200,*,UP,NDIF
++S 5700,700,5700,2100,400,*,DOWN,ALU1
++S 5800,4600,6600,4600,200,*,LEFT,POLY
++S 6600,3400,6600,4600,200,*,UP,POLY
++S 6000,5000,6000,5700,200,*,DOWN,POLY
++S 6600,1300,6600,1700,200,*,DOWN,POLY
++S 6600,1700,6600,3400,200,7a,UP,NTRANS
++S 7000,1900,7000,3200,400,n3b,UP,NDIF
++S 7400,3400,7400,5300,200,*,UP,POLY
++S 6800,5300,8000,5300,200,*,LEFT,POLY
++S 8000,2000,8000,2000,400,z,LEFT,CALU1
++S 2900,3000,8000,3000,400,*,RIGHT,ALU1
++S 7400,1300,7400,1700,200,*,DOWN,POLY
++S 7400,1700,7400,3400,200,7b,UP,NTRANS
++S 8000,1900,8000,3200,600,*,DOWN,NDIF
++S 8000,1900,8000,3000,400,*,DOWN,ALU1
++S 7800,3800,8600,3800,200,*,LEFT,POLY
++S 8600,1300,8600,1700,200,*,DOWN,POLY
++S 8600,1700,8600,3400,200,8b,UP,NTRANS
++S 9000,1900,9000,3200,400,n3a,UP,NDIF
++S 9400,3400,9400,5200,200,*,UP,POLY
++S 8800,5000,8800,5700,200,*,DOWN,POLY
++S 9400,1700,9400,3400,200,8a,UP,NTRANS
++S 9400,1300,9400,1700,200,*,DOWN,POLY
++S 10100,1900,10100,3200,600,*,UP,NDIF
++S 10000,700,10000,3100,400,*,DOWN,ALU1
++S 5000,4000,5000,5000,400,b,UP,CALU1
++S 5000,4000,5000,5000,600,*,DOWN,ALU1
++S 2000,3000,2000,6000,400,c,DOWN,CALU1
++S 2000,2900,2000,6100,400,*,DOWN,ALU1
++S 1700,2000,4300,2000,400,*,RIGHT,ALU1
++S 6400,5900,6400,9200,400,n1b,UP,PDIF
++S 8400,5900,8400,9200,400,n1a,UP,PDIF
++S 4800,600,4800,3900,200,5b,UP,NTRANS
++S 8000,5700,8000,9400,200,4b,DOWN,PTRANS
++S 6800,5700,6800,9400,200,3b,DOWN,PTRANS
++S 10000,5700,10000,9400,200,2b,DOWN,PTRANS
++S 11200,5700,11200,9400,200,1b,DOWN,PTRANS
++S 1200,600,1200,3900,200,5a,UP,NTRANS
++S 8800,5700,8800,9400,200,4a,DOWN,PTRANS
++S 6000,5700,6000,9400,200,3a,DOWN,PTRANS
++S 4800,5700,4800,9400,200,2a,DOWN,PTRANS
++S 1200,5700,1200,9400,200,1a,DOWN,PTRANS
++S 3600,1700,3600,3400,200,4c,UP,NTRANS
++S 2400,1700,2400,3400,200,3c,UP,NTRANS
++S 3600,5700,3600,9400,200,2c,DOWN,PTRANS
++S 2400,5700,2400,9400,200,1c,DOWN,PTRANS
++S 11200,9400,11200,9700,200,*,DOWN,POLY
++S 10000,9400,10000,9700,200,*,DOWN,POLY
++S 8800,9400,8800,9700,200,*,DOWN,POLY
++S 8000,9400,8000,9700,200,*,DOWN,POLY
++S 6800,9400,6800,9700,200,*,DOWN,POLY
++S 6000,9400,6000,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 1200,300,1200,600,200,*,DOWN,POLY
++S 3600,1300,3600,1700,200,*,DOWN,POLY
++S 4800,300,4800,600,200,*,DOWN,POLY
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 11800,6900,11800,9300,400,*,UP,ALU1
++S 10600,6900,10600,8000,400,*,DOWN,ALU1
++S 1700,8000,10600,8000,400,*,RIGHT,ALU1
++S 600,7900,600,9300,400,*,UP,ALU1
++S 600,5900,600,9200,600,*,DOWN,PDIF
++S 10600,5900,10600,9200,600,*,UP,PDIF
++S 9400,5900,9400,9200,600,*,UP,PDIF
++S 7400,5900,7400,9200,600,*,UP,PDIF
++S 5400,5900,5400,9200,600,*,UP,PDIF
++S 4200,5900,4200,9200,600,*,UP,PDIF
++S 1800,5900,1800,9200,600,*,DOWN,PDIF
++S 2400,3400,2400,5700,200,*,DOWN,POLY
++S 3600,3400,3600,5700,200,*,DOWN,POLY
++S 1200,3900,1200,5700,200,*,DOWN,POLY
++S 4800,5300,6200,5300,200,*,RIGHT,POLY
++S 10000,5200,10000,5700,200,*,DOWN,POLY
++S 11200,5200,11200,5700,200,*,DOWN,POLY
++S 10000,5200,11200,5200,200,*,LEFT,POLY
++S 11900,5900,11900,9200,600,*,DOWN,PDIF
++S 3000,5900,3000,9200,1000,*,UP,PDIF
++S 4400,800,4400,3700,400,*,DOWN,NDIF
++S 4200,1900,4200,3200,600,*,UP,NDIF
++S 1600,800,1600,3700,400,*,UP,NDIF
++S 1800,1900,1800,3200,600,*,UP,NDIF
++S 600,800,600,3700,600,*,UP,NDIF
++S 3000,1900,3000,3200,600,*,DOWN,NDIF
++S 9000,4000,9000,4000,400,b,LEFT,CALU1
++S 8000,4000,8000,4000,400,b,LEFT,CALU1
++S 7000,4000,7000,4000,400,b,LEFT,CALU1
++S 6000,4000,6000,4000,400,b,LEFT,CALU1
++S 9000,5000,9000,7000,600,*,UP,ALU1
++S 9000,5000,9000,7000,400,a,UP,CALU1
++S 6000,5000,6000,5000,400,a,LEFT,CALU1
++S 8000,5000,8000,5000,400,a,LEFT,CALU1
++S 7000,5000,7000,5000,400,a,LEFT,CALU1
++S 5900,5000,9000,5000,400,*,RIGHT,ALU1
++S 8000,7000,8000,7000,400,a,LEFT,CALU1
++S 7000,7000,7000,7000,400,a,LEFT,CALU1
++S 6000,7000,6000,7000,400,a,LEFT,CALU1
++S 5000,7000,5000,7000,400,a,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++S 3000,7000,3000,7000,400,a,LEFT,CALU1
++S 2000,7000,2000,7000,400,a,LEFT,CALU1
++S 2900,6000,7500,6000,400,*,RIGHT,ALU1
++S 5000,6000,5000,6000,400,z,LEFT,CALU1
++S 6000,6000,6000,6000,400,z,LEFT,CALU1
++S 7000,6000,7000,6000,400,z,LEFT,CALU1
++S 0,5000,13000,5000,10000,cgi2_x2,LEFT,TALU8
++S 0,2200,13000,2200,5200,*,LEFT,PWELL
++S 0,7600,13000,7600,5600,*,LEFT,NWELL
++S 0,600,13000,600,1200,vss,RIGHT,CALU1
++S 0,9400,13000,9400,1200,vdd,RIGHT,CALU1
++S 5000,3000,5000,3000,400,z,LEFT,CALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 6000,3000,6000,3000,400,z,LEFT,CALU1
++S 7000,3000,7000,3000,400,z,LEFT,CALU1
++S 4000,3000,4000,6000,400,*,DOWN,ALU1
++S 4000,3000,4000,6000,400,z,DOWN,CALU1
++S 3000,5000,3000,5000,400,c,LEFT,CALU1
++S 2400,5000,3600,5000,600,*,RIGHT,POLY
++S 2000,5000,3100,5000,400,*,LEFT,ALU1
++S 1000,7000,9000,7000,400,*,RIGHT,ALU1
++S 2400,1300,2400,1700,200,*,DOWN,POLY
++S 11000,3000,11000,5000,400,b,DOWN,CALU1
++S 11000,2900,11000,5100,400,*,DOWN,ALU1
++S 10000,4000,10000,4000,400,b,LEFT,CALU1
++S 4900,4000,11000,4000,400,*,RIGHT,ALU1
++S 1000,4000,1000,6000,400,a,UP,CALU1
++V 12000,700,CONT_BODY_P,*
++V 11000,700,CONT_BODY_P,*
++V 5700,1000,CONT_DIF_N,*
++V 5700,2000,CONT_DIF_N,*
++V 7600,4000,CONT_POLY,*
++V 8000,2800,CONT_DIF_N,*
++V 8000,2000,CONT_DIF_N,*
++V 10000,3000,CONT_DIF_N,*
++V 10000,2000,CONT_DIF_N,*
++V 1800,2000,CONT_DIF_N,n4
++V 9400,9000,CONT_DIF_P,*
++V 600,3000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,*
++V 11800,7000,CONT_DIF_P,*
++V 10600,7800,CONT_DIF_P,n2
++V 10600,7000,CONT_DIF_P,n2
++V 600,8000,CONT_DIF_P,*
++V 5000,4500,CONT_POLY,*
++V 9000,5000,CONT_POLY,*
++V 6000,5000,CONT_POLY,*
++V 3000,6000,CONT_DIF_P,*
++V 11800,9000,CONT_DIF_P,*
++V 11800,8000,CONT_DIF_P,*
++V 7400,6000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,n2
++V 5400,9000,CONT_DIF_P,*
++V 1800,8000,CONT_DIF_P,n2
++V 4200,2000,CONT_DIF_N,n4
++V 3000,3000,CONT_DIF_N,*
++V 600,1000,CONT_DIF_N,*
++V 600,9000,CONT_DIF_P,*
++V 3000,5000,CONT_POLY,*
++V 1000,5000,CONT_POLY,*
++V 11000,5000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgi2_x2.vbe b/alliance/src/cells/src/msxlib/cgi2_x2.vbe
+new file mode 100644
+index 0000000..f45887b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgi2_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 13000;
++ CONSTANT cin_a : NATURAL := 24;
++ CONSTANT cin_b : NATURAL := 21;
++ CONSTANT cin_c : NATURAL := 11;
++ CONSTANT rdown_a_z : NATURAL := 1090;
++ CONSTANT rdown_b_z : NATURAL := 1100;
++ CONSTANT rdown_c_z : NATURAL := 1100;
++ CONSTANT rup_a_z : NATURAL := 1570;
++ CONSTANT rup_b_z : NATURAL := 1580;
++ CONSTANT rup_c_z : NATURAL := 1580;
++ CONSTANT tphl_c_z : NATURAL := 52;
++ CONSTANT tphl_b_z : NATURAL := 58;
++ CONSTANT tplh_a_z : NATURAL := 77;
++ CONSTANT tplh_c_z : NATURAL := 57;
++ CONSTANT tplh_b_z : NATURAL := 70;
++ CONSTANT tphl_a_z : NATURAL := 58;
++ CONSTANT transistors : NATURAL := 18
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgi2_x2;
++
++ARCHITECTURE behaviour_data_flow OF cgi2_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgi2_x2"
++ SEVERITY WARNING;
++ z <= not((b or (a and c)) and (a or c)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgi2a_x05.ap b/alliance/src/cells/src/msxlib/cgi2a_x05.ap
+new file mode 100644
+index 0000000..d4dd197
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2a_x05.ap
+@@ -0,0 +1,138 @@
++V ALLIANCE : 6
++H cgi2a_x05,P, 8/ 8/2014,100
++A 0,0,8000,10000
++R 7000,7000,ref_ref,a_70
++R 6000,7000,ref_ref,a_70
++R 6000,6000,ref_ref,a_60
++R 6000,5000,ref_ref,a_50
++R 5000,7000,ref_ref,c_70
++R 4000,5000,ref_ref,c_50
++R 5000,6000,ref_ref,c_60
++R 3000,3000,ref_ref,z_30
++R 4000,7000,ref_ref,z_70
++R 3000,4000,ref_ref,z_40
++R 3000,5000,ref_ref,z_50
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,b_40
++R 2000,5000,ref_ref,b_50
++R 1000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,b_60
++R 5000,5000,ref_ref,c_50
++R 4000,3000,ref_ref,z_30
++S 4100,700,4900,700,600,*,LEFT,PTIE
++S 1100,9300,1900,9300,600,*,LEFT,NTIE
++S 1400,1300,1400,1700,200,*,DOWN,POLY
++S 1400,2600,1400,5200,200,*,UP,POLY
++S 1400,1700,1400,2600,200,3b,UP,NTRANS
++S 1000,1900,1000,2400,400,*,DOWN,NDIF
++S 2400,4800,2400,6300,200,*,UP,POLY
++S 1800,5000,2400,5000,600,*,RIGHT,POLY
++S 6800,3800,6800,5700,200,*,DOWN,POLY
++S 5600,3700,5600,6300,200,*,UP,POLY
++S 4400,5100,4400,6300,200,*,DOWN,POLY
++S 3200,4000,3200,6300,200,*,UP,POLY
++S 6400,700,6400,1500,400,*,UP,ALU1
++S 6300,1300,6300,3500,400,*,UP,NDIF
++S 6800,2000,6800,2400,200,*,DOWN,POLY
++S 7400,3300,7400,6100,400,*,UP,ALU1
++S 6800,2400,6800,3700,200,2a,UP,NTRANS
++S 7200,2600,7200,3500,400,*,UP,NDIF
++S 2600,2000,2600,2400,200,*,DOWN,POLY
++S 3400,2000,3400,2400,200,*,DOWN,POLY
++S 4600,2000,4600,2400,200,*,DOWN,POLY
++S 5800,2000,5800,2400,200,*,DOWN,POLY
++S 700,2000,5300,2000,400,*,RIGHT,ALU1
++S 5200,2000,5200,2700,600,*,UP,ALU1
++S 2600,2400,2600,3300,200,4b,UP,NTRANS
++S 3000,2600,3000,3100,600,n3,UP,NDIF
++S 3400,2400,3400,3300,200,5a,UP,NTRANS
++S 4000,2600,4000,3100,1000,*,UP,NDIF
++S 5800,2400,5800,3300,200,6a,UP,NTRANS
++S 4600,2400,4600,3300,200,2c,UP,NTRANS
++S 5200,2600,5200,3100,1000,*,UP,NDIF
++S 6200,7900,6200,9300,400,*,UP,ALU1
++S 6200,5900,6200,8100,600,*,DOWN,PDIF
++S 6000,4800,6000,7100,400,*,DOWN,ALU1
++S 6000,5000,6000,7000,400,a,DOWN,CALU1
++S 7000,7000,7000,7000,400,a,LEFT,CALU1
++S 6000,7000,7000,7000,600,*,LEFT,ALU1
++S 4000,6000,4000,7000,400,z,UP,CALU1
++S 2000,5000,2000,5000,400,b,LEFT,CALU1
++S 1000,4000,1000,6000,400,b,DOWN,CALU1
++S 3400,3300,3400,4100,200,*,UP,POLY
++S 5800,3300,5800,4100,200,*,UP,POLY
++S 4600,3300,4600,5100,200,*,UP,POLY
++S 3000,2900,3000,6000,400,*,UP,ALU1
++S 3000,3000,4100,3000,400,*,RIGHT,ALU1
++S 3000,2900,4100,2900,400,*,RIGHT,ALU1
++S 2000,900,2000,3100,600,*,UP,NDIF
++S 6000,4900,6600,4900,600,*,LEFT,ALU1
++S 5000,4900,5000,7100,400,*,DOWN,ALU1
++S 4000,5000,5000,5000,600,*,LEFT,ALU1
++S 5000,5000,5000,7000,400,c,UP,CALU1
++S 2800,8000,5100,8000,400,*,RIGHT,ALU1
++S 3800,3900,7400,3900,600,*,RIGHT,ALU1
++S 1800,7900,1800,9300,400,*,DOWN,ALU1
++S 2800,7000,2800,8000,400,*,UP,ALU1
++S 600,7000,600,8100,400,*,DOWN,ALU1
++S 600,7000,2800,7000,400,*,RIGHT,ALU1
++S 600,7300,600,7900,600,*,DOWN,PDIF
++S 1000,3900,1000,6100,400,*,DOWN,ALU1
++S 1000,5000,2000,5000,600,*,LEFT,ALU1
++S 0,5000,8000,5000,10000,cgi2a_x05,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 3000,3000,3000,6000,400,z,DOWN,CALU1
++S 3900,6000,3900,7100,600,*,UP,ALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 4000,3000,4000,3000,400,z,LEFT,CALU1
++S 7200,5900,7200,8100,400,*,DOWN,PDIF
++S 6800,5700,6800,8300,200,1a,DOWN,PTRANS
++S 6200,5900,6200,8100,600,*,DOWN,PDIF
++S 5600,6300,5600,8300,200,4a,DOWN,PTRANS
++S 5000,6500,5000,8100,1000,*,UP,PDIF
++S 4400,6300,4400,8300,200,1c,DOWN,PTRANS
++S 3200,6300,3200,8300,200,3a,DOWN,PTRANS
++S 3800,6500,3800,8100,1000,*,UP,PDIF
++S 1800,6500,1800,8100,1000,*,UP,PDIF
++S 1200,6300,1200,8300,200,1b,DOWN,PTRANS
++S 2400,6300,2400,8300,200,2b,DOWN,PTRANS
++S 800,6500,800,8100,400,*,UP,PDIF
++S 2800,6500,2800,8100,600,n1,DOWN,PDIF
++S 3200,8300,3200,8700,200,*,DOWN,POLY
++S 4400,8300,4400,8700,200,*,DOWN,POLY
++S 5600,8300,5600,8700,200,*,DOWN,POLY
++S 6800,8300,6800,8700,200,*,DOWN,POLY
++S 1200,8300,1200,8700,200,*,DOWN,POLY
++S 2400,8300,2400,8700,200,*,DOWN,POLY
++S 4000,5000,4000,5000,400,c,LEFT,CALU1
++S 2600,3300,2600,5200,200,*,UP,POLY
++S 1200,4800,1200,6300,200,*,UP,POLY
++S 1200,5000,2600,5000,600,*,LEFT,POLY
++S 3200,3900,4000,3900,600,*,LEFT,POLY
++V 5000,700,CONT_BODY_P,*
++V 4000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 800,2000,CONT_DIF_N,n4
++V 1800,5000,CONT_POLY,*
++V 6400,1400,CONT_DIF_N,*
++V 7400,3400,CONT_DIF_N,an
++V 5200,2700,CONT_DIF_N,n4
++V 6200,8000,CONT_DIF_P,*
++V 5600,3900,CONT_POLY,an
++V 4000,3000,CONT_DIF_N,*
++V 5000,8000,CONT_DIF_P,n2
++V 3800,3900,CONT_POLY,an
++V 2000,1000,CONT_DIF_N,*
++V 6600,4900,CONT_POLY,*
++V 1800,8000,CONT_DIF_P,*
++V 3800,7000,CONT_DIF_P,*
++V 600,7200,CONT_DIF_P,n2
++V 600,8000,CONT_DIF_P,n2
++V 7400,6000,CONT_DIF_P,an
++V 4600,5100,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgi2a_x05.vbe b/alliance/src/cells/src/msxlib/cgi2a_x05.vbe
+new file mode 100644
+index 0000000..2695f96
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2a_x05.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgi2a_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_c : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 4130;
++ CONSTANT rdown_b_z : NATURAL := 4120;
++ CONSTANT rdown_c_z : NATURAL := 4110;
++ CONSTANT rup_a_z : NATURAL := 5840;
++ CONSTANT rup_b_z : NATURAL := 5820;
++ CONSTANT rup_c_z : NATURAL := 5850;
++ CONSTANT tphl_c_z : NATURAL := 54;
++ CONSTANT tphl_b_z : NATURAL := 62;
++ CONSTANT tphh_a_z : NATURAL := 103;
++ CONSTANT tplh_c_z : NATURAL := 59;
++ CONSTANT tplh_b_z : NATURAL := 81;
++ CONSTANT tpll_a_z : NATURAL := 107;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgi2a_x05;
++
++ARCHITECTURE behaviour_data_flow OF cgi2a_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgi2a_x05"
++ SEVERITY WARNING;
++ z <= not((not(a) or (b and c)) and (b or c)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgi2a_x1.ap b/alliance/src/cells/src/msxlib/cgi2a_x1.ap
+new file mode 100644
+index 0000000..791922e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2a_x1.ap
+@@ -0,0 +1,132 @@
++V ALLIANCE : 6
++H cgi2a_x1,P, 8/ 8/2014,100
++A 0,0,8000,10000
++R 4000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,z_40
++R 6000,7000,ref_ref,a_70
++R 6000,6000,ref_ref,a_60
++R 6000,5000,ref_ref,a_50
++R 5000,7000,ref_ref,c_70
++R 5000,6000,ref_ref,c_60
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,b_40
++R 2000,5000,ref_ref,b_50
++R 1000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,b_60
++R 5000,5000,ref_ref,c_50
++R 4000,3000,ref_ref,z_30
++R 7000,7000,ref_ref,a_70
++R 4000,7000,ref_ref,c_70
++S 4000,7000,4000,7000,400,c,LEFT,CALU1
++S 3800,3000,4000,3000,600,*,RIGHT,ALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 4000,3000,4000,6000,400,z,DOWN,CALU1
++S 4000,2900,4000,6000,400,*,UP,ALU1
++S 5300,3900,7400,3900,400,*,RIGHT,ALU1
++S 3200,500,3200,1500,200,*,DOWN,POLY
++S 5600,500,5600,1500,200,*,DOWN,POLY
++S 3200,500,5600,500,200,*,RIGHT,POLY
++S 2000,5000,2000,5000,400,b,LEFT,CALU1
++S 1000,4000,1000,6000,400,b,DOWN,CALU1
++S 5000,5000,5000,7000,400,c,UP,CALU1
++S 2800,8000,5100,8000,400,*,RIGHT,ALU1
++S 1800,7900,1800,9300,400,*,DOWN,ALU1
++S 2800,7000,2800,8000,400,*,UP,ALU1
++S 600,7000,600,8100,400,*,DOWN,ALU1
++S 600,7000,2800,7000,400,*,RIGHT,ALU1
++S 5600,9400,5600,9700,200,*,DOWN,POLY
++S 4400,9400,4400,9700,200,*,DOWN,POLY
++S 3200,9400,3200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 1800,5700,1800,9200,1000,*,UP,PDIF
++S 3800,5700,3800,9200,1000,*,UP,PDIF
++S 5000,5700,5000,9200,1000,*,UP,PDIF
++S 800,5700,800,9200,400,*,UP,PDIF
++S 600,7300,600,7900,600,*,DOWN,PDIF
++S 2800,5700,2800,9200,600,n1,DOWN,PDIF
++S 1000,3900,1000,6100,400,*,DOWN,ALU1
++S 1000,5000,2000,5000,600,*,LEFT,ALU1
++S 0,5000,8000,5000,10000,cgi2a_x1,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 6200,5700,6200,9200,600,*,DOWN,PDIF
++S 7200,5700,7200,9200,400,*,DOWN,PDIF
++S 6800,9400,6800,9700,200,*,DOWN,POLY
++S 6800,5500,6800,9400,200,1a,DOWN,PTRANS
++S 1200,5500,1200,9400,200,1b,DOWN,PTRANS
++S 2400,5500,2400,9400,200,2b,DOWN,PTRANS
++S 4400,5500,4400,9400,200,1c,DOWN,PTRANS
++S 3200,5500,3200,9400,200,3a,DOWN,PTRANS
++S 5600,5500,5600,9400,200,4a,DOWN,PTRANS
++S 7000,7000,7000,7000,400,a,LEFT,CALU1
++S 6000,7000,7000,7000,600,*,LEFT,ALU1
++S 6000,5000,6000,7000,400,a,DOWN,CALU1
++S 6000,4800,6000,7100,400,*,DOWN,ALU1
++S 6200,7900,6200,9300,400,*,UP,ALU1
++S 4000,7000,5000,7000,600,*,LEFT,ALU1
++S 600,2300,600,2900,600,*,UP,NDIF
++S 1200,4900,2400,4900,600,*,RIGHT,POLY
++S 2400,1100,2400,1500,200,*,DOWN,POLY
++S 2400,1500,2400,3300,200,4b,UP,NTRANS
++S 2400,3300,2400,5500,200,*,UP,POLY
++S 2800,1700,2800,3100,600,n3,UP,NDIF
++S 3200,1500,3200,3300,200,5a,UP,NTRANS
++S 3200,3300,3200,5500,200,*,UP,POLY
++S 3800,1700,3800,3100,1000,*,UP,NDIF
++S 4400,1500,4400,3300,200,2c,UP,NTRANS
++S 4400,1100,4400,1500,200,*,DOWN,POLY
++S 4400,3300,4400,5500,200,*,DOWN,POLY
++S 5000,1700,5000,3100,1000,*,UP,NDIF
++S 5600,1500,5600,3300,200,6a,UP,NTRANS
++S 5000,2000,5000,3100,400,*,UP,ALU1
++S 6800,1700,6800,2100,200,*,DOWN,POLY
++S 6800,2100,6800,3900,200,2a,UP,NTRANS
++S 7200,2300,7200,3700,400,*,UP,NDIF
++S 7400,3000,7400,3610,600,*,DOWN,NDIF
++S 7400,2700,7400,5900,400,*,UP,ALU1
++S 6800,3900,6800,5500,200,*,DOWN,POLY
++S 5600,3300,5600,5500,200,*,UP,POLY
++S 6200,1700,6200,3700,600,*,UP,NDIF
++S 6200,700,6200,3100,400,*,DOWN,ALU1
++S 6000,4900,6400,4900,600,*,LEFT,ALU1
++S 3000,2000,5000,2000,400,*,RIGHT,ALU1
++S 600,3100,3000,3100,400,*,LEFT,ALU1
++S 3000,2000,3000,3100,400,*,UP,ALU1
++S 600,2100,600,3100,400,*,DOWN,ALU1
++S 1800,700,1800,2100,400,*,DOWN,ALU1
++S 800,1700,800,3100,400,*,DOWN,NDIF
++S 1200,1500,1200,3300,200,3b,UP,NTRANS
++S 1200,1100,1200,1500,200,*,DOWN,POLY
++S 1800,1700,1800,3100,600,*,UP,NDIF
++S 1200,3300,1200,5500,200,*,UP,POLY
++S 4900,4800,4900,7100,600,*,DOWN,ALU1
++V 7000,700,CONT_BODY_P,*
++V 5000,8000,CONT_DIF_P,n2
++V 1800,4900,CONT_POLY,*
++V 3800,6000,CONT_DIF_P,*
++V 1800,8000,CONT_DIF_P,*
++V 600,7200,CONT_DIF_P,n2
++V 600,8000,CONT_DIF_P,n2
++V 6200,9000,CONT_DIF_P,*
++V 1800,9000,CONT_DIF_P,*
++V 7400,5800,CONT_DIF_P,an
++V 6200,8000,CONT_DIF_P,*
++V 4800,4900,CONT_POLY,*
++V 600,3000,CONT_DIF_N,n4
++V 600,2200,CONT_DIF_N,n4
++V 3800,3000,CONT_DIF_N,*
++V 5000,3000,CONT_DIF_N,n4
++V 5000,2200,CONT_DIF_N,n4
++V 5400,3900,CONT_POLY,an
++V 7400,3600,CONT_DIF_N,an
++V 7400,2800,CONT_DIF_N,an
++V 6200,3000,CONT_DIF_N,*
++V 6200,2000,CONT_DIF_N,*
++V 6400,4900,CONT_POLY,*
++V 1800,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgi2a_x1.vbe b/alliance/src/cells/src/msxlib/cgi2a_x1.vbe
+new file mode 100644
+index 0000000..4c4a0aa
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2a_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgi2a_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT cin_b : NATURAL := 12;
++ CONSTANT cin_c : NATURAL := 6;
++ CONSTANT rdown_a_z : NATURAL := 2060;
++ CONSTANT rdown_b_z : NATURAL := 2060;
++ CONSTANT rdown_c_z : NATURAL := 2050;
++ CONSTANT rup_a_z : NATURAL := 3000;
++ CONSTANT rup_b_z : NATURAL := 2980;
++ CONSTANT rup_c_z : NATURAL := 3000;
++ CONSTANT tphl_c_z : NATURAL := 50;
++ CONSTANT tphl_b_z : NATURAL := 57;
++ CONSTANT tphh_a_z : NATURAL := 103;
++ CONSTANT tplh_c_z : NATURAL := 56;
++ CONSTANT tplh_b_z : NATURAL := 76;
++ CONSTANT tpll_a_z : NATURAL := 105;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgi2a_x1;
++
++ARCHITECTURE behaviour_data_flow OF cgi2a_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgi2a_x1"
++ SEVERITY WARNING;
++ z <= not((not(a) or (b and c)) and (b or c)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgi2a_x2.ap b/alliance/src/cells/src/msxlib/cgi2a_x2.ap
+new file mode 100644
+index 0000000..8992b3b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2a_x2.ap
+@@ -0,0 +1,238 @@
++V ALLIANCE : 6
++H cgi2a_x2,P, 8/ 8/2014,100
++A 0,0,15000,10000
++R 14000,6000,ref_ref,a_60
++R 14000,4000,ref_ref,a_40
++R 14000,5000,ref_ref,a_50
++R 13000,5000,ref_ref,a_50
++R 1000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,b_60
++R 1000,7000,ref_ref,b_70
++R 2000,7000,ref_ref,b_70
++R 3000,7000,ref_ref,b_70
++R 4000,7000,ref_ref,b_70
++R 5000,7000,ref_ref,b_70
++R 6000,7000,ref_ref,b_70
++R 7000,7000,ref_ref,b_70
++R 8000,7000,ref_ref,b_70
++R 9000,7000,ref_ref,b_70
++R 9000,6000,ref_ref,b_60
++R 9000,5000,ref_ref,b_50
++R 8000,5000,ref_ref,b_50
++R 7000,5000,ref_ref,b_50
++R 6000,5000,ref_ref,b_50
++R 2000,4000,ref_ref,c_40
++R 3000,5000,ref_ref,c_50
++R 2000,6000,ref_ref,c_60
++R 2000,5000,ref_ref,c_50
++R 7000,6000,ref_ref,z_60
++R 6000,6000,ref_ref,z_60
++R 5000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 3000,6000,ref_ref,z_60
++R 4000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,z_30
++R 5000,3000,ref_ref,z_30
++R 6000,3000,ref_ref,z_30
++R 7000,3000,ref_ref,z_30
++S 13100,9300,13900,9300,600,*,RIGHT,NTIE
++S 11100,700,11900,700,600,*,RIGHT,PTIE
++S 13600,1900,13600,3400,200,4i,UP,NTRANS
++S 12400,1900,12400,3400,200,3i,UP,NTRANS
++S 11200,5100,11200,5700,200,*,DOWN,POLY
++S 10000,5100,10000,5700,200,*,DOWN,POLY
++S 13000,5000,14000,5000,600,*,LEFT,ALU1
++S 10000,5100,11200,5100,200,*,LEFT,POLY
++S 12400,4900,13600,4900,600,*,LEFT,POLY
++S 11800,5700,11800,9200,600,*,DOWN,PDIF
++S 12400,8500,12400,8900,200,*,UP,POLY
++S 14300,5700,14300,8300,600,*,DOWN,PDIF
++S 13600,5500,13600,8500,200,2i,DOWN,PTRANS
++S 13000,5700,13000,8300,600,*,UP,PDIF
++S 12400,5500,12400,8500,200,1i,DOWN,PTRANS
++S 13600,1500,13600,1900,200,*,DOWN,POLY
++S 12400,1500,12400,1900,200,*,DOWN,POLY
++S 11800,700,11800,3100,400,*,DOWN,ALU1
++S 9400,700,9400,3100,400,*,DOWN,ALU1
++S 11600,6000,13000,6000,400,*,RIGHT,ALU1
++S 11600,4000,11600,6000,400,*,DOWN,ALU1
++S 14000,3900,14000,6100,400,*,UP,ALU1
++S 13000,5000,13000,5000,400,a,LEFT,CALU1
++S 14000,4000,14000,6000,400,a,DOWN,CALU1
++S 12400,3400,12400,5700,200,*,DOWN,POLY
++S 13600,3400,13600,5700,200,*,DOWN,POLY
++S 14200,700,14200,3100,400,*,DOWN,ALU1
++S 13000,2100,13000,3200,600,*,UP,NDIF
++S 14300,2100,14300,3200,600,*,UP,NDIF
++S 11700,2100,11700,3200,600,*,UP,NDIF
++S 4900,4000,13000,4000,400,*,RIGHT,ALU1
++S 13000,6000,13000,7100,400,*,UP,ALU1
++S 6000,5000,6000,5000,400,b,LEFT,CALU1
++S 7000,5000,7000,5000,400,b,LEFT,CALU1
++S 8000,5000,8000,5000,400,b,LEFT,CALU1
++S 8000,7000,8000,7000,400,b,LEFT,CALU1
++S 9000,5000,9000,7000,400,b,UP,CALU1
++S 7000,7000,7000,7000,400,b,LEFT,CALU1
++S 6000,7000,6000,7000,400,b,LEFT,CALU1
++S 5000,7000,5000,7000,400,b,LEFT,CALU1
++S 4000,7000,4000,7000,400,b,LEFT,CALU1
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++S 2000,7000,2000,7000,400,b,LEFT,CALU1
++S 1000,5000,1000,7000,400,b,UP,CALU1
++S 14200,6900,14200,9300,400,*,UP,ALU1
++S 0,5000,15000,5000,10000,cgi2a_x2,LEFT,TALU8
++S 0,2200,15000,2200,5200,*,LEFT,PWELL
++S 0,7600,15000,7600,5600,*,LEFT,NWELL
++S 0,600,15000,600,1200,vss,RIGHT,CALU1
++S 0,9400,15000,9400,1200,vdd,RIGHT,CALU1
++S 2400,1300,2400,1700,200,*,DOWN,POLY
++S 1000,7000,9000,7000,400,*,RIGHT,ALU1
++S 1000,4900,1000,7000,400,*,UP,ALU1
++S 2000,5000,3100,5000,400,*,LEFT,ALU1
++S 2400,5000,3600,5000,600,*,RIGHT,POLY
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 3000,5000,3000,5000,400,c,LEFT,CALU1
++S 2000,4000,2000,6000,400,c,DOWN,CALU1
++S 4000,3000,4000,6000,400,z,DOWN,CALU1
++S 4000,3000,4000,6000,400,*,DOWN,ALU1
++S 7000,3000,7000,3000,400,z,LEFT,CALU1
++S 6000,3000,6000,3000,400,z,LEFT,CALU1
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 5000,3000,5000,3000,400,z,LEFT,CALU1
++S 7000,6000,7000,6000,400,z,LEFT,CALU1
++S 6000,6000,6000,6000,400,z,LEFT,CALU1
++S 5000,6000,5000,6000,400,z,LEFT,CALU1
++S 2900,6000,7500,6000,400,*,RIGHT,ALU1
++S 5900,5000,9000,5000,400,*,RIGHT,ALU1
++S 9000,5000,9000,7000,600,*,UP,ALU1
++S 5400,800,5400,3700,600,*,UP,NDIF
++S 7400,1900,7400,3200,600,*,DOWN,NDIF
++S 3000,1900,3000,3200,600,*,DOWN,NDIF
++S 600,800,600,3700,600,*,UP,NDIF
++S 1800,1900,1800,3200,600,*,UP,NDIF
++S 1600,800,1600,3700,400,*,UP,NDIF
++S 4200,1900,4200,3200,600,*,UP,NDIF
++S 4400,800,4400,3700,400,*,DOWN,NDIF
++S 3000,5900,3000,9200,1000,*,UP,PDIF
++S 4800,5300,6200,5300,200,*,RIGHT,POLY
++S 8800,3400,8800,5700,200,*,DOWN,POLY
++S 8000,3400,8000,5700,200,*,DOWN,POLY
++S 6800,3400,6800,5700,200,*,DOWN,POLY
++S 6000,3400,6000,5700,200,*,DOWN,POLY
++S 1200,3900,1200,5700,200,*,DOWN,POLY
++S 3600,3400,3600,5700,200,*,DOWN,POLY
++S 2400,3400,2400,5700,200,*,DOWN,POLY
++S 5000,4000,5000,4600,600,*,DOWN,ALU1
++S 1800,5900,1800,9200,600,*,DOWN,PDIF
++S 4200,5900,4200,9200,600,*,UP,PDIF
++S 5400,5900,5400,9200,600,*,UP,PDIF
++S 7400,5900,7400,9200,600,*,UP,PDIF
++S 9400,5900,9400,9200,600,*,UP,PDIF
++S 10600,5900,10600,9200,600,*,UP,PDIF
++S 600,5900,600,9200,600,*,DOWN,PDIF
++S 600,7900,600,9300,400,*,UP,ALU1
++S 1700,8000,10600,8000,400,*,RIGHT,ALU1
++S 10600,6900,10600,8000,400,*,DOWN,ALU1
++S 11800,6900,11800,9300,400,*,UP,ALU1
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 1800,2000,4300,2000,400,*,RIGHT,ALU1
++S 1800,2000,1800,3100,400,*,DOWN,ALU1
++S 5400,700,5400,2100,400,*,DOWN,ALU1
++S 2900,3000,7400,3000,400,*,RIGHT,ALU1
++S 7400,1900,7400,3000,400,*,DOWN,ALU1
++S 9500,1900,9500,3200,600,*,UP,NDIF
++S 9400,1900,9400,3200,600,*,UP,NDIF
++S 8800,1300,8800,1700,200,*,DOWN,POLY
++S 8000,1300,8000,1700,200,*,DOWN,POLY
++S 6800,1300,6800,1700,200,*,DOWN,POLY
++S 6000,1300,6000,1700,200,*,DOWN,POLY
++S 4800,300,4800,600,200,*,DOWN,POLY
++S 3600,1300,3600,1700,200,*,DOWN,POLY
++S 1200,300,1200,600,200,*,DOWN,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 6000,9400,6000,9700,200,*,DOWN,POLY
++S 6800,9400,6800,9700,200,*,DOWN,POLY
++S 8000,9400,8000,9700,200,*,DOWN,POLY
++S 8800,9400,8800,9700,200,*,DOWN,POLY
++S 10000,9400,10000,9700,200,*,DOWN,POLY
++S 11200,9400,11200,9700,200,*,DOWN,POLY
++S 2400,5700,2400,9400,200,1c,DOWN,PTRANS
++S 3600,5700,3600,9400,200,2c,DOWN,PTRANS
++S 2400,1700,2400,3400,200,3c,UP,NTRANS
++S 3600,1700,3600,3400,200,4c,UP,NTRANS
++S 1200,5700,1200,9400,200,1a,DOWN,PTRANS
++S 4800,5700,4800,9400,200,2a,DOWN,PTRANS
++S 6000,5700,6000,9400,200,3a,DOWN,PTRANS
++S 8800,5700,8800,9400,200,4a,DOWN,PTRANS
++S 1200,600,1200,3900,200,5a,UP,NTRANS
++S 6000,1700,6000,3400,200,7a,UP,NTRANS
++S 8800,1700,8800,3400,200,8a,UP,NTRANS
++S 11200,5700,11200,9400,200,1b,DOWN,PTRANS
++S 10000,5700,10000,9400,200,2b,DOWN,PTRANS
++S 6800,4000,8000,4000,600,*,RIGHT,POLY
++S 6800,5700,6800,9400,200,3b,DOWN,PTRANS
++S 8000,5700,8000,9400,200,4b,DOWN,PTRANS
++S 4800,600,4800,3900,200,5b,UP,NTRANS
++S 6800,1700,6800,3400,200,7b,UP,NTRANS
++S 8000,1700,8000,3400,200,8b,UP,NTRANS
++S 8400,5900,8400,9200,400,n1a,UP,PDIF
++S 6400,5900,6400,9200,400,n1b,UP,PDIF
++S 8400,1900,8400,3200,400,n3a,UP,NDIF
++S 6400,1900,6400,3200,400,n3b,UP,NDIF
++S 13600,8500,13600,8800,200,*,UP,POLY
++S 13000,2200,13000,4000,400,*,UP,ALU1
++V 14000,9300,CONT_BODY_N,*
++V 13000,9300,CONT_BODY_N,*
++V 12000,700,CONT_BODY_P,*
++V 11000,700,CONT_BODY_P,*
++V 13000,6100,CONT_DIF_P,an
++V 13300,4900,CONT_POLY,*
++V 13000,2300,CONT_DIF_N,an
++V 13000,3100,CONT_DIF_N,an
++V 13000,7000,CONT_DIF_P,an
++V 11600,4900,CONT_POLY,an
++V 7400,4000,CONT_POLY,an
++V 5000,4500,CONT_POLY,an
++V 11800,3000,CONT_DIF_N,*
++V 9400,3000,CONT_DIF_N,*
++V 14200,3000,CONT_DIF_N,*
++V 11800,2200,CONT_DIF_N,*
++V 14200,2200,CONT_DIF_N,*
++V 14200,8000,CONT_DIF_P,*
++V 14200,7000,CONT_DIF_P,*
++V 1000,5000,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 600,9000,CONT_DIF_P,*
++V 600,1000,CONT_DIF_N,*
++V 5400,1000,CONT_DIF_N,*
++V 3000,3000,CONT_DIF_N,*
++V 4200,2000,CONT_DIF_N,n4
++V 1800,8000,CONT_DIF_P,n2
++V 5400,9000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,n2
++V 7400,6000,CONT_DIF_P,*
++V 11800,8000,CONT_DIF_P,*
++V 11800,9000,CONT_DIF_P,*
++V 3000,6000,CONT_DIF_P,*
++V 6000,5000,CONT_POLY,*
++V 9000,5000,CONT_POLY,*
++V 600,8000,CONT_DIF_P,*
++V 10600,7000,CONT_DIF_P,n2
++V 10600,7800,CONT_DIF_P,n2
++V 11800,7000,CONT_DIF_P,*
++V 600,2000,CONT_DIF_N,*
++V 600,3000,CONT_DIF_N,*
++V 1800,3000,CONT_DIF_N,n4
++V 1800,2200,CONT_DIF_N,n4
++V 5400,2000,CONT_DIF_N,*
++V 7400,2000,CONT_DIF_N,*
++V 7400,2800,CONT_DIF_N,*
++V 9400,2000,CONT_DIF_N,*
++V 9400,9000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgi2a_x2.vbe b/alliance/src/cells/src/msxlib/cgi2a_x2.vbe
+new file mode 100644
+index 0000000..61ab612
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgi2a_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgi2a_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 15000;
++ CONSTANT cin_a : NATURAL := 11;
++ CONSTANT cin_b : NATURAL := 24;
++ CONSTANT cin_c : NATURAL := 11;
++ CONSTANT rdown_a_z : NATURAL := 1100;
++ CONSTANT rdown_b_z : NATURAL := 1090;
++ CONSTANT rdown_c_z : NATURAL := 1100;
++ CONSTANT rup_a_z : NATURAL := 1580;
++ CONSTANT rup_b_z : NATURAL := 1570;
++ CONSTANT rup_c_z : NATURAL := 1580;
++ CONSTANT tphl_c_z : NATURAL := 51;
++ CONSTANT tphl_b_z : NATURAL := 58;
++ CONSTANT tphh_a_z : NATURAL := 103;
++ CONSTANT tplh_c_z : NATURAL := 56;
++ CONSTANT tplh_b_z : NATURAL := 77;
++ CONSTANT tpll_a_z : NATURAL := 110;
++ CONSTANT transistors : NATURAL := 22
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgi2a_x2;
++
++ARCHITECTURE behaviour_data_flow OF cgi2a_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgi2a_x2"
++ SEVERITY WARNING;
++ z <= not((not(a) or (b and c)) and (b or c)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x1.ap b/alliance/src/cells/src/msxlib/cgn2_x1.ap
+new file mode 100644
+index 0000000..f8ecadf
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x1.ap
+@@ -0,0 +1,136 @@
++V ALLIANCE : 6
++H cgn2_x1,P, 8/ 8/2014,100
++A 0,0,8000,10000
++R 7000,7000,ref_ref,c_70
++R 7000,8000,ref_ref,c_80
++R 4000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,a_60
++R 1000,5000,ref_ref,a_50
++R 1000,4000,ref_ref,a_40
++R 2000,5000,ref_ref,a_50
++R 4000,4000,ref_ref,b_40
++R 5000,6000,ref_ref,c_60
++R 5000,7000,ref_ref,c_70
++R 6000,7000,ref_ref,c_70
++R 7000,4000,ref_ref,z_40
++R 7000,5000,ref_ref,z_50
++R 7000,6000,ref_ref,z_60
++R 7000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,b_60
++R 6000,6000,ref_ref,z_60
++R 5000,5000,ref_ref,b_50
++S 2800,700,3600,700,600,*,RIGHT,PTIE
++S 7100,7000,7100,8100,400,*,UP,ALU1
++S 7000,7000,7000,8100,400,*,UP,ALU1
++S 6200,7900,6200,9300,400,*,UP,ALU1
++S 5000,7000,7000,7000,400,*,LEFT,ALU1
++S 7000,7000,7000,8000,400,c,DOWN,CALU1
++S 6800,7700,6800,8100,200,*,DOWN,POLY
++S 6200,5900,6200,9100,600,*,DOWN,PDIF
++S 7000,3000,7000,6000,400,z,DOWN,CALU1
++S 5900,6000,7500,6000,400,*,LEFT,ALU1
++S 6800,5700,6800,7700,200,1z,DOWN,PTRANS
++S 7200,5900,7200,7500,400,*,UP,PDIF
++S 2400,6700,2400,9300,200,2a,DOWN,PTRANS
++S 1200,6700,1200,9300,200,1a,DOWN,PTRANS
++S 5600,6700,5600,9300,200,2b,DOWN,PTRANS
++S 3200,6700,3200,9300,200,1b,DOWN,PTRANS
++S 4400,6700,4400,9300,200,1c,DOWN,PTRANS
++S 500,1900,4900,1900,400,*,RIGHT,ALU1
++S 1000,3900,1000,6100,400,*,DOWN,ALU1
++S 1000,4000,1000,6000,400,a,DOWN,CALU1
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,8000,5000,10000,cgn2_x1,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 1200,5000,2400,5000,600,*,RIGHT,POLY
++S 1000,5000,2000,5000,600,*,LEFT,ALU1
++S 3600,5000,4000,5000,600,*,LEFT,ALU1
++S 4000,4000,4000,6000,400,b,UP,CALU1
++S 3800,6900,3800,9100,1000,*,UP,PDIF
++S 5000,6900,5000,9100,1000,*,UP,PDIF
++S 2800,7000,3900,7000,400,*,RIGHT,ALU1
++S 2800,3000,2800,7000,400,*,UP,ALU1
++S 5600,9300,5600,9700,200,*,DOWN,POLY
++S 4400,9300,4400,9700,200,*,DOWN,POLY
++S 3200,9300,3200,9700,200,*,DOWN,POLY
++S 2400,9300,2400,9700,200,*,DOWN,POLY
++S 2800,6900,2800,9100,600,n1,DOWN,PDIF
++S 1800,6900,1800,9100,1000,*,UP,PDIF
++S 800,6900,800,9100,400,*,UP,PDIF
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 4400,3800,4400,6700,200,*,UP,POLY
++S 3200,4800,3200,6700,200,*,UP,POLY
++S 2400,4800,2400,6700,200,*,UP,POLY
++S 5000,6000,5000,7000,400,c,DOWN,CALU1
++S 4900,5900,4900,7000,600,*,UP,ALU1
++S 4000,5000,5300,5000,600,*,RIGHT,ALU1
++S 5600,4800,5600,6700,200,*,UP,POLY
++S 4000,3900,4000,6100,400,*,UP,ALU1
++S 600,6900,600,8000,400,*,UP,ALU1
++S 600,8000,5100,8000,400,*,RIGHT,ALU1
++S 600,7100,600,7700,600,*,UP,PDIF
++S 2800,3000,5000,3000,400,*,RIGHT,ALU1
++S 5000,4000,6200,4000,600,*,RIGHT,ALU1
++S 5000,3000,5000,4100,400,*,UP,ALU1
++S 7000,3000,7200,3000,600,*,LEFT,ALU1
++S 7000,2500,7000,3100,400,*,UP,NDIF
++S 6600,2300,6600,3300,200,2z,UP,NTRANS
++S 6800,4100,6800,6700,200,*,DOWN,POLY
++S 6600,3300,6600,4200,200,*,UP,POLY
++S 7000,3000,7000,6000,400,*,DOWN,ALU1
++S 6000,700,6000,3100,400,*,DOWN,ALU1
++S 6600,1900,6600,2300,200,*,UP,POLY
++S 6000,2100,6000,3100,600,*,UP,NDIF
++S 5400,1500,5400,1900,200,*,DOWN,POLY
++S 5400,1900,5400,3100,200,4b,UP,NTRANS
++S 4200,1500,4200,1900,200,*,DOWN,POLY
++S 4200,1900,4200,3100,200,2c,UP,NTRANS
++S 3000,1500,3000,1900,200,*,DOWN,POLY
++S 3000,1900,3000,3100,200,3b,UP,NTRANS
++S 2200,1500,2200,1900,200,*,DOWN,POLY
++S 2200,1900,2200,3100,200,4a,UP,NTRANS
++S 3600,2100,3600,2900,600,*,UP,NDIF
++S 2600,2100,2600,2900,600,n3,UP,NDIF
++S 4800,2100,4800,2900,600,*,UP,NDIF
++S 4800,1900,4800,2200,600,*,UP,ALU1
++S 3600,2800,3600,3000,600,*,DOWN,ALU1
++S 1200,1900,1200,3100,200,3a,UP,NTRANS
++S 800,2100,800,2900,400,*,DOWN,NDIF
++S 600,1900,600,2200,600,*,UP,ALU1
++S 1700,900,1700,2900,400,*,UP,NDIF
++S 1200,1600,1200,1900,200,*,DOWN,POLY
++S 1200,3100,1200,6700,200,*,UP,POLY
++S 2200,3100,2200,4700,200,*,UP,POLY
++S 3000,3100,3000,5200,200,*,UP,POLY
++S 4200,3100,4200,3900,200,*,UP,POLY
++S 5400,3100,5400,4700,200,*,UP,POLY
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 5000,5000,5000,5000,400,b,LEFT,CALU1
++S 6000,6000,6000,6000,400,z,LEFT,CALU1
++S 6000,7000,6000,7000,400,c,LEFT,CALU1
++V 3800,700,CONT_BODY_P,*
++V 2800,700,CONT_BODY_P,*
++V 7300,9300,CONT_BODY_N,*
++V 6200,8000,CONT_DIF_P,*
++V 7400,6000,CONT_DIF_P,*
++V 1800,9000,CONT_DIF_P,*
++V 5000,8000,CONT_DIF_P,n2
++V 6200,9000,CONT_DIF_P,*
++V 2000,5000,CONT_POLY,*
++V 3600,5000,CONT_POLY,*
++V 3800,7000,CONT_DIF_P,zn
++V 4800,6000,CONT_POLY,*
++V 5200,5000,CONT_POLY,*
++V 600,7000,CONT_DIF_P,n2
++V 600,7800,CONT_DIF_P,n2
++V 6200,4000,CONT_POLY,zn
++V 6000,3000,CONT_DIF_N,*
++V 7200,3000,CONT_DIF_N,*
++V 6000,2200,CONT_DIF_N,*
++V 4800,2200,CONT_DIF_N,n4
++V 3600,2800,CONT_DIF_N,zn
++V 600,2200,CONT_DIF_N,n4
++V 1600,1000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x1.vbe b/alliance/src/cells/src/msxlib/cgn2_x1.vbe
+new file mode 100644
+index 0000000..b86bf48
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgn2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_a : NATURAL := 8;
++ CONSTANT cin_b : NATURAL := 9;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 2320;
++ CONSTANT rdown_b_z : NATURAL := 2330;
++ CONSTANT rdown_c_z : NATURAL := 2340;
++ CONSTANT rup_a_z : NATURAL := 2980;
++ CONSTANT rup_b_z : NATURAL := 2970;
++ CONSTANT rup_c_z : NATURAL := 2970;
++ CONSTANT tphh_c_z : NATURAL := 95;
++ CONSTANT tpll_c_z : NATURAL := 118;
++ CONSTANT tpll_a_z : NATURAL := 134;
++ CONSTANT tphh_b_z : NATURAL := 104;
++ CONSTANT tpll_b_z : NATURAL := 132;
++ CONSTANT tphh_a_z : NATURAL := 102;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgn2_x1;
++
++ARCHITECTURE behaviour_data_flow OF cgn2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgn2_x1"
++ SEVERITY WARNING;
++ z <= ((b and (a or c)) or (a and c)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x2.ap b/alliance/src/cells/src/msxlib/cgn2_x2.ap
+new file mode 100644
+index 0000000..c708cbc
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x2.ap
+@@ -0,0 +1,137 @@
++V ALLIANCE : 6
++H cgn2_x2,P, 8/ 8/2014,100
++A 0,0,8000,10000
++R 4000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,a_60
++R 1000,5000,ref_ref,a_50
++R 1000,4000,ref_ref,a_40
++R 2000,5000,ref_ref,a_50
++R 4000,4000,ref_ref,b_40
++R 5000,5000,ref_ref,c_50
++R 5000,6000,ref_ref,c_60
++R 5000,7000,ref_ref,c_70
++R 6000,7000,ref_ref,c_70
++R 5000,4000,ref_ref,b_40
++R 7000,4000,ref_ref,z_40
++R 7000,5000,ref_ref,z_50
++R 7000,6000,ref_ref,z_60
++R 7000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,b_60
++R 7000,7000,ref_ref,z_70
++R 7000,2000,ref_ref,z_20
++R 6000,5000,ref_ref,z_50
++S 2800,700,3600,700,600,*,RIGHT,PTIE
++S 6800,5600,6800,9400,200,1z,DOWN,PTRANS
++S 4400,5600,4400,9400,200,1c,DOWN,PTRANS
++S 5600,5600,5600,9400,200,2b,DOWN,PTRANS
++S 3200,5600,3200,9400,200,1b,DOWN,PTRANS
++S 1200,5600,1200,9400,200,2a,DOWN,PTRANS
++S 2400,5600,2400,9400,200,1a,DOWN,PTRANS
++S 1000,3900,1000,6100,400,*,DOWN,ALU1
++S 1000,4000,1000,6000,400,a,DOWN,CALU1
++S 5000,7000,6100,7000,400,*,LEFT,ALU1
++S 5000,5000,5000,7000,400,c,DOWN,CALU1
++S 3200,9400,3200,9700,200,*,DOWN,POLY
++S 4400,9400,4400,9700,200,*,DOWN,POLY
++S 5600,9400,5600,9700,200,*,DOWN,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 6200,7900,6200,9300,400,*,UP,ALU1
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,8000,5000,10000,cgn2_x2,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 1000,5000,2000,5000,600,*,LEFT,ALU1
++S 3600,5000,4000,5000,600,*,LEFT,ALU1
++S 4900,4900,4900,7000,600,*,UP,ALU1
++S 4000,4000,4000,6000,400,b,UP,CALU1
++S 4000,4000,4000,6100,400,*,UP,ALU1
++S 2800,3000,6200,3000,400,*,RIGHT,ALU1
++S 6000,700,6000,2100,400,*,DOWN,ALU1
++S 600,2000,4900,2000,400,*,RIGHT,ALU1
++S 7000,7100,7500,7100,400,*,LEFT,ALU1
++S 4000,4000,5300,4000,600,*,RIGHT,ALU1
++S 800,5800,800,9200,400,*,UP,PDIF
++S 1800,5800,1800,9200,1000,*,UP,PDIF
++S 3800,5800,3800,9200,1000,*,UP,PDIF
++S 2800,5800,2800,9200,600,n1,DOWN,PDIF
++S 5000,5800,5000,9200,1000,*,UP,PDIF
++S 6200,5800,6200,9200,600,*,DOWN,PDIF
++S 7200,5800,7200,9200,400,*,UP,PDIF
++S 6800,9400,6800,9700,200,*,DOWN,POLY
++S 2800,7000,3900,7000,400,*,RIGHT,ALU1
++S 2800,3000,2800,7000,400,*,UP,ALU1
++S 600,7100,600,7700,600,*,UP,PDIF
++S 600,6900,600,8000,400,*,UP,ALU1
++S 600,8000,5100,8000,400,*,RIGHT,ALU1
++S 1200,5000,2200,5000,600,*,RIGHT,POLY
++S 2400,5100,2400,5600,200,*,UP,POLY
++S 3200,4800,3200,5600,200,*,UP,POLY
++S 4400,3800,4400,5600,200,*,UP,POLY
++S 5600,4100,5600,5600,200,*,UP,POLY
++S 7000,2000,7200,2000,600,*,LEFT,ALU1
++S 7000,2000,7000,7100,400,*,DOWN,ALU1
++S 7000,2000,7000,7000,400,z,DOWN,CALU1
++S 6200,3000,6200,3400,400,*,UP,ALU1
++S 6800,3400,6800,5600,200,*,DOWN,POLY
++S 2200,1600,2200,3300,200,3a,UP,NTRANS
++S 1200,1600,1200,3300,200,4a,UP,NTRANS
++S 800,1800,800,3100,400,*,DOWN,NDIF
++S 2600,1800,2600,3100,600,n3,UP,NDIF
++S 3600,1800,3600,3100,1000,*,UP,NDIF
++S 4200,1600,4200,3300,200,2c,UP,NTRANS
++S 3000,1600,3000,3300,200,3b,UP,NTRANS
++S 4600,1800,4600,3100,400,*,UP,NDIF
++S 600,2000,600,3100,400,*,DOWN,ALU1
++S 600,2300,600,2900,600,*,UP,NDIF
++S 1200,3300,1200,5500,200,*,UP,POLY
++S 2200,3300,2200,4700,200,*,UP,POLY
++S 3000,3300,3000,4900,200,*,UP,POLY
++S 4200,3300,4200,3900,200,*,UP,POLY
++S 1200,1200,1200,1600,200,*,DOWN,POLY
++S 2200,1200,2200,1600,200,*,DOWN,POLY
++S 3000,1200,3000,1600,200,*,DOWN,POLY
++S 4200,1200,4200,1600,200,*,DOWN,POLY
++S 1700,500,1700,3100,400,*,UP,NDIF
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 5000,4000,5000,4000,400,b,LEFT,CALU1
++S 6000,7000,6000,7000,400,c,LEFT,CALU1
++S 6000,5000,6000,5000,400,z,LEFT,CALU1
++S 5900,5000,7000,5000,400,*,LEFT,ALU1
++S 7000,6300,7500,6300,400,*,LEFT,ALU1
++S 7400,6200,7400,7000,600,*,UP,PDIF
++S 6600,300,6600,700,200,*,UP,POLY
++S 6600,700,6600,2600,200,2z,UP,NTRANS
++S 7000,900,7000,2400,400,*,UP,NDIF
++S 6000,900,6000,2400,600,*,UP,NDIF
++S 5400,500,5400,900,200,*,DOWN,POLY
++S 5400,900,5400,2600,200,4b,UP,NTRANS
++S 5000,1100,5000,2400,400,*,UP,NDIF
++S 5400,2600,5400,3800,200,*,UP,POLY
++S 6600,2600,6600,3500,200,*,UP,POLY
++V 3800,700,CONT_BODY_P,*
++V 2800,700,CONT_BODY_P,*
++V 1800,9000,CONT_DIF_P,*
++V 5000,8000,CONT_DIF_P,n2
++V 6200,8000,CONT_DIF_P,*
++V 6200,9000,CONT_DIF_P,*
++V 2000,5000,CONT_POLY,*
++V 3600,5000,CONT_POLY,*
++V 4800,5000,CONT_POLY,*
++V 4800,2000,CONT_DIF_N,n4
++V 5200,4000,CONT_POLY,*
++V 6000,2000,CONT_DIF_N,*
++V 7400,7100,CONT_DIF_P,*
++V 3600,3000,CONT_DIF_N,zn
++V 3800,7000,CONT_DIF_P,zn
++V 600,7000,CONT_DIF_P,n2
++V 600,7800,CONT_DIF_P,n2
++V 6200,3300,CONT_POLY,zn
++V 7200,2000,CONT_DIF_N,*
++V 600,3000,CONT_DIF_N,n4
++V 600,2200,CONT_DIF_N,n4
++V 1600,600,CONT_DIF_N,*
++V 7400,6300,CONT_DIF_P,*
++V 6000,1000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x2.vbe b/alliance/src/cells/src/msxlib/cgn2_x2.vbe
+new file mode 100644
+index 0000000..1812601
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgn2_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_a : NATURAL := 12;
++ CONSTANT cin_b : NATURAL := 12;
++ CONSTANT cin_c : NATURAL := 7;
++ CONSTANT rdown_a_z : NATURAL := 1220;
++ CONSTANT rdown_b_z : NATURAL := 1230;
++ CONSTANT rdown_c_z : NATURAL := 1230;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT rup_b_z : NATURAL := 1560;
++ CONSTANT rup_c_z : NATURAL := 1560;
++ CONSTANT tphh_c_z : NATURAL := 98;
++ CONSTANT tpll_c_z : NATURAL := 120;
++ CONSTANT tpll_a_z : NATURAL := 135;
++ CONSTANT tphh_b_z : NATURAL := 106;
++ CONSTANT tpll_b_z : NATURAL := 133;
++ CONSTANT tphh_a_z : NATURAL := 105;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgn2_x2;
++
++ARCHITECTURE behaviour_data_flow OF cgn2_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgn2_x2"
++ SEVERITY WARNING;
++ z <= ((b and (a or c)) or (a and c)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x3.ap b/alliance/src/cells/src/msxlib/cgn2_x3.ap
+new file mode 100644
+index 0000000..684e15a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x3.ap
+@@ -0,0 +1,226 @@
++V ALLIANCE : 6
++H cgn2_x3,P, 8/ 8/2014,100
++A 0,0,15000,10000
++R 13000,7000,ref_ref,z_70
++R 13000,6000,ref_ref,z_60
++R 14000,5000,ref_ref,z_50
++R 13000,5000,ref_ref,z_50
++R 13000,3000,ref_ref,z_30
++R 13000,4000,ref_ref,z_40
++R 10000,6000,ref_ref,b_60
++R 2000,4000,ref_ref,c_40
++R 3000,5000,ref_ref,c_50
++R 2000,6000,ref_ref,c_60
++R 2000,5000,ref_ref,c_50
++R 10000,4000,ref_ref,b_40
++R 10000,5000,ref_ref,b_50
++R 1000,5000,ref_ref,a_50
++R 6000,5000,ref_ref,a_50
++R 9000,5000,ref_ref,a_50
++R 9000,7000,ref_ref,a_70
++R 7000,5000,ref_ref,a_50
++R 8000,5000,ref_ref,a_50
++R 8000,7000,ref_ref,a_70
++R 7000,7000,ref_ref,a_70
++R 6000,7000,ref_ref,a_70
++R 5000,7000,ref_ref,a_70
++R 4000,7000,ref_ref,a_70
++R 3000,7000,ref_ref,a_70
++R 2000,7000,ref_ref,a_70
++R 1000,7000,ref_ref,a_70
++R 1000,6000,ref_ref,a_60
++R 9000,6000,ref_ref,a_60
++R 5000,4000,ref_ref,b_40
++R 9000,4000,ref_ref,b_40
++R 8000,4000,ref_ref,b_40
++R 7000,4000,ref_ref,b_40
++R 6000,4000,ref_ref,b_40
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 9400,700,9400,2200,400,*,DOWN,ALU1
++S 6000,3000,6000,5700,200,*,DOWN,POLY
++S 6800,3000,6800,5700,200,*,DOWN,POLY
++S 8000,3000,8000,5700,200,*,DOWN,POLY
++S 8800,3000,8800,5700,200,*,DOWN,POLY
++S 9500,2000,9500,2800,600,*,UP,NDIF
++S 7400,2500,7400,3000,400,*,DOWN,ALU1
++S 7400,2000,7400,2800,600,*,DOWN,NDIF
++S 8000,1800,8000,3000,200,8b,UP,NTRANS
++S 8800,1800,8800,3000,200,8a,UP,NTRANS
++S 8400,2000,8400,2800,400,n3a,UP,NDIF
++S 6800,1800,6800,3000,200,7b,UP,NTRANS
++S 6000,1800,6000,3000,200,7a,UP,NTRANS
++S 6400,2000,6400,2800,400,n3b,UP,NDIF
++S 3000,2700,3000,3000,600,*,UP,ALU1
++S 4200,2000,4200,2800,600,*,DOWN,NDIF
++S 1800,2000,1800,2800,600,*,DOWN,NDIF
++S 5400,700,5400,2200,400,*,DOWN,ALU1
++S 5400,2000,5400,3700,600,*,UP,NDIF
++S 4800,1800,4800,3900,200,5b,UP,NTRANS
++S 4400,2000,4400,3700,400,*,DOWN,NDIF
++S 3600,3000,3600,5700,200,*,DOWN,POLY
++S 2400,3000,2400,5700,200,*,DOWN,POLY
++S 1200,3900,1200,5700,200,*,DOWN,POLY
++S 600,2000,600,3700,600,*,UP,NDIF
++S 1800,1900,1800,2100,600,*,DOWN,ALU1
++S 1700,1900,4300,1900,400,*,RIGHT,ALU1
++S 1200,1800,1200,3900,200,5a,UP,NTRANS
++S 1600,2000,1600,3700,400,*,UP,NDIF
++S 4200,1900,4200,2100,600,*,DOWN,ALU1
++S 3600,1800,3600,3000,200,4c,UP,NTRANS
++S 2400,1800,2400,3000,200,3c,UP,NTRANS
++S 3000,2000,3000,2800,600,*,DOWN,NDIF
++S 2900,3000,11000,3000,400,*,RIGHT,ALU1
++S 11700,2400,11700,3500,600,*,UP,NDIF
++S 14300,2400,14300,3500,600,*,UP,NDIF
++S 14200,700,14200,3500,400,*,DOWN,ALU1
++S 11800,700,11800,3500,400,*,DOWN,ALU1
++S 13600,2200,13600,3700,200,4z,UP,NTRANS
++S 12400,2200,12400,3700,200,3z,UP,NTRANS
++S 13000,2400,13000,3500,600,*,UP,NDIF
++S 14300,5700,14300,8100,600,*,DOWN,PDIF
++S 11800,5700,11800,8100,600,*,DOWN,PDIF
++S 13100,5700,13100,8100,600,*,DOWN,PDIF
++S 13600,5500,13600,8300,200,2z,DOWN,PTRANS
++S 12400,5500,12400,8300,200,1z,DOWN,PTRANS
++S 11200,5700,11200,8300,200,1b,DOWN,PTRANS
++S 10600,5900,10600,8100,600,*,UP,PDIF
++S 9400,5900,9400,9100,600,*,UP,PDIF
++S 5400,5900,5400,9100,600,*,UP,PDIF
++S 8400,5900,8400,8100,400,n1a,UP,PDIF
++S 10000,5700,10000,8300,200,2b,DOWN,PTRANS
++S 8800,5700,8800,8300,200,4a,DOWN,PTRANS
++S 6400,5900,6400,8100,400,n1b,UP,PDIF
++S 6000,5700,6000,8300,200,3a,DOWN,PTRANS
++S 6800,5700,6800,8300,200,3b,DOWN,PTRANS
++S 8000,5700,8000,8300,200,4b,DOWN,PTRANS
++S 7400,5900,7400,8100,600,*,UP,PDIF
++S 3000,5900,3000,8100,600,*,UP,PDIF
++S 3600,5700,3600,8300,200,2c,DOWN,PTRANS
++S 4800,5700,4800,8300,200,2a,DOWN,PTRANS
++S 4200,5900,4200,8100,600,*,UP,PDIF
++S 600,5900,600,8100,600,*,DOWN,PDIF
++S 2400,5700,2400,8300,200,1c,DOWN,PTRANS
++S 1200,5700,1200,8300,200,1a,DOWN,PTRANS
++S 1800,5900,1800,8100,600,*,DOWN,PDIF
++S 14000,5000,14000,5000,400,z,LEFT,CALU1
++S 13000,5000,14100,5000,400,*,RIGHT,ALU1
++S 13000,3000,13000,7000,400,z,UP,CALU1
++S 12400,4600,13600,4600,200,*,RIGHT,POLY
++S 11000,4400,12200,4400,400,*,RIGHT,ALU1
++S 11000,3000,11000,4400,400,*,UP,ALU1
++S 10000,4000,10000,6000,600,*,DOWN,ALU1
++S 10000,4000,10000,6000,400,b,DOWN,CALU1
++S 13600,3700,13600,5700,200,*,DOWN,POLY
++S 12400,3700,12400,5700,200,*,DOWN,POLY
++S 13000,2500,13000,7100,400,*,DOWN,ALU1
++S 14200,6900,14200,9300,400,*,UP,ALU1
++S 0,5000,15000,5000,10000,cgn2_x3,LEFT,TALU8
++S 0,2200,15000,2200,5200,*,LEFT,PWELL
++S 0,7600,15000,7600,5600,*,LEFT,NWELL
++S 0,9400,15000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,15000,600,1200,vss,RIGHT,CALU1
++S 1000,7000,9000,7000,400,*,RIGHT,ALU1
++S 1000,4900,1000,7000,400,*,UP,ALU1
++S 2000,5000,3100,5000,400,*,LEFT,ALU1
++S 2400,5000,3600,5000,600,*,RIGHT,POLY
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 3000,5000,3000,5000,400,c,LEFT,CALU1
++S 2000,4000,2000,6000,400,c,DOWN,CALU1
++S 4000,3000,4000,6000,400,*,DOWN,ALU1
++S 2900,6000,7500,6000,400,*,RIGHT,ALU1
++S 1000,5000,1000,7000,400,a,UP,CALU1
++S 2000,7000,2000,7000,400,a,LEFT,CALU1
++S 3000,7000,3000,7000,400,a,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++S 5000,7000,5000,7000,400,a,LEFT,CALU1
++S 6000,7000,6000,7000,400,a,LEFT,CALU1
++S 7000,7000,7000,7000,400,a,LEFT,CALU1
++S 8000,7000,8000,7000,400,a,LEFT,CALU1
++S 5900,5000,9000,5000,400,*,RIGHT,ALU1
++S 7000,5000,7000,5000,400,a,LEFT,CALU1
++S 8000,5000,8000,5000,400,a,LEFT,CALU1
++S 6000,5000,6000,5000,400,a,LEFT,CALU1
++S 9000,5000,9000,7000,400,a,UP,CALU1
++S 9000,5000,9000,7000,600,*,UP,ALU1
++S 5000,4000,5000,4000,400,b,LEFT,CALU1
++S 6000,4000,6000,4000,400,b,LEFT,CALU1
++S 7000,4000,7000,4000,400,b,LEFT,CALU1
++S 8000,4000,8000,4000,400,b,LEFT,CALU1
++S 9000,4000,9000,4000,400,b,LEFT,CALU1
++S 4900,4000,10000,4000,400,*,RIGHT,ALU1
++S 10000,5200,11200,5200,200,*,LEFT,POLY
++S 11200,5200,11200,5700,200,*,DOWN,POLY
++S 10000,5200,10000,5700,200,*,DOWN,POLY
++S 4800,5300,6200,5300,200,*,RIGHT,POLY
++S 5000,4000,5000,4600,600,*,DOWN,ALU1
++S 600,7900,600,9300,400,*,UP,ALU1
++S 1700,8000,10600,8000,400,*,RIGHT,ALU1
++S 10600,6900,10600,8000,400,*,DOWN,ALU1
++S 11800,6900,11800,9300,400,*,UP,ALU1
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 6800,4000,8000,4000,600,*,RIGHT,POLY
++S 1200,8300,1200,8700,200,*,UP,POLY
++S 2400,8300,2400,8700,200,*,UP,POLY
++S 3600,8300,3600,8700,200,*,UP,POLY
++S 4800,8300,4800,8700,200,*,UP,POLY
++S 6000,8300,6000,8700,200,*,UP,POLY
++S 6800,8300,6800,8700,200,*,UP,POLY
++S 8000,8300,8000,8700,200,*,UP,POLY
++S 8800,8300,8800,8700,200,*,UP,POLY
++S 10000,8300,10000,8700,200,*,UP,POLY
++S 11200,8300,11200,8700,200,*,UP,POLY
++S 12400,8300,12400,8700,200,*,UP,POLY
++S 13600,8300,13600,8700,200,*,UP,POLY
++S 1200,1400,1200,1800,200,*,DOWN,POLY
++S 2400,1400,2400,1800,200,*,DOWN,POLY
++S 3600,1400,3600,1800,200,*,DOWN,POLY
++S 4800,1400,4800,1800,200,*,DOWN,POLY
++S 6000,1400,6000,1800,200,*,DOWN,POLY
++S 6800,1400,6800,1800,200,*,DOWN,POLY
++S 8000,1400,8000,1800,200,*,DOWN,POLY
++S 8800,1400,8800,1800,200,*,DOWN,POLY
++S 13600,1800,13600,2200,200,*,DOWN,POLY
++S 12400,1800,12400,2200,200,*,DOWN,POLY
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 9400,2100,CONT_DIF_N,*
++V 7400,2600,CONT_DIF_N,zn
++V 5400,2100,CONT_DIF_N,*
++V 600,2200,CONT_DIF_N,*
++V 1800,2100,CONT_DIF_N,n4
++V 4200,2100,CONT_DIF_N,n4
++V 3000,2700,CONT_DIF_N,zn
++V 14200,2600,CONT_DIF_N,*
++V 14200,3400,CONT_DIF_N,*
++V 11800,2600,CONT_DIF_N,*
++V 11800,3400,CONT_DIF_N,*
++V 7400,6000,CONT_DIF_P,zn
++V 3000,6000,CONT_DIF_P,zn
++V 12100,4400,CONT_POLY,zn
++V 13000,2600,CONT_DIF_N,*
++V 13000,3400,CONT_DIF_N,*
++V 13000,7000,CONT_DIF_P,*
++V 13000,6000,CONT_DIF_P,*
++V 14200,7000,CONT_DIF_P,*
++V 14200,8000,CONT_DIF_P,*
++V 1000,5000,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 1800,8000,CONT_DIF_P,n2
++V 5400,9000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,n2
++V 11800,8000,CONT_DIF_P,*
++V 6000,5000,CONT_POLY,*
++V 9000,5000,CONT_POLY,*
++V 10000,5000,CONT_POLY,*
++V 5000,4500,CONT_POLY,*
++V 600,8000,CONT_DIF_P,*
++V 10600,7000,CONT_DIF_P,n2
++V 10600,7800,CONT_DIF_P,n2
++V 11800,7000,CONT_DIF_P,*
++V 600,3000,CONT_DIF_N,*
++V 9400,9000,CONT_DIF_P,*
++V 7400,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x3.vbe b/alliance/src/cells/src/msxlib/cgn2_x3.vbe
+new file mode 100644
+index 0000000..d2b043a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x3.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgn2_x3 IS
++GENERIC (
++ CONSTANT area : NATURAL := 15000;
++ CONSTANT cin_a : NATURAL := 18;
++ CONSTANT cin_b : NATURAL := 17;
++ CONSTANT cin_c : NATURAL := 8;
++ CONSTANT rdown_a_z : NATURAL := 770;
++ CONSTANT rdown_b_z : NATURAL := 780;
++ CONSTANT rdown_c_z : NATURAL := 780;
++ CONSTANT rup_a_z : NATURAL := 1060;
++ CONSTANT rup_b_z : NATURAL := 1060;
++ CONSTANT rup_c_z : NATURAL := 1060;
++ CONSTANT tphh_c_z : NATURAL := 102;
++ CONSTANT tpll_c_z : NATURAL := 122;
++ CONSTANT tpll_a_z : NATURAL := 138;
++ CONSTANT tphh_b_z : NATURAL := 108;
++ CONSTANT tpll_b_z : NATURAL := 134;
++ CONSTANT tphh_a_z : NATURAL := 108;
++ CONSTANT transistors : NATURAL := 22
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgn2_x3;
++
++ARCHITECTURE behaviour_data_flow OF cgn2_x3 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgn2_x3"
++ SEVERITY WARNING;
++ z <= ((b and (a or c)) or (a and c)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x4.ap b/alliance/src/cells/src/msxlib/cgn2_x4.ap
+new file mode 100644
+index 0000000..9b6749f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x4.ap
+@@ -0,0 +1,227 @@
++V ALLIANCE : 6
++H cgn2_x4,P, 8/ 8/2014,100
++A 0,0,15000,10000
++R 6000,4000,ref_ref,b_40
++R 7000,4000,ref_ref,b_40
++R 8000,4000,ref_ref,b_40
++R 9000,4000,ref_ref,b_40
++R 5000,4000,ref_ref,b_40
++R 9000,6000,ref_ref,a_60
++R 1000,6000,ref_ref,a_60
++R 1000,7000,ref_ref,a_70
++R 2000,7000,ref_ref,a_70
++R 3000,7000,ref_ref,a_70
++R 4000,7000,ref_ref,a_70
++R 5000,7000,ref_ref,a_70
++R 6000,7000,ref_ref,a_70
++R 7000,7000,ref_ref,a_70
++R 8000,7000,ref_ref,a_70
++R 8000,5000,ref_ref,a_50
++R 7000,5000,ref_ref,a_50
++R 9000,7000,ref_ref,a_70
++R 9000,5000,ref_ref,a_50
++R 6000,5000,ref_ref,a_50
++R 1000,5000,ref_ref,a_50
++R 10000,5000,ref_ref,b_50
++R 10000,4000,ref_ref,b_40
++R 2000,5000,ref_ref,c_50
++R 2000,6000,ref_ref,c_60
++R 3000,5000,ref_ref,c_50
++R 2000,4000,ref_ref,c_40
++R 10000,6000,ref_ref,b_60
++R 13000,4000,ref_ref,z_40
++R 13000,3000,ref_ref,z_30
++R 13000,5000,ref_ref,z_50
++R 14000,5000,ref_ref,z_50
++R 13000,6000,ref_ref,z_60
++R 13000,7000,ref_ref,z_70
++S 11100,700,11900,700,600,*,RIGHT,PTIE
++S 13600,9300,13600,9700,200,*,DOWN,POLY
++S 12400,9300,12400,9700,200,*,DOWN,POLY
++S 11200,8700,11200,9100,200,*,DOWN,POLY
++S 10000,8700,10000,9100,200,*,DOWN,POLY
++S 8800,8700,8800,9100,200,*,DOWN,POLY
++S 8000,8700,8000,9100,200,*,DOWN,POLY
++S 6800,8700,6800,9100,200,*,DOWN,POLY
++S 6000,8700,6000,9100,200,*,DOWN,POLY
++S 4800,8700,4800,9100,200,*,DOWN,POLY
++S 3600,8700,3600,9100,200,*,DOWN,POLY
++S 2400,8700,2400,9100,200,*,DOWN,POLY
++S 1200,8700,1200,9100,200,*,DOWN,POLY
++S 10000,5600,10000,8700,200,2b,DOWN,PTRANS
++S 11200,5600,11200,8700,200,1b,DOWN,PTRANS
++S 10600,5800,10600,8500,600,*,UP,PDIF
++S 7400,5800,7400,8500,600,*,UP,PDIF
++S 8400,5800,8400,8500,400,n1a,UP,PDIF
++S 8800,5600,8800,8700,200,4a,DOWN,PTRANS
++S 8000,5600,8000,8700,200,4b,DOWN,PTRANS
++S 6400,5800,6400,8500,400,n1b,UP,PDIF
++S 6000,5600,6000,8700,200,3a,DOWN,PTRANS
++S 6800,5600,6800,8700,200,3b,DOWN,PTRANS
++S 4800,5600,4800,8700,200,2a,DOWN,PTRANS
++S 4200,5800,4200,8500,600,*,UP,PDIF
++S 600,5800,600,8500,600,*,DOWN,PDIF
++S 1800,5800,1800,8500,600,*,DOWN,PDIF
++S 1200,5600,1200,8700,200,1a,DOWN,PTRANS
++S 3600,5600,3600,8700,200,2c,DOWN,PTRANS
++S 3000,5800,3000,8500,1000,*,UP,PDIF
++S 2400,5600,2400,8700,200,1c,DOWN,PTRANS
++S 14300,5800,14300,9100,600,*,DOWN,PDIF
++S 13600,5600,13600,9300,200,2z,DOWN,PTRANS
++S 13100,5800,13100,9100,600,*,DOWN,PDIF
++S 12400,5600,12400,9300,200,1z,DOWN,PTRANS
++S 11900,5800,11900,9100,600,*,DOWN,PDIF
++S 9400,5800,9400,9100,600,*,UP,PDIF
++S 5400,5800,5400,9100,600,*,UP,PDIF
++S 4800,5200,6200,5200,200,*,RIGHT,POLY
++S 4800,3300,4800,4000,200,*,UP,POLY
++S 8800,1500,8800,1900,200,*,DOWN,POLY
++S 8000,1500,8000,1900,200,*,DOWN,POLY
++S 6800,1500,6800,1900,200,*,DOWN,POLY
++S 6000,1500,6000,1900,200,*,DOWN,POLY
++S 8800,3300,8800,5700,200,*,DOWN,POLY
++S 8000,3300,8000,5700,200,*,DOWN,POLY
++S 6800,3300,6800,5700,200,*,DOWN,POLY
++S 6000,3300,6000,5700,200,*,DOWN,POLY
++S 9400,700,9400,2200,600,*,DOWN,ALU1
++S 6000,1900,6000,3300,200,7a,UP,NTRANS
++S 6400,2100,6400,3100,400,n3b,UP,NDIF
++S 9500,2100,9500,3100,600,*,UP,NDIF
++S 8800,1900,8800,3300,200,8a,UP,NTRANS
++S 8400,2100,8400,3100,400,n3a,UP,NDIF
++S 8000,1900,8000,3300,200,8b,UP,NTRANS
++S 6800,1900,6800,3300,200,7b,UP,NTRANS
++S 7400,2100,7400,3100,600,*,DOWN,NDIF
++S 5400,800,5400,3100,600,*,UP,NDIF
++S 4800,600,4800,3300,200,5b,UP,NTRANS
++S 4400,800,4400,3100,400,*,DOWN,NDIF
++S 1200,3300,1200,5700,200,*,DOWN,POLY
++S 600,800,600,3100,600,*,UP,NDIF
++S 1200,600,1200,3300,200,5a,UP,NTRANS
++S 1600,800,1600,3100,400,*,UP,NDIF
++S 4200,2100,4200,3100,600,*,UP,NDIF
++S 3600,3300,3600,5600,200,*,DOWN,POLY
++S 2400,3300,2400,5600,200,*,DOWN,POLY
++S 2400,1500,2400,1900,200,*,DOWN,POLY
++S 3600,1500,3600,1900,200,*,DOWN,POLY
++S 1800,2100,1800,3100,600,*,UP,NDIF
++S 1800,2200,1800,3000,600,*,DOWN,ALU1
++S 1800,2200,4300,2200,400,*,RIGHT,ALU1
++S 3600,1900,3600,3300,200,4c,UP,NTRANS
++S 2400,1900,2400,3300,200,3c,UP,NTRANS
++S 3000,2100,3000,3100,600,*,DOWN,NDIF
++S 6800,4000,8000,4000,600,*,RIGHT,POLY
++S 1200,300,1200,600,200,*,DOWN,POLY
++S 4800,300,4800,600,200,*,DOWN,POLY
++S 5400,700,5400,2100,400,*,DOWN,ALU1
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 11800,6900,11800,9300,400,*,UP,ALU1
++S 10600,6900,10600,8000,400,*,DOWN,ALU1
++S 1700,8000,10600,8000,400,*,RIGHT,ALU1
++S 600,7900,600,9300,400,*,UP,ALU1
++S 10000,5200,10000,5700,200,*,DOWN,POLY
++S 11200,5200,11200,5700,200,*,DOWN,POLY
++S 10000,5200,11200,5200,200,*,LEFT,POLY
++S 4900,4000,10000,4000,400,*,RIGHT,ALU1
++S 9000,4000,9000,4000,400,b,LEFT,CALU1
++S 8000,4000,8000,4000,400,b,LEFT,CALU1
++S 7000,4000,7000,4000,400,b,LEFT,CALU1
++S 6000,4000,6000,4000,400,b,LEFT,CALU1
++S 5000,4000,5000,4000,400,b,LEFT,CALU1
++S 9000,5000,9000,7000,600,*,UP,ALU1
++S 9000,5000,9000,7000,400,a,UP,CALU1
++S 6000,5000,6000,5000,400,a,LEFT,CALU1
++S 8000,5000,8000,5000,400,a,LEFT,CALU1
++S 7000,5000,7000,5000,400,a,LEFT,CALU1
++S 5900,5000,9000,5000,400,*,RIGHT,ALU1
++S 8000,7000,8000,7000,400,a,LEFT,CALU1
++S 7000,7000,7000,7000,400,a,LEFT,CALU1
++S 6000,7000,6000,7000,400,a,LEFT,CALU1
++S 5000,7000,5000,7000,400,a,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++S 3000,7000,3000,7000,400,a,LEFT,CALU1
++S 2000,7000,2000,7000,400,a,LEFT,CALU1
++S 1000,5000,1000,7000,400,a,UP,CALU1
++S 2900,6000,7500,6000,400,*,RIGHT,ALU1
++S 4000,3000,4000,6000,400,*,DOWN,ALU1
++S 2000,4000,2000,6000,400,c,DOWN,CALU1
++S 3000,5000,3000,5000,400,c,LEFT,CALU1
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 2400,5000,3600,5000,600,*,RIGHT,POLY
++S 2000,5000,3100,5000,400,*,LEFT,ALU1
++S 1000,4900,1000,7000,400,*,UP,ALU1
++S 1000,7000,9000,7000,400,*,RIGHT,ALU1
++S 0,600,15000,600,1200,vss,RIGHT,CALU1
++S 0,9400,15000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,15000,5000,10000,cgn2_x4,LEFT,TALU8
++S 0,2200,15000,2200,5200,*,LEFT,PWELL
++S 0,7600,15000,7600,5600,*,LEFT,NWELL
++S 14200,6900,14200,9300,400,*,UP,ALU1
++S 13000,2500,13000,7100,400,*,DOWN,ALU1
++S 14200,700,14200,3100,400,*,DOWN,ALU1
++S 11800,700,11800,3100,400,*,DOWN,ALU1
++S 14300,2100,14300,3500,600,*,UP,NDIF
++S 11700,2100,11700,3500,600,*,UP,NDIF
++S 13000,2100,13000,3500,600,*,UP,NDIF
++S 12400,1900,12400,3700,200,3z,UP,NTRANS
++S 13600,1900,13600,3700,200,4z,UP,NTRANS
++S 12400,3700,12400,5700,200,*,DOWN,POLY
++S 13600,3700,13600,5700,200,*,DOWN,POLY
++S 10000,4000,10000,6000,400,b,DOWN,CALU1
++S 10000,4000,10000,6000,600,*,DOWN,ALU1
++S 7400,2100,7400,3000,400,*,DOWN,ALU1
++S 2900,3000,11000,3000,400,*,RIGHT,ALU1
++S 11000,3000,11000,4400,400,*,UP,ALU1
++S 11000,4400,12200,4400,400,*,RIGHT,ALU1
++S 12400,4600,13600,4600,200,*,RIGHT,POLY
++S 13000,3000,13000,7000,400,z,UP,CALU1
++S 13000,5000,14100,5000,400,*,RIGHT,ALU1
++S 14000,5000,14000,5000,400,z,LEFT,CALU1
++S 12400,1500,12400,1900,200,*,DOWN,POLY
++S 13600,1500,13600,1900,200,*,DOWN,POLY
++V 12000,700,CONT_BODY_P,*
++V 11000,700,CONT_BODY_P,*
++V 5000,4000,CONT_POLY,*
++V 9400,2200,CONT_DIF_N,*
++V 4200,2200,CONT_DIF_N,n4
++V 7400,4000,CONT_POLY,*
++V 9400,9000,CONT_DIF_P,*
++V 5400,2000,CONT_DIF_N,*
++V 1800,2200,CONT_DIF_N,n4
++V 1800,3000,CONT_DIF_N,n4
++V 600,3000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,*
++V 11800,7000,CONT_DIF_P,*
++V 10600,7800,CONT_DIF_P,n2
++V 10600,7000,CONT_DIF_P,n2
++V 600,8000,CONT_DIF_P,*
++V 10000,5000,CONT_POLY,*
++V 9000,5000,CONT_POLY,*
++V 6000,5000,CONT_POLY,*
++V 11800,9000,CONT_DIF_P,*
++V 11800,8000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,n2
++V 5400,9000,CONT_DIF_P,*
++V 1800,8000,CONT_DIF_P,n2
++V 5400,1000,CONT_DIF_N,*
++V 600,1000,CONT_DIF_N,*
++V 3000,5000,CONT_POLY,*
++V 1000,5000,CONT_POLY,*
++V 14200,9000,CONT_DIF_P,*
++V 14200,8000,CONT_DIF_P,*
++V 14200,7000,CONT_DIF_P,*
++V 13000,6000,CONT_DIF_P,*
++V 13000,7000,CONT_DIF_P,*
++V 14200,2200,CONT_DIF_N,*
++V 11800,2200,CONT_DIF_N,*
++V 11800,3000,CONT_DIF_N,*
++V 14200,3000,CONT_DIF_N,*
++V 13000,3400,CONT_DIF_N,*
++V 13000,2600,CONT_DIF_N,*
++V 12100,4400,CONT_POLY,zn
++V 7400,3000,CONT_DIF_N,zn
++V 7400,2200,CONT_DIF_N,zn
++V 3000,3000,CONT_DIF_N,zn
++V 3000,6000,CONT_DIF_P,zn
++V 7400,6000,CONT_DIF_P,zn
++EOF
+diff --git a/alliance/src/cells/src/msxlib/cgn2_x4.vbe b/alliance/src/cells/src/msxlib/cgn2_x4.vbe
+new file mode 100644
+index 0000000..4092bec
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/cgn2_x4.vbe
+@@ -0,0 +1,38 @@
++ENTITY cgn2_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 15000;
++ CONSTANT cin_a : NATURAL := 21;
++ CONSTANT cin_b : NATURAL := 19;
++ CONSTANT cin_c : NATURAL := 10;
++ CONSTANT rdown_a_z : NATURAL := 640;
++ CONSTANT rdown_b_z : NATURAL := 650;
++ CONSTANT rdown_c_z : NATURAL := 650;
++ CONSTANT rup_a_z : NATURAL := 800;
++ CONSTANT rup_b_z : NATURAL := 800;
++ CONSTANT rup_c_z : NATURAL := 800;
++ CONSTANT tphh_c_z : NATURAL := 100;
++ CONSTANT tpll_c_z : NATURAL := 123;
++ CONSTANT tpll_a_z : NATURAL := 139;
++ CONSTANT tphh_b_z : NATURAL := 107;
++ CONSTANT tpll_b_z : NATURAL := 135;
++ CONSTANT tphh_a_z : NATURAL := 107;
++ CONSTANT transistors : NATURAL := 22
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END cgn2_x4;
++
++ARCHITECTURE behaviour_data_flow OF cgn2_x4 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on cgn2_x4"
++ SEVERITY WARNING;
++ z <= ((b and (a or c)) or (a and c)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/ha2_x2.ap b/alliance/src/cells/src/msxlib/ha2_x2.ap
+new file mode 100644
+index 0000000..bb459fe
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/ha2_x2.ap
+@@ -0,0 +1,161 @@
++V ALLIANCE : 6
++H ha2_x2,P, 8/ 8/2014,100
++A 0,0,10000,10000
++R 6000,5000,ref_ref,a_50
++R 9000,3000,ref_ref,co_30
++R 5000,4000,ref_ref,a_40
++R 5000,3000,ref_ref,a_30
++R 5000,5000,ref_ref,a_50
++R 7000,5000,ref_ref,b_50
++R 6000,6000,ref_ref,b_60
++R 5000,6000,ref_ref,b_60
++R 7000,6000,ref_ref,b_60
++R 4000,5000,ref_ref,b_50
++R 4000,4000,ref_ref,b_40
++R 4000,6000,ref_ref,b_60
++R 9000,4000,ref_ref,co_40
++R 9000,5000,ref_ref,co_50
++R 9000,6000,ref_ref,co_60
++R 9000,7000,ref_ref,co_70
++R 1000,7000,ref_ref,so_70
++R 1000,6000,ref_ref,so_60
++R 1000,5000,ref_ref,so_50
++R 1000,4000,ref_ref,so_40
++R 1000,3000,ref_ref,so_30
++S 8800,900,8800,1300,200,*,DOWN,POLY
++S 7600,300,7600,600,200,*,DOWN,POLY
++S 6800,300,6800,600,200,*,DOWN,POLY
++S 4600,1200,4600,1600,200,*,DOWN,POLY
++S 3400,900,3400,1300,200,*,DOWN,POLY
++S 2200,900,2200,1300,200,*,DOWN,POLY
++S 1200,1200,1200,1500,200,*,DOWN,POLY
++S 8400,9400,8400,9700,200,*,UP,POLY
++S 7200,9400,7200,9700,200,*,UP,POLY
++S 6000,9400,6000,9700,200,*,UP,POLY
++S 4600,9000,4600,9400,200,*,UP,POLY
++S 3800,9000,3800,9400,200,*,UP,POLY
++S 2600,7400,2600,7800,200,*,UP,POLY
++S 1400,9400,1400,9700,200,*,UP,POLY
++S 6000,5000,6000,5000,400,a,LEFT,CALU1
++S 6000,6000,6000,6000,400,b,LEFT,CALU1
++S 5000,6000,5000,6000,400,b,LEFT,CALU1
++S 7000,5000,7000,6000,400,b,DOWN,CALU1
++S 4000,4000,4000,6000,400,b,UP,CALU1
++S 5000,3000,5000,5000,400,a,UP,CALU1
++S 9000,3000,9000,7000,400,co,UP,CALU1
++S 1000,3000,1000,7000,400,so,UP,CALU1
++S 4200,5800,4200,8800,400,n3,UP,PDIF
++S 7200,800,7200,3600,400,n1,UP,NDIF
++S 7600,3800,7600,4200,200,*,UP,POLY
++S 3800,4000,4000,4000,600,*,LEFT,ALU1
++S 3800,4000,3800,5600,200,*,DOWN,POLY
++S 3400,2800,3400,4200,200,*,UP,POLY
++S 4600,3100,4600,5600,200,*,DOWN,POLY
++S 2700,1900,5300,1900,400,*,RIGHT,ALU1
++S 2200,3200,2600,3200,200,*,LEFT,POLY
++S 2200,1300,2200,2800,200,2,UP,NTRANS
++S 4600,1600,4600,3100,200,3a,UP,NTRANS
++S 3400,1300,3400,2800,200,3b,UP,NTRANS
++S 5000,1800,5000,2900,400,*,UP,NDIF
++S 3800,1500,3800,2600,400,*,UP,NDIF
++S 4000,1800,4000,2900,600,*,UP,NDIF
++S 2800,1500,2800,2600,600,*,UP,NDIF
++S 8400,5600,8400,9400,200,1c,DOWN,PTRANS
++S 2600,5600,2600,7400,200,1,DOWN,PTRANS
++S 6800,600,6800,3800,200,4a,UP,NTRANS
++S 4600,5600,4600,9000,200,1a,DOWN,PTRANS
++S 7600,600,7600,3800,200,4b,UP,NTRANS
++S 7200,5600,7200,9400,200,2b,DOWN,PTRANS
++S 3800,5600,3800,9000,200,1b,DOWN,PTRANS
++S 8800,1300,8800,3200,200,2c,UP,NTRANS
++S 1200,1500,1200,3400,200,2s,UP,NTRANS
++S 1400,5600,1400,9400,200,1s,DOWN,PTRANS
++S 5000,5000,6000,5000,600,*,LEFT,ALU1
++S 5000,5000,5800,5000,600,*,LEFT,POLY
++S 6000,4200,6800,4200,200,*,RIGHT,POLY
++S 600,2200,600,3200,400,*,UP,ALU1
++S 600,2400,600,3000,600,*,DOWN,NDIF
++S 1000,2900,1000,7100,400,*,DOWN,ALU1
++S 8800,3200,8800,4800,200,*,UP,POLY
++S 9400,2000,9400,3000,400,*,UP,ALU1
++S 9400,2200,9400,2700,600,*,UP,NDIF
++S 9200,1500,9200,3000,400,*,UP,NDIF
++S 9000,2900,9000,7100,400,*,DOWN,ALU1
++S 5200,5800,5200,9200,600,*,DOWN,PDIF
++S 8200,700,8200,2100,400,*,DOWN,ALU1
++S 4000,3900,4000,6000,400,*,DOWN,ALU1
++S 4000,6000,7000,6000,400,*,RIGHT,ALU1
++S 3000,6000,3200,6000,600,*,RIGHT,ALU1
++S 3000,2800,3000,6100,400,*,DOWN,ALU1
++S 3000,2800,4100,2800,400,*,LEFT,ALU1
++S 2200,7000,8200,7000,400,*,LEFT,ALU1
++S 1800,4000,3000,4000,600,*,RIGHT,ALU1
++S 2200,4900,2200,7000,400,*,UP,ALU1
++S 2600,3200,2600,5600,200,*,DOWN,POLY
++S 9000,6000,9000,6600,600,*,UP,PDIF
++S 8800,5800,8800,9200,400,*,DOWN,PDIF
++S 6600,7000,6600,8100,400,*,UP,ALU1
++S 7800,5800,7800,9200,600,*,UP,PDIF
++S 6600,5800,6600,9200,600,*,DOWN,PDIF
++S 3400,5800,3400,8800,400,*,DOWN,PDIF
++S 3200,5800,3200,7200,600,*,UP,PDIF
++S 6100,3500,8200,3500,400,*,RIGHT,ALU1
++S 8200,800,8200,3600,600,*,UP,NDIF
++S 6400,800,6400,3600,400,*,UP,NDIF
++S 8200,4800,8800,4800,200,*,LEFT,POLY
++S 7400,4200,7400,5200,200,*,UP,POLY
++S 1700,500,1700,3200,400,*,UP,NDIF
++S 800,1700,800,3200,400,*,UP,NDIF
++S 1400,3800,1400,5600,200,*,DOWN,POLY
++S 1200,3400,1200,4200,200,*,DOWN,POLY
++S 900,5800,900,7100,600,*,UP,ALU1
++S 800,6000,800,6600,600,*,DOWN,PDIF
++S 1000,5800,1000,9200,400,*,DOWN,PDIF
++S 2000,7900,2000,9300,400,*,UP,ALU1
++S 1900,5800,1900,9200,800,*,DOWN,PDIF
++S 8200,3500,8200,7000,400,*,DOWN,ALU1
++S 7000,4900,7000,6000,400,*,DOWN,ALU1
++S 6000,4200,6000,5600,200,*,DOWN,POLY
++S 5000,2900,5000,5100,400,*,UP,ALU1
++S 7800,7900,7800,9300,400,*,UP,ALU1
++S 5400,7900,5400,9300,400,*,UP,ALU1
++S 0,600,10000,600,1200,vss,RIGHT,CALU1
++S 0,9400,10000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,10000,5000,10000,ha2_x2,LEFT,TALU8
++S 0,2200,10000,2200,5200,*,LEFT,PWELL
++S 0,7600,10000,7600,5600,*,LEFT,NWELL
++S 6000,5600,6000,9400,200,2a,DOWN,PTRANS
++S 4000,6100,7000,6100,400,*,RIGHT,ALU1
++V 5000,700,CONT_BODY_P,*
++V 3800,4000,CONT_POLY,*
++V 5200,1900,CONT_DIF_N,n2
++V 4000,2800,CONT_DIF_N,son
++V 2800,1900,CONT_DIF_N,n2
++V 1600,600,CONT_DIF_N,*
++V 5000,5000,CONT_POLY,*
++V 5800,5000,CONT_POLY,*
++V 600,2300,CONT_DIF_N,*
++V 600,3100,CONT_DIF_N,*
++V 9400,2100,CONT_DIF_N,*
++V 9400,2900,CONT_DIF_N,*
++V 8200,2000,CONT_DIF_N,*
++V 2200,5000,CONT_POLY,con
++V 2000,9000,CONT_DIF_P,*
++V 8200,1000,CONT_DIF_N,*
++V 6200,3500,CONT_DIF_N,con
++V 800,6700,CONT_DIF_P,*
++V 800,5900,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 8200,5000,CONT_POLY,con
++V 7000,5000,CONT_POLY,*
++V 1800,4000,CONT_POLY,son
++V 3200,6000,CONT_DIF_P,son
++V 6600,8000,CONT_DIF_P,con
++V 6600,7000,CONT_DIF_P,con
++V 7800,9000,CONT_DIF_P,*
++V 7800,8000,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,*
++V 9000,6700,CONT_DIF_P,*
++V 9000,5900,CONT_DIF_P,*
++V 5400,9000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/ha2_x2.vbe b/alliance/src/cells/src/msxlib/ha2_x2.vbe
+new file mode 100644
+index 0000000..7315db1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/ha2_x2.vbe
+@@ -0,0 +1,46 @@
++ENTITY ha2_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 10000;
++ CONSTANT cin_a : NATURAL := 13;
++ CONSTANT cin_b : NATURAL := 13;
++ CONSTANT rdown_a_co : NATURAL := 1210;
++ CONSTANT rdown_a_so : NATURAL := 1210;
++ CONSTANT rdown_b_co : NATURAL := 1210;
++ CONSTANT rdown_b_so : NATURAL := 1210;
++ CONSTANT rup_a_co : NATURAL := 1560;
++ CONSTANT rup_a_so : NATURAL := 1560;
++ CONSTANT rup_b_co : NATURAL := 1560;
++ CONSTANT rup_b_so : NATURAL := 1560;
++ CONSTANT tphh_a_co : NATURAL := 70;
++ CONSTANT tpll_b_co : NATURAL := 99;
++ CONSTANT tphh_b_co : NATURAL := 70;
++ CONSTANT tpll_a_co : NATURAL := 89;
++ CONSTANT tphh_a_so : NATURAL := 100;
++ CONSTANT tpll_b_so : NATURAL := 108;
++ CONSTANT tphl_b_so : NATURAL := 154;
++ CONSTANT tplh_b_so : NATURAL := 160;
++ CONSTANT tphh_b_so : NATURAL := 87;
++ CONSTANT tpll_a_so : NATURAL := 117;
++ CONSTANT tphl_a_so : NATURAL := 155;
++ CONSTANT tplh_a_so : NATURAL := 144;
++ CONSTANT transistors : NATURAL := 14
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ co : out BIT;
++ so : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END ha2_x2;
++
++ARCHITECTURE behaviour_data_flow OF ha2_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on ha2_x2"
++ SEVERITY WARNING;
++ so <= (a xor b) after 1200 ps;
++ co <= (a and b) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_w2.ap b/alliance/src/cells/src/msxlib/iv1_w2.ap
+new file mode 100644
+index 0000000..edb6592
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_w2.ap
+@@ -0,0 +1,46 @@
++V ALLIANCE : 6
++H iv1_w2,P, 7/ 8/2004,100
++A 0,0,3000,10000
++R 1000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,a_40
++R 1000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,a_60
++R 2000,5000,ref_ref,a_50
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 2000,7000,ref_ref,z_70
++S 1000,2700,1000,7100,400,*,UP,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,2900,1000,3500,600,*,UP,NDIF
++S 1000,5900,1000,6500,600,*,UP,PDIF
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,5000,3000,5000,10000,iv1_w2,LEFT,TALU8
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 2200,5700,2200,9200,800,*,DOWN,PDIF
++S 1600,5500,1600,9400,200,1,UP,PTRANS
++S 1200,5700,1200,9200,400,*,UP,PDIF
++S 1200,1500,1200,3700,400,*,DOWN,NDIF
++S 1600,1300,1600,3900,200,2,DOWN,NTRANS
++S 2300,1500,2300,3700,600,*,UP,NDIF
++S 1600,900,1600,1300,200,*,UP,POLY
++S 1600,3900,1600,5500,200,*,UP,POLY
++S 2000,4000,2000,6000,400,a,DOWN,CALU1
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 1000,7000,2000,7000,600,*,RIGHT,ALU1
++S 2200,700,2200,3100,400,*,UP,ALU1
++V 1000,2800,CONT_DIF_N,*
++V 1000,6600,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 2200,9000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 2000,4700,CONT_POLY,*
++V 1000,5800,CONT_DIF_P,*
++V 1000,3600,CONT_DIF_N,*
++V 2200,3000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_w2.vbe b/alliance/src/cells/src/msxlib/iv1_w2.vbe
+new file mode 100644
+index 0000000..def2c41
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_w2.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_w2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT rdown_a_z : NATURAL := 880;
++ CONSTANT rup_a_z : NATURAL := 1520;
++ CONSTANT tphl_a_z : NATURAL := 32;
++ CONSTANT tplh_a_z : NATURAL := 39;
++ CONSTANT transistors : NATURAL := 2
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_w2;
++
++ARCHITECTURE behaviour_data_flow OF iv1_w2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_w2"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_x05.ap b/alliance/src/cells/src/msxlib/iv1_x05.ap
+new file mode 100644
+index 0000000..d97eef5
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x05.ap
+@@ -0,0 +1,47 @@
++V ALLIANCE : 6
++H iv1_x05,P, 8/ 8/2014,100
++A 0,0,3000,10000
++R 1000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,a_60
++R 2000,5000,ref_ref,a_50
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,a_40
++R 1000,7000,ref_ref,z_70
++R 1000,2000,ref_ref,z_20
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 2300,6300,2300,7100,600,*,DOWN,PDIF
++S 1600,7300,1600,7700,200,*,DOWN,POLY
++S 1600,6100,1600,7300,200,1,UP,PTRANS
++S 1200,6300,1200,7100,400,*,UP,PDIF
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 2200,6900,2200,9300,400,*,UP,ALU1
++S 1000,2900,2100,2900,400,*,RIGHT,ALU1
++S 1000,3000,2100,3000,400,*,RIGHT,ALU1
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 2000,4000,2000,6000,400,a,DOWN,CALU1
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 0,5000,3000,5000,10000,iv1_x05,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 1600,1300,1600,1700,200,*,UP,POLY
++S 1600,1700,1600,2300,200,2,DOWN,NTRANS
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,1900,1000,7100,400,*,UP,ALU1
++S 1600,2300,1600,6100,200,*,UP,POLY
++S 2300,1900,2300,2100,600,*,UP,NDIF
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1000,6400,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,*
++V 2000,4700,CONT_POLY,*
++V 2200,7000,CONT_DIF_P,*
++V 1000,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_x05.vbe b/alliance/src/cells/src/msxlib/iv1_x05.vbe
+new file mode 100644
+index 0000000..5542313
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x05.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT cin_a : NATURAL := 2;
++ CONSTANT rdown_a_z : NATURAL := 3800;
++ CONSTANT rup_a_z : NATURAL := 4930;
++ CONSTANT tphl_a_z : NATURAL := 36;
++ CONSTANT tplh_a_z : NATURAL := 41;
++ CONSTANT transistors : NATURAL := 2
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_x05;
++
++ARCHITECTURE behaviour_data_flow OF iv1_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_x05"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_x1.ap b/alliance/src/cells/src/msxlib/iv1_x1.ap
+new file mode 100644
+index 0000000..2cd20f6
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x1.ap
+@@ -0,0 +1,50 @@
++V ALLIANCE : 6
++H iv1_x1,P, 8/ 8/2014,100
++A 0,0,3000,10000
++R 2000,4000,ref_ref,a_40
++R 1000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,a_60
++R 2000,5000,ref_ref,a_50
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 2000,3000,ref_ref,z_30
++R 1000,3000,ref_ref,z_30
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 1600,7500,1600,7900,200,*,DOWN,POLY
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 0,5000,3000,5000,10000,iv1_x1,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 2000,4000,2000,6000,400,a,DOWN,CALU1
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 2200,6900,2200,9300,400,*,UP,ALU1
++S 1600,5500,1600,7500,200,1,UP,PTRANS
++S 2200,5700,2200,7300,800,*,DOWN,PDIF
++S 1200,5700,1200,7300,400,*,UP,PDIF
++S 1000,3000,1000,7100,400,*,UP,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,3000,2100,3000,400,*,RIGHT,ALU1
++S 1000,2900,2100,2900,400,*,RIGHT,ALU1
++S 2200,700,2200,2100,400,*,UP,ALU1
++S 1200,2500,1200,3100,400,*,UP,NDIF
++S 1600,2300,1600,3300,200,2,DOWN,NTRANS
++S 2300,1900,2300,3100,600,*,UP,NDIF
++S 2200,1900,2200,3100,600,*,UP,NDIF
++S 1600,3300,1600,5500,200,*,UP,POLY
++S 1600,1900,1600,2300,200,*,UP,POLY
++S 1000,6100,1000,6700,600,*,UP,PDIF
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2200,7000,CONT_DIF_P,*
++V 1000,6800,CONT_DIF_P,*
++V 2000,4700,CONT_POLY,*
++V 2200,2000,CONT_DIF_N,*
++V 1000,3000,CONT_DIF_N,*
++V 1000,6000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_x1.vbe b/alliance/src/cells/src/msxlib/iv1_x1.vbe
+new file mode 100644
+index 0000000..7b09188
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x1.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 2280;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT tphl_a_z : NATURAL := 35;
++ CONSTANT tplh_a_z : NATURAL := 39;
++ CONSTANT transistors : NATURAL := 2
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_x1;
++
++ARCHITECTURE behaviour_data_flow OF iv1_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_x1"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_x2.ap b/alliance/src/cells/src/msxlib/iv1_x2.ap
+new file mode 100644
+index 0000000..3a53b27
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x2.ap
+@@ -0,0 +1,50 @@
++V ALLIANCE : 6
++H iv1_x2,P, 8/ 8/2014,100
++A 0,0,3000,10000
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,a_50
++R 2000,6000,ref_ref,a_60
++R 1000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,a_40
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++R 2000,7000,ref_ref,z_70
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1000,5900,1000,6500,600,*,UP,PDIF
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,1900,1000,7100,400,*,UP,ALU1
++S 1600,1300,1600,1700,200,*,UP,POLY
++S 1600,1700,1600,3600,200,2,DOWN,NTRANS
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,3000,5000,10000,iv1_x2,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 1600,3600,1600,5500,200,*,UP,POLY
++S 1200,1900,1200,3400,400,*,DOWN,NDIF
++S 1600,5500,1600,9300,200,1,UP,PTRANS
++S 2200,5700,2200,9100,800,*,DOWN,PDIF
++S 1200,5700,1200,9100,400,*,UP,PDIF
++S 2300,1900,2300,3400,600,*,UP,NDIF
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 2000,4000,2000,6000,400,a,DOWN,CALU1
++S 1600,9300,1600,9700,200,*,DOWN,POLY
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 1000,7000,2000,7000,600,*,RIGHT,ALU1
++S 2200,700,2200,3100,400,*,UP,ALU1
++S 1000,2600,1000,3200,600,*,UP,NDIF
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1000,6600,CONT_DIF_P,*
++V 1000,5800,CONT_DIF_P,*
++V 2000,4700,CONT_POLY,*
++V 2200,2000,CONT_DIF_N,*
++V 1000,3300,CONT_DIF_N,*
++V 2200,9000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 2200,3000,CONT_DIF_N,*
++V 1000,2500,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_x2.vbe b/alliance/src/cells/src/msxlib/iv1_x2.vbe
+new file mode 100644
+index 0000000..0e18871
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x2.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT cin_a : NATURAL := 6;
++ CONSTANT rdown_a_z : NATURAL := 1200;
++ CONSTANT rup_a_z : NATURAL := 1560;
++ CONSTANT tphl_a_z : NATURAL := 34;
++ CONSTANT tplh_a_z : NATURAL := 38;
++ CONSTANT transistors : NATURAL := 2
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_x2;
++
++ARCHITECTURE behaviour_data_flow OF iv1_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_x2"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_x3.ap b/alliance/src/cells/src/msxlib/iv1_x3.ap
+new file mode 100644
+index 0000000..447a9df
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x3.ap
+@@ -0,0 +1,70 @@
++V ALLIANCE : 6
++H iv1_x3,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,a_40
++R 2000,5000,ref_ref,a_50
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 2000,3000,2000,4000,400,z,DOWN,CALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 2000,2700,2000,3700,600,*,UP,NDIF
++S 3300,2700,3300,3700,600,*,UP,NDIF
++S 700,2700,700,3700,600,*,UP,NDIF
++S 1400,8500,1400,8800,200,*,DOWN,POLY
++S 2600,8500,2600,8800,200,*,DOWN,POLY
++S 2000,5800,2000,8200,1000,*,DOWN,PDIF
++S 2600,5600,2600,8400,200,2,UP,PTRANS
++S 1400,5600,1400,8400,200,1,UP,PTRANS
++S 1400,5000,2600,5000,600,*,RIGHT,POLY
++S 0,5000,4000,5000,10000,iv1_x3,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 1000,4000,2000,4000,600,*,LEFT,ALU1
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 800,6900,800,9300,400,*,UP,ALU1
++S 800,5800,800,8200,800,*,DOWN,PDIF
++S 3200,5800,3200,8200,800,*,DOWN,PDIF
++S 2600,4100,2600,5600,200,*,UP,POLY
++S 1400,4100,1400,5600,200,*,UP,POLY
++S 3200,700,3200,3100,400,*,DOWN,ALU1
++S 800,700,800,3100,400,*,DOWN,ALU1
++S 1900,5000,3000,5000,400,*,RIGHT,ALU1
++S 1000,4000,1000,6000,400,*,UP,ALU1
++S 1400,2100,1400,2500,200,*,UP,POLY
++S 1400,2500,1400,3900,200,3,DOWN,NTRANS
++S 2600,2100,2600,2500,200,*,UP,POLY
++S 2600,2500,2600,3900,200,4,DOWN,NTRANS
++S 2000,6000,2000,7100,400,*,UP,ALU1
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 3200,6900,3200,9300,400,*,UP,ALU1
++S 1000,4000,1000,6000,400,z,DOWN,CALU1
++S 2000,2700,2000,4000,400,*,UP,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,7000,CONT_DIF_P,*
++V 2000,6000,CONT_DIF_P,*
++V 2200,5000,CONT_POLY,*
++V 800,7000,CONT_DIF_P,*
++V 800,8000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 800,3000,CONT_DIF_N,*
++V 3200,3000,CONT_DIF_N,*
++V 2000,2800,CONT_DIF_N,*
++V 2000,3600,CONT_DIF_N,*
++V 3200,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_x3.vbe b/alliance/src/cells/src/msxlib/iv1_x3.vbe
+new file mode 100644
+index 0000000..b064273
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x3.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_x3 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 9;
++ CONSTANT rdown_a_z : NATURAL := 810;
++ CONSTANT rup_a_z : NATURAL := 1060;
++ CONSTANT tphl_a_z : NATURAL := 33;
++ CONSTANT tplh_a_z : NATURAL := 37;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_x3;
++
++ARCHITECTURE behaviour_data_flow OF iv1_x3 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_x3"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_x4.ap b/alliance/src/cells/src/msxlib/iv1_x4.ap
+new file mode 100644
+index 0000000..da8d69d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x4.ap
+@@ -0,0 +1,74 @@
++V ALLIANCE : 6
++H iv1_x4,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 2000,2000,ref_ref,z_20
++R 3000,5000,ref_ref,a_50
++R 1000,5000,ref_ref,z_50
++R 2000,6000,ref_ref,z_60
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,z_40
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,a_40
++R 3000,6000,ref_ref,a_60
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 2000,2000,2000,4000,400,z,DOWN,CALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 3200,6900,3200,9300,400,*,UP,ALU1
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 3000,3900,3000,6100,400,*,UP,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 2000,6000,2000,7100,400,*,UP,ALU1
++S 3200,5800,3200,9200,800,*,DOWN,PDIF
++S 800,5800,800,9200,800,*,DOWN,PDIF
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 1000,4000,2000,4000,600,*,LEFT,ALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,iv1_x4,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 1400,1700,1400,3600,200,3,DOWN,NTRANS
++S 2600,1700,2600,3600,200,4,DOWN,NTRANS
++S 1400,5000,2600,5000,600,*,RIGHT,POLY
++S 2000,5800,2000,9200,1000,*,DOWN,PDIF
++S 1400,5600,1400,9400,200,1,UP,PTRANS
++S 2600,5600,2600,9400,200,2,UP,PTRANS
++S 1400,9400,1400,9700,200,*,DOWN,POLY
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 3300,1900,3300,3400,600,*,UP,NDIF
++S 700,1900,700,3400,600,*,UP,NDIF
++S 2000,1900,2000,3400,600,*,UP,NDIF
++S 800,700,800,3100,400,*,DOWN,ALU1
++S 3200,700,3200,3100,400,*,DOWN,ALU1
++S 2600,3600,2600,5600,200,*,UP,POLY
++S 1400,3600,1400,5600,200,*,UP,POLY
++S 800,6900,800,9300,400,*,UP,ALU1
++S 2000,1900,2000,4000,400,*,UP,ALU1
++S 1900,5000,3000,5000,400,*,RIGHT,ALU1
++S 1000,4000,1000,6000,400,*,UP,ALU1
++S 800,1900,800,3400,600,*,UP,NDIF
++S 3200,1900,3200,3400,600,*,UP,NDIF
++S 1000,4000,1000,6000,400,z,DOWN,CALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3200,7000,CONT_DIF_P,*
++V 2200,5000,CONT_POLY,*
++V 800,3000,CONT_DIF_N,*
++V 800,2000,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 3200,3000,CONT_DIF_N,*
++V 2000,6000,CONT_DIF_P,*
++V 2000,7000,CONT_DIF_P,*
++V 2000,2000,CONT_DIF_N,*
++V 2000,3000,CONT_DIF_N,*
++V 800,7000,CONT_DIF_P,*
++V 800,8000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 3200,9000,CONT_DIF_P,*
++V 800,9000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_x4.vbe b/alliance/src/cells/src/msxlib/iv1_x4.vbe
+new file mode 100644
+index 0000000..ddeb12e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x4.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 12;
++ CONSTANT rdown_a_z : NATURAL := 600;
++ CONSTANT rup_a_z : NATURAL := 780;
++ CONSTANT tphl_a_z : NATURAL := 33;
++ CONSTANT tplh_a_z : NATURAL := 37;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_x4;
++
++ARCHITECTURE behaviour_data_flow OF iv1_x4 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_x4"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_x8.ap b/alliance/src/cells/src/msxlib/iv1_x8.ap
+new file mode 100644
+index 0000000..9c363c1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x8.ap
+@@ -0,0 +1,120 @@
++V ALLIANCE : 6
++H iv1_x8,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 5000,4000,ref_ref,a_40
++R 5000,6000,ref_ref,a_60
++R 5000,5000,ref_ref,a_50
++R 4000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 2000,5000,ref_ref,a_50
++R 2000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 3000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 4000,7000,ref_ref,z_70
++R 4000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,z_40
++R 4000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 1000,6000,ref_ref,z_60
++R 1000,4000,ref_ref,z_40
++S 2400,700,3200,700,600,*,LEFT,PTIE
++S 5400,700,5400,3100,400,*,DOWN,ALU1
++S 5000,4000,5000,6000,400,a,DOWN,CALU1
++S 5000,3900,5000,6100,400,*,DOWN,ALU1
++S 2000,5000,2000,5000,400,a,LEFT,CALU1
++S 3000,5000,3000,5000,400,a,LEFT,CALU1
++S 4000,5000,4000,5000,400,a,LEFT,CALU1
++S 3000,4000,3000,4000,400,z,LEFT,CALU1
++S 4000,2000,4000,4000,400,z,DOWN,CALU1
++S 2000,2000,2000,4000,400,z,DOWN,CALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 4000,6000,4000,7000,400,z,UP,CALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 4100,6000,4100,7100,600,*,DOWN,ALU1
++S 1900,6000,1900,7100,600,*,DOWN,ALU1
++S 1000,4000,4200,4000,400,*,RIGHT,ALU1
++S 1000,6000,4200,6000,400,*,LEFT,ALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,6000,5000,10000,iv1_x8,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 600,6900,600,9300,400,*,UP,ALU1
++S 3000,6900,3000,9300,400,*,UP,ALU1
++S 1000,4000,1000,6000,400,*,DOWN,ALU1
++S 1000,6100,4200,6100,400,*,LEFT,ALU1
++S 1900,5000,5000,5000,400,*,LEFT,ALU1
++S 5400,6900,5400,9300,400,*,UP,ALU1
++S 700,1900,700,3300,800,*,UP,NDIF
++S 1800,1900,1800,3300,1000,*,UP,NDIF
++S 1200,1700,1200,3500,200,5,DOWN,NTRANS
++S 3000,1900,3000,3300,1000,*,UP,NDIF
++S 2400,1700,2400,3500,200,6,DOWN,NTRANS
++S 3600,1700,3600,3500,200,7,DOWN,NTRANS
++S 4200,1900,4200,3300,1000,*,UP,NDIF
++S 4800,1700,4800,3500,200,8,DOWN,NTRANS
++S 5300,1900,5300,3300,800,*,UP,NDIF
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 1900,1900,1900,4000,600,*,DOWN,ALU1
++S 4100,1900,4100,4000,600,*,DOWN,ALU1
++S 3000,700,3000,3100,400,*,DOWN,ALU1
++S 4800,1300,4800,1700,200,*,UP,POLY
++S 3600,1300,3600,1700,200,*,UP,POLY
++S 2400,1300,2400,1700,200,*,UP,POLY
++S 1200,1300,1200,1700,200,*,UP,POLY
++S 1200,3500,1200,5500,200,*,UP,POLY
++S 2400,3500,2400,5500,200,*,UP,POLY
++S 3600,3500,3600,5500,200,*,UP,POLY
++S 4800,3500,4800,5500,200,*,UP,POLY
++S 1000,3900,4200,3900,400,*,RIGHT,ALU1
++S 1200,5500,1200,9400,200,1,UP,PTRANS
++S 600,5700,600,9200,600,*,DOWN,PDIF
++S 1800,5700,1800,9200,600,*,DOWN,PDIF
++S 2400,5500,2400,9400,200,2,UP,PTRANS
++S 3600,5500,3600,9400,200,3,UP,PTRANS
++S 3000,5700,3000,9200,600,*,DOWN,PDIF
++S 1200,4900,2400,4900,600,*,RIGHT,POLY
++S 3600,4900,4800,4900,600,*,RIGHT,POLY
++S 1900,4900,5000,4900,400,*,LEFT,ALU1
++S 5400,5700,5400,8100,600,*,DOWN,PDIF
++S 4800,5500,4800,8300,200,4,UP,PTRANS
++S 4200,5700,4200,8100,600,*,UP,PDIF
++S 4000,8500,4000,9200,400,*,UP,PDIF
++S 4800,8400,4800,8700,200,*,DOWN,POLY
++S 1000,4000,1000,6000,400,z,DOWN,CALU1
++V 5100,9300,CONT_BODY_N,*
++V 3300,700,CONT_BODY_P,*
++V 2300,700,CONT_BODY_P,*
++V 5400,3000,CONT_DIF_N,*
++V 1800,7000,CONT_DIF_P,*
++V 1800,6000,CONT_DIF_P,*
++V 4200,7000,CONT_DIF_P,*
++V 4200,6000,CONT_DIF_P,*
++V 600,7000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 600,9000,CONT_DIF_P,*
++V 3000,7000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 5400,7000,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,*
++V 600,3000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,*
++V 3000,3000,CONT_DIF_N,*
++V 3000,2000,CONT_DIF_N,*
++V 1800,2000,CONT_DIF_N,*
++V 1800,3000,CONT_DIF_N,*
++V 4200,3000,CONT_DIF_N,*
++V 4200,2000,CONT_DIF_N,*
++V 5400,2000,CONT_DIF_N,*
++V 2200,4900,CONT_POLY,*
++V 3800,4900,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_x8.vbe b/alliance/src/cells/src/msxlib/iv1_x8.vbe
+new file mode 100644
+index 0000000..02c61a0
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_x8.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_x8 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 22;
++ CONSTANT rdown_a_z : NATURAL := 320;
++ CONSTANT rup_a_z : NATURAL := 410;
++ CONSTANT tphl_a_z : NATURAL := 33;
++ CONSTANT tplh_a_z : NATURAL := 37;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_x8;
++
++ARCHITECTURE behaviour_data_flow OF iv1_x8 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_x8"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/iv1_y2.ap b/alliance/src/cells/src/msxlib/iv1_y2.ap
+new file mode 100644
+index 0000000..7df6e39
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_y2.ap
+@@ -0,0 +1,50 @@
++V ALLIANCE : 6
++H iv1_y2,P, 8/ 8/2014,100
++A 0,0,3000,10000
++R 1000,2000,ref_ref,z_20
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,a_50
++R 2000,6000,ref_ref,a_60
++R 1000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,a_40
++R 1000,3000,ref_ref,z_30
++R 2000,7000,ref_ref,z_70
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 2000,3900,2000,6100,400,*,DOWN,ALU1
++S 2000,4000,2000,6000,400,a,DOWN,CALU1
++S 1000,2300,1000,2900,600,*,UP,NDIF
++S 1600,1300,1600,1700,200,*,UP,POLY
++S 1600,3300,1600,5500,200,*,UP,POLY
++S 2300,1900,2300,3100,600,*,UP,NDIF
++S 1600,1700,1600,3300,200,2,DOWN,NTRANS
++S 1200,1900,1200,3100,400,*,DOWN,NDIF
++S 1200,5900,1200,9100,400,*,UP,PDIF
++S 1600,5700,1600,9300,200,1,UP,PTRANS
++S 2200,5900,2200,9100,800,*,DOWN,PDIF
++S 1600,9300,1600,9700,200,*,DOWN,POLY
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,1900,1000,7100,400,*,UP,ALU1
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,3000,5000,10000,iv1_y2,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 1000,6100,1000,6700,600,*,UP,PDIF
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 1000,7000,2000,7000,600,*,RIGHT,ALU1
++S 2200,700,2200,3100,400,*,UP,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1000,2200,CONT_DIF_N,*
++V 1000,3000,CONT_DIF_N,*
++V 1000,6000,CONT_DIF_P,*
++V 2000,4700,CONT_POLY,*
++V 2200,2000,CONT_DIF_N,*
++V 2200,9000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 1000,6800,CONT_DIF_P,*
++V 2200,3000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/iv1_y2.vbe b/alliance/src/cells/src/msxlib/iv1_y2.vbe
+new file mode 100644
+index 0000000..db20bd0
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/iv1_y2.vbe
+@@ -0,0 +1,26 @@
++ENTITY iv1_y2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 1420;
++ CONSTANT rup_a_z : NATURAL := 1640;
++ CONSTANT tphl_a_z : NATURAL := 36;
++ CONSTANT tplh_a_z : NATURAL := 38;
++ CONSTANT transistors : NATURAL := 2
++);
++PORT (
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END iv1_y2;
++
++ARCHITECTURE behaviour_data_flow OF iv1_y2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on iv1_y2"
++ SEVERITY WARNING;
++ z <= not (a) after 700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/mxi2_x05.ap b/alliance/src/cells/src/msxlib/mxi2_x05.ap
+new file mode 100644
+index 0000000..618a5c1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/mxi2_x05.ap
+@@ -0,0 +1,136 @@
++V ALLIANCE : 6
++H mxi2_x05,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 3000,2000,ref_ref,z_20
++R 1000,5000,ref_ref,s_50
++R 1000,6000,ref_ref,s_60
++R 1000,7000,ref_ref,s_70
++R 2000,7000,ref_ref,s_70
++R 3000,7000,ref_ref,s_70
++R 4000,7000,ref_ref,s_70
++R 5000,7000,ref_ref,s_70
++R 1000,4000,ref_ref,a1_40
++R 2000,4000,ref_ref,a1_40
++R 2000,5000,ref_ref,a1_50
++R 3000,5000,ref_ref,a1_50
++R 2000,6000,ref_ref,a1_60
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 4000,2000,ref_ref,z_20
++R 3000,4000,ref_ref,a0_40
++R 3000,3000,ref_ref,a0_30
++R 2000,3000,ref_ref,a0_30
++R 1000,3000,ref_ref,a0_30
++R 1000,2000,ref_ref,a0_30
++R 5000,6000,ref_ref,s_60
++R 5000,5000,ref_ref,s_50
++R 4000,3000,ref_ref,z_30
++R 4000,4000,ref_ref,z_40
++R 4000,5000,ref_ref,z_50
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 2100,700,2900,700,600,*,RIGHT,PTIE
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,mxi2_x05,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 900,4000,2000,4000,600,*,RIGHT,ALU1
++S 1000,3000,3000,3000,400,*,LEFT,ALU1
++S 1000,4900,1000,7000,600,*,UP,ALU1
++S 2000,3900,2000,6100,400,*,UP,ALU1
++S 1000,7900,1000,9300,400,*,UP,ALU1
++S 5000,7900,5000,9300,400,*,UP,ALU1
++S 6400,6000,6400,6600,600,*,UP,PDIF
++S 1000,5000,1600,5000,600,*,RIGHT,POLY
++S 2000,5000,3200,5000,600,*,RIGHT,ALU1
++S 4000,2000,4000,6000,400,*,DOWN,ALU1
++S 2500,2000,4000,2000,400,*,LEFT,ALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 2500,1900,4000,1900,400,*,LEFT,ALU1
++S 2400,4200,2400,5600,200,*,DOWN,POLY
++S 2400,4200,3000,4200,200,*,RIGHT,POLY
++S 3200,5000,3600,5000,600,*,RIGHT,POLY
++S 1000,2000,1000,3000,600,*,DOWN,ALU1
++S 3000,3000,3000,4100,600,*,DOWN,ALU1
++S 5000,4900,5000,7000,600,*,DOWN,ALU1
++S 1000,7000,5100,7000,400,*,RIGHT,ALU1
++S 4900,5000,5500,5000,600,*,RIGHT,ALU1
++S 1000,2000,1000,3000,400,a0,UP,CALU1
++S 2000,3000,2000,3000,400,a0,LEFT,CALU1
++S 3000,3000,3000,4000,400,a0,UP,CALU1
++S 4000,2000,4000,6000,400,z,UP,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 2000,4000,2000,6000,400,a1,UP,CALU1
++S 1000,4000,1000,4000,400,a1,LEFT,CALU1
++S 3000,5000,3000,5000,400,a1,LEFT,CALU1
++S 1000,5000,1000,7000,400,s,UP,CALU1
++S 5000,5000,5000,7000,400,s,DOWN,CALU1
++S 2000,7000,2000,7000,400,s,LEFT,CALU1
++S 3000,7000,3000,7000,400,s,LEFT,CALU1
++S 4000,7000,4000,7000,400,s,LEFT,CALU1
++S 3600,5600,3600,7600,200,4,DOWN,PTRANS
++S 3000,5800,3000,7400,600,*,UP,PDIF
++S 2400,5600,2400,7600,200,3,DOWN,PTRANS
++S 2000,5800,2000,7400,400,n1,UP,PDIF
++S 1600,5600,1600,7600,200,1,DOWN,PTRANS
++S 4400,5600,4400,7600,200,2,DOWN,PTRANS
++S 4000,5800,4000,7400,400,n2,UP,PDIF
++S 900,5800,900,8100,600,*,DOWN,PDIF
++S 1000,5800,1000,8100,600,*,DOWN,PDIF
++S 1600,7600,1600,8000,200,*,UP,POLY
++S 2400,7600,2400,8000,200,*,UP,POLY
++S 3600,7600,3600,8000,200,*,UP,POLY
++S 4400,7600,4400,8000,200,*,UP,POLY
++S 5100,5800,5100,8100,800,*,DOWN,PDIF
++S 5800,5600,5800,7400,200,1s,DOWN,PTRANS
++S 6200,5800,6200,7200,400,*,DOWN,PDIF
++S 5800,7400,5800,7800,200,*,UP,POLY
++S 1800,3500,1800,4900,200,*,UP,POLY
++S 2600,1900,2600,2400,1000,*,UP,NDIF
++S 3200,1700,3200,2600,200,8,UP,NTRANS
++S 2000,1700,2000,2600,200,7,UP,NTRANS
++S 3600,1900,3600,2400,600,n4,UP,NDIF
++S 4000,1700,4000,2600,200,6,UP,NTRANS
++S 1600,1900,1600,2400,600,n3,UP,NDIF
++S 1200,1700,1200,2600,200,5,UP,NTRANS
++S 600,800,600,2400,600,*,UP,NDIF
++S 4900,1900,4900,2400,1200,*,UP,NDIF
++S 4000,1300,4000,1700,200,*,DOWN,POLY
++S 3200,1300,3200,1700,200,*,DOWN,POLY
++S 2000,1300,2000,1700,200,*,DOWN,POLY
++S 1200,1300,1200,1700,200,*,DOWN,POLY
++S 5800,1300,5800,1700,200,*,DOWN,POLY
++S 5800,1700,5800,2600,200,2s,UP,NTRANS
++S 6200,1900,6200,2400,400,*,UP,NDIF
++S 6400,2200,6400,6800,400,*,DOWN,ALU1
++S 5800,2600,5800,5200,200,*,UP,POLY
++S 5000,700,5000,2100,400,*,DOWN,ALU1
++S 4800,3400,6400,3400,400,*,RIGHT,ALU1
++S 4400,3400,5000,3400,600,*,LEFT,POLY
++S 4000,3200,5000,3200,200,*,RIGHT,POLY
++S 4400,3200,4400,5600,200,*,DOWN,POLY
++S 4000,2600,4000,3200,200,*,UP,POLY
++S 3200,2600,3200,4000,200,*,UP,POLY
++S 2000,2600,2000,3600,200,*,UP,POLY
++S 1200,2600,1200,4000,200,*,UP,POLY
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 3000,700,CONT_BODY_P,*
++V 2000,700,CONT_BODY_P,*
++V 600,900,CONT_DIF_N,*
++V 3000,4000,CONT_POLY,*
++V 1000,4000,CONT_POLY,*
++V 2600,2000,CONT_DIF_N,*
++V 1000,8000,CONT_DIF_P,*
++V 3000,6000,CONT_DIF_P,*
++V 5000,8000,CONT_DIF_P,*
++V 3200,5000,CONT_POLY,*
++V 1100,5000,CONT_POLY,*
++V 5400,5000,CONT_POLY,*
++V 6400,5900,CONT_DIF_P,sn
++V 6400,6700,CONT_DIF_P,sn
++V 5000,2000,CONT_DIF_N,*
++V 6400,2300,CONT_DIF_N,sn
++V 4900,3400,CONT_POLY,sn
++EOF
+diff --git a/alliance/src/cells/src/msxlib/mxi2_x05.vbe b/alliance/src/cells/src/msxlib/mxi2_x05.vbe
+new file mode 100644
+index 0000000..1d94014
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/mxi2_x05.vbe
+@@ -0,0 +1,40 @@
++ENTITY mxi2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_s : NATURAL := 8;
++ CONSTANT cin_a0 : NATURAL := 4;
++ CONSTANT cin_a1 : NATURAL := 4;
++ CONSTANT rdown_s_z : NATURAL := 4090;
++ CONSTANT rdown_a0_z : NATURAL := 4100;
++ CONSTANT rdown_a1_z : NATURAL := 4110;
++ CONSTANT rup_s_z : NATURAL := 5780;
++ CONSTANT rup_a0_z : NATURAL := 5850;
++ CONSTANT rup_a1_z : NATURAL := 5840;
++ CONSTANT tphl_a0_z : NATURAL := 54;
++ CONSTANT tphl_a1_z : NATURAL := 54;
++ CONSTANT tphl_s_z : NATURAL := 58;
++ CONSTANT tplh_a0_z : NATURAL := 58;
++ CONSTANT tplh_a1_z : NATURAL := 69;
++ CONSTANT tplh_s_z : NATURAL := 66;
++ CONSTANT tphh_s_z : NATURAL := 101;
++ CONSTANT tpll_s_z : NATURAL := 97;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ s : in BIT;
++ a0 : in BIT;
++ a1 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END mxi2_x05;
++
++ARCHITECTURE behaviour_data_flow OF mxi2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on mxi2_x05"
++ SEVERITY WARNING;
++ z <= not (((a0 and not (s)) or (a1 and s))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/mxi2_x1.ap b/alliance/src/cells/src/msxlib/mxi2_x1.ap
+new file mode 100644
+index 0000000..35332b1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/mxi2_x1.ap
+@@ -0,0 +1,134 @@
++V ALLIANCE : 6
++H mxi2_x1,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 3000,2000,ref_ref,z_20
++R 1000,5000,ref_ref,s_50
++R 1000,6000,ref_ref,s_60
++R 1000,7000,ref_ref,s_70
++R 2000,7000,ref_ref,s_70
++R 3000,7000,ref_ref,s_70
++R 4000,7000,ref_ref,s_70
++R 5000,7000,ref_ref,s_70
++R 1000,4000,ref_ref,a1_40
++R 2000,4000,ref_ref,a1_40
++R 2000,5000,ref_ref,a1_50
++R 3000,5000,ref_ref,a1_50
++R 2000,6000,ref_ref,a1_60
++R 3000,6000,ref_ref,z_60
++R 4000,6000,ref_ref,z_60
++R 4000,2000,ref_ref,z_20
++R 3000,4000,ref_ref,a0_40
++R 3000,3000,ref_ref,a0_30
++R 2000,3000,ref_ref,a0_30
++R 1000,3000,ref_ref,a0_30
++R 1000,2000,ref_ref,a0_30
++R 5000,6000,ref_ref,s_60
++R 5000,5000,ref_ref,s_50
++R 4000,3000,ref_ref,z_30
++R 4000,4000,ref_ref,z_40
++R 4000,5000,ref_ref,z_50
++S 4400,3800,4400,5600,200,*,DOWN,POLY
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,mxi2_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 5800,3400,5800,5200,200,*,UP,POLY
++S 900,4000,2000,4000,600,*,RIGHT,ALU1
++S 1000,3000,3000,3000,400,*,LEFT,ALU1
++S 5200,5800,5200,9200,600,*,DOWN,PDIF
++S 6200,5800,6200,7800,400,*,DOWN,PDIF
++S 5800,8000,5800,8400,200,*,UP,POLY
++S 1000,4900,1000,7000,600,*,UP,ALU1
++S 2000,3900,2000,6100,400,*,UP,ALU1
++S 1000,7900,1000,9300,400,*,UP,ALU1
++S 1600,5600,1600,9400,200,1,DOWN,PTRANS
++S 900,5800,900,9200,600,*,DOWN,PDIF
++S 2400,5600,2400,9400,200,3,DOWN,PTRANS
++S 3600,5600,3600,9400,200,4,DOWN,PTRANS
++S 3000,5800,3000,9200,600,*,UP,PDIF
++S 4400,5600,4400,9400,200,2,DOWN,PTRANS
++S 5000,7900,5000,9300,400,*,UP,ALU1
++S 1600,9400,1600,9700,200,*,UP,POLY
++S 2400,9400,2400,9700,200,*,UP,POLY
++S 3600,9400,3600,9700,200,*,UP,POLY
++S 4400,9400,4400,9700,200,*,UP,POLY
++S 6400,6000,6400,6600,600,*,UP,PDIF
++S 1000,5000,1600,5000,600,*,RIGHT,POLY
++S 2000,5000,3200,5000,600,*,RIGHT,ALU1
++S 4000,2000,4000,6000,400,*,DOWN,ALU1
++S 2500,2000,4000,2000,400,*,LEFT,ALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 2500,1900,4000,1900,400,*,LEFT,ALU1
++S 2400,4200,2400,5600,200,*,DOWN,POLY
++S 2400,4200,3000,4200,200,*,RIGHT,POLY
++S 3200,5000,3600,5000,600,*,RIGHT,POLY
++S 1000,2000,1000,3000,600,*,DOWN,ALU1
++S 3000,3000,3000,4100,600,*,DOWN,ALU1
++S 5000,4900,5000,7000,600,*,DOWN,ALU1
++S 1000,7000,5100,7000,400,*,RIGHT,ALU1
++S 4900,5000,5500,5000,600,*,RIGHT,ALU1
++S 5800,5600,5800,8000,200,1s,DOWN,PTRANS
++S 2000,5800,2000,9200,400,n1,UP,PDIF
++S 4000,5800,4000,9200,400,n2,UP,PDIF
++S 1000,2000,1000,3000,400,a0,UP,CALU1
++S 2000,3000,2000,3000,400,a0,LEFT,CALU1
++S 3000,3000,3000,4000,400,a0,UP,CALU1
++S 4000,2000,4000,6000,400,z,UP,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 3000,6000,3000,6000,400,z,LEFT,CALU1
++S 2000,4000,2000,6000,400,a1,UP,CALU1
++S 1000,4000,1000,4000,400,a1,LEFT,CALU1
++S 3000,5000,3000,5000,400,a1,LEFT,CALU1
++S 1000,5000,1000,7000,400,s,UP,CALU1
++S 5000,5000,5000,7000,400,s,DOWN,CALU1
++S 2000,7000,2000,7000,400,s,LEFT,CALU1
++S 3000,7000,3000,7000,400,s,LEFT,CALU1
++S 4000,7000,4000,7000,400,s,LEFT,CALU1
++S 1800,3500,1800,4900,200,*,UP,POLY
++S 1600,1600,1600,2900,600,n3,UP,NDIF
++S 2000,1400,2000,3100,200,7,UP,NTRANS
++S 1200,1400,1200,3100,200,5,UP,NTRANS
++S 2600,1600,2600,2900,1000,*,UP,NDIF
++S 3200,1400,3200,3100,200,8,UP,NTRANS
++S 3600,1600,3600,2900,600,n4,UP,NDIF
++S 4000,1400,4000,3100,200,6,UP,NTRANS
++S 4000,1000,4000,1400,200,*,DOWN,POLY
++S 3200,1000,3200,1400,200,*,DOWN,POLY
++S 2000,1000,2000,1400,200,*,DOWN,POLY
++S 1200,1000,1200,1400,200,*,DOWN,POLY
++S 600,890,600,2900,600,*,UP,NDIF
++S 6200,2100,6200,2900,400,*,UP,NDIF
++S 4900,1600,4900,2900,1200,*,UP,NDIF
++S 5000,700,5000,2900,400,*,DOWN,ALU1
++S 6400,2700,6400,6800,400,*,DOWN,ALU1
++S 5800,1900,5800,3100,200,2s,UP,NTRANS
++S 5800,1500,5800,1900,200,*,DOWN,POLY
++S 4800,3800,6400,3800,400,*,RIGHT,ALU1
++S 4400,3800,5000,3800,600,*,LEFT,POLY
++S 4000,3600,5000,3600,200,*,RIGHT,POLY
++S 4000,3100,4000,3600,200,*,UP,POLY
++S 3200,3100,3200,4000,200,*,UP,POLY
++S 2000,3100,2000,3600,200,*,UP,POLY
++S 1200,3100,1200,4000,200,*,UP,POLY
++V 6300,9300,CONT_BODY_N,*
++V 6300,700,CONT_BODY_P,*
++V 600,900,CONT_DIF_N,*
++V 3000,4000,CONT_POLY,*
++V 1000,4000,CONT_POLY,*
++V 2600,2000,CONT_DIF_N,*
++V 1000,8000,CONT_DIF_P,*
++V 3000,6000,CONT_DIF_P,*
++V 5000,8000,CONT_DIF_P,*
++V 5000,9000,CONT_DIF_P,*
++V 1000,9000,CONT_DIF_P,*
++V 3200,5000,CONT_POLY,*
++V 1100,5000,CONT_POLY,*
++V 5400,5000,CONT_POLY,*
++V 6400,5900,CONT_DIF_P,sn
++V 6400,6700,CONT_DIF_P,sn
++V 5000,2000,CONT_DIF_N,*
++V 5000,2800,CONT_DIF_N,*
++V 6400,2800,CONT_DIF_N,sn
++V 4900,3800,CONT_POLY,sn
++EOF
+diff --git a/alliance/src/cells/src/msxlib/mxi2_x1.vbe b/alliance/src/cells/src/msxlib/mxi2_x1.vbe
+new file mode 100644
+index 0000000..9867123
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/mxi2_x1.vbe
+@@ -0,0 +1,40 @@
++ENTITY mxi2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_s : NATURAL := 11;
++ CONSTANT cin_a0 : NATURAL := 6;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT rdown_s_z : NATURAL := 2170;
++ CONSTANT rdown_a0_z : NATURAL := 2170;
++ CONSTANT rdown_a1_z : NATURAL := 2180;
++ CONSTANT rup_s_z : NATURAL := 3040;
++ CONSTANT rup_a0_z : NATURAL := 3080;
++ CONSTANT rup_a1_z : NATURAL := 3070;
++ CONSTANT tphl_a0_z : NATURAL := 51;
++ CONSTANT tphl_a1_z : NATURAL := 51;
++ CONSTANT tphl_s_z : NATURAL := 55;
++ CONSTANT tplh_a0_z : NATURAL := 54;
++ CONSTANT tplh_a1_z : NATURAL := 65;
++ CONSTANT tplh_s_z : NATURAL := 62;
++ CONSTANT tphh_s_z : NATURAL := 101;
++ CONSTANT tpll_s_z : NATURAL := 99;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ s : in BIT;
++ a0 : in BIT;
++ a1 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END mxi2_x1;
++
++ARCHITECTURE behaviour_data_flow OF mxi2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on mxi2_x1"
++ SEVERITY WARNING;
++ z <= not (((a0 and not (s)) or (a1 and s))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2_x05.ap b/alliance/src/cells/src/msxlib/nd2_x05.ap
+new file mode 100644
+index 0000000..930e7fb
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x05.ap
+@@ -0,0 +1,72 @@
++V ALLIANCE : 6
++H nd2_x05,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 2000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++R 2000,5000,ref_ref,b_50
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 3000,4000,ref_ref,b_40
++R 3000,6000,ref_ref,a_60
++R 2000,4000,ref_ref,b_40
++R 1000,7000,ref_ref,z_70
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 3000,4000,3000,4000,400,b,LEFT,CALU1
++S 2000,7000,2000,7400,600,*,DOWN,ALU1
++S 700,7300,700,8100,800,*,DOWN,PDIF
++S 3300,7300,3300,8100,800,*,DOWN,PDIF
++S 1400,7100,1400,8300,200,1,UP,PTRANS
++S 2000,7300,2000,8100,1000,*,DOWN,PDIF
++S 2600,7100,2600,8300,200,2,UP,PTRANS
++S 1400,4500,1400,7200,200,*,DOWN,POLY
++S 2600,6000,2600,7200,200,*,DOWN,POLY
++S 3000,5000,3000,6000,400,a,DOWN,CALU1
++S 3000,4900,3000,6100,400,*,DOWN,ALU1
++S 2000,6000,3000,6000,600,*,RIGHT,ALU1
++S 2800,2300,2800,2700,200,*,UP,POLY
++S 2000,2300,2000,2700,200,*,UP,POLY
++S 2000,3700,2000,4300,200,*,UP,POLY
++S 2800,3700,2800,6000,200,*,UP,POLY
++S 3400,2900,3400,3500,600,*,UP,NDIF
++S 1600,2900,1600,3500,400,*,UP,NDIF
++S 2000,2700,2000,3700,200,3,DOWN,NTRANS
++S 2800,2700,2800,3700,200,4,DOWN,NTRANS
++S 2400,2900,2400,3500,600,n1,UP,NDIF
++S 3400,700,3400,3100,400,*,DOWN,ALU1
++S 1500,4500,1700,4500,200,*,RIGHT,POLY
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 2000,6000,2000,6000,400,a,LEFT,CALU1
++S 2000,4000,3000,4000,600,*,LEFT,ALU1
++S 1000,7000,2100,7000,400,*,RIGHT,ALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,nd2_x05,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 1000,2900,1500,2900,400,*,RIGHT,ALU1
++S 1000,3000,1500,3000,400,*,RIGHT,ALU1
++S 2000,4000,2000,5100,400,*,UP,ALU1
++S 2000,4000,2000,5000,400,b,DOWN,CALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,2900,1000,7000,400,*,DOWN,ALU1
++S 1000,7100,2100,7100,400,*,RIGHT,ALU1
++S 800,7900,800,9300,400,*,UP,ALU1
++S 3200,7900,3200,9300,400,*,UP,ALU1
++S 1400,8300,1400,8700,200,*,DOWN,POLY
++S 2600,8300,2600,8700,200,*,DOWN,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,7400,CONT_DIF_P,*
++V 3400,3000,CONT_DIF_N,*
++V 2000,4300,CONT_POLY,*
++V 1400,3000,CONT_DIF_N,*
++V 800,8000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 2800,6000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2_x05.vbe b/alliance/src/cells/src/msxlib/nd2_x05.vbe
+new file mode 100644
+index 0000000..fa5b61e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x05.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 3680;
++ CONSTANT rdown_b_z : NATURAL := 3680;
++ CONSTANT rup_a_z : NATURAL := 4930;
++ CONSTANT rup_b_z : NATURAL := 4940;
++ CONSTANT tphl_a_z : NATURAL := 35;
++ CONSTANT tphl_b_z : NATURAL := 36;
++ CONSTANT tplh_b_z : NATURAL := 46;
++ CONSTANT tplh_a_z : NATURAL := 52;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2_x05;
++
++ARCHITECTURE behaviour_data_flow OF nd2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2_x05"
++ SEVERITY WARNING;
++ z <= not ((a and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2_x1.ap b/alliance/src/cells/src/msxlib/nd2_x1.ap
+new file mode 100644
+index 0000000..99a3aa2
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x1.ap
+@@ -0,0 +1,75 @@
++V ALLIANCE : 6
++H nd2_x1,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 2000,4000,ref_ref,b_40
++R 1000,3000,ref_ref,z_30
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 3000,4000,ref_ref,a_40
++R 2000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,b_50
++R 3000,5000,ref_ref,b_50
++R 3000,3000,ref_ref,a_30
++R 2000,3000,ref_ref,a_30
++R 1000,2000,ref_ref,z_20
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 2000,3000,3000,3000,600,*,LEFT,ALU1
++S 0,5000,4000,5000,10000,nd2_x1,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 1400,7700,1400,8000,200,*,DOWN,POLY
++S 1400,5600,1400,7600,200,1,UP,PTRANS
++S 2000,5800,2000,7400,1000,*,DOWN,PDIF
++S 2600,7700,2600,8000,200,*,DOWN,POLY
++S 2600,5600,2600,7600,200,2,UP,PTRANS
++S 1000,6000,2000,6000,600,*,LEFT,ALU1
++S 2000,6000,2000,7100,400,*,UP,ALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 3200,5900,3200,9300,400,*,UP,ALU1
++S 800,6900,800,9300,400,*,UP,ALU1
++S 3300,5800,3300,7400,600,*,DOWN,PDIF
++S 700,5800,700,7400,600,*,DOWN,PDIF
++S 1000,2300,1000,2900,600,*,UP,NDIF
++S 1200,1800,1200,3100,400,*,UP,NDIF
++S 2000,1800,2000,3100,600,n1,UP,NDIF
++S 1600,1600,1600,3300,200,3,DOWN,NTRANS
++S 2400,1600,2400,3300,200,4,DOWN,NTRANS
++S 1600,1200,1600,1600,200,*,UP,POLY
++S 2400,1200,2400,1600,200,*,UP,POLY
++S 3000,700,3000,2100,400,*,DOWN,ALU1
++S 3100,1800,3100,3100,600,*,UP,NDIF
++S 3000,5000,3000,5000,400,b,LEFT,CALU1
++S 3000,2900,3000,4100,400,*,DOWN,ALU1
++S 3000,3000,3000,4000,400,a,DOWN,CALU1
++S 2000,4000,2000,5000,400,b,DOWN,CALU1
++S 2000,3900,2000,5100,400,*,DOWN,ALU1
++S 2000,3000,2000,3000,400,a,LEFT,CALU1
++S 1400,4800,1400,5600,200,*,DOWN,POLY
++S 1600,3300,1600,5200,200,*,UP,POLY
++S 1400,5000,1800,5000,600,*,LEFT,POLY
++S 1800,5000,3000,5000,600,*,RIGHT,ALU1
++S 2600,3800,2600,5600,200,*,DOWN,POLY
++S 2400,3300,2400,4200,200,*,UP,POLY
++S 2400,4000,3000,4000,600,*,LEFT,POLY
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++S 1000,1900,1000,6000,400,*,DOWN,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,7000,CONT_DIF_P,*
++V 2000,6000,CONT_DIF_P,*
++V 800,7000,CONT_DIF_P,*
++V 3200,7000,CONT_DIF_P,*
++V 3200,6000,CONT_DIF_P,*
++V 1000,3000,CONT_DIF_N,*
++V 1000,2200,CONT_DIF_N,*
++V 3000,2000,CONT_DIF_N,*
++V 3000,4000,CONT_POLY,*
++V 1800,5000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2_x1.vbe b/alliance/src/cells/src/msxlib/nd2_x1.vbe
+new file mode 100644
+index 0000000..e179081
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 2160;
++ CONSTANT rdown_b_z : NATURAL := 2160;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT tphl_a_z : NATURAL := 34;
++ CONSTANT tphl_b_z : NATURAL := 35;
++ CONSTANT tplh_b_z : NATURAL := 45;
++ CONSTANT tplh_a_z : NATURAL := 51;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2_x1;
++
++ARCHITECTURE behaviour_data_flow OF nd2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2_x1"
++ SEVERITY WARNING;
++ z <= not ((a and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2_x2.ap b/alliance/src/cells/src/msxlib/nd2_x2.ap
+new file mode 100644
+index 0000000..946cd48
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x2.ap
+@@ -0,0 +1,74 @@
++V ALLIANCE : 6
++H nd2_x2,P, 9/10/2005,100
++A 0,0,4000,10000
++R 3000,5000,ref_ref,a_50
++R 2000,5000,ref_ref,b_50
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,8000,ref_ref,z_80
++R 2000,6000,ref_ref,b_60
++R 3000,6000,ref_ref,b_60
++R 3000,4000,ref_ref,a_40
++R 2000,4000,ref_ref,a_40
++R 1000,7000,ref_ref,z_70
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++R 3000,3000,ref_ref,a_30
++S 3000,3000,3000,5000,400,a,DOWN,CALU1
++S 1800,3900,1800,4900,200,*,UP,POLY
++S 2600,4900,3200,4900,600,*,LEFT,POLY
++S 1900,4000,3000,4000,400,*,LEFT,ALU1
++S 3000,6000,3000,6000,400,b,LEFT,CALU1
++S 2800,9400,2800,9700,200,*,UP,POLY
++S 1600,9400,1600,9700,200,*,UP,POLY
++S 1000,7000,2200,7000,600,*,LEFT,ALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,5000,4000,5000,10000,nd2_x2,LEFT,TALU8
++S 2000,6000,3000,6000,600,*,RIGHT,ALU1
++S 2000,5000,2000,6000,400,b,UP,CALU1
++S 1000,8000,1000,9300,400,*,UP,ALU1
++S 3400,8000,3400,9300,400,*,UP,ALU1
++S 2100,7000,2100,8100,600,*,DOWN,ALU1
++S 2000,7000,2000,8000,400,z,UP,CALU1
++S 3400,5700,3400,9100,600,*,DOWN,PDIF
++S 2800,5500,2800,9400,200,2,UP,PTRANS
++S 2200,5700,2200,9200,1000,*,DOWN,PDIF
++S 1600,5500,1600,9400,200,1,UP,PTRANS
++S 1000,5700,1000,9200,1000,*,DOWN,PDIF
++S 2000,4800,2000,6000,400,*,UP,ALU1
++S 1600,5100,1600,5500,200,*,DOWN,POLY
++S 1200,2100,1200,2900,600,*,UP,NDIF
++S 1400,800,1400,3700,400,*,UP,NDIF
++S 1800,600,1800,3900,200,3,DOWN,NTRANS
++S 1800,300,1800,600,200,*,UP,POLY
++S 2200,800,2200,3700,600,n1,UP,NDIF
++S 2600,600,2600,3900,200,4,DOWN,NTRANS
++S 2600,300,2600,600,200,*,UP,POLY
++S 3200,700,3200,2100,400,*,DOWN,ALU1
++S 3300,800,3300,3700,600,*,UP,NDIF
++S 1100,1900,1100,3100,600,*,UP,ALU1
++S 2000,4000,2000,4000,400,a,LEFT,CALU1
++S 1800,4900,2000,4900,600,*,RIGHT,ALU1
++S 2800,4700,2800,5500,200,*,UP,POLY
++S 2600,3900,2600,5100,200,*,UP,POLY
++S 1000,1900,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 3000,2900,3000,5100,400,*,DOWN,ALU1
++V 1200,2200,CONT_DIF_N,*
++V 1000,8100,CONT_DIF_P,*
++V 3400,8100,CONT_DIF_P,*
++V 1000,9100,CONT_DIF_P,*
++V 3400,9100,CONT_DIF_P,*
++V 2200,7000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 3000,4900,CONT_POLY,*
++V 1800,4900,CONT_POLY,*
++V 1200,3000,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 3200,1000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2_x2.vbe b/alliance/src/cells/src/msxlib/nd2_x2.vbe
+new file mode 100644
+index 0000000..3b871e5
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x2.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 8;
++ CONSTANT cin_b : NATURAL := 8;
++ CONSTANT rdown_a_z : NATURAL := 1110;
++ CONSTANT rdown_b_z : NATURAL := 1110;
++ CONSTANT rup_a_z : NATURAL := 1520;
++ CONSTANT rup_b_z : NATURAL := 1520;
++ CONSTANT tphl_a_z : NATURAL := 33;
++ CONSTANT tphl_b_z : NATURAL := 34;
++ CONSTANT tplh_b_z : NATURAL := 44;
++ CONSTANT tplh_a_z : NATURAL := 50;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2_x2;
++
++ARCHITECTURE behaviour_data_flow OF nd2_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2_x2"
++ SEVERITY WARNING;
++ z <= not ((a and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2_x4.ap b/alliance/src/cells/src/msxlib/nd2_x4.ap
+new file mode 100644
+index 0000000..7868c0c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x4.ap
+@@ -0,0 +1,114 @@
++V ALLIANCE : 6
++H nd2_x4,P,29/ 9/2005,100
++A 0,0,6000,10000
++R 3000,2000,ref_ref,z_20
++R 2000,4000,ref_ref,a_40
++R 1000,3000,ref_ref,z_30
++R 5000,6000,ref_ref,b_60
++R 4000,8000,ref_ref,z_80
++R 5000,4000,ref_ref,a_40
++R 4000,6000,ref_ref,b_60
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,z_30
++R 3000,7000,ref_ref,z_70
++R 4000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,a_40
++R 4000,4000,ref_ref,a_40
++R 4000,5000,ref_ref,b_50
++R 5000,5000,ref_ref,a_50
++R 2000,6000,ref_ref,z_60
++S 4600,4200,5000,4200,200,*,RIGHT,POLY
++S 4600,3800,4600,4300,200,*,UP,POLY
++S 3800,6000,5100,6000,400,*,RIGHT,ALU1
++S 5000,6000,5000,6000,400,b,UP,CALU1
++S 5000,3900,5000,5100,400,*,UP,ALU1
++S 5000,4000,5000,5000,400,a,UP,CALU1
++S 1000,2900,1000,6100,400,*,DOWN,ALU1
++S 600,7900,600,9300,400,*,UP,ALU1
++S 2400,4800,2400,5600,200,*,DOWN,POLY
++S 4600,300,4600,600,200,*,UP,POLY
++S 3800,300,3800,600,200,*,UP,POLY
++S 2600,300,2600,600,200,*,UP,POLY
++S 1800,300,1800,600,200,*,UP,POLY
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 3000,4000,3000,4000,400,a,LEFT,CALU1
++S 3100,1900,3100,3000,600,*,DOWN,ALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 3000,2000,3000,3000,400,z,DOWN,CALU1
++S 1000,3000,3200,3000,600,*,RIGHT,ALU1
++S 3900,4900,3900,6000,600,*,DOWN,ALU1
++S 3700,4300,3700,4800,400,*,UP,POLY
++S 1800,3800,1800,4700,200,*,UP,POLY
++S 5200,800,5200,3600,600,*,UP,NDIF
++S 5200,700,5200,2100,400,*,DOWN,ALU1
++S 4600,600,4600,3800,200,8,DOWN,NTRANS
++S 4200,900,4200,3600,600,n2,UP,NDIF
++S 2600,4200,3800,4200,200,*,RIGHT,POLY
++S 3800,600,3800,3800,200,7,DOWN,NTRANS
++S 3200,800,3200,3600,600,*,UP,NDIF
++S 2600,600,2600,3800,200,6,DOWN,NTRANS
++S 2200,900,2200,3600,600,n1,UP,NDIF
++S 1800,600,1800,3800,200,5,DOWN,NTRANS
++S 1100,800,1100,3600,600,*,UP,NDIF
++S 1200,700,1200,2100,400,*,DOWN,ALU1
++S 2000,3900,5000,3900,400,*,RIGHT,ALU1
++S 2000,4000,5000,4000,400,*,RIGHT,ALU1
++S 4000,5000,4000,6000,400,b,DOWN,CALU1
++S 4000,7000,4000,8000,400,z,UP,CALU1
++S 4100,7000,4100,8100,600,*,DOWN,ALU1
++S 3000,5800,3000,9200,600,*,DOWN,PDIF
++S 5400,7900,5400,9300,400,*,UP,ALU1
++S 3000,7900,3000,9300,400,*,UP,ALU1
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,5000,6000,5000,10000,nd2_x4,LEFT,TALU8
++S 1200,5600,1200,9400,200,1,UP,PTRANS
++S 600,5800,600,9200,600,*,DOWN,PDIF
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 1800,5800,1800,9200,1000,*,DOWN,PDIF
++S 2400,5600,2400,9400,200,2,UP,PTRANS
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3600,5600,3600,9400,200,3,UP,PTRANS
++S 4800,5600,4800,9400,200,4,UP,PTRANS
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 5400,5800,5400,9200,600,*,DOWN,PDIF
++S 4200,5800,4200,9200,1000,*,DOWN,PDIF
++S 1200,5200,2400,5200,200,*,RIGHT,POLY
++S 3600,5200,4800,5200,200,*,RIGHT,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 2000,4000,2000,5000,400,a,DOWN,CALU1
++S 2000,4000,2000,5100,400,*,DOWN,ALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 1000,3000,1000,6000,400,z,DOWN,CALU1
++S 1800,7000,4200,7000,400,*,LEFT,ALU1
++S 1800,7100,4200,7100,400,*,LEFT,ALU1
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 1900,5900,1900,7100,600,*,DOWN,ALU1
++V 4200,7100,CONT_DIF_P,*
++V 3800,5000,CONT_POLY,*
++V 5200,1000,CONT_DIF_N,*
++V 5200,2000,CONT_DIF_N,*
++V 3200,3000,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 1200,1000,CONT_DIF_N,*
++V 1200,2000,CONT_DIF_N,*
++V 5000,4400,CONT_POLY,*
++V 4200,8000,CONT_DIF_P,*
++V 5400,9000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 600,9000,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 2000,5000,CONT_POLY,*
++V 1800,7000,CONT_DIF_P,*
++V 1800,6000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2_x4.vbe b/alliance/src/cells/src/msxlib/nd2_x4.vbe
+new file mode 100644
+index 0000000..481418a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2_x4.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 15;
++ CONSTANT cin_b : NATURAL := 14;
++ CONSTANT rdown_a_z : NATURAL := 570;
++ CONSTANT rdown_b_z : NATURAL := 570;
++ CONSTANT rup_a_z : NATURAL := 780;
++ CONSTANT rup_b_z : NATURAL := 780;
++ CONSTANT tphl_a_z : NATURAL := 32;
++ CONSTANT tphl_b_z : NATURAL := 34;
++ CONSTANT tplh_b_z : NATURAL := 43;
++ CONSTANT tplh_a_z : NATURAL := 49;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2_x4;
++
++ARCHITECTURE behaviour_data_flow OF nd2_x4 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2_x4"
++ SEVERITY WARNING;
++ z <= not ((a and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2a_x1.ap b/alliance/src/cells/src/msxlib/nd2a_x1.ap
+new file mode 100644
+index 0000000..a56c70a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2a_x1.ap
+@@ -0,0 +1,91 @@
++V ALLIANCE : 6
++H nd2a_x1,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 2000,2000,ref_ref,a_20
++R 3000,2000,ref_ref,a_20
++R 2000,5000,ref_ref,b_50
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,8000,ref_ref,z_80
++R 2000,6000,ref_ref,b_60
++R 3000,6000,ref_ref,b_60
++R 3000,7000,ref_ref,b_70
++R 3000,4000,ref_ref,a_40
++R 3000,3000,ref_ref,a_30
++R 1000,7000,ref_ref,z_70
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 3800,8300,3800,8700,200,*,UP,POLY
++S 2600,8300,2600,8700,200,*,UP,POLY
++S 1400,8300,1400,8700,200,*,UP,POLY
++S 1400,4700,1400,6300,200,*,DOWN,POLY
++S 3800,3300,3800,6300,200,*,DOWN,POLY
++S 3000,4000,3600,4000,600,*,LEFT,ALU1
++S 2000,2000,3000,2000,600,*,RIGHT,ALU1
++S 2000,2000,2000,2000,400,a,LEFT,CALU1
++S 2600,3700,2600,6300,200,*,DOWN,POLY
++S 2400,3300,2400,3800,200,*,UP,POLY
++S 2400,1200,2400,1600,200,*,DOWN,POLY
++S 2400,1600,2400,3300,200,4,DOWN,NTRANS
++S 2000,1800,2000,3100,600,n1,UP,NDIF
++S 1600,3300,1600,4500,200,*,UP,POLY
++S 1600,1200,1600,1600,200,*,DOWN,POLY
++S 1600,1600,1600,3300,200,3,DOWN,NTRANS
++S 1200,1800,1200,3100,400,*,UP,NDIF
++S 1000,2100,1000,2900,600,*,UP,NDIF
++S 2800,5000,4400,5000,400,*,RIGHT,ALU1
++S 4400,2900,4400,7500,400,*,DOWN,ALU1
++S 3200,900,3200,3100,600,*,UP,NDIF
++S 3800,1900,3800,2300,200,*,DOWN,POLY
++S 4200,2500,4200,3100,400,*,UP,NDIF
++S 3800,2300,3800,3300,200,2a,DOWN,NTRANS
++S 4400,6700,4400,7300,600,*,UP,PDIF
++S 3200,6500,3200,8100,600,*,DOWN,PDIF
++S 4200,6500,4200,8100,400,*,DOWN,PDIF
++S 3800,6300,3800,8300,200,1a,UP,PTRANS
++S 700,6500,700,8100,600,*,DOWN,PDIF
++S 2000,6500,2000,8100,1000,*,DOWN,PDIF
++S 1400,6300,1400,8300,200,1,UP,PTRANS
++S 2600,6300,2600,8300,200,2,UP,PTRANS
++S 3200,7900,3200,9300,400,*,UP,ALU1
++S 800,7900,800,9300,400,*,UP,ALU1
++S 3000,1900,3000,4000,400,*,DOWN,ALU1
++S 3000,2000,3000,4000,400,a,DOWN,CALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,nd2a_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 1000,7000,2000,7000,600,*,LEFT,ALU1
++S 2000,7000,2000,8100,400,*,DOWN,ALU1
++S 3000,6000,3000,7100,400,*,UP,ALU1
++S 2000,6000,3000,6000,600,*,RIGHT,ALU1
++S 3000,6000,3000,7000,400,b,UP,CALU1
++S 2000,5000,2000,6000,400,b,UP,CALU1
++S 2000,7000,2000,8000,400,z,UP,CALU1
++S 2000,4800,2000,6000,400,*,UP,ALU1
++S 1800,4900,2000,4900,600,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,1900,1000,7000,400,*,DOWN,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2900,5000,CONT_POLY,an
++V 4400,3000,CONT_DIF_N,an
++V 4400,6600,CONT_DIF_P,an
++V 4400,7400,CONT_DIF_P,an
++V 1000,2200,CONT_DIF_N,*
++V 1000,3000,CONT_DIF_N,*
++V 3500,4000,CONT_POLY,*
++V 800,8000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 2000,7000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 1800,4900,CONT_POLY,*
++V 3200,1000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2a_x1.vbe b/alliance/src/cells/src/msxlib/nd2a_x1.vbe
+new file mode 100644
+index 0000000..d6c5c83
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2a_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2a_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 2160;
++ CONSTANT rdown_a_z : NATURAL := 2160;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT tphl_b_z : NATURAL := 36;
++ CONSTANT tplh_b_z : NATURAL := 45;
++ CONSTANT tpll_a_z : NATURAL := 78;
++ CONSTANT tphh_a_z : NATURAL := 75;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2a_x1;
++
++ARCHITECTURE behaviour_data_flow OF nd2a_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2a_x1"
++ SEVERITY WARNING;
++ z <= (not (b) or a) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2a_x2.ap b/alliance/src/cells/src/msxlib/nd2a_x2.ap
+new file mode 100644
+index 0000000..657916c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2a_x2.ap
+@@ -0,0 +1,95 @@
++V ALLIANCE : 6
++H nd2a_x2,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 3000,4000,ref_ref,a_40
++R 3000,7000,ref_ref,b_70
++R 3000,6000,ref_ref,b_60
++R 2000,6000,ref_ref,b_60
++R 2000,8000,ref_ref,z_80
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,b_50
++R 2000,2000,ref_ref,a_20
++R 2000,3000,ref_ref,a_30
++R 3000,3000,ref_ref,a_30
++S 1800,4900,2000,4900,600,*,RIGHT,ALU1
++S 2600,300,2600,600,200,*,UP,POLY
++S 2600,600,2600,3900,200,4,DOWN,NTRANS
++S 2200,800,2200,3700,600,n1,UP,NDIF
++S 1800,3900,1800,4500,200,*,UP,POLY
++S 1800,300,1800,600,200,*,UP,POLY
++S 1800,600,1800,3900,200,3,DOWN,NTRANS
++S 1400,800,1400,3700,400,*,UP,NDIF
++S 2000,4800,2000,6000,400,*,UP,ALU1
++S 2000,7000,2000,8000,400,z,UP,CALU1
++S 2000,5000,2000,6000,400,b,UP,CALU1
++S 3000,6000,3000,7000,400,b,UP,CALU1
++S 2000,6000,3000,6000,600,*,RIGHT,ALU1
++S 3000,6000,3000,7100,400,*,UP,ALU1
++S 1400,5500,1400,9400,200,1,UP,PTRANS
++S 1400,9400,1400,9700,200,*,UP,POLY
++S 2000,7000,2000,8100,400,*,DOWN,ALU1
++S 1000,7000,2000,7000,600,*,LEFT,ALU1
++S 1400,5000,1400,5500,200,*,DOWN,POLY
++S 2000,5700,2000,9200,1000,*,DOWN,PDIF
++S 2600,5500,2600,9400,200,2,UP,PTRANS
++S 2600,9400,2600,9700,200,*,UP,POLY
++S 2600,3900,2600,5500,200,*,UP,POLY
++S 3200,8000,3200,9300,400,*,UP,ALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,nd2a_x2,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 4400,5900,4400,6500,600,*,UP,PDIF
++S 4200,5700,4200,8300,400,*,DOWN,PDIF
++S 3200,5700,3200,9200,600,*,DOWN,PDIF
++S 3800,8400,3800,8900,200,*,UP,POLY
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 3800,3900,3800,5500,200,*,DOWN,POLY
++S 3800,5500,3800,8500,200,1a,UP,PTRANS
++S 3000,800,3000,3700,400,*,DOWN,NDIF
++S 2800,4900,4600,4900,400,*,RIGHT,ALU1
++S 4600,2100,4600,4900,400,*,DOWN,ALU1
++S 4400,4900,4400,6700,400,*,DOWN,ALU1
++S 3800,1800,3800,3300,200,2a,DOWN,NTRANS
++S 3200,800,3200,3100,600,*,UP,NDIF
++S 4500,2000,4500,3000,600,*,UP,ALU1
++S 4400,2200,4400,3100,600,*,UP,NDIF
++S 3800,1400,3800,1800,200,*,DOWN,POLY
++S 700,5700,700,9200,600,*,DOWN,PDIF
++S 800,8000,800,9300,400,*,UP,ALU1
++S 3200,700,3200,2100,400,*,DOWN,ALU1
++S 3000,3000,3000,4000,400,a,DOWN,CALU1
++S 2000,2000,2000,3000,400,a,DOWN,CALU1
++S 2000,1900,2000,3100,400,*,DOWN,ALU1
++S 1200,2700,1200,3500,600,*,UP,NDIF
++S 1000,2700,1000,7000,400,*,DOWN,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1100,2700,1100,3700,600,*,UP,ALU1
++S 3000,3900,3800,3900,600,*,LEFT,ALU1
++S 3000,2900,3000,4000,600,*,DOWN,ALU1
++S 2000,3000,3100,3000,600,*,RIGHT,ALU1
++V 4300,9300,CONT_BODY_N,*
++V 4300,700,CONT_BODY_P,*
++V 3200,1000,CONT_DIF_N,*
++V 1800,4900,CONT_POLY,*
++V 800,8100,CONT_DIF_P,*
++V 800,9100,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 2000,7000,CONT_DIF_P,*
++V 3200,8100,CONT_DIF_P,*
++V 3200,9100,CONT_DIF_P,*
++V 4400,5800,CONT_DIF_P,*
++V 4400,6600,CONT_DIF_P,*
++V 2900,4900,CONT_POLY,*
++V 4400,2100,CONT_DIF_N,*
++V 4400,2900,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 1200,3600,CONT_DIF_N,*
++V 1200,2800,CONT_DIF_N,*
++V 3800,3900,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2a_x2.vbe b/alliance/src/cells/src/msxlib/nd2a_x2.vbe
+new file mode 100644
+index 0000000..535da81
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2a_x2.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2a_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 8;
++ CONSTANT cin_a : NATURAL := 6;
++ CONSTANT rdown_b_z : NATURAL := 1110;
++ CONSTANT rdown_a_z : NATURAL := 1110;
++ CONSTANT rup_b_z : NATURAL := 1520;
++ CONSTANT rup_a_z : NATURAL := 1520;
++ CONSTANT tphl_b_z : NATURAL := 34;
++ CONSTANT tplh_b_z : NATURAL := 44;
++ CONSTANT tpll_a_z : NATURAL := 80;
++ CONSTANT tphh_a_z : NATURAL := 76;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2a_x2;
++
++ARCHITECTURE behaviour_data_flow OF nd2a_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2a_x2"
++ SEVERITY WARNING;
++ z <= (not (b) or a) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2ab_x1.ap b/alliance/src/cells/src/msxlib/nd2ab_x1.ap
+new file mode 100644
+index 0000000..cec8334
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2ab_x1.ap
+@@ -0,0 +1,104 @@
++V ALLIANCE : 6
++H nd2ab_x1,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 3000,4000,ref_ref,z_40
++R 3000,3000,ref_ref,z_30
++R 3000,2000,ref_ref,z_20
++R 2000,6000,ref_ref,b_60
++R 3000,5000,ref_ref,z_50
++R 2000,2000,ref_ref,z_20
++R 4000,6000,ref_ref,a_60
++R 4000,7000,ref_ref,a_70
++R 1000,7000,ref_ref,b_70
++R 2000,7000,ref_ref,b_70
++R 1000,8000,ref_ref,b_80
++R 5000,7000,ref_ref,a_70
++R 4000,5000,ref_ref,a_50
++R 3000,7000,ref_ref,z_70
++R 3000,6000,ref_ref,z_60
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 600,700,600,3400,400,*,DOWN,ALU1
++S 2000,6000,2000,7000,400,b,DOWN,CALU1
++S 2000,5900,2000,7000,400,*,DOWN,ALU1
++S 4200,700,4200,3100,400,*,DOWN,ALU1
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 5400,2900,5400,5900,400,*,UP,ALU1
++S 4000,4900,4600,4900,400,*,LEFT,ALU1
++S 4000,5000,4000,7000,400,*,DOWN,ALU1
++S 4000,5000,4000,7000,400,a,DOWN,CALU1
++S 600,4900,600,5900,400,*,UP,ALU1
++S 1000,7000,2000,7000,600,*,RIGHT,ALU1
++S 3000,2000,3000,7000,400,z,UP,CALU1
++S 2000,2000,3000,2000,600,*,RIGHT,ALU1
++S 4200,7900,4200,9300,400,*,UP,ALU1
++S 4000,7000,5100,7000,400,*,LEFT,ALU1
++S 4000,7100,5100,7100,400,*,LEFT,ALU1
++S 3900,3900,5400,3900,400,*,RIGHT,ALU1
++S 1000,7000,1000,8100,400,*,UP,ALU1
++S 1800,3500,1800,4900,400,*,DOWN,ALU1
++S 1800,7900,1800,9300,400,*,UP,ALU1
++S 3000,2000,3000,7100,400,*,DOWN,ALU1
++S 1000,7000,1000,8000,400,b,UP,CALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 600,4900,2100,4900,400,*,RIGHT,ALU1
++S 2400,4700,2400,5500,200,*,DOWN,POLY
++S 2200,4700,2800,4700,200,*,LEFT,POLY
++S 2800,2300,2800,4700,200,*,UP,POLY
++S 3600,300,3600,700,200,*,DOWN,POLY
++S 3600,2400,3600,5500,200,*,DOWN,POLY
++S 4800,2000,4800,2400,200,*,DOWN,POLY
++S 1200,3900,1200,5500,200,*,DOWN,POLY
++S 2800,300,2800,700,200,*,DOWN,POLY
++S 4800,7300,4800,7700,200,*,UP,POLY
++S 3600,7500,3600,7900,200,*,UP,POLY
++S 2400,7500,2400,7900,200,*,UP,POLY
++S 1200,7300,1200,7800,200,*,UP,POLY
++S 4800,3300,4800,5500,200,*,UP,POLY
++S 1200,2600,1200,3000,200,*,DOWN,POLY
++S 5200,2600,5200,3100,400,*,UP,NDIF
++S 2400,900,2400,2200,400,*,UP,NDIF
++S 1600,3200,1600,3700,400,*,UP,NDIF
++S 3200,900,3200,2200,600,n1,UP,NDIF
++S 600,3200,600,3700,600,*,UP,NDIF
++S 4200,900,4200,3100,600,*,UP,NDIF
++S 3600,700,3600,2400,200,3z,DOWN,NTRANS
++S 2800,700,2800,2400,200,4z,DOWN,NTRANS
++S 1200,3000,1200,3900,200,2b,DOWN,NTRANS
++S 4800,2400,4800,3300,200,2a,DOWN,NTRANS
++S 1800,5700,1800,7300,600,*,DOWN,PDIF
++S 800,5700,800,7100,400,*,DOWN,PDIF
++S 3600,5500,3600,7500,200,1z,UP,PTRANS
++S 2400,5500,2400,7500,200,2z,UP,PTRANS
++S 3000,5700,3000,7300,600,*,DOWN,PDIF
++S 0,5000,6000,5000,10000,nd2ab_x1,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 1800,5700,1800,8100,600,*,DOWN,PDIF
++S 4200,5700,4200,8100,600,*,DOWN,PDIF
++S 5200,5700,5200,7100,400,*,DOWN,PDIF
++S 4800,5500,4800,7300,200,1a,UP,PTRANS
++S 4000,5700,4000,7300,400,*,UP,PDIF
++S 1200,5500,1200,7300,200,1b,UP,PTRANS
++S 5000,7000,5000,7000,400,a,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 1000,700,CONT_BODY_P,*
++V 1000,8000,CONT_POLY,*
++V 4500,4900,CONT_POLY,*
++V 4000,3900,CONT_POLY,an
++V 2000,4900,CONT_POLY,bn
++V 4200,2000,CONT_DIF_N,*
++V 5400,3000,CONT_DIF_N,an
++V 4200,3000,CONT_DIF_N,*
++V 4200,1000,CONT_DIF_N,*
++V 2200,2100,CONT_DIF_N,*
++V 1800,3600,CONT_DIF_N,bn
++V 600,3300,CONT_DIF_N,*
++V 1800,8000,CONT_DIF_P,*
++V 3000,7000,CONT_DIF_P,*
++V 600,5800,CONT_DIF_P,bn
++V 5400,5800,CONT_DIF_P,an
++V 3000,6000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2ab_x1.vbe b/alliance/src/cells/src/msxlib/nd2ab_x1.vbe
+new file mode 100644
+index 0000000..755c209
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2ab_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2ab_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 2160;
++ CONSTANT rdown_b_z : NATURAL := 2160;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT rup_b_z : NATURAL := 2970;
++ CONSTANT tpll_a_z : NATURAL := 81;
++ CONSTANT tphh_b_z : NATURAL := 70;
++ CONSTANT tpll_b_z : NATURAL := 77;
++ CONSTANT tphh_a_z : NATURAL := 76;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2ab_x1;
++
++ARCHITECTURE behaviour_data_flow OF nd2ab_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2ab_x1"
++ SEVERITY WARNING;
++ z <= (a or b) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd2ab_x2.ap b/alliance/src/cells/src/msxlib/nd2ab_x2.ap
+new file mode 100644
+index 0000000..e609e55
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2ab_x2.ap
+@@ -0,0 +1,118 @@
++V ALLIANCE : 6
++H nd2ab_x2,P, 8/ 8/2014,100
++A 0,0,7000,10000
++R 4000,7000,ref_ref,z_70
++R 4000,6000,ref_ref,z_60
++R 4000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,z_30
++R 3000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,b_30
++R 2000,4000,ref_ref,b_40
++R 5000,6000,ref_ref,a_60
++R 5000,7000,ref_ref,a_70
++R 5000,8000,ref_ref,a_80
++R 6000,8000,ref_ref,a_80
++R 3000,3000,ref_ref,z_30
++R 2000,5000,ref_ref,b_50
++R 3000,4000,ref_ref,b_40
++S 800,9300,1600,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 800,1900,800,6000,400,*,DOWN,ALU1
++S 1400,3100,1400,4700,200,*,UP,POLY
++S 1400,1300,1400,1700,200,*,DOWN,POLY
++S 2000,1900,2000,2900,600,*,UP,NDIF
++S 800,2100,800,2700,600,*,UP,NDIF
++S 1400,1700,1400,3100,200,2b,DOWN,NTRANS
++S 1000,1900,1000,2900,400,*,UP,NDIF
++S 0,5000,7000,5000,10000,nd2ab_x2,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 4200,800,4200,3700,600,n1,UP,NDIF
++S 3400,800,3400,3700,400,*,UP,NDIF
++S 5000,6000,5000,8000,400,*,DOWN,ALU1
++S 5000,6000,5000,8000,400,a,DOWN,CALU1
++S 5000,6000,5800,6000,600,*,LEFT,ALU1
++S 5000,8000,6100,8000,400,*,LEFT,ALU1
++S 5000,8100,6100,8100,400,*,LEFT,ALU1
++S 6300,7000,6600,7000,600,*,LEFT,ALU1
++S 6600,4900,6600,7100,400,*,DOWN,ALU1
++S 4900,4900,6600,4900,400,*,RIGHT,ALU1
++S 5200,700,5200,3100,400,*,DOWN,ALU1
++S 6400,2700,6400,4900,400,*,UP,ALU1
++S 2800,6900,2800,9200,400,*,UP,ALU1
++S 2800,5700,2800,9200,600,*,DOWN,PDIF
++S 4000,5700,4000,9200,600,*,DOWN,PDIF
++S 5000,5700,5000,9200,400,*,UP,PDIF
++S 6400,2900,6400,3500,600,*,DOWN,NDIF
++S 5200,800,5200,3700,600,*,UP,NDIF
++S 4600,3900,4600,5500,200,*,DOWN,POLY
++S 3400,4700,3400,5500,200,*,DOWN,POLY
++S 3800,3900,3800,4700,200,*,UP,POLY
++S 3200,4700,3800,4700,200,*,LEFT,POLY
++S 1800,5700,1800,8100,400,*,DOWN,PDIF
++S 6200,6800,6200,9200,400,*,DOWN,PDIF
++S 5200,6800,5200,9200,600,*,DOWN,PDIF
++S 6400,6800,6400,7100,600,*,UP,PDIF
++S 5800,3900,5800,5900,200,*,UP,POLY
++S 2200,8300,2200,8700,200,*,UP,POLY
++S 3400,9400,3400,9700,200,*,UP,POLY
++S 4600,9400,4600,9700,200,*,UP,POLY
++S 5800,9400,5800,9700,200,*,UP,POLY
++S 3800,300,3800,600,200,*,DOWN,POLY
++S 4600,300,4600,600,200,*,DOWN,POLY
++S 5800,2100,5800,2500,200,*,DOWN,POLY
++S 3000,3000,4000,3000,600,*,RIGHT,ALU1
++S 3100,1900,3100,3100,600,*,DOWN,ALU1
++S 3000,2000,3000,3000,400,z,DOWN,CALU1
++S 4000,3000,4000,7000,400,z,UP,CALU1
++S 4000,3000,4000,7100,400,*,DOWN,ALU1
++S 3200,2100,3200,2900,600,*,UP,NDIF
++S 2200,5500,2200,8300,200,1b,UP,PTRANS
++S 5800,6600,5800,9400,200,1a,UP,PTRANS
++S 5800,2500,5800,3900,200,2a,DOWN,NTRANS
++S 4600,5500,4600,9400,200,1z,UP,PTRANS
++S 3400,5500,3400,9400,200,2z,UP,PTRANS
++S 4600,600,4600,3900,200,3z,DOWN,NTRANS
++S 3800,600,3800,3900,200,4z,DOWN,NTRANS
++S 6000,8000,6000,8000,400,a,LEFT,CALU1
++S 1600,6100,1600,6700,600,*,UP,PDIF
++S 800,6000,3000,6000,400,*,LEFT,ALU1
++S 3000,4800,3000,6000,400,*,UP,ALU1
++S 2000,3000,2000,5000,400,b,UP,CALU1
++S 2000,4000,3100,4000,400,*,RIGHT,ALU1
++S 3000,4000,3000,4000,400,b,LEFT,CALU1
++S 2000,2900,2000,5100,400,*,UP,ALU1
++S 2000,700,2000,2100,400,*,DOWN,ALU1
++S 1400,4700,1800,4700,200,*,RIGHT,POLY
++S 1600,6000,1600,6900,400,*,DOWN,ALU1
++V 1600,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 800,2800,CONT_DIF_N,bn
++V 800,2000,CONT_DIF_N,bn
++V 5200,1000,CONT_DIF_N,*
++V 3200,2000,CONT_DIF_N,*
++V 3000,4900,CONT_POLY,*
++V 5800,6000,CONT_POLY,*
++V 5200,3000,CONT_DIF_N,*
++V 5200,2000,CONT_DIF_N,*
++V 4000,6000,CONT_DIF_P,*
++V 4000,7000,CONT_DIF_P,*
++V 2800,9000,CONT_DIF_P,*
++V 2800,8000,CONT_DIF_P,*
++V 2800,7000,CONT_DIF_P,*
++V 5200,9000,CONT_DIF_P,*
++V 6400,2800,CONT_DIF_N,an
++V 6400,3600,CONT_DIF_N,an
++V 5000,4900,CONT_POLY,an
++V 6400,7000,CONT_DIF_P,an
++V 3200,3000,CONT_DIF_N,*
++V 1600,6800,CONT_DIF_P,bn
++V 1600,6000,CONT_DIF_P,bn
++V 2000,4900,CONT_POLY,*
++V 2000,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd2ab_x2.vbe b/alliance/src/cells/src/msxlib/nd2ab_x2.vbe
+new file mode 100644
+index 0000000..0e7a960
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd2ab_x2.vbe
+@@ -0,0 +1,32 @@
++ENTITY nd2ab_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 1120;
++ CONSTANT rdown_b_z : NATURAL := 1110;
++ CONSTANT rup_a_z : NATURAL := 1520;
++ CONSTANT rup_b_z : NATURAL := 1520;
++ CONSTANT tpll_a_z : NATURAL := 84;
++ CONSTANT tphh_b_z : NATURAL := 73;
++ CONSTANT tpll_b_z : NATURAL := 80;
++ CONSTANT tphh_a_z : NATURAL := 78;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd2ab_x2;
++
++ARCHITECTURE behaviour_data_flow OF nd2ab_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd2ab_x2"
++ SEVERITY WARNING;
++ z <= (a or b) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd3_x05.ap b/alliance/src/cells/src/msxlib/nd3_x05.ap
+new file mode 100644
+index 0000000..dc0610f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x05.ap
+@@ -0,0 +1,95 @@
++V ALLIANCE : 6
++H nd3_x05,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 2000,3000,ref_ref,z_30
++R 3000,4000,ref_ref,a_40
++R 3000,5000,ref_ref,c_50
++R 1000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,c_60
++R 4000,6000,ref_ref,b_60
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,c_50
++R 4000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,b_60
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 4000,7000,ref_ref,b_70
++R 4000,4000,ref_ref,a_40
++R 3000,3000,ref_ref,a_30
++R 2000,4000,ref_ref,c_40
++R 4000,8000,ref_ref,b_80
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 4400,700,4400,3100,400,*,DOWN,ALU1
++S 3800,2300,3800,2700,200,*,UP,POLY
++S 3000,2300,3000,2700,200,*,UP,POLY
++S 2200,2300,2200,2700,200,*,UP,POLY
++S 1000,2900,2100,2900,400,*,RIGHT,ALU1
++S 1000,3000,2100,3000,400,*,RIGHT,ALU1
++S 4400,2900,4400,3700,600,*,UP,NDIF
++S 3800,2700,3800,3900,200,6,UP,NTRANS
++S 3400,2900,3400,3700,600,n1,DOWN,NDIF
++S 3000,2700,3000,3900,200,5,UP,NTRANS
++S 2600,2900,2600,3700,600,n2,UP,NDIF
++S 2200,2700,2200,3900,200,4,UP,NTRANS
++S 1800,2900,1800,3700,400,*,UP,NDIF
++S 3800,3900,3800,7100,200,*,DOWN,POLY
++S 3000,3900,3000,5900,200,*,UP,POLY
++S 2200,3900,2200,4800,200,*,UP,POLY
++S 4000,4000,4000,5100,400,*,DOWN,ALU1
++S 4000,4000,4000,5000,400,a,DOWN,CALU1
++S 1400,5200,1400,7100,200,*,DOWN,POLY
++S 1400,5200,1800,5200,200,*,LEFT,POLY
++S 2600,5800,2600,7100,200,*,DOWN,POLY
++S 3200,7000,3200,7500,400,*,DOWN,ALU1
++S 3800,8300,3800,8700,200,*,DOWN,POLY
++S 2600,8300,2600,8700,200,*,DOWN,POLY
++S 2000,7300,2000,8100,600,*,DOWN,PDIF
++S 3200,7300,3200,8100,1000,*,UP,PDIF
++S 3800,7100,3800,8300,200,3,DOWN,PTRANS
++S 2600,7100,2600,8300,200,2,DOWN,PTRANS
++S 1000,7300,1000,8100,400,*,UP,PDIF
++S 1400,7100,1400,8300,200,1,DOWN,PTRANS
++S 1400,8300,1400,8700,200,*,DOWN,POLY
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,nd3_x05,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 800,7000,3200,7000,400,*,LEFT,ALU1
++S 900,7000,900,7500,600,*,DOWN,ALU1
++S 3000,3000,3000,4000,400,a,UP,CALU1
++S 3000,4000,4000,4000,600,*,RIGHT,ALU1
++S 3000,2900,3000,4000,400,*,DOWN,ALU1
++S 2000,4000,2000,6000,400,c,DOWN,CALU1
++S 2000,3900,2000,6100,400,*,UP,ALU1
++S 2000,5000,3000,5000,600,*,LEFT,ALU1
++S 4000,6000,4000,8100,400,*,UP,ALU1
++S 4000,6000,4000,8000,400,b,UP,CALU1
++S 4400,7300,4400,9100,600,*,DOWN,PDIF
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,3000,1000,7500,400,*,DOWN,ALU1
++S 3000,6000,3000,6000,400,b,LEFT,CALU1
++S 3000,5000,3000,5000,400,c,LEFT,CALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1600,3000,CONT_DIF_N,*
++V 4400,3000,CONT_DIF_N,*
++V 4000,4500,CONT_POLY,*
++V 2000,5000,CONT_POLY,*
++V 3200,7400,CONT_DIF_P,*
++V 800,7400,CONT_DIF_P,*
++V 3000,6000,CONT_POLY,*
++V 2000,8000,CONT_DIF_P,*
++V 4400,9000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd3_x05.vbe b/alliance/src/cells/src/msxlib/nd3_x05.vbe
+new file mode 100644
+index 0000000..b18016d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x05.vbe
+@@ -0,0 +1,38 @@
++ENTITY nd3_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT cin_c : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 4240;
++ CONSTANT rdown_b_z : NATURAL := 4240;
++ CONSTANT rdown_c_z : NATURAL := 4240;
++ CONSTANT rup_a_z : NATURAL := 4940;
++ CONSTANT rup_b_z : NATURAL := 4940;
++ CONSTANT rup_c_z : NATURAL := 4950;
++ CONSTANT tphl_a_z : NATURAL := 47;
++ CONSTANT tphl_b_z : NATURAL := 46;
++ CONSTANT tphl_c_z : NATURAL := 43;
++ CONSTANT tplh_c_z : NATURAL := 54;
++ CONSTANT tplh_b_z : NATURAL := 62;
++ CONSTANT tplh_a_z : NATURAL := 69;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd3_x05;
++
++ARCHITECTURE behaviour_data_flow OF nd3_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd3_x05"
++ SEVERITY WARNING;
++ z <= not (((a and b) and c)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd3_x1.ap b/alliance/src/cells/src/msxlib/nd3_x1.ap
+new file mode 100644
+index 0000000..5e402ae
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x1.ap
+@@ -0,0 +1,101 @@
++V ALLIANCE : 6
++H nd3_x1,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 3000,8000,ref_ref,z_80
++R 4000,4000,ref_ref,a_40
++R 4000,7000,ref_ref,b_70
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 1000,7000,ref_ref,z_70
++R 3000,4000,ref_ref,c_40
++R 3000,6000,ref_ref,b_60
++R 4000,5000,ref_ref,a_50
++R 2000,5000,ref_ref,c_50
++R 2000,7000,ref_ref,z_70
++R 3000,7000,ref_ref,z_70
++R 4000,6000,ref_ref,b_60
++R 2000,6000,ref_ref,c_60
++R 2000,4000,ref_ref,c_40
++R 3000,5000,ref_ref,b_50
++R 4000,3000,ref_ref,a_30
++R 3000,3000,ref_ref,a_30
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,a_30
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 3000,3000,3000,3000,400,a,LEFT,CALU1
++S 3000,4000,3000,4000,400,c,LEFT,CALU1
++S 2000,3000,2000,3000,400,a,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,7000,3000,8000,400,z,DOWN,CALU1
++S 3100,6900,3100,8100,600,*,DOWN,ALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,nd3_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 1000,6600,1000,8200,400,*,UP,PDIF
++S 1400,6400,1400,8400,200,1,DOWN,PTRANS
++S 2600,6400,2600,8400,200,2,DOWN,PTRANS
++S 2000,6600,2000,8200,1000,*,DOWN,PDIF
++S 3800,6400,3800,8400,200,3,DOWN,PTRANS
++S 3200,6600,3200,8200,1000,*,UP,PDIF
++S 4400,6600,4400,8200,600,*,UP,PDIF
++S 1400,8400,1400,8800,200,*,DOWN,POLY
++S 2600,8400,2600,8800,200,*,DOWN,POLY
++S 3800,8400,3800,8800,200,*,DOWN,POLY
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 4400,7900,4400,9300,400,*,DOWN,ALU1
++S 700,7000,3200,7000,600,*,LEFT,ALU1
++S 4000,6000,4000,7100,400,*,UP,ALU1
++S 4000,6000,4000,7000,400,b,UP,CALU1
++S 1400,4700,1400,6400,200,*,DOWN,POLY
++S 2000,4000,2000,6000,400,c,DOWN,CALU1
++S 2000,4000,2000,6100,400,*,DOWN,ALU1
++S 2000,4000,3000,4000,600,*,RIGHT,ALU1
++S 3000,5000,3000,6000,400,b,UP,CALU1
++S 3000,4900,3000,6000,400,*,UP,ALU1
++S 3000,6000,4000,6000,600,*,RIGHT,ALU1
++S 4000,3000,4000,5000,400,a,DOWN,CALU1
++S 3800,1300,3800,1600,200,*,UP,POLY
++S 3800,1700,3800,3700,200,6,UP,NTRANS
++S 3000,1300,3000,1600,200,*,UP,POLY
++S 3000,1700,3000,3700,200,5,UP,NTRANS
++S 2200,1300,2200,1600,200,*,UP,POLY
++S 2200,1700,2200,3700,200,4,UP,NTRANS
++S 1800,1900,1800,3500,400,*,UP,NDIF
++S 2600,1900,2600,3500,600,n2,UP,NDIF
++S 3400,1900,3400,3500,600,n1,DOWN,NDIF
++S 4400,1900,4400,3500,600,*,UP,NDIF
++S 4400,700,4400,2100,400,*,DOWN,ALU1
++S 1000,2000,2100,2000,400,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1900,3000,4000,3000,400,*,RIGHT,ALU1
++S 4000,3000,4000,5100,400,*,DOWN,ALU1
++S 1900,2900,4000,2900,400,*,RIGHT,ALU1
++S 2200,3700,2200,4300,200,*,UP,POLY
++S 3800,3700,3800,6400,200,*,UP,POLY
++S 3000,3700,3000,5600,200,*,UP,POLY
++S 2600,5600,2600,6400,200,*,DOWN,POLY
++S 1400,4600,1800,4600,200,*,LEFT,POLY
++S 1000,1900,2100,1900,400,*,RIGHT,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3200,8000,CONT_DIF_P,*
++V 3200,7000,CONT_DIF_P,*
++V 4400,8000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 800,7000,CONT_DIF_P,*
++V 3000,5800,CONT_POLY,*
++V 4400,2000,CONT_DIF_N,*
++V 1600,2000,CONT_DIF_N,*
++V 4000,4400,CONT_POLY,*
++V 2000,4400,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd3_x1.vbe b/alliance/src/cells/src/msxlib/nd3_x1.vbe
+new file mode 100644
+index 0000000..4ed7287
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY nd3_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 2540;
++ CONSTANT rdown_b_z : NATURAL := 2540;
++ CONSTANT rdown_c_z : NATURAL := 2540;
++ CONSTANT rup_a_z : NATURAL := 2960;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT rup_c_z : NATURAL := 2960;
++ CONSTANT tphl_a_z : NATURAL := 45;
++ CONSTANT tphl_b_z : NATURAL := 44;
++ CONSTANT tphl_c_z : NATURAL := 41;
++ CONSTANT tplh_c_z : NATURAL := 52;
++ CONSTANT tplh_b_z : NATURAL := 59;
++ CONSTANT tplh_a_z : NATURAL := 67;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd3_x1;
++
++ARCHITECTURE behaviour_data_flow OF nd3_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd3_x1"
++ SEVERITY WARNING;
++ z <= not (((a and b) and c)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd3_x2.ap b/alliance/src/cells/src/msxlib/nd3_x2.ap
+new file mode 100644
+index 0000000..56de21a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x2.ap
+@@ -0,0 +1,100 @@
++V ALLIANCE : 6
++H nd3_x2,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 3000,8000,ref_ref,z_80
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,c_50
++R 4000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,b_60
++R 3000,4000,ref_ref,c_40
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 4000,3000,ref_ref,a_30
++R 4000,4000,ref_ref,a_40
++R 1000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,c_40
++R 3000,3000,ref_ref,a_30
++R 4000,6000,ref_ref,b_60
++R 4000,7000,ref_ref,b_70
++R 2000,6000,ref_ref,c_60
++R 1000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,a_30
++R 3000,5000,ref_ref,b_50
++S 2000,3000,2000,3000,400,a,LEFT,CALU1
++S 3000,3000,3000,3000,400,a,LEFT,CALU1
++S 3000,4000,3000,4000,400,c,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,3900,3000,5600,200,*,UP,POLY
++S 3800,3900,3800,6100,200,*,DOWN,POLY
++S 2600,5300,2600,6100,200,*,DOWN,POLY
++S 1400,4700,1400,6100,200,*,DOWN,POLY
++S 3000,7000,3000,8000,400,z,UP,CALU1
++S 3100,7000,3100,8100,600,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 900,6300,900,7300,600,*,UP,ALU1
++S 800,6500,800,7300,600,*,UP,PDIF
++S 1800,800,1800,3700,400,*,UP,NDIF
++S 4400,800,4400,3700,600,*,UP,NDIF
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,5000,5000,5000,10000,nd3_x2,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 3800,300,3800,600,200,*,UP,POLY
++S 3000,300,3000,600,200,*,UP,POLY
++S 2200,300,2200,600,200,*,UP,POLY
++S 1400,4700,1800,4700,200,*,LEFT,POLY
++S 3400,800,3400,3700,600,n1,DOWN,NDIF
++S 2600,800,2600,3700,600,n2,UP,NDIF
++S 4400,700,4400,2100,400,*,DOWN,ALU1
++S 2000,4000,3000,4000,600,*,RIGHT,ALU1
++S 4000,3000,4000,5100,400,*,DOWN,ALU1
++S 4000,3000,4000,5000,400,a,DOWN,CALU1
++S 4000,6000,4000,7100,400,*,UP,ALU1
++S 3000,6000,4000,6000,400,*,LEFT,ALU1
++S 3000,5900,4000,5900,400,*,LEFT,ALU1
++S 2000,4000,2000,6000,400,c,DOWN,CALU1
++S 2000,4000,2000,6100,400,*,DOWN,ALU1
++S 1000,2000,1600,2000,600,*,RIGHT,ALU1
++S 1900,2900,4000,2900,400,*,LEFT,ALU1
++S 1900,3000,4000,3000,400,*,LEFT,ALU1
++S 3000,5000,3000,6000,600,*,UP,ALU1
++S 3000,5000,3000,6000,400,b,DOWN,CALU1
++S 1000,7000,3200,7000,400,*,LEFT,ALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 1400,9400,1400,9700,200,*,DOWN,POLY
++S 3800,9400,3800,9700,200,*,DOWN,POLY
++S 2000,7900,2000,9300,400,*,DOWN,ALU1
++S 4400,7900,4400,9300,400,*,DOWN,ALU1
++S 1000,6900,3200,6900,400,*,LEFT,ALU1
++S 1000,6300,1000,9200,400,*,UP,PDIF
++S 2000,6300,2000,9200,1000,*,DOWN,PDIF
++S 3200,6300,3200,9200,400,*,UP,PDIF
++S 4400,6300,4400,9200,600,*,DOWN,PDIF
++S 3800,6100,3800,9400,200,1a,DOWN,PTRANS
++S 2600,6100,2600,9400,200,1b,DOWN,PTRANS
++S 1400,6100,1400,9400,200,1z,DOWN,PTRANS
++S 3800,600,3800,3900,200,2a,UP,NTRANS
++S 3000,600,3000,3900,200,2b,UP,NTRANS
++S 2200,600,2200,3900,200,2c,UP,NTRANS
++S 4000,6000,4000,7000,400,b,UP,CALU1
++V 700,700,CONT_BODY_P,*
++V 800,7200,CONT_DIF_P,*
++V 800,6400,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 1600,2000,CONT_DIF_N,*
++V 2000,4500,CONT_POLY,*
++V 4400,1000,CONT_DIF_N,*
++V 4400,2000,CONT_DIF_N,*
++V 3200,7000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 4400,8000,CONT_DIF_P,*
++V 4400,9000,CONT_DIF_P,*
++V 2000,9000,CONT_DIF_P,*
++V 3000,5500,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd3_x2.vbe b/alliance/src/cells/src/msxlib/nd3_x2.vbe
+new file mode 100644
+index 0000000..f23d898
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY nd3_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT cin_b : NATURAL := 7;
++ CONSTANT cin_c : NATURAL := 7;
++ CONSTANT rdown_a_z : NATURAL := 1540;
++ CONSTANT rdown_b_z : NATURAL := 1540;
++ CONSTANT rdown_c_z : NATURAL := 1540;
++ CONSTANT rup_a_z : NATURAL := 1800;
++ CONSTANT rup_b_z : NATURAL := 1790;
++ CONSTANT rup_c_z : NATURAL := 1800;
++ CONSTANT tphl_a_z : NATURAL := 43;
++ CONSTANT tphl_b_z : NATURAL := 42;
++ CONSTANT tphl_c_z : NATURAL := 39;
++ CONSTANT tplh_c_z : NATURAL := 50;
++ CONSTANT tplh_b_z : NATURAL := 58;
++ CONSTANT tplh_a_z : NATURAL := 64;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd3_x2;
++
++ARCHITECTURE behaviour_data_flow OF nd3_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd3_x2"
++ SEVERITY WARNING;
++ z <= not (((a and b) and c)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd3_x4.ap b/alliance/src/cells/src/msxlib/nd3_x4.ap
+new file mode 100644
+index 0000000..1c3f183
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x4.ap
+@@ -0,0 +1,166 @@
++V ALLIANCE : 6
++H nd3_x4,P, 8/ 8/2014,100
++A 0,0,9000,10000
++R 7000,7000,ref_ref,z_70
++R 2000,8000,ref_ref,z_80
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,c_50
++R 4000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,b_60
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 4000,7000,ref_ref,z_70
++R 5000,7000,ref_ref,z_70
++R 6000,7000,ref_ref,z_70
++R 7000,5000,ref_ref,c_50
++R 5000,5000,ref_ref,a_50
++R 4000,6000,ref_ref,b_60
++R 5000,6000,ref_ref,b_60
++R 7000,6000,ref_ref,c_60
++R 6000,3000,ref_ref,c_30
++R 6000,5000,ref_ref,b_50
++R 3000,5000,ref_ref,b_50
++R 2000,6000,ref_ref,z_60
++R 2000,4000,ref_ref,c_40
++R 7000,4000,ref_ref,c_40
++R 6000,6000,ref_ref,b_60
++R 1000,3000,ref_ref,z_30
++R 7000,3000,ref_ref,c_30
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 3000,2000,ref_ref,z_20
++R 4000,2000,ref_ref,z_20
++R 5000,3000,ref_ref,c_30
++R 4000,3000,ref_ref,c_30
++R 3000,3000,ref_ref,c_30
++R 2000,3000,ref_ref,c_30
++R 3000,4000,ref_ref,b_40
++R 5000,4000,ref_ref,a_40
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 6000,3000,6000,3000,400,c,LEFT,CALU1
++S 5000,3000,5000,3000,400,c,LEFT,CALU1
++S 4000,3000,4000,3000,400,c,LEFT,CALU1
++S 3000,3000,3000,3000,400,c,LEFT,CALU1
++S 4000,5000,4000,5000,400,a,LEFT,CALU1
++S 5000,6000,5000,6000,400,b,LEFT,CALU1
++S 4000,6000,4000,6000,400,b,LEFT,CALU1
++S 8000,6900,8000,9300,400,*,DOWN,ALU1
++S 800,6900,800,9300,400,*,DOWN,ALU1
++S 3200,7900,3200,9300,400,*,DOWN,ALU1
++S 5600,7900,5600,9300,400,*,DOWN,ALU1
++S 2000,7000,7100,7000,400,*,LEFT,ALU1
++S 6800,7000,6800,8100,400,*,DOWN,ALU1
++S 7000,7000,7000,7000,400,z,LEFT,CALU1
++S 6000,7000,6000,7000,400,z,LEFT,CALU1
++S 5000,7000,5000,7000,400,z,LEFT,CALU1
++S 4000,7000,4000,7000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 4000,2000,4000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 1000,1900,4500,1900,400,*,RIGHT,ALU1
++S 2600,5500,2600,6000,200,*,DOWN,POLY
++S 6600,3900,6600,4400,200,*,UP,POLY
++S 1800,800,1800,3700,400,*,UP,NDIF
++S 4400,800,4400,3700,600,*,UP,NDIF
++S 3800,300,3800,600,200,*,UP,POLY
++S 3000,300,3000,600,200,*,UP,POLY
++S 2200,300,2200,600,200,*,UP,POLY
++S 3800,9200,3800,9700,200,*,DOWN,POLY
++S 2600,9200,2600,9700,200,*,DOWN,POLY
++S 1400,9200,1400,9700,200,*,DOWN,POLY
++S 1400,4700,1800,4700,200,*,LEFT,POLY
++S 5000,9200,5000,9700,200,*,DOWN,POLY
++S 6200,9200,6200,9700,200,*,DOWN,POLY
++S 7400,9200,7400,9700,200,*,DOWN,POLY
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,9000,5000,10000,nd3_x4,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 1600,800,1600,3700,800,*,UP,NDIF
++S 3800,5000,5000,5000,600,*,RIGHT,POLY
++S 5000,600,5000,3900,200,10,UP,NTRANS
++S 5800,600,5800,3900,200,11,UP,NTRANS
++S 6600,600,6600,3900,200,12,UP,NTRANS
++S 3800,600,3800,3900,200,09,UP,NTRANS
++S 3000,600,3000,3900,200,08,UP,NTRANS
++S 2200,600,2200,3900,200,07,UP,NTRANS
++S 2600,800,2600,3700,600,n1,UP,NDIF
++S 3400,800,3400,3700,600,n2,DOWN,NDIF
++S 5400,800,5400,3700,600,n4,DOWN,NDIF
++S 6200,800,6200,3700,600,n3,DOWN,NDIF
++S 4400,7000,4400,8100,400,*,DOWN,ALU1
++S 2000,6000,2000,8000,400,z,UP,CALU1
++S 2000,6000,2000,8100,400,*,DOWN,ALU1
++S 1400,6000,1400,9300,200,01,DOWN,PTRANS
++S 800,6200,800,9100,800,*,UP,PDIF
++S 2600,6000,2600,9300,200,02,DOWN,PTRANS
++S 2000,6200,2000,9100,1000,*,DOWN,PDIF
++S 3200,6200,3200,9100,400,*,UP,PDIF
++S 3800,6000,3800,9300,200,03,DOWN,PTRANS
++S 4400,6200,4400,9100,400,*,UP,PDIF
++S 5000,6000,5000,9300,200,04,DOWN,PTRANS
++S 5600,6200,5600,9100,400,*,UP,PDIF
++S 6200,6000,6200,9300,200,05,DOWN,PTRANS
++S 7400,6000,7400,9300,200,06,DOWN,PTRANS
++S 6800,6200,6800,9100,400,*,UP,PDIF
++S 8000,6200,8000,9100,800,*,UP,PDIF
++S 1400,4700,1400,6000,200,*,DOWN,POLY
++S 7400,4300,7400,6000,200,*,DOWN,POLY
++S 5800,3900,5800,5600,200,*,UP,POLY
++S 5000,3900,5000,6000,200,*,DOWN,POLY
++S 3800,3900,3800,6000,200,*,DOWN,POLY
++S 3000,3900,3000,5600,200,*,UP,POLY
++S 6000,5000,6000,6000,600,*,UP,ALU1
++S 3000,6000,6000,6000,400,*,RIGHT,ALU1
++S 6000,5000,6000,6000,400,b,DOWN,CALU1
++S 7200,700,7200,2100,400,*,DOWN,ALU1
++S 7000,3000,7000,6100,400,*,UP,ALU1
++S 7000,3000,7000,6000,400,c,DOWN,CALU1
++S 7100,3000,7100,6100,400,*,UP,ALU1
++S 1000,2000,1000,6000,400,*,DOWN,ALU1
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++S 2000,3000,2000,5000,400,c,DOWN,CALU1
++S 2000,3000,2000,5000,600,*,DOWN,ALU1
++S 2000,3000,7000,3000,400,*,RIGHT,ALU1
++S 1000,2000,4500,2000,400,*,RIGHT,ALU1
++S 3000,4000,3000,6000,400,b,UP,CALU1
++S 4000,5000,5000,5000,600,*,RIGHT,ALU1
++S 5000,4000,5000,5000,400,a,DOWN,CALU1
++S 5000,3900,5000,5000,400,*,UP,ALU1
++S 2900,3900,2900,6000,400,*,DOWN,ALU1
++S 3000,3900,3000,6000,400,*,DOWN,ALU1
++S 5000,300,5000,600,200,*,UP,POLY
++S 5800,300,5800,600,200,*,UP,POLY
++S 6600,300,6600,600,200,*,UP,POLY
++S 7200,800,7200,3700,600,*,UP,NDIF
++V 8300,700,CONT_BODY_P,*
++V 800,7000,CONT_DIF_P,*
++V 800,8000,CONT_DIF_P,*
++V 3200,8000,CONT_DIF_P,*
++V 5600,8000,CONT_DIF_P,*
++V 8000,8000,CONT_DIF_P,*
++V 8000,7000,CONT_DIF_P,*
++V 2000,4500,CONT_POLY,*
++V 4400,5000,CONT_POLY,*
++V 6800,8000,CONT_DIF_P,*
++V 2000,8000,CONT_DIF_P,*
++V 4400,7000,CONT_DIF_P,*
++V 2000,7000,CONT_DIF_P,*
++V 4400,8000,CONT_DIF_P,*
++V 6800,7000,CONT_DIF_P,*
++V 4400,2000,CONT_DIF_N,*
++V 7000,4500,CONT_POLY,*
++V 3000,5400,CONT_POLY,*
++V 6000,5400,CONT_POLY,*
++V 8000,9000,CONT_DIF_P,*
++V 5600,9000,CONT_DIF_P,*
++V 3200,9000,CONT_DIF_P,*
++V 800,9000,CONT_DIF_P,*
++V 7200,2000,CONT_DIF_N,*
++V 7200,1000,CONT_DIF_N,*
++V 1600,1000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd3_x4.vbe b/alliance/src/cells/src/msxlib/nd3_x4.vbe
+new file mode 100644
+index 0000000..a46b93f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd3_x4.vbe
+@@ -0,0 +1,38 @@
++ENTITY nd3_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_a : NATURAL := 13;
++ CONSTANT cin_b : NATURAL := 15;
++ CONSTANT cin_c : NATURAL := 15;
++ CONSTANT rdown_a_z : NATURAL := 770;
++ CONSTANT rdown_b_z : NATURAL := 770;
++ CONSTANT rdown_c_z : NATURAL := 770;
++ CONSTANT rup_a_z : NATURAL := 900;
++ CONSTANT rup_b_z : NATURAL := 900;
++ CONSTANT rup_c_z : NATURAL := 900;
++ CONSTANT tphl_a_z : NATURAL := 37;
++ CONSTANT tphl_b_z : NATURAL := 41;
++ CONSTANT tphl_c_z : NATURAL := 42;
++ CONSTANT tplh_c_z : NATURAL := 63;
++ CONSTANT tplh_b_z : NATURAL := 56;
++ CONSTANT tplh_a_z : NATURAL := 48;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd3_x4;
++
++ARCHITECTURE behaviour_data_flow OF nd3_x4 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd3_x4"
++ SEVERITY WARNING;
++ z <= not (((a and b) and c)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd4_x05.ap b/alliance/src/cells/src/msxlib/nd4_x05.ap
+new file mode 100644
+index 0000000..ff25b3e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x05.ap
+@@ -0,0 +1,122 @@
++V ALLIANCE : 6
++H nd4_x05,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 5000,5000,ref_ref,b_50
++R 4000,2000,ref_ref,a_20
++R 4000,3000,ref_ref,a_30
++R 5000,6000,ref_ref,b_60
++R 1000,3000,ref_ref,z_30
++R 3000,5000,ref_ref,c_50
++R 2000,4000,ref_ref,d_40
++R 1000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 1000,5000,ref_ref,z_50
++R 4000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,d_50
++R 3000,6000,ref_ref,c_60
++R 2000,6000,ref_ref,c_60
++R 4000,6000,ref_ref,b_60
++R 1000,4000,ref_ref,z_40
++R 3000,7000,ref_ref,z_70
++R 5000,7000,ref_ref,b_70
++R 5000,4000,ref_ref,a_40
++R 3000,3000,ref_ref,d_30
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,d_30
++R 3000,4000,ref_ref,c_40
++R 4000,4000,ref_ref,a_40
++S 1100,9300,1900,9300,600,*,LEFT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 5000,4900,5000,7100,400,*,UP,ALU1
++S 5000,5000,5000,7000,400,b,UP,CALU1
++S 4800,4200,4800,6900,200,*,DOWN,POLY
++S 4600,3300,4600,4200,200,*,UP,POLY
++S 3900,5900,5000,5900,400,*,RIGHT,ALU1
++S 5200,1800,5200,3100,800,*,UP,NDIF
++S 4600,1200,4600,1600,200,*,DOWN,POLY
++S 3800,1200,3800,1600,200,*,DOWN,POLY
++S 3000,1200,3000,1600,200,*,DOWN,POLY
++S 2200,1200,2200,1600,200,*,DOWN,POLY
++S 2200,3300,2200,4600,200,*,UP,POLY
++S 3000,3300,3000,6200,200,*,UP,POLY
++S 3800,3300,3800,5700,200,*,UP,POLY
++S 1800,1800,1800,3100,400,*,UP,NDIF
++S 3400,1800,3400,3100,600,n2,UP,NDIF
++S 4600,1600,4600,3300,200,8,DOWN,NTRANS
++S 3800,1600,3800,3300,200,7,DOWN,NTRANS
++S 4200,1800,4200,3100,600,n1,UP,NDIF
++S 3000,1600,3000,3300,200,6,DOWN,NTRANS
++S 2200,1600,2200,3300,200,5,DOWN,NTRANS
++S 2600,1800,2600,3100,600,n3,UP,NDIF
++S 5400,7900,5400,9300,400,*,UP,ALU1
++S 3000,7900,3000,9300,400,*,UP,ALU1
++S 600,7900,600,9300,400,*,UP,ALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 3600,5800,3600,6900,200,*,DOWN,POLY
++S 2400,5800,2400,6900,200,*,DOWN,POLY
++S 1200,5200,1200,6900,200,*,DOWN,POLY
++S 1000,7000,4200,7000,400,*,LEFT,ALU1
++S 1000,7100,4200,7100,400,*,LEFT,ALU1
++S 1900,6100,3000,6100,400,*,LEFT,ALU1
++S 1900,6000,3000,6000,400,*,LEFT,ALU1
++S 600,7100,600,8100,600,*,DOWN,PDIF
++S 5300,7100,5300,8100,800,*,DOWN,PDIF
++S 3000,7100,3000,8100,600,*,DOWN,PDIF
++S 4200,7100,4200,8100,1000,*,UP,PDIF
++S 4800,6900,4800,8300,200,4,UP,PTRANS
++S 3600,6900,3600,8300,200,3,UP,PTRANS
++S 2400,6900,2400,8300,200,2,UP,PTRANS
++S 1800,7100,1800,8100,1000,*,DOWN,PDIF
++S 1200,6900,1200,8300,200,1,UP,PTRANS
++S 4800,8400,4800,8700,200,*,DOWN,POLY
++S 3600,8400,3600,8700,200,*,DOWN,POLY
++S 2400,8400,2400,8700,200,*,DOWN,POLY
++S 1200,8400,1200,8700,200,*,DOWN,POLY
++S 0,5000,6000,5000,10000,nd4_x05,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 1200,5200,1800,5200,200,*,RIGHT,POLY
++S 3900,6000,5000,6000,400,*,RIGHT,ALU1
++S 1000,1900,2100,1900,400,*,RIGHT,ALU1
++S 1000,2000,2100,2000,400,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 2000,3000,3000,3000,600,*,LEFT,ALU1
++S 2000,3000,2000,5000,400,d,DOWN,CALU1
++S 2000,3000,2000,5100,400,*,DOWN,ALU1
++S 3000,3000,3000,3000,400,d,LEFT,CALU1
++S 3000,4000,3000,6000,400,c,DOWN,CALU1
++S 3000,3900,3000,6000,400,*,DOWN,ALU1
++S 4000,4000,5000,4000,600,*,RIGHT,ALU1
++S 4000,1900,4000,4000,400,*,DOWN,ALU1
++S 4000,2000,4000,4000,400,a,DOWN,CALU1
++S 5000,4000,5000,4000,400,a,LEFT,CALU1
++S 5200,700,5200,3100,400,*,UP,ALU1
++S 2000,6000,2000,6000,400,c,LEFT,CALU1
++S 4000,6000,4000,6000,400,b,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 4000,7000,4000,7000,400,z,LEFT,CALU1
++S 1800,7000,1800,7500,400,*,DOWN,ALU1
++S 4200,7000,4200,7500,400,*,DOWN,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,5000,CONT_POLY,*
++V 4000,6000,CONT_POLY,*
++V 5200,2000,CONT_DIF_N,*
++V 2700,6000,CONT_POLY,*
++V 3000,8000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,*
++V 1600,1900,CONT_DIF_N,*
++V 4600,4000,CONT_POLY,*
++V 5200,3000,CONT_DIF_N,*
++V 1800,7400,CONT_DIF_P,*
++V 4200,7400,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd4_x05.vbe b/alliance/src/cells/src/msxlib/nd4_x05.vbe
+new file mode 100644
+index 0000000..49ad07a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x05.vbe
+@@ -0,0 +1,44 @@
++ENTITY nd4_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT cin_c : NATURAL := 4;
++ CONSTANT cin_d : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 3830;
++ CONSTANT rdown_b_z : NATURAL := 3830;
++ CONSTANT rdown_c_z : NATURAL := 3840;
++ CONSTANT rdown_d_z : NATURAL := 3830;
++ CONSTANT rup_a_z : NATURAL := 4270;
++ CONSTANT rup_b_z : NATURAL := 4250;
++ CONSTANT rup_c_z : NATURAL := 4240;
++ CONSTANT rup_d_z : NATURAL := 4250;
++ CONSTANT tphl_a_z : NATURAL := 59;
++ CONSTANT tphl_b_z : NATURAL := 56;
++ CONSTANT tphl_c_z : NATURAL := 51;
++ CONSTANT tphl_d_z : NATURAL := 44;
++ CONSTANT tplh_d_z : NATURAL := 58;
++ CONSTANT tplh_c_z : NATURAL := 68;
++ CONSTANT tplh_b_z : NATURAL := 76;
++ CONSTANT tplh_a_z : NATURAL := 84;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd4_x05;
++
++ARCHITECTURE behaviour_data_flow OF nd4_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd4_x05"
++ SEVERITY WARNING;
++ z <= not ((((a and b) and c) and d)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd4_x1.ap b/alliance/src/cells/src/msxlib/nd4_x1.ap
+new file mode 100644
+index 0000000..43c34b5
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x1.ap
+@@ -0,0 +1,123 @@
++V ALLIANCE : 6
++H nd4_x1,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 2000,8000,ref_ref,z_80
++R 2000,7000,ref_ref,z_70
++R 1000,5000,ref_ref,z_50
++R 4000,7000,ref_ref,z_70
++R 4000,8000,ref_ref,z_80
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,d_50
++R 3000,6000,ref_ref,c_60
++R 2000,6000,ref_ref,c_60
++R 4000,6000,ref_ref,b_60
++R 1000,4000,ref_ref,z_40
++R 3000,7000,ref_ref,z_70
++R 5000,7000,ref_ref,b_70
++R 5000,4000,ref_ref,a_40
++R 5000,3000,ref_ref,a_30
++R 3000,3000,ref_ref,d_30
++R 1000,7000,ref_ref,z_70
++R 1000,3000,ref_ref,z_30
++R 5000,5000,ref_ref,a_50
++R 4000,3000,ref_ref,a_30
++R 4000,5000,ref_ref,b_50
++R 2000,4000,ref_ref,d_40
++R 3000,5000,ref_ref,c_50
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,d_30
++R 3000,4000,ref_ref,c_40
++R 5000,6000,ref_ref,b_60
++S 2200,700,2200,3900,200,2d,DOWN,NTRANS
++S 3000,700,3000,3900,200,2c,DOWN,NTRANS
++S 3800,700,3800,3900,200,2b,DOWN,NTRANS
++S 4600,700,4600,3900,200,2a,DOWN,NTRANS
++S 3600,6600,3600,9300,200,1b,UP,PTRANS
++S 4800,6600,4800,9300,200,1a,UP,PTRANS
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,6000,5000,10000,nd4_x1,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 4200,900,4200,3700,600,n1,UP,NDIF
++S 3400,900,3400,3700,600,n2,UP,NDIF
++S 2600,900,2600,3700,600,n3,UP,NDIF
++S 1800,900,1800,3700,400,*,UP,NDIF
++S 3800,4100,3800,5700,200,*,UP,POLY
++S 2200,3900,2200,4600,200,*,UP,POLY
++S 4200,6800,4200,9100,1000,*,UP,PDIF
++S 5300,6800,5300,9100,800,*,DOWN,PDIF
++S 3000,7900,3000,9300,400,*,UP,ALU1
++S 5400,7900,5400,9300,400,*,UP,ALU1
++S 600,7900,600,9300,400,*,UP,ALU1
++S 2000,7000,2000,8000,400,z,UP,CALU1
++S 4000,7000,4000,8000,400,z,UP,CALU1
++S 1900,7000,1900,8100,600,*,DOWN,ALU1
++S 4100,7000,4100,8100,600,*,DOWN,ALU1
++S 1000,7000,4000,7000,400,*,LEFT,ALU1
++S 1000,7100,4000,7100,400,*,LEFT,ALU1
++S 5000,6000,5000,7000,400,b,UP,CALU1
++S 5000,6000,5000,7100,400,*,UP,ALU1
++S 4000,6000,5000,6000,600,*,RIGHT,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 5000,3000,5000,5000,400,a,DOWN,CALU1
++S 4600,3800,4600,5200,200,*,UP,POLY
++S 5000,2900,5000,5100,400,*,DOWN,ALU1
++S 3900,2900,5000,2900,400,*,RIGHT,ALU1
++S 4000,5000,4000,6000,400,b,DOWN,CALU1
++S 4000,4900,4000,6000,400,*,DOWN,ALU1
++S 1900,6000,3000,6000,400,*,LEFT,ALU1
++S 1900,6100,3000,6100,400,*,LEFT,ALU1
++S 5200,900,5200,3700,800,*,UP,NDIF
++S 2200,300,2200,700,200,*,DOWN,POLY
++S 3000,300,3000,700,200,*,DOWN,POLY
++S 3800,300,3800,700,200,*,DOWN,POLY
++S 4600,300,4600,700,200,*,DOWN,POLY
++S 1000,2000,2100,2000,400,*,RIGHT,ALU1
++S 1000,1900,2100,1900,400,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 2000,3000,3000,3000,600,*,LEFT,ALU1
++S 2000,3000,2000,5000,400,d,DOWN,CALU1
++S 2000,3000,2000,5100,400,*,DOWN,ALU1
++S 3000,3000,3000,3000,400,d,LEFT,CALU1
++S 4000,3000,4000,3000,400,a,LEFT,CALU1
++S 3000,4000,3000,6000,400,c,DOWN,CALU1
++S 3000,3900,3000,6000,400,*,DOWN,ALU1
++S 2000,6000,2000,6000,400,c,LEFT,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 5200,700,5200,2100,400,*,UP,ALU1
++S 1200,4700,1800,4700,200,*,RIGHT,POLY
++S 1800,5900,1800,8200,1000,*,DOWN,PDIF
++S 1200,5700,1200,8400,200,1z,UP,PTRANS
++S 2400,5700,2400,8400,200,1c,UP,PTRANS
++S 700,5900,700,8200,800,*,DOWN,PDIF
++S 3000,5900,3000,9100,600,*,DOWN,PDIF
++S 1200,8400,1200,8800,200,*,DOWN,POLY
++S 2400,8400,2400,8800,200,*,DOWN,POLY
++S 3600,9300,3600,9700,200,*,DOWN,POLY
++S 4800,9300,4800,9700,200,*,DOWN,POLY
++S 1200,4700,1200,5700,200,*,DOWN,POLY
++S 4800,5300,4800,6600,200,*,DOWN,POLY
++S 2400,5300,2800,5300,200,*,LEFT,POLY
++S 3600,6100,3600,6600,200,*,DOWN,POLY
++S 3000,3900,3000,4900,200,*,UP,POLY
++V 700,700,CONT_BODY_P,*
++V 1800,8000,CONT_DIF_P,*
++V 1800,7000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,*
++V 4000,6000,CONT_POLY,*
++V 5200,2000,CONT_DIF_N,*
++V 1600,2000,CONT_DIF_N,*
++V 5200,1000,CONT_DIF_N,*
++V 5400,9000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 5400,8000,CONT_DIF_P,*
++V 5000,5000,CONT_POLY,*
++V 2000,4500,CONT_POLY,*
++V 3000,5100,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd4_x1.vbe b/alliance/src/cells/src/msxlib/nd4_x1.vbe
+new file mode 100644
+index 0000000..64c5e05
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY nd4_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT cin_b : NATURAL := 7;
++ CONSTANT cin_c : NATURAL := 7;
++ CONSTANT cin_d : NATURAL := 6;
++ CONSTANT rdown_a_z : NATURAL := 2040;
++ CONSTANT rdown_b_z : NATURAL := 2040;
++ CONSTANT rdown_c_z : NATURAL := 2040;
++ CONSTANT rdown_d_z : NATURAL := 2030;
++ CONSTANT rup_a_z : NATURAL := 2210;
++ CONSTANT rup_b_z : NATURAL := 2200;
++ CONSTANT rup_c_z : NATURAL := 2200;
++ CONSTANT rup_d_z : NATURAL := 2200;
++ CONSTANT tphl_a_z : NATURAL := 56;
++ CONSTANT tphl_b_z : NATURAL := 53;
++ CONSTANT tphl_c_z : NATURAL := 49;
++ CONSTANT tphl_d_z : NATURAL := 42;
++ CONSTANT tplh_d_z : NATURAL := 55;
++ CONSTANT tplh_c_z : NATURAL := 64;
++ CONSTANT tplh_b_z : NATURAL := 73;
++ CONSTANT tplh_a_z : NATURAL := 80;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd4_x1;
++
++ARCHITECTURE behaviour_data_flow OF nd4_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd4_x1"
++ SEVERITY WARNING;
++ z <= not ((((a and b) and c) and d)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd4_x2.ap b/alliance/src/cells/src/msxlib/nd4_x2.ap
+new file mode 100644
+index 0000000..e54fc17
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x2.ap
+@@ -0,0 +1,167 @@
++V ALLIANCE : 6
++H nd4_x2,P, 8/ 8/2014,100
++A 0,0,9000,10000
++R 2000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 1000,3000,ref_ref,z_30
++R 4000,5000,ref_ref,c_50
++R 3000,5000,ref_ref,b_50
++R 7000,7000,ref_ref,b_70
++R 6000,7000,ref_ref,b_70
++R 5000,7000,ref_ref,b_70
++R 3000,8000,ref_ref,z_80
++R 4000,7000,ref_ref,b_70
++R 2000,8000,ref_ref,z_80
++R 1000,5000,ref_ref,z_50
++R 4000,8000,ref_ref,z_80
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,b_60
++R 4000,6000,ref_ref,c_60
++R 1000,4000,ref_ref,z_40
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 3000,2000,ref_ref,z_20
++R 4000,2000,ref_ref,z_20
++R 5000,2000,ref_ref,z_20
++R 5000,5000,ref_ref,d_50
++R 6000,5000,ref_ref,d_50
++R 4000,4000,ref_ref,c_40
++R 5000,4000,ref_ref,c_40
++R 6000,4000,ref_ref,c_40
++R 8000,4000,ref_ref,a_40
++R 8000,3000,ref_ref,a_30
++R 7000,3000,ref_ref,a_30
++R 6000,3000,ref_ref,a_30
++R 5000,3000,ref_ref,a_30
++R 4000,3000,ref_ref,a_30
++R 3000,3000,ref_ref,a_30
++R 2000,3000,ref_ref,a_30
++R 2000,4000,ref_ref,a_40
++R 3000,7000,ref_ref,b_70
++R 7000,6000,ref_ref,d_60
++R 7000,5000,ref_ref,d_50
++R 7000,4000,ref_ref,d_50
++S 900,6900,900,9300,400,*,DOWN,ALU1
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++S 1000,2000,1000,6100,400,*,DOWN,ALU1
++S 2000,6000,2000,8000,400,z,DOWN,CALU1
++S 2000,5900,2000,8000,600,*,UP,ALU1
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 7800,300,7800,700,200,*,UP,POLY
++S 7000,300,7000,700,200,*,UP,POLY
++S 6200,300,6200,700,200,*,UP,POLY
++S 5400,300,5400,700,200,*,UP,POLY
++S 4200,300,4200,700,200,*,UP,POLY
++S 3400,300,3400,700,200,*,UP,POLY
++S 2600,300,2600,700,200,*,UP,POLY
++S 1800,300,1800,700,200,*,UP,POLY
++S 2000,8000,4600,8000,400,*,LEFT,ALU1
++S 5800,5700,5800,9200,600,*,DOWN,PDIF
++S 5700,7900,5700,9300,400,*,DOWN,ALU1
++S 5400,3000,5400,4900,200,*,DOWN,POLY
++S 3300,5700,3300,9200,1000,*,DOWN,PDIF
++S 3900,4300,3900,5500,200,*,DOWN,POLY
++S 5100,9400,5100,9700,200,*,DOWN,POLY
++S 3900,9400,3900,9700,200,*,DOWN,POLY
++S 5100,5500,5100,9400,200,04,UP,PTRANS
++S 4500,5700,4500,9200,1000,*,UP,PDIF
++S 3900,5500,3900,9400,200,03,UP,PTRANS
++S 2700,9400,2700,9700,200,*,DOWN,POLY
++S 1500,9400,1500,9700,200,*,DOWN,POLY
++S 1500,4700,1500,5500,200,*,DOWN,POLY
++S 1800,3000,1800,4900,200,*,UP,POLY
++S 2700,3900,2700,5500,200,*,UP,POLY
++S 800,5700,800,9200,600,*,DOWN,PDIF
++S 1500,5500,1500,9400,200,01,UP,PTRANS
++S 2700,5500,2700,9400,200,02,UP,PTRANS
++S 2100,5700,2100,9200,1000,*,DOWN,PDIF
++S 4000,8000,4000,8000,400,z,LEFT,CALU1
++S 3000,8000,3000,8000,400,z,LEFT,CALU1
++S 4000,7000,4000,7000,400,b,LEFT,CALU1
++S 5000,7000,5000,7000,400,b,LEFT,CALU1
++S 6000,7000,6000,7000,400,b,LEFT,CALU1
++S 6000,5000,6000,5000,400,d,LEFT,CALU1
++S 6000,4000,6000,4000,400,c,LEFT,CALU1
++S 5000,4000,5000,4000,400,c,LEFT,CALU1
++S 7000,3000,7000,3000,400,a,LEFT,CALU1
++S 6000,3000,6000,3000,400,a,LEFT,CALU1
++S 5000,3000,5000,3000,400,a,LEFT,CALU1
++S 4000,3000,4000,3000,400,a,LEFT,CALU1
++S 3000,3000,3000,3000,400,a,LEFT,CALU1
++S 5000,2000,5000,2000,400,z,LEFT,CALU1
++S 4000,2000,4000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 0,5000,9000,5000,10000,nd4_x2,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 1800,700,1800,3000,200,09,DOWN,NTRANS
++S 2200,900,2200,2800,600,n3,UP,NDIF
++S 2600,700,2600,3000,200,10,DOWN,NTRANS
++S 3000,900,3000,2800,600,n2,UP,NDIF
++S 3400,700,3400,3000,200,11,DOWN,NTRANS
++S 3800,900,3800,2800,600,n1,UP,NDIF
++S 4200,700,4200,3000,200,12,DOWN,NTRANS
++S 4700,900,4700,2800,800,*,UP,NDIF
++S 5400,700,5400,3000,200,13,DOWN,NTRANS
++S 6600,900,6600,2800,600,n5,UP,NDIF
++S 7000,700,7000,3000,200,15,DOWN,NTRANS
++S 6200,700,6200,3000,200,14,DOWN,NTRANS
++S 5800,900,5800,2800,600,n4,UP,NDIF
++S 7400,900,7400,2800,600,n6,UP,NDIF
++S 7800,700,7800,3000,200,16,DOWN,NTRANS
++S 8400,900,8400,2800,600,*,UP,NDIF
++S 4200,3400,5400,3400,200,*,RIGHT,POLY
++S 3400,3000,3400,4000,200,*,UP,POLY
++S 3400,4000,3800,4000,200,*,RIGHT,POLY
++S 6200,3000,6200,3900,200,*,UP,POLY
++S 4000,4000,4000,6000,400,c,UP,CALU1
++S 4000,4000,4000,6000,600,*,DOWN,ALU1
++S 3900,4000,6200,4000,600,*,RIGHT,ALU1
++S 7800,3000,7800,4200,200,*,UP,POLY
++S 2000,3000,8000,3000,400,*,RIGHT,ALU1
++S 8000,3000,8000,4000,400,a,DOWN,CALU1
++S 8000,3000,8000,4000,600,*,DOWN,ALU1
++S 2600,3000,2600,4000,200,*,UP,POLY
++S 3000,5000,3000,7000,400,b,DOWN,CALU1
++S 3000,4900,3000,7000,600,*,UP,ALU1
++S 1000,2000,5100,2000,400,*,RIGHT,ALU1
++S 1000,1900,5100,1900,400,*,RIGHT,ALU1
++S 1200,900,1200,2800,800,*,UP,NDIF
++S 2000,3000,2000,5000,400,a,DOWN,CALU1
++S 2000,3000,2000,5100,400,*,DOWN,ALU1
++S 1900,3000,1900,5100,400,*,DOWN,ALU1
++S 7000,3000,7000,6800,200,*,UP,POLY
++S 3000,7000,7100,7000,400,*,RIGHT,ALU1
++S 7000,4000,7000,6000,400,d,UP,CALU1
++S 7000,3900,7000,6100,400,*,UP,ALU1
++S 5000,5000,7000,5000,600,*,RIGHT,ALU1
++S 7000,7000,7000,7000,400,b,LEFT,CALU1
++S 5000,5000,5000,5000,400,d,LEFT,CALU1
++S 8400,700,8400,2100,400,*,DOWN,ALU1
++V 7900,9300,CONT_BODY_N,*
++V 900,7000,CONT_DIF_P,*
++V 2100,6000,CONT_DIF_P,*
++V 6800,7000,CONT_POLY,*
++V 900,8000,CONT_DIF_P,*
++V 2100,7000,CONT_DIF_P,*
++V 5700,9000,CONT_DIF_P,*
++V 5700,8000,CONT_DIF_P,*
++V 5200,4900,CONT_POLY,*
++V 3300,9000,CONT_DIF_P,*
++V 4100,4200,CONT_POLY,*
++V 4500,8000,CONT_DIF_P,*
++V 2100,8000,CONT_DIF_P,*
++V 900,9000,CONT_DIF_P,*
++V 1900,4900,CONT_POLY,*
++V 1200,1000,CONT_DIF_N,*
++V 4800,2000,CONT_DIF_N,*
++V 8400,2000,CONT_DIF_N,*
++V 8400,1000,CONT_DIF_N,*
++V 3000,4900,CONT_POLY,*
++V 6200,4000,CONT_POLY,*
++V 8000,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd4_x2.vbe b/alliance/src/cells/src/msxlib/nd4_x2.vbe
+new file mode 100644
+index 0000000..0a511a2
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x2.vbe
+@@ -0,0 +1,44 @@
++ENTITY nd4_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_a : NATURAL := 10;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT cin_c : NATURAL := 10;
++ CONSTANT cin_d : NATURAL := 9;
++ CONSTANT rdown_a_z : NATURAL := 1420;
++ CONSTANT rdown_b_z : NATURAL := 1420;
++ CONSTANT rdown_c_z : NATURAL := 1420;
++ CONSTANT rdown_d_z : NATURAL := 1410;
++ CONSTANT rup_a_z : NATURAL := 1530;
++ CONSTANT rup_b_z : NATURAL := 1520;
++ CONSTANT rup_c_z : NATURAL := 1520;
++ CONSTANT rup_d_z : NATURAL := 1520;
++ CONSTANT tphl_a_z : NATURAL := 56;
++ CONSTANT tphl_b_z : NATURAL := 53;
++ CONSTANT tphl_c_z : NATURAL := 48;
++ CONSTANT tphl_d_z : NATURAL := 40;
++ CONSTANT tplh_d_z : NATURAL := 53;
++ CONSTANT tplh_c_z : NATURAL := 63;
++ CONSTANT tplh_b_z : NATURAL := 72;
++ CONSTANT tplh_a_z : NATURAL := 79;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd4_x2;
++
++ARCHITECTURE behaviour_data_flow OF nd4_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd4_x2"
++ SEVERITY WARNING;
++ z <= not ((((a and b) and c) and d)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nd4_x3.ap b/alliance/src/cells/src/msxlib/nd4_x3.ap
+new file mode 100644
+index 0000000..6dda1c9
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x3.ap
+@@ -0,0 +1,215 @@
++V ALLIANCE : 6
++H nd4_x3,P, 8/ 8/2014,100
++A 0,0,11000,10000
++R 1000,3000,ref_ref,z_30
++R 9000,4000,ref_ref,a_40
++R 4000,5000,ref_ref,c_50
++R 3000,5000,ref_ref,b_50
++R 2000,7000,ref_ref,a_70
++R 2000,6000,ref_ref,a_60
++R 1000,7000,ref_ref,z_70
++R 8000,4000,ref_ref,a_40
++R 7000,4000,ref_ref,a_40
++R 6000,4000,ref_ref,a_40
++R 5000,4000,ref_ref,a_40
++R 4000,4000,ref_ref,a_40
++R 3000,4000,ref_ref,a_40
++R 7000,7000,ref_ref,b_70
++R 6000,7000,ref_ref,b_70
++R 5000,7000,ref_ref,b_70
++R 5000,3000,ref_ref,z_30
++R 4000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,z_30
++R 8000,8000,ref_ref,z_80
++R 7000,8000,ref_ref,z_80
++R 6000,8000,ref_ref,z_80
++R 5000,8000,ref_ref,z_80
++R 3000,8000,ref_ref,z_80
++R 4000,7000,ref_ref,b_70
++R 7000,6000,ref_ref,c_60
++R 6000,6000,ref_ref,c_60
++R 6000,5000,ref_ref,d_50
++R 2000,8000,ref_ref,z_80
++R 1000,5000,ref_ref,z_50
++R 4000,8000,ref_ref,z_80
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,b_60
++R 5000,5000,ref_ref,d_50
++R 4000,6000,ref_ref,c_60
++R 5000,6000,ref_ref,c_60
++R 1000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 8000,7000,ref_ref,b_70
++R 3000,7000,ref_ref,b_70
++R 10000,4000,ref_ref,a_40
++R 5000,2000,ref_ref,z_20
++R 1000,8000,ref_ref,z_80
++R 2000,4000,ref_ref,a_40
++R 9000,8000,ref_ref,z_80
++R 10000,5000,ref_ref,a_50
++R 9000,5000,ref_ref,b_50
++R 7000,5000,ref_ref,d_50
++R 9000,6000,ref_ref,b_60
++R 8000,6000,ref_ref,d_60
++S 9100,9300,10300,9300,600,*,RIGHT,NTIE
++S 900,2900,900,8000,400,*,DOWN,ALU1
++S 1000,2900,1000,8000,400,*,DOWN,ALU1
++S 8000,8000,8000,8000,400,z,LEFT,CALU1
++S 7000,8000,7000,8000,400,z,LEFT,CALU1
++S 6000,8000,6000,8000,400,z,LEFT,CALU1
++S 5000,8000,5000,8000,400,z,LEFT,CALU1
++S 4000,8000,4000,8000,400,z,LEFT,CALU1
++S 3000,8000,3000,8000,400,z,LEFT,CALU1
++S 2000,8000,2000,8000,400,z,LEFT,CALU1
++S 7000,7000,7000,7000,400,b,LEFT,CALU1
++S 6000,7000,6000,7000,400,b,LEFT,CALU1
++S 5000,7000,5000,7000,400,b,LEFT,CALU1
++S 4000,7000,4000,7000,400,b,LEFT,CALU1
++S 5000,6000,5000,6000,400,c,LEFT,CALU1
++S 7000,6000,7000,6000,400,c,LEFT,CALU1
++S 6000,6000,6000,6000,400,c,LEFT,CALU1
++S 6000,5000,6000,5000,400,d,LEFT,CALU1
++S 5000,5000,5000,5000,400,d,LEFT,CALU1
++S 7200,5800,7200,6700,200,*,DOWN,POLY
++S 6000,4800,6000,6700,200,*,DOWN,POLY
++S 9000,4000,9000,4000,400,a,LEFT,CALU1
++S 8000,4000,8000,4000,400,a,LEFT,CALU1
++S 7000,4000,7000,4000,400,a,LEFT,CALU1
++S 6000,4000,6000,4000,400,a,LEFT,CALU1
++S 5000,4000,5000,4000,400,a,LEFT,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 3000,4000,3000,4000,400,a,LEFT,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 4000,3000,4000,3000,400,z,LEFT,CALU1
++S 5000,2000,5000,3000,400,z,DOWN,CALU1
++S 0,600,11000,600,1200,vss,RIGHT,CALU1
++S 0,5000,11000,5000,10000,nd4_x3,LEFT,TALU8
++S 0,2200,11000,2200,5200,*,LEFT,PWELL
++S 0,7600,11000,7600,5600,*,LEFT,NWELL
++S 4800,5000,6000,5000,600,*,RIGHT,POLY
++S 1200,4600,1800,4600,200,*,RIGHT,POLY
++S 4000,6000,7100,6000,400,*,RIGHT,ALU1
++S 4000,5000,4000,6000,400,c,DOWN,CALU1
++S 4000,5000,4000,6000,600,*,DOWN,ALU1
++S 3000,5000,3000,7000,400,b,DOWN,CALU1
++S 3000,5000,3000,7000,600,*,UP,ALU1
++S 2400,5200,2700,5200,200,*,RIGHT,POLY
++S 0,9400,11000,9400,1200,vdd,RIGHT,CALU1
++S 600,6900,600,9100,600,*,DOWN,PDIF
++S 1200,6700,1200,9300,200,01,UP,PTRANS
++S 2400,6700,2400,9300,200,02,UP,PTRANS
++S 1800,6900,1800,9100,1000,*,DOWN,PDIF
++S 3000,6900,3000,9100,1000,*,DOWN,PDIF
++S 3600,6700,3600,9300,200,03,UP,PTRANS
++S 4200,6900,4200,9100,1000,*,UP,PDIF
++S 4800,6700,4800,9300,200,04,UP,PTRANS
++S 5400,6900,5400,9100,600,*,DOWN,PDIF
++S 6000,6700,6000,9300,200,05,UP,PTRANS
++S 6600,6900,6600,9100,1000,*,DOWN,PDIF
++S 7200,6700,7200,9300,200,06,UP,PTRANS
++S 9000,6000,9000,8200,1000,*,DOWN,PDIF
++S 8400,5800,8400,8400,200,07,UP,PTRANS
++S 9600,5800,9600,8400,200,08,UP,PTRANS
++S 10200,6000,10200,8200,600,*,DOWN,PDIF
++S 7800,6000,7800,9100,600,*,DOWN,PDIF
++S 9600,8400,9600,8800,200,*,DOWN,POLY
++S 8400,8400,8400,8800,200,*,DOWN,POLY
++S 7200,9300,7200,9700,200,*,DOWN,POLY
++S 9600,4200,9600,5800,200,*,DOWN,POLY
++S 2000,4000,10100,4000,400,*,RIGHT,ALU1
++S 6000,9300,6000,9700,200,*,DOWN,POLY
++S 2200,700,2200,3800,200,09,DOWN,NTRANS
++S 1600,700,1600,2100,400,*,DOWN,ALU1
++S 2200,300,2200,700,200,*,UP,POLY
++S 3000,300,3000,700,200,*,UP,POLY
++S 3800,300,3800,700,200,*,UP,POLY
++S 4600,300,4600,700,200,*,UP,POLY
++S 5800,300,5800,700,200,*,UP,POLY
++S 6600,300,6600,700,200,*,UP,POLY
++S 7400,300,7400,700,200,*,UP,POLY
++S 8200,300,8200,700,200,*,UP,POLY
++S 2600,900,2600,3600,600,n3,UP,NDIF
++S 3000,700,3000,3800,200,10,DOWN,NTRANS
++S 3400,900,3400,3600,600,n2,UP,NDIF
++S 3800,700,3800,3800,200,11,DOWN,NTRANS
++S 4200,900,4200,3600,600,n1,UP,NDIF
++S 4600,700,4600,3800,200,12,DOWN,NTRANS
++S 5100,900,5100,3600,800,*,UP,NDIF
++S 5800,700,5800,3800,200,13,DOWN,NTRANS
++S 6200,900,6200,3600,600,n4,UP,NDIF
++S 6600,700,6600,3800,200,14,DOWN,NTRANS
++S 7000,900,7000,3600,600,n5,UP,NDIF
++S 7400,700,7400,3800,200,15,DOWN,NTRANS
++S 7800,900,7800,3600,600,n6,UP,NDIF
++S 8200,700,8200,3800,200,16,DOWN,NTRANS
++S 3000,3800,3000,5000,200,*,UP,POLY
++S 1200,4600,1200,6700,200,*,DOWN,POLY
++S 2400,5200,2400,6700,200,*,DOWN,POLY
++S 3600,5800,3600,6700,200,*,DOWN,POLY
++S 3800,3800,3800,5700,200,*,UP,POLY
++S 4800,4800,4800,6700,200,*,DOWN,POLY
++S 4600,3800,4600,5200,200,*,UP,POLY
++S 5800,3800,5800,4800,200,*,UP,POLY
++S 6600,4100,6600,5700,200,*,UP,POLY
++S 8200,4200,9700,4200,200,*,RIGHT,POLY
++S 5100,1900,5100,3000,600,*,DOWN,ALU1
++S 1600,900,1600,3600,800,*,UP,NDIF
++S 1000,3000,5000,3000,400,*,RIGHT,ALU1
++S 1000,2900,5000,2900,400,*,RIGHT,ALU1
++S 8800,700,8800,2100,400,*,DOWN,ALU1
++S 8800,900,8800,3600,600,*,UP,NDIF
++S 1000,3000,1000,8000,400,z,DOWN,CALU1
++S 2000,4000,2000,7100,400,*,DOWN,ALU1
++S 2000,4000,2000,7000,400,a,DOWN,CALU1
++S 1900,4000,1900,7100,400,*,DOWN,ALU1
++S 1200,9300,1200,9700,200,*,DOWN,POLY
++S 2400,9300,2400,9700,200,*,DOWN,POLY
++S 3600,9300,3600,9700,200,*,DOWN,POLY
++S 4800,9300,4800,9700,200,*,DOWN,POLY
++S 10200,6900,10200,9300,400,*,UP,ALU1
++S 10000,4000,10000,5000,600,*,UP,ALU1
++S 10000,4000,10000,5000,400,a,DOWN,CALU1
++S 10000,600,10000,3400,600,*,UP,PTIE
++S 1000,8000,9100,8000,400,*,LEFT,ALU1
++S 7000,5000,7000,5000,400,d,LEFT,CALU1
++S 3000,7000,9000,7000,400,*,RIGHT,ALU1
++S 8000,7000,8000,7000,400,b,LEFT,CALU1
++S 8900,4900,8900,7000,600,*,DOWN,ALU1
++S 8400,4900,8400,5800,200,*,DOWN,POLY
++S 8400,5100,8800,5100,600,*,LEFT,POLY
++S 7400,4900,8400,4900,200,*,RIGHT,POLY
++S 7400,3800,7400,4900,200,*,DOWN,POLY
++S 9000,5000,9000,6000,400,b,DOWN,CALU1
++S 4900,5000,8000,5000,400,*,RIGHT,ALU1
++S 8000,6000,8000,6000,400,d,LEFT,CALU1
++S 8000,5000,8000,6100,400,*,UP,ALU1
++S 9000,8000,9000,8000,400,z,LEFT,CALU1
++V 10300,9300,CONT_BODY_N,*
++V 9000,9300,CONT_BODY_N,*
++V 7800,9000,CONT_DIF_P,*
++V 6600,8000,CONT_DIF_P,*
++V 6800,6000,CONT_POLY,*
++V 5400,5000,CONT_POLY,*
++V 1800,8000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,*
++V 4000,6000,CONT_POLY,*
++V 10200,8000,CONT_DIF_P,*
++V 2000,4400,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 600,9000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 5400,9000,CONT_DIF_P,*
++V 1600,2000,CONT_DIF_N,*
++V 1600,1000,CONT_DIF_N,*
++V 5200,2000,CONT_DIF_N,*
++V 5200,3000,CONT_DIF_N,*
++V 8800,2000,CONT_DIF_N,*
++V 8800,1000,CONT_DIF_N,*
++V 10000,600,CONT_BODY_P,*
++V 9000,8000,CONT_DIF_P,*
++V 10200,7000,CONT_DIF_P,*
++V 9900,4400,CONT_POLY,*
++V 8800,5100,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nd4_x3.vbe b/alliance/src/cells/src/msxlib/nd4_x3.vbe
+new file mode 100644
+index 0000000..97aaf28
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nd4_x3.vbe
+@@ -0,0 +1,44 @@
++ENTITY nd4_x3 IS
++GENERIC (
++ CONSTANT area : NATURAL := 11000;
++ CONSTANT cin_a : NATURAL := 14;
++ CONSTANT cin_b : NATURAL := 14;
++ CONSTANT cin_c : NATURAL := 13;
++ CONSTANT cin_d : NATURAL := 12;
++ CONSTANT rdown_a_z : NATURAL := 1050;
++ CONSTANT rdown_b_z : NATURAL := 1050;
++ CONSTANT rdown_c_z : NATURAL := 1050;
++ CONSTANT rdown_d_z : NATURAL := 1050;
++ CONSTANT rup_a_z : NATURAL := 1150;
++ CONSTANT rup_b_z : NATURAL := 1140;
++ CONSTANT rup_c_z : NATURAL := 1140;
++ CONSTANT rup_d_z : NATURAL := 1140;
++ CONSTANT tphl_a_z : NATURAL := 56;
++ CONSTANT tphl_b_z : NATURAL := 53;
++ CONSTANT tphl_c_z : NATURAL := 48;
++ CONSTANT tphl_d_z : NATURAL := 41;
++ CONSTANT tplh_d_z : NATURAL := 54;
++ CONSTANT tplh_c_z : NATURAL := 63;
++ CONSTANT tplh_b_z : NATURAL := 73;
++ CONSTANT tplh_a_z : NATURAL := 80;
++ CONSTANT transistors : NATURAL := 16
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nd4_x3;
++
++ARCHITECTURE behaviour_data_flow OF nd4_x3 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nd4_x3"
++ SEVERITY WARNING;
++ z <= not ((((a and b) and c) and d)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr2_x05.ap b/alliance/src/cells/src/msxlib/nr2_x05.ap
+new file mode 100644
+index 0000000..2ba4146
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2_x05.ap
+@@ -0,0 +1,70 @@
++V ALLIANCE : 6
++H nr2_x05,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 2000,4000,ref_ref,b_40
++R 1000,3000,ref_ref,z_30
++R 3000,5000,ref_ref,a_50
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 3000,4000,ref_ref,b_40
++R 2000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,b_30
++R 2000,2000,ref_ref,z_20
++R 2000,5000,ref_ref,a_60
++R 2000,6000,ref_ref,a_60
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,4000,5000,10000,nr2_x05,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 1600,5600,1600,7800,200,1,UP,PTRANS
++S 2400,5600,2400,7800,200,2,UP,PTRANS
++S 2000,5800,2000,7600,600,n1,UP,PDIF
++S 1200,5800,1200,7600,400,*,UP,PDIF
++S 1400,1700,1400,2300,200,3,DOWN,NTRANS
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 800,700,800,2100,400,*,DOWN,ALU1
++S 2000,1900,2000,2100,1000,*,UP,NDIF
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 2600,1700,2600,2300,200,4,DOWN,NTRANS
++S 2000,2000,2000,3000,400,z,DOWN,CALU1
++S 1000,3000,2000,3000,600,*,RIGHT,ALU1
++S 1800,4000,3000,4000,600,*,LEFT,ALU1
++S 2600,2300,2600,5200,200,*,UP,POLY
++S 1600,3800,1600,5600,200,*,DOWN,POLY
++S 1400,2300,1400,4200,200,*,UP,POLY
++S 2000,5000,3000,5000,600,*,LEFT,ALU1
++S 2000,4000,2000,4000,400,b,LEFT,CALU1
++S 1000,3000,1000,6000,400,z,DOWN,CALU1
++S 3000,5000,3000,5000,400,a,LEFT,CALU1
++S 3000,5900,3000,9300,400,*,UP,ALU1
++S 3100,5800,3100,7600,600,*,DOWN,PDIF
++S 2400,7800,2400,8200,200,*,DOWN,POLY
++S 1600,7800,1600,8200,200,*,DOWN,POLY
++S 2000,4900,2000,6100,400,*,UP,ALU1
++S 2000,5000,2000,6000,400,a,UP,CALU1
++S 1000,6000,1000,6600,600,*,DOWN,PDIF
++S 3000,3000,3000,4000,400,b,DOWN,CALU1
++S 3000,2900,3000,4000,400,*,DOWN,ALU1
++S 3200,1900,3200,2100,600,*,UP,NDIF
++S 3200,700,3200,2100,400,*,DOWN,ALU1
++S 2000,1900,2000,3100,400,*,DOWN,ALU1
++S 1000,2900,1000,6800,400,*,DOWN,ALU1
++S 1400,4000,2000,4000,600,*,LEFT,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 1000,5900,CONT_DIF_P,*
++V 2000,2000,CONT_DIF_N,*
++V 800,2000,CONT_DIF_N,*
++V 1800,4000,CONT_POLY,*
++V 2600,5000,CONT_POLY,*
++V 3000,7000,CONT_DIF_P,*
++V 3000,6000,CONT_DIF_P,*
++V 1000,6700,CONT_DIF_P,*
++V 3200,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr2_x05.vbe b/alliance/src/cells/src/msxlib/nr2_x05.vbe
+new file mode 100644
+index 0000000..41e5133
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2_x05.vbe
+@@ -0,0 +1,32 @@
++ENTITY nr2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 3;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT rdown_a_z : NATURAL := 3820;
++ CONSTANT rdown_b_z : NATURAL := 3810;
++ CONSTANT rup_a_z : NATURAL := 5280;
++ CONSTANT rup_b_z : NATURAL := 5280;
++ CONSTANT tplh_a_z : NATURAL := 55;
++ CONSTANT tplh_b_z : NATURAL := 45;
++ CONSTANT tphl_b_z : NATURAL := 44;
++ CONSTANT tphl_a_z : NATURAL := 53;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr2_x05;
++
++ARCHITECTURE behaviour_data_flow OF nr2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr2_x05"
++ SEVERITY WARNING;
++ z <= not ((a or b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr2_x1.ap b/alliance/src/cells/src/msxlib/nr2_x1.ap
+new file mode 100644
+index 0000000..edd6c77
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2_x1.ap
+@@ -0,0 +1,73 @@
++V ALLIANCE : 6
++H nr2_x1,P, 8/ 8/2014,100
++A 0,0,4000,10000
++R 2000,6000,ref_ref,a_60
++R 1000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,b_40
++R 1000,7000,ref_ref,z_70
++R 3000,6000,ref_ref,a_60
++R 2000,3000,ref_ref,z_30
++R 3000,4000,ref_ref,b_40
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,b_50
++R 3000,5000,ref_ref,a_50
++R 2000,2000,ref_ref,z_20
++R 3000,7000,ref_ref,a_70
++S 1100,700,1900,700,600,*,LEFT,PTIE
++S 2000,3900,2000,5100,400,*,UP,ALU1
++S 1000,2900,1000,7000,400,*,DOWN,ALU1
++S 1400,4000,2000,4000,600,*,LEFT,POLY
++S 3000,4000,3000,4000,400,b,LEFT,CALU1
++S 2000,6000,2000,6000,400,a,LEFT,CALU1
++S 2400,5100,2600,5100,200,*,RIGHT,POLY
++S 2000,4000,2000,5000,400,b,DOWN,CALU1
++S 1200,5700,1200,9200,400,*,UP,PDIF
++S 3100,5700,3100,9200,600,*,DOWN,PDIF
++S 3000,7900,3000,9300,400,*,UP,ALU1
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 2000,5700,2000,9200,600,n1,UP,PDIF
++S 2400,5500,2400,9400,200,2,UP,PTRANS
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 1600,5500,1600,9400,200,1,UP,PTRANS
++S 0,5000,4000,5000,10000,nr2_x1,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 1400,1700,1400,2800,200,3,DOWN,NTRANS
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 2600,1700,2600,2800,200,4,DOWN,NTRANS
++S 2000,1900,2000,2600,1000,*,UP,NDIF
++S 3200,700,3200,2100,400,*,DOWN,ALU1
++S 3300,1900,3300,2600,600,*,UP,NDIF
++S 1600,3800,1600,5500,200,*,DOWN,POLY
++S 1800,4000,3000,4000,600,*,RIGHT,ALU1
++S 1000,3000,2000,3000,600,*,RIGHT,ALU1
++S 2000,2000,2000,3000,400,z,DOWN,CALU1
++S 2000,1900,2000,3000,400,*,UP,ALU1
++S 1000,5900,1000,6500,600,*,DOWN,PDIF
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,7000,1000,7100,400,*,UP,ALU1
++S 2600,2800,2600,5100,200,*,UP,POLY
++S 2400,5000,2400,5500,200,*,DOWN,POLY
++S 1400,2800,1400,4200,200,*,UP,POLY
++S 800,700,800,2100,400,*,DOWN,ALU1
++S 700,1900,700,2600,600,*,UP,NDIF
++S 3000,4900,3000,7000,600,*,UP,ALU1
++S 3000,5000,3000,7000,400,a,UP,CALU1
++S 1900,6000,3100,6000,400,*,LEFT,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,2500,CONT_DIF_N,*
++V 3000,9000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,*
++V 3000,4900,CONT_POLY,*
++V 3200,2000,CONT_DIF_N,*
++V 1800,4000,CONT_POLY,*
++V 1000,5800,CONT_DIF_P,*
++V 1000,6600,CONT_DIF_P,*
++V 800,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr2_x1.vbe b/alliance/src/cells/src/msxlib/nr2_x1.vbe
+new file mode 100644
+index 0000000..dd781df
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY nr2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT cin_a : NATURAL := 6;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 2080;
++ CONSTANT rdown_b_z : NATURAL := 2080;
++ CONSTANT rup_a_z : NATURAL := 2980;
++ CONSTANT rup_b_z : NATURAL := 2980;
++ CONSTANT tplh_a_z : NATURAL := 53;
++ CONSTANT tplh_b_z : NATURAL := 44;
++ CONSTANT tphl_b_z : NATURAL := 42;
++ CONSTANT tphl_a_z : NATURAL := 50;
++ CONSTANT transistors : NATURAL := 4
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr2_x1;
++
++ARCHITECTURE behaviour_data_flow OF nr2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr2_x1"
++ SEVERITY WARNING;
++ z <= not ((a or b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr2_x2.ap b/alliance/src/cells/src/msxlib/nr2_x2.ap
+new file mode 100644
+index 0000000..9563816
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2_x2.ap
+@@ -0,0 +1,92 @@
++V ALLIANCE : 6
++H nr2_x2,P, 8/ 8/2014,100
++A 0,0,6000,10000
++R 4000,4000,ref_ref,a_40
++R 3000,4000,ref_ref,a_40
++R 2000,4000,ref_ref,a_40
++R 2000,5000,ref_ref,a_50
++R 3000,5000,ref_ref,b_50
++R 4000,5000,ref_ref,b_50
++R 4000,6000,ref_ref,b_60
++R 1000,6000,ref_ref,z_60
++R 2000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,z_30
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,3000,ref_ref,z_30
++R 3000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,z_60
++R 3000,6000,ref_ref,z_60
++S 2000,4000,2000,5000,400,a,DOWN,CALU1
++S 3000,4000,3000,4000,400,a,LEFT,CALU1
++S 3000,5000,3000,5000,400,b,LEFT,CALU1
++S 4400,3800,4400,5500,200,*,DOWN,POLY
++S 2800,3400,2800,4700,200,*,UP,POLY
++S 1600,3400,1600,5500,200,*,DOWN,POLY
++S 1600,900,1600,1300,200,*,UP,POLY
++S 2800,900,2800,1300,200,*,UP,POLY
++S 1000,1500,1000,3200,800,*,UP,NDIF
++S 3500,1500,3500,3200,600,*,DOWN,NDIF
++S 2800,1300,2800,3400,200,6,DOWN,NTRANS
++S 1600,1300,1600,3400,200,5,DOWN,NTRANS
++S 2200,1500,2200,3200,1000,*,UP,NDIF
++S 5000,5700,5000,9200,800,*,DOWN,PDIF
++S 1000,5700,1000,9200,800,*,DOWN,PDIF
++S 2400,5100,3600,5100,200,*,LEFT,POLY
++S 4400,5500,4400,9400,200,4,UP,PTRANS
++S 4000,5800,4000,9200,600,n2,DOWN,PDIF
++S 3000,5700,3000,9200,1000,*,DOWN,PDIF
++S 2400,5500,2400,9400,200,2,UP,PTRANS
++S 2000,5700,2000,9200,600,n1,UP,PDIF
++S 1600,5500,1600,9400,200,1,UP,PTRANS
++S 3600,5500,3600,9400,200,3,UP,PTRANS
++S 4400,9400,4400,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,5000,6000,5000,10000,nr2_x2,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 2000,2000,2000,3000,400,z,DOWN,CALU1
++S 1000,3000,2200,3000,600,*,RIGHT,ALU1
++S 1000,700,1000,2100,400,*,DOWN,ALU1
++S 2000,4000,2000,5100,400,*,UP,ALU1
++S 1900,4000,1900,5100,400,*,UP,ALU1
++S 2900,5000,4000,5000,600,*,LEFT,ALU1
++S 4000,4900,4000,6100,400,*,UP,ALU1
++S 4000,5000,4000,6000,400,b,UP,CALU1
++S 1900,4000,4100,4000,400,*,LEFT,ALU1
++S 3800,4000,4400,4000,600,*,RIGHT,POLY
++S 3000,6000,3000,7000,400,z,UP,CALU1
++S 3000,6000,3000,7000,600,*,UP,ALU1
++S 1000,6100,3000,6100,400,*,RIGHT,ALU1
++S 1000,6000,3000,6000,400,*,RIGHT,ALU1
++S 2000,6000,2000,6000,400,z,LEFT,CALU1
++S 1000,3000,1000,6000,400,z,DOWN,CALU1
++S 1000,2900,1000,6100,400,*,DOWN,ALU1
++S 2100,1900,2100,3100,600,*,DOWN,ALU1
++S 3400,700,3400,3100,400,*,DOWN,ALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 5000,6900,5000,9300,400,*,UP,ALU1
++S 1000,6900,1000,9300,400,*,UP,ALU1
++S 5000,600,5000,3500,600,*,UP,PTIE
++V 5000,700,CONT_BODY_P,*
++V 2000,4000,CONT_POLY,*
++V 4000,4000,CONT_POLY,*
++V 3000,7000,CONT_DIF_P,*
++V 1000,8000,CONT_DIF_P,*
++V 5000,8000,CONT_DIF_P,*
++V 5000,9000,CONT_DIF_P,*
++V 1000,9000,CONT_DIF_P,*
++V 2200,3000,CONT_DIF_N,*
++V 3000,4900,CONT_POLY,*
++V 2200,2000,CONT_DIF_N,*
++V 1000,2000,CONT_DIF_N,*
++V 3400,2000,CONT_DIF_N,*
++V 3000,6000,CONT_DIF_P,*
++V 3400,3000,CONT_DIF_N,*
++V 1000,7000,CONT_DIF_P,*
++V 5000,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr2_x2.vbe b/alliance/src/cells/src/msxlib/nr2_x2.vbe
+new file mode 100644
+index 0000000..ddb1eaa
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2_x2.vbe
+@@ -0,0 +1,32 @@
++ENTITY nr2_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 11;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT rdown_a_z : NATURAL := 1090;
++ CONSTANT rdown_b_z : NATURAL := 1090;
++ CONSTANT rup_a_z : NATURAL := 1490;
++ CONSTANT rup_b_z : NATURAL := 1490;
++ CONSTANT tplh_a_z : NATURAL := 51;
++ CONSTANT tplh_b_z : NATURAL := 41;
++ CONSTANT tphl_b_z : NATURAL := 40;
++ CONSTANT tphl_a_z : NATURAL := 50;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr2_x2;
++
++ARCHITECTURE behaviour_data_flow OF nr2_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr2_x2"
++ SEVERITY WARNING;
++ z <= not ((a or b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr2a_x05.ap b/alliance/src/cells/src/msxlib/nr2a_x05.ap
+new file mode 100644
+index 0000000..b63165e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2a_x05.ap
+@@ -0,0 +1,91 @@
++V ALLIANCE : 6
++H nr2a_x05,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 2000,7000,ref_ref,a_70
++R 2000,2000,ref_ref,z_20
++R 3000,5000,ref_ref,a_50
++R 2000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 3000,6000,ref_ref,a_60
++R 3000,3000,ref_ref,b_30
++R 1000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,b_40
++R 1000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,a_60
++R 1000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,b_30
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 2100,700,2900,700,600,*,LEFT,PTIE
++S 3200,5800,3200,7600,600,*,DOWN,PDIF
++S 2600,2300,2600,5100,200,*,UP,POLY
++S 1400,2300,1400,4200,200,*,UP,POLY
++S 1400,1700,1400,2300,200,4z,DOWN,NTRANS
++S 800,900,800,2100,600,*,UP,NDIF
++S 700,900,700,2100,600,*,UP,NDIF
++S 2600,1700,2600,2300,200,3z,DOWN,NTRANS
++S 2000,1900,2000,2100,1000,*,UP,NDIF
++S 3800,2600,3800,5500,200,*,UP,POLY
++S 3300,1900,3300,2400,600,*,UP,NDIF
++S 3800,1700,3800,2600,200,2a,DOWN,NTRANS
++S 4200,1900,4200,2400,400,*,UP,NDIF
++S 3800,7300,3800,7700,200,*,DOWN,POLY
++S 1600,7800,1600,8100,200,*,DOWN,POLY
++S 2400,7800,2400,8100,200,*,DOWN,POLY
++S 1000,6000,1000,6600,600,*,DOWN,PDIF
++S 4400,6000,4400,6600,600,*,UP,PDIF
++S 1200,5800,1200,7600,400,*,UP,PDIF
++S 1600,5600,1600,7800,200,2z,UP,PTRANS
++S 2000,5800,2000,7600,600,n1,UP,PDIF
++S 2400,5600,2400,7800,200,1z,UP,PTRANS
++S 4200,5800,4200,7100,400,*,DOWN,PDIF
++S 3800,5600,3800,7300,200,1a,UP,PTRANS
++S 2400,5000,2400,5500,200,*,DOWN,POLY
++S 1000,7000,1000,7100,400,*,UP,ALU1
++S 3200,700,3200,2100,400,*,DOWN,ALU1
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 1600,3900,1600,5500,200,*,DOWN,POLY
++S 1800,4100,2000,4100,600,*,RIGHT,ALU1
++S 2000,6000,2000,7000,400,a,DOWN,CALU1
++S 3000,5000,3000,6000,400,a,UP,CALU1
++S 2000,5900,2000,7100,400,*,UP,ALU1
++S 3000,6900,3000,9300,400,*,UP,ALU1
++S 1000,2000,2000,2000,600,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 2000,3000,2000,5100,400,*,UP,ALU1
++S 2000,3000,2000,5000,400,b,DOWN,CALU1
++S 3000,3000,3000,3000,400,b,LEFT,CALU1
++S 2000,2900,3100,2900,400,*,RIGHT,ALU1
++S 2000,3000,3100,3000,400,*,RIGHT,ALU1
++S 2800,3900,4400,3900,400,*,RIGHT,ALU1
++S 3000,4900,3000,6100,400,*,UP,ALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 3000,4900,3600,4900,400,*,LEFT,ALU1
++S 0,5000,5000,5000,10000,nr2a_x05,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 4400,2200,4400,6800,400,*,UP,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 3000,700,CONT_BODY_P,*
++V 2000,700,CONT_BODY_P,*
++V 4400,5900,CONT_DIF_P,an
++V 4400,2300,CONT_DIF_N,an
++V 1000,6700,CONT_DIF_P,*
++V 1000,5900,CONT_DIF_P,*
++V 4400,6700,CONT_DIF_P,an
++V 3200,2000,CONT_DIF_N,*
++V 2000,2000,CONT_DIF_N,*
++V 3500,4900,CONT_POLY,*
++V 3000,7000,CONT_DIF_P,*
++V 800,1000,CONT_DIF_N,*
++V 2900,3900,CONT_POLY,an
++V 1800,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr2a_x05.vbe b/alliance/src/cells/src/msxlib/nr2a_x05.vbe
+new file mode 100644
+index 0000000..8e51c8d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2a_x05.vbe
+@@ -0,0 +1,32 @@
++ENTITY nr2a_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 3810;
++ CONSTANT rdown_a_z : NATURAL := 3820;
++ CONSTANT rup_b_z : NATURAL := 5280;
++ CONSTANT rup_a_z : NATURAL := 5270;
++ CONSTANT tplh_b_z : NATURAL := 46;
++ CONSTANT tphl_b_z : NATURAL := 45;
++ CONSTANT tphh_a_z : NATURAL := 78;
++ CONSTANT tpll_a_z : NATURAL := 93;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr2a_x05;
++
++ARCHITECTURE behaviour_data_flow OF nr2a_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr2a_x05"
++ SEVERITY WARNING;
++ z <= (not (b) and a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr2a_x1.ap b/alliance/src/cells/src/msxlib/nr2a_x1.ap
+new file mode 100644
+index 0000000..169e377
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2a_x1.ap
+@@ -0,0 +1,91 @@
++V ALLIANCE : 6
++H nr2a_x1,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 2000,7000,ref_ref,a_70
++R 2000,2000,ref_ref,z_20
++R 3000,5000,ref_ref,a_50
++R 2000,5000,ref_ref,b_50
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 3000,6000,ref_ref,a_60
++R 3000,3000,ref_ref,b_30
++R 1000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,b_40
++R 1000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,a_60
++R 1000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,b_30
++S 2100,700,2900,700,600,*,LEFT,PTIE
++S 2400,5000,2400,5500,200,*,DOWN,POLY
++S 2600,2800,2600,5100,200,*,UP,POLY
++S 1000,7000,1000,7100,400,*,UP,ALU1
++S 1000,5900,1000,6500,600,*,DOWN,PDIF
++S 3300,1900,3300,2600,600,*,UP,NDIF
++S 3200,700,3200,2100,400,*,DOWN,ALU1
++S 2000,1900,2000,2600,1000,*,UP,NDIF
++S 2600,1300,2600,1700,200,*,UP,POLY
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 2000,5700,2000,9200,600,n1,UP,PDIF
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 1200,5700,1200,9200,400,*,UP,PDIF
++S 4400,2400,4400,6700,400,*,UP,ALU1
++S 3800,2800,3800,5500,200,*,UP,POLY
++S 1600,3900,1600,5500,200,*,DOWN,POLY
++S 1800,4100,2000,4100,600,*,RIGHT,ALU1
++S 2000,6000,2000,7000,400,a,DOWN,CALU1
++S 3000,5000,3000,6000,400,a,UP,CALU1
++S 2000,5900,2000,7100,400,*,UP,ALU1
++S 3000,6900,3000,9300,400,*,UP,ALU1
++S 700,900,700,2600,600,*,UP,NDIF
++S 800,900,800,2600,600,*,UP,NDIF
++S 1000,2000,2000,2000,600,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 2000,3000,2000,5100,400,*,UP,ALU1
++S 2000,3000,2000,5000,400,b,DOWN,CALU1
++S 3000,3000,3000,3000,400,b,LEFT,CALU1
++S 2000,2900,3100,2900,400,*,RIGHT,ALU1
++S 2000,3000,3100,3000,400,*,RIGHT,ALU1
++S 2800,3900,4400,3900,400,*,RIGHT,ALU1
++S 4400,5900,4400,6500,600,*,UP,PDIF
++S 4200,1900,4200,2600,400,*,UP,NDIF
++S 4200,5700,4200,7500,400,*,DOWN,PDIF
++S 3800,7700,3800,8100,200,*,DOWN,POLY
++S 3000,4900,3000,6100,400,*,UP,ALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 3000,4900,3600,4900,400,*,LEFT,ALU1
++S 0,5000,5000,5000,10000,nr2a_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 3800,5500,3800,7700,200,1a,UP,PTRANS
++S 3800,1700,3800,2800,200,2a,DOWN,NTRANS
++S 2400,5500,2400,9400,200,1z,UP,PTRANS
++S 1600,5500,1600,9400,200,2z,UP,PTRANS
++S 2600,1700,2600,2800,200,3z,DOWN,NTRANS
++S 1400,1700,1400,2800,200,4z,DOWN,NTRANS
++S 3800,1300,3800,1700,200,*,UP,POLY
++S 3200,5700,3200,9200,600,*,DOWN,PDIF
++S 1400,2800,1400,4200,200,*,UP,POLY
++V 3000,700,CONT_BODY_P,*
++V 2000,700,CONT_BODY_P,*
++V 4300,9300,CONT_BODY_N,*
++V 1000,6600,CONT_DIF_P,*
++V 1000,5800,CONT_DIF_P,*
++V 3200,2000,CONT_DIF_N,*
++V 2000,2000,CONT_DIF_N,*
++V 3000,8000,CONT_DIF_P,*
++V 3000,9000,CONT_DIF_P,*
++V 4400,5800,CONT_DIF_P,*
++V 3500,4900,CONT_POLY,*
++V 3000,7000,CONT_DIF_P,*
++V 800,1000,CONT_DIF_N,*
++V 4400,6600,CONT_DIF_P,an
++V 4400,2500,CONT_DIF_N,an
++V 2900,3900,CONT_POLY,an
++V 1800,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr2a_x1.vbe b/alliance/src/cells/src/msxlib/nr2a_x1.vbe
+new file mode 100644
+index 0000000..4a7dc13
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr2a_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY nr2a_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 2080;
++ CONSTANT rdown_a_z : NATURAL := 2080;
++ CONSTANT rup_b_z : NATURAL := 2980;
++ CONSTANT rup_a_z : NATURAL := 2980;
++ CONSTANT tplh_b_z : NATURAL := 44;
++ CONSTANT tphl_b_z : NATURAL := 42;
++ CONSTANT tphh_a_z : NATURAL := 82;
++ CONSTANT tpll_a_z : NATURAL := 95;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr2a_x1;
++
++ARCHITECTURE behaviour_data_flow OF nr2a_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr2a_x1"
++ SEVERITY WARNING;
++ z <= (not (b) and a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr3_x05.ap b/alliance/src/cells/src/msxlib/nr3_x05.ap
+new file mode 100644
+index 0000000..e081561
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr3_x05.ap
+@@ -0,0 +1,96 @@
++V ALLIANCE : 6
++H nr3_x05,P, 8/ 8/2014,100
++A 0,0,5000,10000
++R 4000,6000,ref_ref,a_60
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 3000,4000,ref_ref,b_40
++R 4000,5000,ref_ref,a_50
++R 1000,3000,ref_ref,z_30
++R 3000,5000,ref_ref,b_50
++R 2000,4000,ref_ref,c_40
++R 2000,3000,ref_ref,c_30
++R 3000,3000,ref_ref,c_30
++R 4000,3000,ref_ref,c_30
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 3000,2000,ref_ref,z_20
++R 1000,7000,ref_ref,z_70
++R 3000,6000,ref_ref,a_60
++R 4000,4000,ref_ref,b_40
++S 3600,700,4200,700,600,*,LEFT,PTIE
++S 2800,2800,2800,4400,200,*,UP,POLY
++S 2600,2400,2600,2900,200,*,UP,POLY
++S 1400,2400,1400,3900,200,*,UP,POLY
++S 1600,3500,1600,5500,200,*,DOWN,POLY
++S 2400,4500,2800,4500,200,*,LEFT,POLY
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 4000,3000,4000,3000,400,c,LEFT,CALU1
++S 3000,3000,3000,3000,400,c,LEFT,CALU1
++S 1000,5700,1000,6700,600,*,UP,PDIF
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,nr3_x05,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 1200,5700,1200,9200,400,*,UP,PDIF
++S 1600,5500,1600,9400,200,1,UP,PTRANS
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 2400,5500,2400,9400,200,2,UP,PTRANS
++S 2000,5700,2000,9200,600,n2,DOWN,PDIF
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3200,5500,3200,9400,200,3,UP,PTRANS
++S 2800,5700,2800,9200,600,n1,DOWN,PDIF
++S 3200,9400,3200,9700,200,*,DOWN,POLY
++S 3800,5700,3800,9200,800,*,DOWN,PDIF
++S 3200,5100,3800,5100,200,*,RIGHT,POLY
++S 2400,4500,2400,5500,200,*,UP,POLY
++S 1400,1600,1400,2400,200,4,DOWN,NTRANS
++S 2600,1600,2600,2400,200,5,DOWN,NTRANS
++S 3800,1600,3800,2400,200,6,DOWN,NTRANS
++S 2000,900,2000,2200,600,*,UP,NDIF
++S 900,1800,900,2200,800,*,DOWN,NDIF
++S 3200,1800,3200,2200,1000,*,UP,NDIF
++S 700,2000,3300,2000,400,*,RIGHT,ALU1
++S 4400,700,4400,2100,400,*,DOWN,ALU1
++S 4400,1800,4400,2200,600,*,UP,NDIF
++S 3800,2400,3800,4600,200,*,UP,POLY
++S 2000,3000,4100,3000,400,*,LEFT,ALU1
++S 2000,2900,4100,2900,400,*,LEFT,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,2000,1000,7100,400,*,DOWN,ALU1
++S 1400,1200,1400,1600,200,*,DOWN,POLY
++S 2600,1200,2600,1600,200,*,DOWN,POLY
++S 3800,1200,3800,1600,200,*,DOWN,POLY
++S 2600,2800,2800,2800,200,*,RIGHT,POLY
++S 2600,2900,2800,2900,200,*,RIGHT,POLY
++S 2000,3000,2000,4000,400,c,UP,CALU1
++S 3000,3900,3000,5100,400,*,DOWN,ALU1
++S 3000,4000,3000,5000,400,b,UP,CALU1
++S 2900,6000,4000,6000,400,*,RIGHT,ALU1
++S 2900,6100,4000,6100,400,*,RIGHT,ALU1
++S 3000,6000,3000,6000,400,a,LEFT,CALU1
++S 4000,4800,4000,6100,400,*,UP,ALU1
++S 4000,5000,4000,6000,400,a,UP,CALU1
++S 4000,4000,4000,4000,400,b,LEFT,CALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 2000,2900,2000,4100,400,*,DOWN,ALU1
++S 3800,6900,3800,9300,400,*,UP,ALU1
++V 4200,700,CONT_BODY_P,*
++V 3500,700,CONT_BODY_P,*
++V 2000,3700,CONT_POLY,*
++V 3000,4300,CONT_POLY,*
++V 1000,6600,CONT_DIF_P,*
++V 4400,2000,CONT_DIF_N,*
++V 4000,4900,CONT_POLY,*
++V 3200,2000,CONT_DIF_N,*
++V 800,2000,CONT_DIF_N,*
++V 2000,1000,CONT_DIF_N,*
++V 1000,5800,CONT_DIF_P,*
++V 3800,8000,CONT_DIF_P,*
++V 3800,9000,CONT_DIF_P,*
++V 3800,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr3_x05.vbe b/alliance/src/cells/src/msxlib/nr3_x05.vbe
+new file mode 100644
+index 0000000..7d04efe
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr3_x05.vbe
+@@ -0,0 +1,38 @@
++ENTITY nr3_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT rdown_b_z : NATURAL := 2890;
++ CONSTANT rdown_c_z : NATURAL := 2880;
++ CONSTANT rdown_a_z : NATURAL := 2940;
++ CONSTANT rup_b_z : NATURAL := 4480;
++ CONSTANT rup_c_z : NATURAL := 4480;
++ CONSTANT rup_a_z : NATURAL := 4480;
++ CONSTANT tplh_a_z : NATURAL := 80;
++ CONSTANT tphl_c_z : NATURAL := 49;
++ CONSTANT tplh_c_z : NATURAL := 50;
++ CONSTANT tplh_b_z : NATURAL := 71;
++ CONSTANT tphl_b_z : NATURAL := 62;
++ CONSTANT tphl_a_z : NATURAL := 70;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ b : in BIT;
++ c : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr3_x05;
++
++ARCHITECTURE behaviour_data_flow OF nr3_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr3_x05"
++ SEVERITY WARNING;
++ z <= not (((b or c) or a)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr3_x1.ap b/alliance/src/cells/src/msxlib/nr3_x1.ap
+new file mode 100644
+index 0000000..5804880
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr3_x1.ap
+@@ -0,0 +1,127 @@
++V ALLIANCE : 6
++H nr3_x1,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 3000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 1000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 3000,7000,ref_ref,z_70
++R 2000,4000,ref_ref,a_40
++R 2000,3000,ref_ref,a_30
++R 6000,5000,ref_ref,a_50
++R 2000,5000,ref_ref,a_50
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 3000,4000,ref_ref,b_40
++R 3000,6000,ref_ref,a_60
++R 4000,6000,ref_ref,a_60
++R 5000,6000,ref_ref,a_60
++R 6000,6000,ref_ref,a_60
++R 5000,5000,ref_ref,b_50
++R 4000,5000,ref_ref,b_50
++R 3000,5000,ref_ref,b_50
++R 3000,3000,ref_ref,b_30
++R 1000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,a_60
++R 6000,3000,ref_ref,c_30
++R 6000,2000,ref_ref,c_20
++R 6000,4000,ref_ref,c_40
++R 5000,3000,ref_ref,c_30
++R 4000,3000,ref_ref,c_30
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 3000,6000,3000,6000,400,a,LEFT,CALU1
++S 4000,6000,4000,6000,400,a,LEFT,CALU1
++S 5000,6000,5000,6000,400,a,LEFT,CALU1
++S 5000,5000,5000,5000,400,b,LEFT,CALU1
++S 4000,5000,4000,5000,400,b,LEFT,CALU1
++S 800,5700,800,9200,800,*,DOWN,PDIF
++S 2000,2900,2000,3100,400,*,DOWN,ALU1
++S 4000,4900,4000,5000,600,*,UP,ALU1
++S 5400,5700,5400,9200,600,n3,DOWN,PDIF
++S 4600,5700,4600,9200,600,n4,DOWN,PDIF
++S 1800,5700,1800,9200,600,n1,DOWN,PDIF
++S 2600,5700,2600,9200,600,n2,DOWN,PDIF
++S 5800,5500,5800,9400,200,6,UP,PTRANS
++S 5000,5500,5000,9400,200,5,UP,PTRANS
++S 4200,5500,4200,9400,200,4,UP,PTRANS
++S 6300,5700,6300,9200,800,*,DOWN,PDIF
++S 5800,9400,5800,9700,200,*,DOWN,POLY
++S 5000,9400,5000,9700,200,*,DOWN,POLY
++S 4200,9400,4200,9700,200,*,DOWN,POLY
++S 1400,9400,1400,9700,200,*,DOWN,POLY
++S 2200,4500,2600,4500,200,*,LEFT,POLY
++S 3500,5700,3500,9200,800,*,DOWN,PDIF
++S 3000,5500,3000,9400,200,3,UP,PTRANS
++S 1400,5500,1400,9400,200,1,UP,PTRANS
++S 2200,5500,2200,9400,200,2,UP,PTRANS
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,5000,7000,5000,10000,nr3_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 3000,9400,3000,9700,200,*,DOWN,POLY
++S 2200,9400,2200,9700,200,*,DOWN,POLY
++S 3000,3000,3000,5000,400,b,UP,CALU1
++S 3000,2900,3000,5100,400,*,UP,ALU1
++S 3000,5100,4200,5100,200,*,RIGHT,POLY
++S 3000,5000,5100,5000,600,*,RIGHT,ALU1
++S 1400,3800,1400,5500,200,*,UP,POLY
++S 2200,4500,2200,5500,200,*,UP,POLY
++S 2000,3000,2000,6000,400,a,UP,CALU1
++S 2000,4100,2000,6000,400,*,UP,ALU1
++S 2000,6000,6000,6000,400,*,LEFT,ALU1
++S 6000,5000,6000,6000,400,a,UP,CALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 3600,7000,3600,8100,400,*,UP,ALU1
++S 800,7900,800,9300,400,*,UP,ALU1
++S 6400,7900,6400,9300,400,*,UP,ALU1
++S 1900,2900,1900,6000,400,*,UP,ALU1
++S 1400,3800,1800,3800,200,*,RIGHT,POLY
++S 1000,2000,3700,2000,400,*,RIGHT,ALU1
++S 1000,1900,3700,1900,400,*,RIGHT,ALU1
++S 6000,4900,6000,6000,600,*,UP,ALU1
++S 1400,900,1400,2000,400,*,DOWN,NDIF
++S 1800,700,1800,2200,200,7,DOWN,NTRANS
++S 1800,300,1800,700,200,*,UP,POLY
++S 1800,2200,1800,3600,200,*,UP,POLY
++S 3600,900,3600,2000,1000,*,UP,NDIF
++S 4200,700,4200,2200,200,9,DOWN,NTRANS
++S 3000,700,3000,2200,200,8,DOWN,NTRANS
++S 2400,900,2400,2000,600,*,UP,NDIF
++S 4900,900,4900,2000,600,*,UP,NDIF
++S 4200,2200,4200,5100,200,*,UP,POLY
++S 3000,2200,3000,4500,200,*,UP,POLY
++S 1000,7100,3600,7100,400,*,RIGHT,ALU1
++S 1000,7000,3600,7000,400,*,RIGHT,ALU1
++S 6000,2000,6000,4000,400,c,UP,CALU1
++S 4000,3000,4000,3000,400,c,LEFT,CALU1
++S 5000,3000,5000,3000,400,c,LEFT,CALU1
++S 4000,3000,6000,3000,600,*,RIGHT,ALU1
++S 4200,300,4200,700,200,*,UP,POLY
++S 3000,300,3000,700,200,*,UP,POLY
++S 4800,700,4800,1900,400,*,UP,ALU1
++S 6000,1900,6000,4100,400,*,UP,ALU1
++V 6200,700,CONT_BODY_P,*
++V 3600,7100,CONT_DIF_P,*
++V 6000,4900,CONT_POLY,*
++V 3600,8000,CONT_DIF_P,*
++V 3000,4300,CONT_POLY,*
++V 5000,4900,CONT_POLY,*
++V 2000,3600,CONT_POLY,*
++V 800,8000,CONT_DIF_P,*
++V 6400,8000,CONT_DIF_P,*
++V 800,9000,CONT_DIF_P,*
++V 6400,9000,CONT_DIF_P,*
++V 4800,1000,CONT_DIF_N,*
++V 2400,1000,CONT_DIF_N,*
++V 1200,1900,CONT_DIF_N,*
++V 3600,1900,CONT_DIF_N,*
++V 4000,3000,CONT_POLY,*
++V 4800,1800,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr3_x1.vbe b/alliance/src/cells/src/msxlib/nr3_x1.vbe
+new file mode 100644
+index 0000000..d4c2e89
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr3_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY nr3_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT cin_c : NATURAL := 9;
++ CONSTANT cin_a : NATURAL := 11;
++ CONSTANT rdown_b_z : NATURAL := 1540;
++ CONSTANT rdown_c_z : NATURAL := 1540;
++ CONSTANT rdown_a_z : NATURAL := 1570;
++ CONSTANT rup_b_z : NATURAL := 2240;
++ CONSTANT rup_c_z : NATURAL := 2230;
++ CONSTANT rup_a_z : NATURAL := 2240;
++ CONSTANT tplh_a_z : NATURAL := 78;
++ CONSTANT tphl_c_z : NATURAL := 47;
++ CONSTANT tplh_c_z : NATURAL := 45;
++ CONSTANT tplh_b_z : NATURAL := 67;
++ CONSTANT tphl_b_z : NATURAL := 62;
++ CONSTANT tphl_a_z : NATURAL := 71;
++ CONSTANT transistors : NATURAL := 9
++);
++PORT (
++ b : in BIT;
++ c : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr3_x1;
++
++ARCHITECTURE behaviour_data_flow OF nr3_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr3_x1"
++ SEVERITY WARNING;
++ z <= not (((b or c) or a)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr4_x05.ap b/alliance/src/cells/src/msxlib/nr4_x05.ap
+new file mode 100644
+index 0000000..af0a64d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr4_x05.ap
+@@ -0,0 +1,118 @@
++V ALLIANCE : 6
++H nr4_x05,P, 9/ 8/2014,100
++A 0,0,6000,10000
++R 3000,5000,ref_ref,d_50
++R 1000,6000,ref_ref,z_60
++R 3000,6000,ref_ref,d_60
++R 5000,7000,ref_ref,a_70
++R 5000,6000,ref_ref,a_60
++R 5000,4000,ref_ref,b_40
++R 2000,4000,ref_ref,d_40
++R 4000,5000,ref_ref,c_50
++R 3000,3000,ref_ref,c_30
++R 2000,7000,ref_ref,z_70
++R 4000,2000,ref_ref,z_20
++R 3000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 4000,3000,ref_ref,b_30
++R 5000,5000,ref_ref,a_50
++R 1000,3000,ref_ref,z_30
++R 1000,4000,ref_ref,z_40
++R 4000,4000,ref_ref,c_40
++R 2000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 5000,3000,ref_ref,b_30
++R 3000,4000,ref_ref,c_40
++R 2000,5000,ref_ref,d_50
++R 1000,2000,ref_ref,z_20
++R 4000,7000,ref_ref,a_70
++S 4300,700,5100,700,600,*,RIGHT,PTIE
++S 4800,4900,5000,4900,600,*,RIGHT,POLY
++S 2200,5100,2400,5100,200,*,LEFT,POLY
++S 1000,6000,2000,6000,600,*,LEFT,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 5000,5000,5000,7000,400,a,UP,CALU1
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 4000,9400,4000,9700,200,*,DOWN,POLY
++S 3200,9400,3200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 1800,1900,1800,2100,1000,*,UP,NDIF
++S 3000,900,3000,2100,600,*,UP,NDIF
++S 4200,1900,4200,2100,1000,*,UP,NDIF
++S 600,900,600,2100,600,*,UP,NDIF
++S 0,5000,6000,5000,10000,nr4_x05,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 2400,3800,2800,3800,200,*,LEFT,POLY
++S 1200,1300,1200,1900,200,*,UP,POLY
++S 2400,1300,2400,1900,200,*,UP,POLY
++S 3600,1300,3600,1900,200,*,UP,POLY
++S 4800,1300,4800,1900,200,*,UP,POLY
++S 1200,1700,1200,2300,200,5,DOWN,NTRANS
++S 2400,1700,2400,2300,200,6,DOWN,NTRANS
++S 3600,1700,3600,2300,200,7,DOWN,NTRANS
++S 4800,1700,4800,2300,200,8,DOWN,NTRANS
++S 1200,4700,2000,4700,200,*,LEFT,POLY
++S 2400,5500,2400,9400,200,1,UP,PTRANS
++S 2800,5700,2800,9200,600,n3,UP,PDIF
++S 3200,5500,3200,9400,200,2,UP,PTRANS
++S 3600,5700,3600,9200,600,n2,UP,PDIF
++S 4000,5500,4000,9400,200,3,UP,PTRANS
++S 4800,5500,4800,9400,200,4,UP,PTRANS
++S 4400,5700,4400,9200,600,n1,UP,PDIF
++S 5400,5700,5400,9200,600,*,DOWN,PDIF
++S 5400,7900,5400,9300,400,*,DOWN,ALU1
++S 1800,5900,1800,7100,600,*,UP,PDIF
++S 2000,5700,2000,9200,400,*,DOWN,PDIF
++S 5000,4900,5000,7000,600,*,DOWN,ALU1
++S 5000,3000,5000,4100,400,*,UP,ALU1
++S 5000,3000,5000,4000,400,b,UP,CALU1
++S 3900,2900,5000,2900,400,*,RIGHT,ALU1
++S 3000,3000,3000,4000,400,c,DOWN,CALU1
++S 3000,2900,3000,4000,400,*,DOWN,ALU1
++S 3000,4000,4000,4000,600,*,RIGHT,ALU1
++S 4000,4000,4000,5000,400,c,UP,CALU1
++S 4000,4000,4000,5100,400,*,UP,ALU1
++S 2000,5000,3000,5000,600,*,RIGHT,ALU1
++S 2000,3900,2000,4600,400,*,DOWN,ALU1
++S 3000,5000,3000,6100,400,*,UP,ALU1
++S 3000,5000,3000,6000,400,d,UP,CALU1
++S 3200,4000,3200,5500,200,*,DOWN,POLY
++S 4000,3200,4000,5500,200,*,DOWN,POLY
++S 3600,2300,3600,3200,200,*,UP,POLY
++S 4800,2300,4800,5500,200,*,DOWN,POLY
++S 2400,2300,2400,3800,200,*,DOWN,POLY
++S 1200,2300,1200,4700,200,*,DOWN,POLY
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++S 1000,2000,1000,6000,400,*,DOWN,ALU1
++S 1000,2000,4300,2000,400,*,RIGHT,ALU1
++S 5400,700,5400,2100,400,*,DOWN,ALU1
++S 1000,1900,4300,1900,400,*,RIGHT,ALU1
++S 3900,7000,5000,7000,400,*,RIGHT,ALU1
++S 1900,5900,1900,7100,600,*,DOWN,ALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 4000,2000,4000,2000,400,z,LEFT,CALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 2000,4000,2000,5000,400,d,DOWN,CALU1
++S 4000,3000,4000,3000,400,b,LEFT,CALU1
++S 4000,7000,4000,7000,400,a,LEFT,CALU1
++V 700,9300,CONT_BODY_N,*
++V 5200,700,CONT_BODY_P,*
++V 4200,700,CONT_BODY_P,*
++V 4000,3000,CONT_POLY,*
++V 600,1000,CONT_DIF_N,*
++V 3000,1000,CONT_DIF_N,*
++V 1800,2000,CONT_DIF_N,*
++V 4200,2000,CONT_DIF_N,*
++V 1800,7000,CONT_DIF_P,*
++V 1800,6000,CONT_DIF_P,*
++V 3200,4000,CONT_POLY,*
++V 5400,8000,CONT_DIF_P,*
++V 5400,9000,CONT_DIF_P,*
++V 5000,4900,CONT_POLY,*
++V 2200,4900,CONT_POLY,*
++V 5400,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr4_x05.vbe b/alliance/src/cells/src/msxlib/nr4_x05.vbe
+new file mode 100644
+index 0000000..d7f5ce1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr4_x05.vbe
+@@ -0,0 +1,44 @@
++ENTITY nr4_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT cin_d : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT rdown_c_z : NATURAL := 3840;
++ CONSTANT rdown_d_z : NATURAL := 3840;
++ CONSTANT rdown_b_z : NATURAL := 3910;
++ CONSTANT rdown_a_z : NATURAL := 4010;
++ CONSTANT rup_c_z : NATURAL := 5980;
++ CONSTANT rup_d_z : NATURAL := 5980;
++ CONSTANT rup_b_z : NATURAL := 5980;
++ CONSTANT rup_a_z : NATURAL := 5980;
++ CONSTANT tphl_d_z : NATURAL := 58;
++ CONSTANT tplh_a_z : NATURAL := 117;
++ CONSTANT tplh_d_z : NATURAL := 52;
++ CONSTANT tphl_c_z : NATURAL := 77;
++ CONSTANT tplh_b_z : NATURAL := 107;
++ CONSTANT tplh_c_z : NATURAL := 86;
++ CONSTANT tphl_b_z : NATURAL := 90;
++ CONSTANT tphl_a_z : NATURAL := 97;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ c : in BIT;
++ d : in BIT;
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr4_x05;
++
++ARCHITECTURE behaviour_data_flow OF nr4_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr4_x05"
++ SEVERITY WARNING;
++ z <= not ((((c or d) or b) or a)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/nr4_x1.ap b/alliance/src/cells/src/msxlib/nr4_x1.ap
+new file mode 100644
+index 0000000..583cb7d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr4_x1.ap
+@@ -0,0 +1,170 @@
++V ALLIANCE : 6
++H nr4_x1,P, 9/ 8/2014,100
++A 0,0,9000,10000
++R 7000,5000,ref_ref,d_50
++R 7000,7000,ref_ref,d_70
++R 7000,6000,ref_ref,d_60
++R 2000,2000,ref_ref,z_20
++R 7000,4000,ref_ref,b_40
++R 7000,3000,ref_ref,b_30
++R 5000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,a_60
++R 3000,5000,ref_ref,a_50
++R 5000,7000,ref_ref,z_70
++R 4000,7000,ref_ref,z_70
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,z_60
++R 7000,8000,ref_ref,d_80
++R 6000,8000,ref_ref,d_80
++R 5000,8000,ref_ref,d_80
++R 4000,8000,ref_ref,d_80
++R 3000,8000,ref_ref,d_80
++R 2000,8000,ref_ref,d_80
++R 1000,8000,ref_ref,d_80
++R 1000,7000,ref_ref,d_70
++R 4000,3000,ref_ref,b_30
++R 3000,3000,ref_ref,b_30
++R 4000,5000,ref_ref,a_50
++R 6000,4000,ref_ref,c_40
++R 6000,3000,ref_ref,b_30
++R 1000,5000,ref_ref,d_50
++R 4000,2000,ref_ref,z_20
++R 3000,2000,ref_ref,z_20
++R 4000,4000,ref_ref,c_40
++R 5000,3000,ref_ref,b_30
++R 5000,4000,ref_ref,c_40
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,d_60
++R 8000,5000,ref_ref,d_50
++R 3000,4000,ref_ref,a_40
++R 6000,5000,ref_ref,c_50
++R 6000,6000,ref_ref,c_60
++R 7000,2000,ref_ref,b_20
++R 5000,6000,ref_ref,z_60
++S 7100,700,7900,700,600,*,RIGHT,PTIE
++S 7100,4900,7100,8000,400,*,UP,ALU1
++S 7000,4900,7000,8000,400,*,UP,ALU1
++S 900,4800,900,8000,400,*,DOWN,ALU1
++S 8400,6900,8400,9300,400,*,DOWN,ALU1
++S 7000,4900,8100,4900,400,*,RIGHT,ALU1
++S 7000,5000,8100,5000,400,*,RIGHT,ALU1
++S 1000,8000,7000,8000,400,*,LEFT,ALU1
++S 5000,900,5000,1300,200,*,UP,POLY
++S 3800,900,3800,1300,200,*,UP,POLY
++S 2000,1900,4500,1900,400,*,RIGHT,ALU1
++S 2000,2000,4500,2000,400,*,RIGHT,ALU1
++S 2000,2000,2000,7000,400,*,DOWN,ALU1
++S 2000,2000,2000,7000,400,z,DOWN,CALU1
++S 7000,1900,7000,4100,400,*,DOWN,ALU1
++S 7000,2000,7000,4000,400,b,DOWN,CALU1
++S 5000,2400,5000,5100,200,*,UP,POLY
++S 4200,5100,5400,5100,200,*,RIGHT,POLY
++S 3900,4000,6000,4000,400,*,LEFT,ALU1
++S 3900,3900,6000,3900,400,*,LEFT,ALU1
++S 5000,1300,5000,2400,200,12,DOWN,NTRANS
++S 4400,1500,4400,2200,1000,*,UP,NDIF
++S 3800,2400,3800,3900,200,*,UP,POLY
++S 3800,1300,3800,2400,200,11,DOWN,NTRANS
++S 3200,900,3200,2200,600,*,UP,NDIF
++S 2600,900,2600,1300,200,*,UP,POLY
++S 1400,900,1400,1300,200,*,UP,POLY
++S 2600,2400,2600,5500,200,*,DOWN,POLY
++S 2600,1300,2600,2400,200,10,DOWN,NTRANS
++S 2000,1500,2000,2200,1000,*,UP,NDIF
++S 1400,1300,1400,2400,200,9,DOWN,NTRANS
++S 7000,3200,7000,5500,200,*,DOWN,POLY
++S 6200,4200,6200,5500,200,*,DOWN,POLY
++S 6000,4000,6000,6000,400,c,UP,CALU1
++S 6000,4000,6000,6100,400,*,UP,ALU1
++S 3000,3900,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,a,DOWN,CALU1
++S 3400,4100,3400,5500,200,*,DOWN,POLY
++S 3400,4100,4200,4100,200,*,RIGHT,POLY
++S 1000,4800,1000,8000,400,*,DOWN,ALU1
++S 1000,5000,1000,8000,400,d,UP,CALU1
++S 1200,5700,1200,9200,600,*,UP,PDIF
++S 8400,5700,8400,9200,600,*,DOWN,PDIF
++S 7800,5500,7800,9400,200,08,UP,PTRANS
++S 7400,5700,7400,9200,600,n4,UP,PDIF
++S 7000,5500,7000,9400,200,07,UP,PTRANS
++S 6600,5700,6600,9200,600,n5,UP,PDIF
++S 6200,5500,6200,9400,200,06,UP,PTRANS
++S 5800,5700,5800,9200,600,n6,UP,PDIF
++S 4800,5700,4800,9200,600,*,DOWN,PDIF
++S 5400,5500,5400,9400,200,05,UP,PTRANS
++S 4200,5500,4200,9400,200,04,UP,PTRANS
++S 3800,5700,3800,9200,600,n3,UP,PDIF
++S 3400,5500,3400,9400,200,03,UP,PTRANS
++S 3000,5700,3000,9200,600,n2,UP,PDIF
++S 2600,5500,2600,9400,200,02,UP,PTRANS
++S 2200,5700,2200,9200,600,n1,UP,PDIF
++S 1800,5500,1800,9400,200,01,UP,PTRANS
++S 0,5000,9000,5000,10000,nr4_x1,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 4200,9400,4200,9700,200,*,DOWN,POLY
++S 3400,9400,3400,9700,200,*,DOWN,POLY
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 1800,9400,1800,9700,200,*,DOWN,POLY
++S 5400,9400,5400,9700,200,*,DOWN,POLY
++S 6200,9400,6200,9700,200,*,DOWN,POLY
++S 7000,9400,7000,9700,200,*,DOWN,POLY
++S 7800,9400,7800,9700,200,*,DOWN,POLY
++S 2900,3000,7000,3000,400,*,RIGHT,ALU1
++S 800,700,800,2100,400,*,DOWN,ALU1
++S 700,1500,700,2200,600,*,UP,NDIF
++S 5600,700,5600,2100,400,*,DOWN,ALU1
++S 5700,1500,5700,2200,600,*,UP,NDIF
++S 2000,7000,5000,7000,400,*,LEFT,ALU1
++S 2000,7100,5000,7100,400,*,LEFT,ALU1
++S 4900,5900,4900,7000,600,*,UP,ALU1
++S 2000,8000,2000,8000,400,d,LEFT,CALU1
++S 3000,8000,3000,8000,400,d,LEFT,CALU1
++S 4000,8000,4000,8000,400,d,LEFT,CALU1
++S 5000,8000,5000,8000,400,d,LEFT,CALU1
++S 6000,8000,6000,8000,400,d,LEFT,CALU1
++S 8000,5000,8000,5000,400,d,LEFT,CALU1
++S 7000,5000,7000,8000,400,d,DOWN,CALU1
++S 1400,2400,1400,5100,200,*,DOWN,POLY
++S 1400,5100,1800,5100,200,*,LEFT,POLY
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 4000,7000,4000,7000,400,z,LEFT,CALU1
++S 4000,2000,4000,2000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 5000,6000,5000,7000,400,z,DOWN,CALU1
++S 6000,3000,6000,3000,400,b,LEFT,CALU1
++S 5000,3000,5000,3000,400,b,LEFT,CALU1
++S 4000,3000,4000,3000,400,b,LEFT,CALU1
++S 3000,3000,3000,3000,400,b,LEFT,CALU1
++S 4000,4000,4000,4000,400,c,LEFT,CALU1
++S 5000,4000,5000,4000,400,c,LEFT,CALU1
++S 4000,5000,4000,5000,400,a,LEFT,CALU1
++S 5000,5000,5000,5000,400,a,LEFT,CALU1
++S 3000,4900,5100,4900,400,*,RIGHT,ALU1
++S 3000,5000,5100,5000,400,*,RIGHT,ALU1
++V 8000,700,CONT_BODY_P,*
++V 7000,700,CONT_BODY_P,*
++V 8400,7000,CONT_DIF_P,*
++V 8400,8000,CONT_DIF_P,*
++V 4800,6000,CONT_DIF_P,*
++V 4800,4900,CONT_POLY,*
++V 6000,4000,CONT_POLY,*
++V 4400,2000,CONT_DIF_N,*
++V 4000,3900,CONT_POLY,*
++V 3200,1000,CONT_DIF_N,*
++V 3000,3000,CONT_POLY,*
++V 2000,2000,CONT_DIF_N,*
++V 4800,7000,CONT_DIF_P,*
++V 8400,9000,CONT_DIF_P,*
++V 1200,9000,CONT_DIF_P,*
++V 1000,4900,CONT_POLY,*
++V 8000,4900,CONT_POLY,*
++V 6800,3000,CONT_POLY,*
++V 800,2000,CONT_DIF_N,*
++V 5600,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/nr4_x1.vbe b/alliance/src/cells/src/msxlib/nr4_x1.vbe
+new file mode 100644
+index 0000000..126605b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/nr4_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY nr4_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_c : NATURAL := 9;
++ CONSTANT cin_d : NATURAL := 11;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT cin_a : NATURAL := 9;
++ CONSTANT rdown_c_z : NATURAL := 2100;
++ CONSTANT rdown_d_z : NATURAL := 2180;
++ CONSTANT rdown_b_z : NATURAL := 2130;
++ CONSTANT rdown_a_z : NATURAL := 2100;
++ CONSTANT rup_c_z : NATURAL := 2990;
++ CONSTANT rup_d_z : NATURAL := 3000;
++ CONSTANT rup_b_z : NATURAL := 2990;
++ CONSTANT rup_a_z : NATURAL := 2990;
++ CONSTANT tphl_d_z : NATURAL := 102;
++ CONSTANT tplh_a_z : NATURAL := 46;
++ CONSTANT tplh_d_z : NATURAL := 112;
++ CONSTANT tphl_c_z : NATURAL := 78;
++ CONSTANT tplh_b_z : NATURAL := 102;
++ CONSTANT tplh_c_z : NATURAL := 80;
++ CONSTANT tphl_b_z : NATURAL := 92;
++ CONSTANT tphl_a_z : NATURAL := 57;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ c : in BIT;
++ d : in BIT;
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END nr4_x1;
++
++ARCHITECTURE behaviour_data_flow OF nr4_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on nr4_x1"
++ SEVERITY WARNING;
++ z <= not ((((c or d) or b) or a)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oai21_x05.ap b/alliance/src/cells/src/msxlib/oai21_x05.ap
+new file mode 100644
+index 0000000..62ae640
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai21_x05.ap
+@@ -0,0 +1,96 @@
++V ALLIANCE : 6
++H oai21_x05,P, 9/ 8/2014,100
++A 0,0,5000,10000
++R 1000,2000,ref_ref,z_20
++R 3000,7000,ref_ref,a1_70
++R 3000,4000,ref_ref,a2_40
++R 2000,3000,ref_ref,b_30
++R 3000,3000,ref_ref,b_30
++R 2000,4000,ref_ref,b_40
++R 4000,5000,ref_ref,a1_50
++R 3000,5000,ref_ref,a2_50
++R 1000,3000,ref_ref,z_30
++R 2000,5000,ref_ref,b_50
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 4000,4000,ref_ref,a2_40
++R 3000,6000,ref_ref,a2_60
++R 4000,6000,ref_ref,a1_60
++R 4000,7000,ref_ref,a1_70
++R 2000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 4000,7900,4000,9300,400,*,UP,ALU1
++S 800,6900,800,9300,400,*,UP,ALU1
++S 3800,1300,3800,1700,200,*,DOWN,POLY
++S 2600,1300,2600,1700,200,*,DOWN,POLY
++S 1400,1300,1400,1700,200,*,DOWN,POLY
++S 3800,2700,3800,4800,200,*,UP,POLY
++S 2900,7100,4000,7100,400,*,LEFT,ALU1
++S 2900,7000,4000,7000,400,*,LEFT,ALU1
++S 2000,3000,2000,5000,400,b,DOWN,CALU1
++S 2000,2900,2000,5100,400,*,DOWN,ALU1
++S 2000,2900,3100,2900,400,*,RIGHT,ALU1
++S 2000,3000,3100,3000,400,*,RIGHT,ALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,oai21_x05,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 1900,2000,4500,2000,400,*,RIGHT,ALU1
++S 700,2000,1000,2000,600,*,RIGHT,ALU1
++S 1800,1900,1800,2500,400,*,DOWN,NDIF
++S 1400,1700,1400,2700,200,6,UP,NTRANS
++S 1000,1900,1000,2500,400,*,UP,NDIF
++S 2000,1900,2000,2500,1000,*,DOWN,NDIF
++S 2600,1700,2600,2700,200,5,UP,NTRANS
++S 4200,1900,4200,2500,400,*,UP,NDIF
++S 3800,1700,3800,2700,200,4,UP,NTRANS
++S 3200,900,3200,2500,600,*,UP,NDIF
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 4000,5000,4000,7000,400,a1,UP,CALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,3000,6000,400,a2,DOWN,CALU1
++S 3000,4000,3000,6100,400,*,UP,ALU1
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++S 1000,2000,1000,6000,400,*,DOWN,ALU1
++S 1400,7300,1400,7700,200,*,DOWN,POLY
++S 1400,6100,1400,7300,200,3,DOWN,PTRANS
++S 2000,6300,2000,7100,600,*,UP,PDIF
++S 800,6300,800,7100,600,*,DOWN,PDIF
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 2000,6000,2000,7100,400,*,UP,ALU1
++S 3400,6100,3400,8400,200,1,DOWN,PTRANS
++S 3000,6300,3000,8200,400,n1,UP,PDIF
++S 2600,6100,2600,8400,200,2,DOWN,PTRANS
++S 2200,6300,2200,8200,400,*,DOWN,PDIF
++S 4000,6300,4000,8200,600,*,DOWN,PDIF
++S 3400,8400,3400,8800,200,*,DOWN,POLY
++S 2600,8400,2600,8800,200,*,DOWN,POLY
++S 1400,2700,1400,6100,200,*,UP,POLY
++S 2600,2700,2600,6100,200,*,UP,POLY
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 3400,5200,3800,5200,200,*,RIGHT,POLY
++S 3400,5200,3400,6100,200,*,DOWN,POLY
++S 4000,4900,4000,7000,400,*,UP,ALU1
++S 1800,5000,2000,5000,600,*,RIGHT,ALU1
++S 3000,3000,3000,3000,400,b,LEFT,CALU1
++S 4000,4000,4000,4000,400,a2,LEFT,CALU1
++S 3000,7000,3000,7000,400,a1,LEFT,CALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 4000,8000,CONT_DIF_P,*
++V 800,7000,CONT_DIF_P,*
++V 3200,1000,CONT_DIF_N,*
++V 4400,2000,CONT_DIF_N,n2
++V 2000,2000,CONT_DIF_N,n2
++V 800,2000,CONT_DIF_N,*
++V 2000,7000,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 3000,4000,CONT_POLY,*
++V 1800,5000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oai21_x05.vbe b/alliance/src/cells/src/msxlib/oai21_x05.vbe
+new file mode 100644
+index 0000000..ec2c4e0
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai21_x05.vbe
+@@ -0,0 +1,38 @@
++ENTITY oai21_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a1 : NATURAL := 4;
++ CONSTANT cin_a2 : NATURAL := 4;
++ CONSTANT cin_b : NATURAL := 3;
++ CONSTANT rdown_a1_z : NATURAL := 3700;
++ CONSTANT rdown_a2_z : NATURAL := 3700;
++ CONSTANT rdown_b_z : NATURAL := 3420;
++ CONSTANT rup_a1_z : NATURAL := 5060;
++ CONSTANT rup_a2_z : NATURAL := 5060;
++ CONSTANT rup_b_z : NATURAL := 4960;
++ CONSTANT tphl_b_z : NATURAL := 42;
++ CONSTANT tphl_a2_z : NATURAL := 47;
++ CONSTANT tplh_a1_z : NATURAL := 72;
++ CONSTANT tplh_b_z : NATURAL := 50;
++ CONSTANT tplh_a2_z : NATURAL := 62;
++ CONSTANT tphl_a1_z : NATURAL := 57;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oai21_x05;
++
++ARCHITECTURE behaviour_data_flow OF oai21_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oai21_x05"
++ SEVERITY WARNING;
++ z <= not (((a1 or a2) and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oai21_x1.ap b/alliance/src/cells/src/msxlib/oai21_x1.ap
+new file mode 100644
+index 0000000..4cd76d4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai21_x1.ap
+@@ -0,0 +1,100 @@
++V ALLIANCE : 6
++H oai21_x1,P, 9/ 8/2014,100
++A 0,0,5000,10000
++R 1000,2000,ref_ref,z_20
++R 4000,4000,ref_ref,a2_40
++R 3000,4000,ref_ref,a2_40
++R 4000,6000,ref_ref,a1_60
++R 4000,7000,ref_ref,a1_70
++R 3000,7000,ref_ref,a1_70
++R 2000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 2000,3000,ref_ref,b_30
++R 3000,3000,ref_ref,b_30
++R 2000,4000,ref_ref,b_40
++R 3000,6000,ref_ref,a2_60
++R 4000,5000,ref_ref,a1_50
++R 3000,5000,ref_ref,a2_50
++R 1000,3000,ref_ref,z_30
++R 2000,5000,ref_ref,b_50
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1800,4000,2000,4000,600,*,RIGHT,ALU1
++S 3800,3300,3800,4800,200,*,UP,POLY
++S 2600,3300,2600,5500,200,*,UP,POLY
++S 1400,3300,1400,5500,200,*,UP,POLY
++S 1000,1800,1000,3100,400,*,UP,NDIF
++S 800,2300,800,2900,600,*,UP,NDIF
++S 3200,900,3200,3100,600,*,UP,NDIF
++S 3800,1600,3800,3300,200,4,UP,NTRANS
++S 4200,1800,4200,3100,400,*,UP,NDIF
++S 1400,1600,1400,3300,200,6,UP,NTRANS
++S 2600,1600,2600,3300,200,5,UP,NTRANS
++S 2000,1800,2000,3100,600,*,DOWN,NDIF
++S 1400,1200,1400,1600,200,*,UP,POLY
++S 2600,1200,2600,1600,200,*,UP,POLY
++S 3800,1200,3800,1600,200,*,UP,POLY
++S 4400,2300,4400,2900,600,*,UP,NDIF
++S 4400,2000,4400,3100,400,*,UP,ALU1
++S 1900,2000,4400,2000,400,*,RIGHT,ALU1
++S 3000,3000,3000,3000,400,b,LEFT,CALU1
++S 4000,4000,4000,4000,400,a2,LEFT,CALU1
++S 3000,7000,3000,7000,400,a1,LEFT,CALU1
++S 1000,2000,1000,6000,400,*,DOWN,ALU1
++S 1000,2000,1000,6000,400,z,DOWN,CALU1
++S 3400,5100,3900,5100,200,*,RIGHT,POLY
++S 3400,5100,3400,5500,200,*,DOWN,POLY
++S 3000,4000,3000,6100,400,*,UP,ALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 3000,4000,3000,6000,400,a2,DOWN,CALU1
++S 2900,7100,4000,7100,400,*,RIGHT,ALU1
++S 4000,4800,4000,7000,400,*,UP,ALU1
++S 4000,5000,4000,7000,400,a1,UP,CALU1
++S 2900,7000,4000,7000,400,*,RIGHT,ALU1
++S 800,5700,800,7300,600,*,DOWN,PDIF
++S 800,6900,800,9300,400,*,UP,ALU1
++S 1000,6000,2000,6000,600,*,RIGHT,ALU1
++S 2000,6000,2000,7100,400,*,UP,ALU1
++S 2000,6000,2000,7000,400,z,UP,CALU1
++S 1400,7500,1400,7900,200,*,DOWN,POLY
++S 4000,7900,4000,9300,400,*,UP,ALU1
++S 2000,5700,2000,7300,1000,*,UP,PDIF
++S 1400,5500,1400,7500,200,3,DOWN,PTRANS
++S 2000,2900,3100,2900,400,*,RIGHT,ALU1
++S 2000,3000,2000,5100,400,*,DOWN,ALU1
++S 2000,3000,3100,3000,400,*,RIGHT,ALU1
++S 2000,3000,2000,5000,400,b,DOWN,CALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,oai21_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 3100,5700,3100,9200,400,n1,UP,PDIF
++S 3400,5500,3400,9400,200,1,DOWN,PTRANS
++S 2600,5500,2600,9400,200,2,DOWN,PTRANS
++S 2200,5700,2200,9200,400,*,DOWN,PDIF
++S 4000,5700,4000,9200,600,*,DOWN,PDIF
++S 3400,9400,3400,9700,200,*,DOWN,POLY
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 900,1900,900,3100,600,*,DOWN,ALU1
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1800,4000,CONT_POLY,*
++V 3000,4000,CONT_POLY,*
++V 800,2200,CONT_DIF_N,*
++V 800,3000,CONT_DIF_N,*
++V 2000,2000,CONT_DIF_N,n2
++V 4400,2200,CONT_DIF_N,n2
++V 4400,3000,CONT_DIF_N,n2
++V 800,7000,CONT_DIF_P,*
++V 2000,6800,CONT_DIF_P,*
++V 2000,6000,CONT_DIF_P,*
++V 4000,9000,CONT_DIF_P,*
++V 4000,8000,CONT_DIF_P,*
++V 3200,1000,CONT_DIF_N,*
++V 4000,4900,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oai21_x1.vbe b/alliance/src/cells/src/msxlib/oai21_x1.vbe
+new file mode 100644
+index 0000000..5ab3443
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai21_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY oai21_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT cin_a2 : NATURAL := 6;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT rdown_a1_z : NATURAL := 2170;
++ CONSTANT rdown_a2_z : NATURAL := 2170;
++ CONSTANT rdown_b_z : NATURAL := 2010;
++ CONSTANT rup_a1_z : NATURAL := 2980;
++ CONSTANT rup_a2_z : NATURAL := 2980;
++ CONSTANT rup_b_z : NATURAL := 2970;
++ CONSTANT tphl_b_z : NATURAL := 41;
++ CONSTANT tphl_a2_z : NATURAL := 45;
++ CONSTANT tplh_a1_z : NATURAL := 69;
++ CONSTANT tplh_b_z : NATURAL := 49;
++ CONSTANT tplh_a2_z : NATURAL := 60;
++ CONSTANT tphl_a1_z : NATURAL := 55;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oai21_x1;
++
++ARCHITECTURE behaviour_data_flow OF oai21_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oai21_x1"
++ SEVERITY WARNING;
++ z <= not (((a1 or a2) and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oai21_x2.ap b/alliance/src/cells/src/msxlib/oai21_x2.ap
+new file mode 100644
+index 0000000..3fbf730
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai21_x2.ap
+@@ -0,0 +1,123 @@
++V ALLIANCE : 6
++H oai21_x2,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 6000,4000,ref_ref,a1_40
++R 6000,6000,ref_ref,a1_60
++R 2000,4000,ref_ref,b_40
++R 5000,4000,ref_ref,a1_40
++R 5000,7000,ref_ref,a2_70
++R 4000,8000,ref_ref,z_80
++R 4000,7000,ref_ref,z_70
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 5000,6000,ref_ref,a2_60
++R 6000,5000,ref_ref,a1_50
++R 4000,5000,ref_ref,a2_50
++R 4000,4000,ref_ref,a1_40
++R 1000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,b_50
++R 1000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,a2_60
++R 3000,4000,ref_ref,a1_40
++R 2000,6000,ref_ref,b_60
++R 3000,6000,ref_ref,b_60
++S 5100,700,5900,700,600,*,RIGHT,PTIE
++S 5600,4800,5600,5600,200,*,DOWN,POLY
++S 5000,4000,5000,4000,400,a1,LEFT,CALU1
++S 6100,4000,6100,6100,400,*,UP,ALU1
++S 2900,4000,6000,4000,400,*,RIGHT,ALU1
++S 6000,4000,6000,6000,400,a1,UP,CALU1
++S 6000,4000,6000,6100,400,*,UP,ALU1
++S 4000,4000,4000,4000,400,a1,LEFT,CALU1
++S 3000,4000,3000,4000,400,a1,LEFT,CALU1
++S 3000,6000,3000,6000,400,b,LEFT,CALU1
++S 4000,7000,4000,8000,400,z,UP,CALU1
++S 3000,7000,3000,7000,400,z,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 5600,9400,5600,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 2800,9400,2800,9700,200,*,DOWN,POLY
++S 1600,9400,1600,9700,200,*,DOWN,POLY
++S 1600,300,1600,700,200,*,UP,POLY
++S 1600,5600,1600,9400,200,5,DOWN,PTRANS
++S 1200,5800,1200,9200,400,*,UP,PDIF
++S 2200,5800,2200,9200,600,*,DOWN,PDIF
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,5000,7000,5000,10000,oai21_x2,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 2200,7900,2200,9300,400,*,DOWN,ALU1
++S 6200,7900,6200,9300,400,*,DOWN,ALU1
++S 1000,6000,1000,6800,600,*,UP,PDIF
++S 1000,7000,4000,7000,600,*,RIGHT,ALU1
++S 4100,6900,4100,8100,600,*,UP,ALU1
++S 4000,6000,5000,6000,600,*,RIGHT,ALU1
++S 4000,5000,4000,6000,400,a2,DOWN,CALU1
++S 4000,4900,4000,6000,400,*,UP,ALU1
++S 5000,6000,5000,7000,400,a2,UP,CALU1
++S 5000,6000,5000,7100,400,*,UP,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 3200,5800,3200,9200,600,n2,DOWN,PDIF
++S 3600,5600,3600,9400,200,4,DOWN,PTRANS
++S 2800,5600,2800,9400,200,3,DOWN,PTRANS
++S 4800,5600,4800,9400,200,2,DOWN,PTRANS
++S 4200,5800,4200,9200,1000,*,UP,PDIF
++S 6200,5800,6200,9200,800,*,DOWN,PDIF
++S 5600,5600,5600,9400,200,1,DOWN,PTRANS
++S 5200,5800,5200,9200,600,n1,UP,PDIF
++S 3600,5200,4800,5200,200,*,RIGHT,POLY
++S 2800,300,2800,700,200,*,UP,POLY
++S 1200,800,1200,3600,400,*,UP,NDIF
++S 1000,2600,1000,3400,600,*,UP,NDIF
++S 2200,800,2200,3600,600,*,UP,NDIF
++S 3400,800,3400,3600,600,*,UP,NDIF
++S 5200,2200,5200,3800,200,6,UP,NTRANS
++S 4600,2400,4600,3600,600,*,UP,NDIF
++S 4000,1800,4000,2200,200,*,UP,POLY
++S 5200,1800,5200,2200,200,*,UP,POLY
++S 5800,700,5800,3100,400,*,DOWN,ALU1
++S 5900,2400,5900,3600,600,*,UP,NDIF
++S 2000,6000,3100,6000,400,*,RIGHT,ALU1
++S 2000,6100,3100,6100,400,*,RIGHT,ALU1
++S 2000,4000,2000,6000,400,b,DOWN,CALU1
++S 2000,3900,2000,6000,400,*,DOWN,ALU1
++S 3000,4000,3000,4500,600,*,UP,ALU1
++S 2200,3000,4700,3000,400,*,RIGHT,ALU1
++S 2200,2000,2200,3000,600,*,DOWN,ALU1
++S 4000,4200,5200,4200,200,*,LEFT,POLY
++S 3400,700,3400,2100,400,*,UP,ALU1
++S 4100,4200,4100,4800,400,*,DOWN,POLY
++S 4000,2200,4000,3800,200,7,UP,NTRANS
++S 2800,600,2800,3800,200,8,UP,NTRANS
++S 1600,600,1600,3800,200,9,UP,NTRANS
++S 1600,3800,1600,5300,200,*,UP,POLY
++S 2800,4400,2800,5600,200,*,UP,POLY
++S 1000,2600,1000,7000,400,*,DOWN,ALU1
++V 6000,700,CONT_BODY_P,*
++V 5000,700,CONT_BODY_P,*
++V 6000,5000,CONT_POLY,*
++V 4200,8000,CONT_DIF_P,*
++V 2200,2000,CONT_DIF_N,n3
++V 2200,9000,CONT_DIF_P,*
++V 6200,9000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 6200,8000,CONT_DIF_P,*
++V 1000,5900,CONT_DIF_P,*
++V 1000,6700,CONT_DIF_P,*
++V 4200,7000,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 3400,1000,CONT_DIF_N,*
++V 1000,3500,CONT_DIF_N,*
++V 1000,2700,CONT_DIF_N,*
++V 4600,3000,CONT_DIF_N,n3
++V 5800,3000,CONT_DIF_N,*
++V 3000,4400,CONT_POLY,*
++V 2000,5000,CONT_POLY,*
++V 2200,3000,CONT_DIF_N,n3
++V 3400,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oai21_x2.vbe b/alliance/src/cells/src/msxlib/oai21_x2.vbe
+new file mode 100644
+index 0000000..a55d6ec
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai21_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY oai21_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a1 : NATURAL := 12;
++ CONSTANT cin_a2 : NATURAL := 11;
++ CONSTANT cin_b : NATURAL := 8;
++ CONSTANT rdown_a1_z : NATURAL := 1150;
++ CONSTANT rdown_a2_z : NATURAL := 1150;
++ CONSTANT rdown_b_z : NATURAL := 1060;
++ CONSTANT rup_a1_z : NATURAL := 1530;
++ CONSTANT rup_a2_z : NATURAL := 1530;
++ CONSTANT rup_b_z : NATURAL := 1560;
++ CONSTANT tphl_b_z : NATURAL := 41;
++ CONSTANT tphl_a2_z : NATURAL := 44;
++ CONSTANT tplh_a1_z : NATURAL := 66;
++ CONSTANT tplh_b_z : NATURAL := 48;
++ CONSTANT tplh_a2_z : NATURAL := 57;
++ CONSTANT tphl_a1_z : NATURAL := 54;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oai21_x2;
++
++ARCHITECTURE behaviour_data_flow OF oai21_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oai21_x2"
++ SEVERITY WARNING;
++ z <= not (((a1 or a2) and b)) after 900 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oai22_x05.ap b/alliance/src/cells/src/msxlib/oai22_x05.ap
+new file mode 100644
+index 0000000..81b196c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai22_x05.ap
+@@ -0,0 +1,124 @@
++V ALLIANCE : 6
++H oai22_x05,P, 9/ 8/2014,100
++A 0,0,6000,10000
++R 5000,4000,ref_ref,a2_40
++R 2000,4000,ref_ref,z_40
++R 3000,4000,ref_ref,b2_40
++R 4000,4000,ref_ref,b2_40
++R 2000,5000,ref_ref,b1_50
++R 2000,6000,ref_ref,b1_60
++R 3000,7000,ref_ref,b1_70
++R 3000,5000,ref_ref,b2_50
++R 4000,5000,ref_ref,a2_50
++R 5000,6000,ref_ref,a1_60
++R 4000,7000,ref_ref,a1_70
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 1000,7000,ref_ref,z_70
++R 3000,8000,ref_ref,z_80
++R 2000,8000,ref_ref,z_80
++R 2000,3000,ref_ref,z_30
++R 5000,7000,ref_ref,a1_70
++R 4000,8000,ref_ref,a1_80
++R 4000,6000,ref_ref,a2_60
++R 5000,5000,ref_ref,a2_50
++R 1000,8000,ref_ref,z_80
++R 2000,7000,ref_ref,b1_70
++R 3000,6000,ref_ref,b2_60
++S 4100,9300,4900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 5000,4000,5000,5000,400,a2,DOWN,CALU1
++S 3000,4000,4000,4000,600,*,RIGHT,ALU1
++S 1000,4000,2000,4000,600,*,RIGHT,ALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,5000,6000,5000,10000,oai22_x05,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 5200,7900,5200,9300,400,*,UP,ALU1
++S 4600,6500,4600,8500,200,1,DOWN,PTRANS
++S 3800,6500,3800,8500,200,2,DOWN,PTRANS
++S 4200,6700,4200,8300,600,n1,UP,PDIF
++S 3200,6700,3200,8300,1000,*,UP,PDIF
++S 2600,6500,2600,8500,200,4,DOWN,PTRANS
++S 1800,6500,1800,8500,200,3,DOWN,PTRANS
++S 2200,6700,2200,8300,600,n2,UP,PDIF
++S 4000,7000,4000,8000,400,a1,UP,CALU1
++S 4000,7000,4000,8100,400,*,UP,ALU1
++S 4000,7000,5000,7000,600,*,RIGHT,ALU1
++S 5000,6000,5000,7000,400,a1,UP,CALU1
++S 5000,5800,5000,7000,400,*,UP,ALU1
++S 5000,3900,5000,5000,400,*,DOWN,ALU1
++S 4000,5000,5000,5000,400,*,RIGHT,ALU1
++S 5100,3900,5100,5000,400,*,DOWN,ALU1
++S 4000,5000,4000,6000,400,a2,UP,CALU1
++S 4000,5000,4000,6100,400,*,UP,ALU1
++S 4000,4900,5000,4900,400,*,RIGHT,ALU1
++S 4600,6000,4600,6500,200,*,DOWN,POLY
++S 5200,2900,5200,3400,400,*,DOWN,NDIF
++S 4800,2700,4800,3600,200,5,UP,NTRANS
++S 3000,2900,3000,3400,1000,*,UP,NDIF
++S 3600,2700,3600,3600,200,6,UP,NTRANS
++S 1800,2900,1800,3400,1000,*,UP,NDIF
++S 2400,2700,2400,3600,200,8,UP,NTRANS
++S 1200,2700,1200,3600,200,7,UP,NTRANS
++S 800,2900,800,3400,400,*,DOWN,NDIF
++S 1800,5300,1800,6500,200,*,DOWN,POLY
++S 4800,3600,4800,5600,200,*,UP,POLY
++S 3800,4000,3800,6500,200,*,DOWN,POLY
++S 3600,3600,3600,4100,200,*,UP,POLY
++S 2400,3600,2400,4000,200,*,UP,POLY
++S 2400,4000,2800,4000,200,*,RIGHT,POLY
++S 1200,3600,1200,4800,200,*,UP,POLY
++S 1200,4800,1800,4800,200,*,RIGHT,POLY
++S 2600,8500,2600,8900,200,*,DOWN,POLY
++S 2000,3000,2000,4000,400,z,UP,CALU1
++S 1900,2900,1900,4000,600,*,UP,ALU1
++S 600,2000,600,3100,400,*,UP,ALU1
++S 4800,2300,4800,2700,200,*,UP,POLY
++S 3600,2300,3600,2700,200,*,UP,POLY
++S 2400,2300,2400,2700,200,*,UP,POLY
++S 1200,2300,1200,2700,200,*,UP,POLY
++S 1800,8500,1800,8900,200,*,DOWN,POLY
++S 1000,8000,3200,8000,600,*,RIGHT,ALU1
++S 1000,4000,1000,8000,400,z,DOWN,CALU1
++S 1000,4400,1000,8000,400,*,DOWN,ALU1
++S 2000,7000,3000,7000,600,*,RIGHT,ALU1
++S 2000,4900,2000,7000,400,*,UP,ALU1
++S 2000,5000,2000,7000,400,b1,UP,CALU1
++S 2800,4000,2800,6100,200,*,DOWN,POLY
++S 2600,6000,2600,6500,200,*,DOWN,POLY
++S 2000,8000,2000,8000,400,z,LEFT,CALU1
++S 3000,8000,3000,8000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,b1,LEFT,CALU1
++S 3000,4000,3000,6100,400,*,DOWN,ALU1
++S 3000,4000,3000,6000,400,b2,DOWN,CALU1
++S 4000,4000,4000,4000,400,b2,LEFT,CALU1
++S 3800,8500,3800,8800,200,*,DOWN,POLY
++S 4600,8500,4600,8800,200,*,DOWN,POLY
++S 600,2000,2900,2000,400,*,RIGHT,ALU1
++S 2900,2000,2900,3000,400,*,DOWN,ALU1
++S 2900,3000,5500,3000,400,*,RIGHT,ALU1
++S 4200,1800,4200,3400,600,*,UP,NDIF
++S 4200,700,4200,2100,400,*,DOWN,ALU1
++S 1200,6700,1200,9100,600,*,DOWN,PDIF
++S 1100,6700,1100,9100,600,*,DOWN,PDIF
++S 5300,6700,5300,8300,600,*,DOWN,PDIF
++V 4000,9300,CONT_BODY_N,*
++V 5000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 1800,3000,CONT_DIF_N,*
++V 3200,8000,CONT_DIF_P,*
++V 5200,8000,CONT_DIF_P,*
++V 5000,5900,CONT_POLY,*
++V 4000,5000,CONT_POLY,*
++V 5400,3000,CONT_DIF_N,n3
++V 3000,3000,CONT_DIF_N,n3
++V 600,3000,CONT_DIF_N,n3
++V 3000,5000,CONT_POLY,*
++V 2000,5000,CONT_POLY,*
++V 1200,9000,CONT_DIF_P,*
++V 4200,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oai22_x05.vbe b/alliance/src/cells/src/msxlib/oai22_x05.vbe
+new file mode 100644
+index 0000000..0dfc79e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai22_x05.vbe
+@@ -0,0 +1,44 @@
++ENTITY oai22_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_b1 : NATURAL := 4;
++ CONSTANT cin_b2 : NATURAL := 4;
++ CONSTANT cin_a1 : NATURAL := 4;
++ CONSTANT cin_a2 : NATURAL := 4;
++ CONSTANT rdown_b1_z : NATURAL := 3810;
++ CONSTANT rdown_b2_z : NATURAL := 3800;
++ CONSTANT rdown_a1_z : NATURAL := 3760;
++ CONSTANT rdown_a2_z : NATURAL := 3760;
++ CONSTANT rup_b1_z : NATURAL := 5850;
++ CONSTANT rup_b2_z : NATURAL := 5830;
++ CONSTANT rup_a1_z : NATURAL := 5840;
++ CONSTANT rup_a2_z : NATURAL := 5840;
++ CONSTANT tphl_a2_z : NATURAL := 58;
++ CONSTANT tphl_b2_z : NATURAL := 49;
++ CONSTANT tplh_b1_z : NATURAL := 68;
++ CONSTANT tphl_a1_z : NATURAL := 67;
++ CONSTANT tplh_b2_z : NATURAL := 57;
++ CONSTANT tphl_b1_z : NATURAL := 59;
++ CONSTANT tplh_a1_z : NATURAL := 87;
++ CONSTANT tplh_a2_z : NATURAL := 77;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oai22_x05;
++
++ARCHITECTURE behaviour_data_flow OF oai22_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oai22_x05"
++ SEVERITY WARNING;
++ z <= not (((b1 or b2) and (a1 or a2))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oai22_x1.ap b/alliance/src/cells/src/msxlib/oai22_x1.ap
+new file mode 100644
+index 0000000..e80a678
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai22_x1.ap
+@@ -0,0 +1,121 @@
++V ALLIANCE : 6
++H oai22_x1,P, 9/ 8/2014,100
++A 0,0,6000,10000
++R 1000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,b2_30
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 5000,4000,ref_ref,a2_40
++R 5000,7000,ref_ref,a1_70
++R 2000,4000,ref_ref,b1_40
++R 2000,5000,ref_ref,b1_50
++R 2000,6000,ref_ref,b1_60
++R 4000,3000,ref_ref,b2_30
++R 3000,4000,ref_ref,b2_40
++R 3000,5000,ref_ref,b2_50
++R 4000,4000,ref_ref,a2_40
++R 4000,5000,ref_ref,a2_50
++R 5000,5000,ref_ref,a1_50
++R 5000,6000,ref_ref,a1_60
++R 4000,7000,ref_ref,a1_70
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 1000,7000,ref_ref,z_70
++R 3000,8000,ref_ref,z_80
++R 2000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,a2_60
++R 3000,6000,ref_ref,b1_60
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1000,2900,2100,2900,400,*,RIGHT,ALU1
++S 1000,7000,3200,7000,600,*,RIGHT,ALU1
++S 4000,7000,5000,7000,600,*,RIGHT,ALU1
++S 1000,3000,2100,3000,400,*,RIGHT,ALU1
++S 1200,4700,1500,4700,200,*,RIGHT,POLY
++S 1800,4900,2000,4900,600,*,RIGHT,ALU1
++S 2000,3900,2000,6000,400,*,UP,ALU1
++S 3000,3000,3000,5100,400,*,DOWN,ALU1
++S 3000,3000,3000,5000,400,b2,DOWN,CALU1
++S 3000,2900,4100,2900,400,*,RIGHT,ALU1
++S 2600,3800,2600,5500,200,*,DOWN,POLY
++S 3600,3400,3600,3900,200,*,UP,POLY
++S 3000,3000,4100,3000,400,*,RIGHT,ALU1
++S 1200,7900,1200,9300,400,*,UP,ALU1
++S 3000,7000,3000,8000,400,z,UP,CALU1
++S 3100,7000,3100,8100,600,*,UP,ALU1
++S 1000,3000,1000,7000,400,*,DOWN,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2000,6100,3100,6100,400,*,RIGHT,ALU1
++S 2000,4000,2000,6000,400,b1,UP,CALU1
++S 2000,6000,3100,6000,400,*,RIGHT,ALU1
++S 3800,4200,3800,5500,200,*,DOWN,POLY
++S 4800,3400,4800,4700,200,*,UP,POLY
++S 5000,4800,5000,7000,400,*,UP,ALU1
++S 5000,5000,5000,7000,400,a1,UP,CALU1
++S 5200,7900,5200,9300,400,*,UP,ALU1
++S 4600,9400,4600,9700,200,*,DOWN,POLY
++S 3800,9400,3800,9700,200,*,DOWN,POLY
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 1800,9400,1800,9700,200,*,DOWN,POLY
++S 5300,5700,5300,9200,600,*,DOWN,PDIF
++S 4200,5700,4200,9200,600,n1,UP,PDIF
++S 4600,5500,4600,9400,200,1,DOWN,PTRANS
++S 3800,5500,3800,9400,200,2,DOWN,PTRANS
++S 3200,5700,3200,9200,1000,*,UP,PDIF
++S 2200,5700,2200,9200,600,n2,UP,PDIF
++S 2600,5500,2600,9400,200,4,DOWN,PTRANS
++S 1800,5500,1800,9400,200,3,DOWN,PTRANS
++S 1100,5700,1100,9200,600,*,DOWN,PDIF
++S 2400,1700,2400,3400,200,8,UP,NTRANS
++S 1200,1700,1200,3400,200,7,UP,NTRANS
++S 3600,1700,3600,3400,200,6,UP,NTRANS
++S 4800,1700,4800,3400,200,5,UP,NTRANS
++S 4200,900,4200,3200,600,*,UP,NDIF
++S 5200,1900,5200,3200,400,*,DOWN,NDIF
++S 800,1900,800,3200,400,*,DOWN,NDIF
++S 500,2000,5500,2000,400,*,RIGHT,ALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,5000,6000,5000,10000,oai22_x1,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 1200,1300,1200,1700,200,*,UP,POLY
++S 2400,1300,2400,1700,200,*,UP,POLY
++S 3600,1300,3600,1700,200,*,UP,POLY
++S 4800,1300,4800,1700,200,*,UP,POLY
++S 1800,1900,1800,3200,1000,*,UP,NDIF
++S 3000,1900,3000,3200,1000,*,UP,NDIF
++S 4000,4000,4000,6100,400,*,UP,ALU1
++S 3900,4000,3900,6100,400,*,UP,ALU1
++S 4000,4000,4000,6000,400,a2,DOWN,CALU1
++S 4000,4000,5100,4000,400,*,RIGHT,ALU1
++S 5000,4000,5000,4000,400,a2,LEFT,CALU1
++S 5400,2100,5400,2700,600,*,UP,NDIF
++S 5400,2000,5400,2800,600,*,UP,ALU1
++S 4000,7000,4000,7000,400,a1,LEFT,CALU1
++S 4000,3000,4000,3000,400,b2,LEFT,CALU1
++S 3000,6000,3000,6000,400,b1,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 2400,3400,2400,3900,200,*,UP,POLY
++S 4600,5000,4600,5500,200,*,DOWN,POLY
++S 1200,3400,1200,4700,200,*,UP,POLY
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 3200,7000,CONT_DIF_P,*
++V 3000,4900,CONT_POLY,*
++V 1200,8000,CONT_DIF_P,*
++V 5200,8000,CONT_DIF_P,*
++V 1800,4900,CONT_POLY,*
++V 5000,4900,CONT_POLY,*
++V 5200,9000,CONT_DIF_P,*
++V 1200,9000,CONT_DIF_P,*
++V 4200,1000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,n3
++V 3000,2000,CONT_DIF_N,n3
++V 5400,2000,CONT_DIF_N,n3
++V 1800,3000,CONT_DIF_N,*
++V 3200,8000,CONT_DIF_P,*
++V 5400,2800,CONT_DIF_N,n3
++V 4000,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oai22_x1.vbe b/alliance/src/cells/src/msxlib/oai22_x1.vbe
+new file mode 100644
+index 0000000..1975abc
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai22_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY oai22_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_b1 : NATURAL := 7;
++ CONSTANT cin_b2 : NATURAL := 6;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT cin_a2 : NATURAL := 6;
++ CONSTANT rdown_b1_z : NATURAL := 2010;
++ CONSTANT rdown_b2_z : NATURAL := 2010;
++ CONSTANT rdown_a1_z : NATURAL := 1990;
++ CONSTANT rdown_a2_z : NATURAL := 1990;
++ CONSTANT rup_b1_z : NATURAL := 2990;
++ CONSTANT rup_b2_z : NATURAL := 2990;
++ CONSTANT rup_a1_z : NATURAL := 2990;
++ CONSTANT rup_a2_z : NATURAL := 2990;
++ CONSTANT tphl_a2_z : NATURAL := 55;
++ CONSTANT tphl_b2_z : NATURAL := 48;
++ CONSTANT tplh_b1_z : NATURAL := 63;
++ CONSTANT tphl_a1_z : NATURAL := 64;
++ CONSTANT tplh_b2_z : NATURAL := 53;
++ CONSTANT tphl_b1_z : NATURAL := 57;
++ CONSTANT tplh_a1_z : NATURAL := 80;
++ CONSTANT tplh_a2_z : NATURAL := 70;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oai22_x1;
++
++ARCHITECTURE behaviour_data_flow OF oai22_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oai22_x1"
++ SEVERITY WARNING;
++ z <= not (((b1 or b2) and (a1 or a2))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oai22_x2.ap b/alliance/src/cells/src/msxlib/oai22_x2.ap
+new file mode 100644
+index 0000000..e51c32a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai22_x2.ap
+@@ -0,0 +1,167 @@
++V ALLIANCE : 6
++H oai22_x2,P, 9/ 8/2014,100
++A 0,0,10000,10000
++R 6000,4000,ref_ref,a2_40
++R 8000,4000,ref_ref,a1_40
++R 8000,7000,ref_ref,a2_70
++R 8000,6000,ref_ref,a2_60
++R 4000,4000,ref_ref,b2_40
++R 3000,5000,ref_ref,b2_50
++R 3000,6000,ref_ref,b1_60
++R 4000,5000,ref_ref,b1_50
++R 2000,5000,ref_ref,b1_50
++R 2000,4000,ref_ref,b1_40
++R 9000,4000,ref_ref,a1_40
++R 9000,5000,ref_ref,a1_50
++R 6000,5000,ref_ref,a1_50
++R 8000,5000,ref_ref,a2_50
++R 7000,4000,ref_ref,a2_40
++R 4000,3000,ref_ref,z_30
++R 3000,3000,ref_ref,z_30
++R 2000,3000,ref_ref,z_30
++R 6000,7000,ref_ref,z_70
++R 3000,8000,ref_ref,z_80
++R 3000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 4000,7000,ref_ref,z_70
++R 5000,7000,ref_ref,z_70
++R 5000,3000,ref_ref,b2_30
++R 7000,7000,ref_ref,z_70
++R 1000,7000,ref_ref,z_70
++R 1000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,b1_60
++R 4000,6000,ref_ref,b1_60
++R 3000,4000,ref_ref,b2_40
++R 5000,4000,ref_ref,b2_40
++R 7000,5000,ref_ref,a2_50
++R 9000,6000,ref_ref,a1_60
++R 7000,6000,ref_ref,z_60
++S 8500,700,9300,700,600,*,RIGHT,PTIE
++S 6000,7000,6000,7000,400,z,LEFT,CALU1
++S 5000,7000,5000,7000,400,z,LEFT,CALU1
++S 4000,7000,4000,7000,400,z,LEFT,CALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 4000,3000,4000,3000,400,z,LEFT,CALU1
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 2000,3000,2000,3000,400,z,LEFT,CALU1
++S 3000,6000,3000,6000,400,b1,LEFT,CALU1
++S 4000,4000,4000,4000,400,b2,LEFT,CALU1
++S 7400,2300,7400,2900,600,*,UP,NDIF
++S 7400,2000,7400,3100,400,*,UP,ALU1
++S 2500,2000,7400,2000,400,*,RIGHT,ALU1
++S 7000,4000,7000,4000,400,a1,LEFT,CALU1
++S 8000,4000,8000,4000,400,a1,LEFT,CALU1
++S 7000,5000,7000,5000,400,a2,LEFT,CALU1
++S 8000,5000,8000,7100,400,*,DOWN,ALU1
++S 6000,4000,6000,5100,600,*,UP,ALU1
++S 6000,4000,6000,5000,400,a1,UP,CALU1
++S 8000,5000,8000,7000,400,a2,DOWN,CALU1
++S 6000,4000,9000,4000,400,*,RIGHT,ALU1
++S 0,600,10000,600,1200,vss,RIGHT,CALU1
++S 0,5000,10000,5000,10000,oai22_x2,LEFT,TALU8
++S 0,2200,10000,2200,5200,*,LEFT,PWELL
++S 0,7600,10000,7600,5600,*,LEFT,NWELL
++S 0,9400,10000,9400,1200,vdd,RIGHT,CALU1
++S 2000,5800,2000,9100,600,n2a,UP,PDIF
++S 4000,5800,4000,9100,600,n2b,UP,PDIF
++S 6000,5800,6000,9100,600,n1a,UP,PDIF
++S 8000,5800,8000,9100,600,n1b,UP,PDIF
++S 3200,600,3200,3900,200,8,UP,NTRANS
++S 4400,600,4400,3900,200,7,UP,NTRANS
++S 6800,600,6800,3900,200,6,UP,NTRANS
++S 5600,600,5600,3900,200,5,UP,NTRANS
++S 7000,5800,7000,9100,1000,*,UP,PDIF
++S 5000,5800,5000,9100,1000,*,UP,PDIF
++S 3000,5800,3000,9100,1000,*,UP,PDIF
++S 900,5800,900,9100,600,*,DOWN,PDIF
++S 9100,5800,9100,9100,600,*,DOWN,PDIF
++S 3000,4000,3000,5000,400,b2,UP,CALU1
++S 3200,300,3200,600,200,*,UP,POLY
++S 4400,300,4400,600,200,*,UP,POLY
++S 5600,300,5600,600,200,*,UP,POLY
++S 6800,300,6800,600,200,*,UP,POLY
++S 7200,800,7200,3700,400,*,UP,NDIF
++S 6200,800,6200,3700,1000,*,UP,NDIF
++S 5000,800,5000,3700,1000,*,UP,NDIF
++S 3800,800,3800,3700,1000,*,UP,NDIF
++S 2800,800,2800,3700,400,*,UP,NDIF
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 1000,3000,1000,7000,400,*,DOWN,ALU1
++S 5500,5000,6000,5000,600,*,LEFT,ALU1
++S 2000,6000,4000,6000,400,*,RIGHT,ALU1
++S 2400,5200,3600,5200,200,*,RIGHT,POLY
++S 8400,5200,8600,5200,200,*,RIGHT,POLY
++S 6400,5200,7600,5200,200,*,RIGHT,POLY
++S 8400,5600,8400,9300,200,1b,DOWN,PTRANS
++S 7600,5600,7600,9300,200,2b,DOWN,PTRANS
++S 6400,5600,6400,9300,200,2a,DOWN,PTRANS
++S 5600,5600,5600,9300,200,1a,DOWN,PTRANS
++S 4400,5600,4400,9300,200,3b,DOWN,PTRANS
++S 2400,5600,2400,9300,200,4a,DOWN,PTRANS
++S 1600,5600,1600,9300,200,3a,DOWN,PTRANS
++S 3600,5600,3600,9300,200,4b,DOWN,PTRANS
++S 3000,7000,3000,8100,400,*,UP,ALU1
++S 3000,7000,3000,8000,400,z,UP,CALU1
++S 900,3000,900,7000,400,*,DOWN,ALU1
++S 1000,7000,7000,7000,400,*,RIGHT,ALU1
++S 1000,3000,4100,3000,400,*,RIGHT,ALU1
++S 2000,3900,2000,6000,400,*,DOWN,ALU1
++S 2000,4000,2000,6000,400,b1,UP,CALU1
++S 4000,5400,4000,6000,400,*,DOWN,ALU1
++S 4000,5000,4000,6000,400,b1,UP,CALU1
++S 2000,6100,4000,6100,400,*,RIGHT,ALU1
++S 4000,5000,4500,5000,600,*,RIGHT,ALU1
++S 3000,4000,5000,4000,400,*,RIGHT,ALU1
++S 3000,4000,3000,5000,600,*,DOWN,ALU1
++S 1600,4500,1600,5600,200,*,DOWN,POLY
++S 5000,3000,5000,4000,400,b2,DOWN,CALU1
++S 5000,3000,5000,4000,600,*,DOWN,ALU1
++S 9000,4000,9000,6000,400,a1,UP,CALU1
++S 7000,5000,8000,5000,600,*,RIGHT,ALU1
++S 8400,9300,8400,9700,200,*,DOWN,POLY
++S 7600,9300,7600,9700,200,*,DOWN,POLY
++S 6400,9300,6400,9700,200,*,DOWN,POLY
++S 5600,9300,5600,9700,200,*,DOWN,POLY
++S 4400,9300,4400,9700,200,*,DOWN,POLY
++S 3600,9300,3600,9700,200,*,DOWN,POLY
++S 2400,9300,2400,9700,200,*,DOWN,POLY
++S 1600,9300,1600,9700,200,*,DOWN,POLY
++S 3200,3900,3200,4600,200,*,UP,POLY
++S 4400,3900,4400,4600,200,*,UP,POLY
++S 5600,3900,5600,4600,200,*,UP,POLY
++S 6800,3900,6800,5200,200,*,UP,POLY
++S 9000,4000,9000,6000,600,*,UP,ALU1
++S 7000,6000,7000,7000,400,z,UP,CALU1
++S 7000,6000,7000,7000,600,*,UP,ALU1
++S 1000,7900,1000,9300,400,*,UP,ALU1
++S 5000,7900,5000,9300,400,*,UP,ALU1
++S 9000,6900,9000,9300,400,*,UP,ALU1
++V 9300,700,CONT_BODY_P,*
++V 8400,700,CONT_BODY_P,*
++V 7400,2200,CONT_DIF_N,n3
++V 7400,3000,CONT_DIF_N,n3
++V 7000,5000,CONT_POLY,*
++V 6200,1000,CONT_DIF_N,*
++V 5000,2000,CONT_DIF_N,n3
++V 2600,2000,CONT_DIF_N,n3
++V 3800,3000,CONT_DIF_N,*
++V 3000,5000,CONT_POLY,*
++V 9000,5000,CONT_POLY,*
++V 5600,5000,CONT_POLY,*
++V 1000,8000,CONT_DIF_P,*
++V 9000,8000,CONT_DIF_P,*
++V 5000,8000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,*
++V 3000,7000,CONT_DIF_P,*
++V 1000,9000,CONT_DIF_P,*
++V 5000,9000,CONT_DIF_P,*
++V 2000,4400,CONT_POLY,*
++V 9000,9000,CONT_DIF_P,*
++V 7000,7000,CONT_DIF_P,*
++V 4400,5000,CONT_POLY,*
++V 7000,6000,CONT_DIF_P,*
++V 9000,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oai22_x2.vbe b/alliance/src/cells/src/msxlib/oai22_x2.vbe
+new file mode 100644
+index 0000000..4e3796b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oai22_x2.vbe
+@@ -0,0 +1,44 @@
++ENTITY oai22_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 10000;
++ CONSTANT cin_b1 : NATURAL := 12;
++ CONSTANT cin_b2 : NATURAL := 11;
++ CONSTANT cin_a1 : NATURAL := 12;
++ CONSTANT cin_a2 : NATURAL := 11;
++ CONSTANT rdown_b1_z : NATURAL := 1040;
++ CONSTANT rdown_b2_z : NATURAL := 1030;
++ CONSTANT rdown_a1_z : NATURAL := 1020;
++ CONSTANT rdown_a2_z : NATURAL := 1020;
++ CONSTANT rup_b1_z : NATURAL := 1580;
++ CONSTANT rup_b2_z : NATURAL := 1570;
++ CONSTANT rup_a1_z : NATURAL := 1570;
++ CONSTANT rup_a2_z : NATURAL := 1570;
++ CONSTANT tphl_a2_z : NATURAL := 53;
++ CONSTANT tphl_b2_z : NATURAL := 47;
++ CONSTANT tplh_b1_z : NATURAL := 62;
++ CONSTANT tphl_a1_z : NATURAL := 62;
++ CONSTANT tplh_b2_z : NATURAL := 52;
++ CONSTANT tphl_b1_z : NATURAL := 56;
++ CONSTANT tplh_a1_z : NATURAL := 78;
++ CONSTANT tplh_a2_z : NATURAL := 69;
++ CONSTANT transistors : NATURAL := 12
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oai22_x2;
++
++ARCHITECTURE behaviour_data_flow OF oai22_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oai22_x2"
++ SEVERITY WARNING;
++ z <= not (((b1 or b2) and (a1 or a2))) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oan21_x1.ap b/alliance/src/cells/src/msxlib/oan21_x1.ap
+new file mode 100644
+index 0000000..ae856ff
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan21_x1.ap
+@@ -0,0 +1,117 @@
++V ALLIANCE : 6
++H oan21_x1,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 5000,6000,ref_ref,a2_60
++R 6000,5000,ref_ref,a1_50
++R 5000,5000,ref_ref,a2_50
++R 4000,5000,ref_ref,b_50
++R 6000,6000,ref_ref,a1_60
++R 6000,7000,ref_ref,a1_70
++R 5000,7000,ref_ref,a1_70
++R 4000,3000,ref_ref,b_30
++R 5000,3000,ref_ref,b_30
++R 4000,4000,ref_ref,b_40
++R 6000,4000,ref_ref,a2_40
++R 5000,4000,ref_ref,a2_40
++R 1000,6000,ref_ref,z_60
++R 2000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,z_50
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 6000,7900,6000,9300,400,*,UP,ALU1
++S 4000,2900,5100,2900,400,*,RIGHT,ALU1
++S 4000,3000,4000,5100,400,*,DOWN,ALU1
++S 4000,3000,5100,3000,400,*,RIGHT,ALU1
++S 4000,3000,4000,5000,400,b,DOWN,CALU1
++S 5000,4000,5000,6000,400,a2,DOWN,CALU1
++S 4900,7100,6000,7100,400,*,RIGHT,ALU1
++S 6000,4800,6000,7000,400,*,UP,ALU1
++S 6000,5000,6000,7000,400,a1,UP,CALU1
++S 4900,7000,6000,7000,400,*,RIGHT,ALU1
++S 2800,6900,2800,9300,400,*,UP,ALU1
++S 5000,3000,5000,3000,400,b,LEFT,CALU1
++S 6000,4000,6000,4000,400,a2,LEFT,CALU1
++S 5000,7000,5000,7000,400,a1,LEFT,CALU1
++S 5000,4000,5000,6100,400,*,UP,ALU1
++S 5000,3900,6100,3900,400,*,RIGHT,ALU1
++S 5000,4000,6100,4000,400,*,RIGHT,ALU1
++S 5400,5100,5900,5100,200,*,RIGHT,POLY
++S 5400,5100,5400,5500,200,*,DOWN,POLY
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,oan21_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 4600,3800,4600,5500,200,*,UP,POLY
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 1600,6100,1600,6700,600,*,DOWN,PDIF
++S 1000,6000,2000,6000,600,*,LEFT,ALU1
++S 1600,5900,1600,6900,400,*,DOWN,ALU1
++S 3400,4700,3400,5500,200,*,UP,POLY
++S 3900,4800,3900,5100,600,*,DOWN,ALU1
++S 2800,3900,3000,3900,600,*,RIGHT,ALU1
++S 2000,3000,2000,6000,400,z,UP,CALU1
++S 1000,6000,1000,6000,400,z,LEFT,CALU1
++S 5400,8300,5400,8700,200,*,DOWN,POLY
++S 4600,8300,4600,8700,200,*,DOWN,POLY
++S 5100,5900,5100,8100,400,n1,UP,PDIF
++S 5400,5700,5400,8300,200,1,DOWN,PTRANS
++S 4600,5700,4600,8300,200,2,DOWN,PTRANS
++S 6000,5900,6000,8100,600,*,DOWN,PDIF
++S 4200,5900,4200,8100,400,*,DOWN,PDIF
++S 4000,5900,4000,6900,1000,*,UP,PDIF
++S 3400,5700,3400,7100,200,3,DOWN,PTRANS
++S 4000,6000,4000,6900,400,*,UP,ALU1
++S 3000,5900,4000,5900,400,*,RIGHT,ALU1
++S 3400,7100,3400,7500,200,*,DOWN,POLY
++S 4200,1900,4200,2700,600,*,DOWN,NDIF
++S 4800,1700,4800,2900,200,5,UP,NTRANS
++S 5800,1700,5800,2900,200,4,UP,NTRANS
++S 3200,1900,3200,2700,400,*,UP,NDIF
++S 3600,1700,3600,2900,200,6,UP,NTRANS
++S 3000,2500,3000,5900,400,*,DOWN,ALU1
++S 4100,2000,6500,2000,400,*,RIGHT,ALU1
++S 6200,1900,6200,2700,400,*,UP,NDIF
++S 5800,2900,5800,4800,200,*,UP,POLY
++S 4800,2900,4800,4000,200,*,UP,POLY
++S 3600,2900,3600,4800,200,*,UP,POLY
++S 3600,1300,3600,1700,200,*,UP,POLY
++S 4800,1300,4800,1700,200,*,UP,POLY
++S 5800,1300,5800,1700,200,*,UP,POLY
++S 5300,600,5300,2700,400,*,UP,NDIF
++S 2200,5700,2200,7700,200,2,DOWN,PTRANS
++S 2800,5900,2800,7500,600,*,DOWN,PDIF
++S 1800,5900,1800,7500,400,*,UP,PDIF
++S 2200,7700,2200,8100,200,*,DOWN,POLY
++S 1200,2300,1200,3300,200,6,UP,NTRANS
++S 1600,2500,1600,3100,400,*,UP,NDIF
++S 1200,1900,1200,2300,200,*,UP,POLY
++S 600,2500,600,3100,600,*,UP,NDIF
++S 1200,3700,2800,3700,200,*,LEFT,POLY
++S 2200,3700,2200,5500,200,*,DOWN,POLY
++S 2200,3900,2800,3900,600,*,LEFT,POLY
++S 2000,2900,2000,6000,400,*,UP,ALU1
++S 1900,2900,1900,3400,600,*,UP,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 5000,4000,CONT_POLY,*
++V 6000,4900,CONT_POLY,*
++V 2800,7000,CONT_DIF_P,*
++V 6000,8000,CONT_DIF_P,*
++V 4200,2000,CONT_DIF_N,n2
++V 600,3000,CONT_DIF_N,*
++V 1600,6000,CONT_DIF_P,*
++V 1600,6800,CONT_DIF_P,*
++V 3800,4900,CONT_POLY,*
++V 2800,3900,CONT_POLY,zn
++V 4000,6000,CONT_DIF_P,zn
++V 4000,6800,CONT_DIF_P,zn
++V 3000,2600,CONT_DIF_N,zn
++V 6400,2000,CONT_DIF_N,n2
++V 5400,700,CONT_DIF_N,*
++V 1800,3000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oan21_x1.vbe b/alliance/src/cells/src/msxlib/oan21_x1.vbe
+new file mode 100644
+index 0000000..543780b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan21_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY oan21_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a1 : NATURAL := 5;
++ CONSTANT cin_a2 : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT rdown_a1_z : NATURAL := 2310;
++ CONSTANT rdown_a2_z : NATURAL := 2310;
++ CONSTANT rdown_b_z : NATURAL := 2300;
++ CONSTANT rup_a1_z : NATURAL := 2970;
++ CONSTANT rup_a2_z : NATURAL := 2960;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT tphh_b_z : NATURAL := 77;
++ CONSTANT tpll_b_z : NATURAL := 100;
++ CONSTANT tpll_a1_z : NATURAL := 125;
++ CONSTANT tphh_a2_z : NATURAL := 83;
++ CONSTANT tpll_a2_z : NATURAL := 116;
++ CONSTANT tphh_a1_z : NATURAL := 95;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oan21_x1;
++
++ARCHITECTURE behaviour_data_flow OF oan21_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oan21_x1"
++ SEVERITY WARNING;
++ z <= ((a1 or a2) and b) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oan21_x2.ap b/alliance/src/cells/src/msxlib/oan21_x2.ap
+new file mode 100644
+index 0000000..9016472
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan21_x2.ap
+@@ -0,0 +1,126 @@
++V ALLIANCE : 6
++H oan21_x2,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 5000,6000,ref_ref,a2_60
++R 6000,5000,ref_ref,a1_50
++R 5000,5000,ref_ref,a2_50
++R 4000,5000,ref_ref,b_50
++R 6000,6000,ref_ref,a1_60
++R 6000,7000,ref_ref,a1_70
++R 5000,7000,ref_ref,a1_70
++R 4000,3000,ref_ref,b_30
++R 5000,3000,ref_ref,b_30
++R 4000,4000,ref_ref,b_40
++R 6000,4000,ref_ref,a2_40
++R 5000,4000,ref_ref,a2_40
++R 1000,6000,ref_ref,z_60
++R 2000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,z_50
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 6000,7900,6000,9300,400,*,UP,ALU1
++S 4000,2900,5100,2900,400,*,RIGHT,ALU1
++S 4000,3000,4000,5100,400,*,DOWN,ALU1
++S 4000,3000,5100,3000,400,*,RIGHT,ALU1
++S 4000,3000,4000,5000,400,b,DOWN,CALU1
++S 5000,4000,5000,6000,400,a2,DOWN,CALU1
++S 4900,7100,6000,7100,400,*,RIGHT,ALU1
++S 6000,4800,6000,7000,400,*,UP,ALU1
++S 6000,5000,6000,7000,400,a1,UP,CALU1
++S 4900,7000,6000,7000,400,*,RIGHT,ALU1
++S 2800,6900,2800,9300,400,*,UP,ALU1
++S 5000,3000,5000,3000,400,b,LEFT,CALU1
++S 6000,4000,6000,4000,400,a2,LEFT,CALU1
++S 5000,7000,5000,7000,400,a1,LEFT,CALU1
++S 5000,4000,5000,6100,400,*,UP,ALU1
++S 5000,3900,6100,3900,400,*,RIGHT,ALU1
++S 5000,4000,6100,4000,400,*,RIGHT,ALU1
++S 6400,2000,6400,3100,400,*,UP,ALU1
++S 5400,5100,5900,5100,200,*,RIGHT,POLY
++S 5400,5100,5400,5500,200,*,DOWN,POLY
++S 3400,7500,3400,7900,200,*,DOWN,POLY
++S 5800,1200,5800,1600,200,*,UP,POLY
++S 5800,3300,5800,4800,200,*,UP,POLY
++S 6200,1800,6200,3100,400,*,UP,NDIF
++S 6400,2300,6400,2900,600,*,UP,NDIF
++S 5800,1600,5800,3300,200,4,UP,NTRANS
++S 4000,5700,4000,7300,1000,*,UP,PDIF
++S 3400,5500,3400,7500,200,3,DOWN,PTRANS
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,oan21_x2,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 4600,5500,4600,9300,200,2,DOWN,PTRANS
++S 5400,5500,5400,9300,200,1,DOWN,PTRANS
++S 5100,5700,5100,9100,400,n1,UP,PDIF
++S 4200,5700,4200,9100,400,*,DOWN,PDIF
++S 6000,5700,6000,9100,600,*,DOWN,PDIF
++S 5400,9300,5400,9700,200,*,DOWN,POLY
++S 4600,9300,4600,9700,200,*,DOWN,POLY
++S 5300,500,5300,3100,400,*,UP,NDIF
++S 4800,1600,4800,3300,200,5,UP,NTRANS
++S 4800,1200,4800,1600,200,*,UP,POLY
++S 4200,1800,4200,3100,600,*,DOWN,NDIF
++S 3600,1600,3600,3300,200,6,UP,NTRANS
++S 3600,1200,3600,1600,200,*,UP,POLY
++S 3000,2300,3000,2900,600,*,UP,NDIF
++S 3200,1800,3200,3100,400,*,UP,NDIF
++S 4600,3800,4600,5500,200,*,UP,POLY
++S 4800,3300,4800,4000,200,*,UP,POLY
++S 1200,1700,1200,3600,200,6,UP,NTRANS
++S 600,700,600,3100,400,*,DOWN,ALU1
++S 600,1900,600,3400,600,*,UP,NDIF
++S 1600,1900,1600,3400,400,*,UP,NDIF
++S 1200,1200,1200,1600,200,*,UP,POLY
++S 2200,5500,2200,9300,200,2,DOWN,PTRANS
++S 1600,6100,1600,6700,600,*,DOWN,PDIF
++S 1800,5700,1800,9100,400,*,UP,PDIF
++S 2800,5700,2800,9100,600,*,DOWN,PDIF
++S 1000,6000,2000,6000,600,*,LEFT,ALU1
++S 1600,5900,1600,6900,400,*,DOWN,ALU1
++S 3600,3300,3600,4800,200,*,UP,POLY
++S 3400,4700,3400,5500,200,*,UP,POLY
++S 3900,4800,3900,5100,600,*,DOWN,ALU1
++S 2800,3900,3000,3900,600,*,RIGHT,ALU1
++S 3000,6000,4000,6000,400,*,RIGHT,ALU1
++S 4000,6000,4000,7100,400,*,UP,ALU1
++S 1200,4100,2800,4100,200,*,LEFT,POLY
++S 1200,3600,1200,4100,200,*,DOWN,POLY
++S 2200,4100,2200,5500,200,*,DOWN,POLY
++S 3000,2100,3000,6000,400,*,DOWN,ALU1
++S 2000,3000,2000,6000,400,z,UP,CALU1
++S 1000,6000,1000,6000,400,z,LEFT,CALU1
++S 2200,9300,2200,9700,200,*,DOWN,POLY
++S 4100,2000,6400,2000,400,*,RIGHT,ALU1
++S 1800,2600,1800,3200,600,*,DOWN,NDIF
++S 2000,2400,2000,6000,400,*,UP,ALU1
++S 1900,2400,1900,3400,600,*,UP,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 700,9300,CONT_BODY_N,*
++V 5000,4000,CONT_POLY,*
++V 6000,4900,CONT_POLY,*
++V 6400,2200,CONT_DIF_N,n2
++V 6400,3000,CONT_DIF_N,n2
++V 2800,7000,CONT_DIF_P,*
++V 6000,9000,CONT_DIF_P,*
++V 6000,8000,CONT_DIF_P,*
++V 5400,600,CONT_DIF_N,*
++V 4200,2000,CONT_DIF_N,n2
++V 600,2000,CONT_DIF_N,*
++V 1800,3300,CONT_DIF_N,*
++V 600,3000,CONT_DIF_N,*
++V 1600,6000,CONT_DIF_P,*
++V 1600,6800,CONT_DIF_P,*
++V 2800,8000,CONT_DIF_P,*
++V 2800,9000,CONT_DIF_P,*
++V 3800,4900,CONT_POLY,*
++V 4000,7000,CONT_DIF_P,zn
++V 4000,6200,CONT_DIF_P,zn
++V 2800,3900,CONT_POLY,zn
++V 3000,3000,CONT_DIF_N,zn
++V 3000,2200,CONT_DIF_N,zn
++V 1800,2500,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oan21_x2.vbe b/alliance/src/cells/src/msxlib/oan21_x2.vbe
+new file mode 100644
+index 0000000..b05bce2
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan21_x2.vbe
+@@ -0,0 +1,38 @@
++ENTITY oan21_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_a1 : NATURAL := 6;
++ CONSTANT cin_a2 : NATURAL := 7;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT rdown_a1_z : NATURAL := 1220;
++ CONSTANT rdown_a2_z : NATURAL := 1220;
++ CONSTANT rdown_b_z : NATURAL := 1210;
++ CONSTANT rup_a1_z : NATURAL := 1560;
++ CONSTANT rup_a2_z : NATURAL := 1560;
++ CONSTANT rup_b_z : NATURAL := 1560;
++ CONSTANT tphh_b_z : NATURAL := 80;
++ CONSTANT tpll_b_z : NATURAL := 103;
++ CONSTANT tpll_a1_z : NATURAL := 126;
++ CONSTANT tphh_a2_z : NATURAL := 85;
++ CONSTANT tpll_a2_z : NATURAL := 117;
++ CONSTANT tphh_a1_z : NATURAL := 98;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a1 : in BIT;
++ a2 : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oan21_x2;
++
++ARCHITECTURE behaviour_data_flow OF oan21_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oan21_x2"
++ SEVERITY WARNING;
++ z <= ((a1 or a2) and b) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oan22_x1.ap b/alliance/src/cells/src/msxlib/oan22_x1.ap
+new file mode 100644
+index 0000000..36f6622
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan22_x1.ap
+@@ -0,0 +1,137 @@
++V ALLIANCE : 6
++H oan22_x1,P, 9/ 8/2014,100
++A 0,0,8000,10000
++R 1000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,z_50
++R 2000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 5000,6000,ref_ref,b1_60
++R 6000,7000,ref_ref,a1_70
++R 6000,6000,ref_ref,a2_60
++R 4000,6000,ref_ref,b1_60
++R 6000,3000,ref_ref,b2_30
++R 5000,4000,ref_ref,b2_40
++R 5000,5000,ref_ref,b2_50
++R 6000,4000,ref_ref,a2_40
++R 6000,5000,ref_ref,a2_50
++R 7000,5000,ref_ref,a1_50
++R 7000,6000,ref_ref,a1_60
++R 5000,3000,ref_ref,b2_30
++R 7000,4000,ref_ref,a2_40
++R 7000,7000,ref_ref,a1_70
++R 4000,4000,ref_ref,b1_40
++R 4000,5000,ref_ref,b1_50
++R 2000,8000,ref_ref,z_80
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 2000,6700,2000,7300,600,*,UP,PDIF
++S 6300,700,6300,2800,400,*,UP,NDIF
++S 6800,1400,6800,1800,200,*,UP,POLY
++S 5800,1400,5800,1800,200,*,UP,POLY
++S 4600,1400,4600,1800,200,*,UP,POLY
++S 3400,1400,3400,1800,200,*,UP,POLY
++S 3400,3000,3400,3900,200,*,UP,POLY
++S 4600,3000,4600,5500,200,*,DOWN,POLY
++S 6800,3000,6800,4700,200,*,UP,POLY
++S 5800,3000,5800,5500,200,*,DOWN,POLY
++S 7400,1900,7400,2100,600,*,UP,ALU1
++S 2800,1900,2800,2100,600,*,UP,ALU1
++S 5200,1900,5200,2100,600,*,DOWN,ALU1
++S 4000,2700,4000,3000,600,*,UP,ALU1
++S 7200,2000,7200,2800,400,*,DOWN,NDIF
++S 6800,1800,6800,3000,200,5,UP,NTRANS
++S 5800,1800,5800,3000,200,6,UP,NTRANS
++S 5200,2000,5200,2800,1000,*,UP,NDIF
++S 3000,2000,3000,2800,400,*,DOWN,NDIF
++S 4600,1800,4600,3000,200,8,UP,NTRANS
++S 3400,1800,3400,3000,200,7,UP,NTRANS
++S 4000,2000,4000,2800,1000,*,UP,NDIF
++S 2800,1900,7400,1900,400,*,RIGHT,ALU1
++S 1300,3700,1300,4700,200,*,DOWN,POLY
++S 1300,2300,1300,2700,200,*,UP,POLY
++S 600,2900,600,3500,600,*,UP,NDIF
++S 1300,2700,1300,3700,200,2z,UP,NTRANS
++S 1700,2900,1700,3500,400,*,UP,NDIF
++S 2600,4900,2600,6300,200,*,DOWN,POLY
++S 6600,8300,6600,8700,200,*,DOWN,POLY
++S 5800,8300,5800,8700,200,*,DOWN,POLY
++S 4600,8300,4600,8700,200,*,DOWN,POLY
++S 3800,8300,3800,8700,200,*,DOWN,POLY
++S 2600,8300,2600,8700,200,*,DOWN,POLY
++S 3200,5900,3200,8100,600,*,DOWN,PDIF
++S 2200,6500,2200,8100,400,*,DOWN,PDIF
++S 2600,6300,2600,8300,200,1z,DOWN,PTRANS
++S 4200,5900,4200,8100,600,n2,UP,PDIF
++S 3800,5700,3800,8300,200,3,DOWN,PTRANS
++S 6200,5900,6200,8100,600,n1,UP,PDIF
++S 6600,5700,6600,8300,200,1,DOWN,PTRANS
++S 7300,5900,7300,8100,600,*,DOWN,PDIF
++S 4600,5700,4600,8300,200,4,DOWN,PTRANS
++S 5200,5900,5200,8100,1000,*,UP,PDIF
++S 5800,5700,5800,8300,200,2,DOWN,PTRANS
++S 3000,3000,3000,7000,400,*,DOWN,ALU1
++S 3000,7000,5200,7000,400,*,RIGHT,ALU1
++S 5200,7000,5200,8100,400,*,UP,ALU1
++S 2800,4900,3000,4900,600,*,RIGHT,ALU1
++S 1300,4700,2800,4700,200,*,LEFT,POLY
++S 900,4000,2000,4000,400,*,LEFT,ALU1
++S 1000,4000,1000,4000,400,z,LEFT,CALU1
++S 1900,2900,1900,4000,400,*,DOWN,ALU1
++S 3800,4000,4000,4000,600,*,RIGHT,ALU1
++S 3800,4000,3800,5500,200,*,DOWN,POLY
++S 700,700,700,3100,400,*,DOWN,ALU1
++S 0,5000,8000,5000,10000,oan22_x1,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 6600,5000,6600,5500,200,*,DOWN,POLY
++S 5000,6000,5000,6000,400,b1,LEFT,CALU1
++S 6000,4000,6000,6100,400,*,UP,ALU1
++S 5900,4000,5900,6100,400,*,UP,ALU1
++S 6000,4000,6000,6000,400,a2,DOWN,CALU1
++S 6000,4000,7100,4000,400,*,RIGHT,ALU1
++S 7000,4000,7000,4000,400,a2,LEFT,CALU1
++S 6000,7000,6000,7000,400,a1,LEFT,CALU1
++S 6000,3000,6000,3000,400,b2,LEFT,CALU1
++S 4000,4000,4000,6000,400,b1,UP,CALU1
++S 4000,6000,5100,6000,400,*,RIGHT,ALU1
++S 7000,4800,7000,7000,400,*,UP,ALU1
++S 7000,5000,7000,7000,400,a1,UP,CALU1
++S 7200,7900,7200,9300,400,*,UP,ALU1
++S 5000,2900,6100,2900,400,*,RIGHT,ALU1
++S 5000,3000,6100,3000,400,*,RIGHT,ALU1
++S 3200,7900,3200,9300,400,*,UP,ALU1
++S 4000,6100,5100,6100,400,*,RIGHT,ALU1
++S 6000,7000,7000,7000,600,*,RIGHT,ALU1
++S 3000,3000,4100,3000,400,*,RIGHT,ALU1
++S 4000,3900,4000,6000,400,*,UP,ALU1
++S 5000,3000,5000,5100,400,*,DOWN,ALU1
++S 5000,3000,5000,5000,400,b2,DOWN,CALU1
++S 2000,3000,2000,8000,400,z,DOWN,CALU1
++S 2000,2900,2000,8100,400,*,DOWN,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 2000,7400,CONT_DIF_P,*
++V 6400,800,CONT_DIF_N,*
++V 7400,2100,CONT_DIF_N,n3
++V 5200,2100,CONT_DIF_N,n3
++V 2800,2100,CONT_DIF_N,n3
++V 4000,2700,CONT_DIF_N,zn
++V 1900,3400,CONT_DIF_N,*
++V 5200,7200,CONT_DIF_P,zn
++V 5200,8000,CONT_DIF_P,zn
++V 2800,4900,CONT_POLY,zn
++V 2000,6600,CONT_DIF_P,*
++V 3800,4000,CONT_POLY,*
++V 700,3000,CONT_DIF_N,*
++V 3200,8000,CONT_DIF_P,*
++V 7200,8000,CONT_DIF_P,*
++V 5000,4900,CONT_POLY,*
++V 7000,4900,CONT_POLY,*
++V 6000,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oan22_x1.vbe b/alliance/src/cells/src/msxlib/oan22_x1.vbe
+new file mode 100644
+index 0000000..6c4adb3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan22_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY oan22_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b1 : NATURAL := 5;
++ CONSTANT cin_b2 : NATURAL := 5;
++ CONSTANT cin_a2 : NATURAL := 5;
++ CONSTANT cin_a1 : NATURAL := 5;
++ CONSTANT rdown_b1_z : NATURAL := 2320;
++ CONSTANT rdown_b2_z : NATURAL := 2320;
++ CONSTANT rdown_a2_z : NATURAL := 2340;
++ CONSTANT rdown_a1_z : NATURAL := 2340;
++ CONSTANT rup_b1_z : NATURAL := 2970;
++ CONSTANT rup_b2_z : NATURAL := 2960;
++ CONSTANT rup_a2_z : NATURAL := 2960;
++ CONSTANT rup_a1_z : NATURAL := 2970;
++ CONSTANT tphh_a2_z : NATURAL := 96;
++ CONSTANT tpll_b1_z : NATURAL := 122;
++ CONSTANT tphh_a1_z : NATURAL := 107;
++ CONSTANT tphh_b2_z : NATURAL := 87;
++ CONSTANT tpll_a1_z : NATURAL := 146;
++ CONSTANT tpll_b2_z : NATURAL := 112;
++ CONSTANT tphh_b1_z : NATURAL := 99;
++ CONSTANT tpll_a2_z : NATURAL := 136;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a2 : in BIT;
++ a1 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oan22_x1;
++
++ARCHITECTURE behaviour_data_flow OF oan22_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oan22_x1"
++ SEVERITY WARNING;
++ z <= ((b1 or b2) and (a2 or a1)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/oan22_x2.ap b/alliance/src/cells/src/msxlib/oan22_x2.ap
+new file mode 100644
+index 0000000..5ba3758
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan22_x2.ap
+@@ -0,0 +1,136 @@
++V ALLIANCE : 6
++H oan22_x2,P, 9/ 8/2014,100
++A 0,0,8000,10000
++R 1000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,z_50
++R 2000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 5000,6000,ref_ref,b1_60
++R 6000,7000,ref_ref,a1_70
++R 6000,6000,ref_ref,a2_60
++R 4000,6000,ref_ref,b1_60
++R 6000,3000,ref_ref,b2_30
++R 5000,4000,ref_ref,b2_40
++R 5000,5000,ref_ref,b2_50
++R 6000,4000,ref_ref,a2_40
++R 6000,5000,ref_ref,a2_50
++R 7000,5000,ref_ref,a1_50
++R 7000,6000,ref_ref,a1_60
++R 5000,3000,ref_ref,b2_30
++R 7000,4000,ref_ref,a2_40
++R 7000,7000,ref_ref,a1_70
++R 4000,4000,ref_ref,b1_40
++R 4000,5000,ref_ref,b1_50
++R 2000,8000,ref_ref,z_80
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 2600,9400,2600,9700,200,*,DOWN,POLY
++S 3000,3000,3000,7000,400,*,DOWN,ALU1
++S 3000,7000,5200,7000,400,*,RIGHT,ALU1
++S 2600,5500,2600,9400,200,1z,DOWN,PTRANS
++S 5200,7000,5200,8100,400,*,UP,ALU1
++S 2800,4900,3000,4900,600,*,RIGHT,ALU1
++S 1300,3600,1300,4700,200,*,DOWN,POLY
++S 1300,4700,2800,4700,200,*,LEFT,POLY
++S 3400,3400,3400,3900,200,*,UP,POLY
++S 900,4000,2000,4000,400,*,LEFT,ALU1
++S 1000,4000,1000,4000,400,z,LEFT,CALU1
++S 1900,2900,1900,4000,400,*,DOWN,ALU1
++S 2000,5900,2000,6500,600,*,DOWN,PDIF
++S 2200,5700,2200,9200,400,*,DOWN,PDIF
++S 3800,4000,4000,4000,600,*,RIGHT,ALU1
++S 3800,4000,3800,5500,200,*,DOWN,POLY
++S 700,700,700,3100,400,*,DOWN,ALU1
++S 600,1900,600,3400,600,*,UP,NDIF
++S 1700,1900,1700,3400,400,*,UP,NDIF
++S 1300,1700,1300,3600,200,2z,UP,NTRANS
++S 1300,1300,1300,1700,200,*,UP,POLY
++S 2700,2000,7500,2000,400,*,RIGHT,ALU1
++S 3000,1900,3000,3200,400,*,DOWN,NDIF
++S 3400,1300,3400,1700,200,*,UP,POLY
++S 3400,1700,3400,3400,200,7,UP,NTRANS
++S 4000,1900,4000,3200,1000,*,UP,NDIF
++S 4600,3400,4600,5500,200,*,DOWN,POLY
++S 4600,1300,4600,1700,200,*,UP,POLY
++S 4600,1700,4600,3400,200,8,UP,NTRANS
++S 5200,1900,5200,3200,1000,*,UP,NDIF
++S 5800,1300,5800,1700,200,*,UP,POLY
++S 5800,1700,5800,3400,200,6,UP,NTRANS
++S 6300,600,6300,3200,400,*,UP,NDIF
++S 0,5000,8000,5000,10000,oan22_x2,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 3100,5700,3100,9200,600,*,DOWN,PDIF
++S 7300,5700,7300,9200,600,*,DOWN,PDIF
++S 6200,5700,6200,9200,600,n1,UP,PDIF
++S 6600,5500,6600,9400,200,1,DOWN,PTRANS
++S 5800,5500,5800,9400,200,2,DOWN,PTRANS
++S 5200,5700,5200,9200,1000,*,UP,PDIF
++S 4200,5700,4200,9200,600,n2,UP,PDIF
++S 4600,5500,4600,9400,200,4,DOWN,PTRANS
++S 3800,5500,3800,9400,200,3,DOWN,PTRANS
++S 6800,1700,6800,3400,200,5,UP,NTRANS
++S 7200,1900,7200,3200,400,*,DOWN,NDIF
++S 7400,2100,7400,2700,600,*,UP,NDIF
++S 6800,1300,6800,1700,200,*,UP,POLY
++S 6600,5000,6600,5500,200,*,DOWN,POLY
++S 3800,9400,3800,9700,200,*,DOWN,POLY
++S 5800,4200,5800,5500,200,*,DOWN,POLY
++S 6800,3400,6800,4700,200,*,UP,POLY
++S 6600,9400,6600,9700,200,*,DOWN,POLY
++S 5800,9400,5800,9700,200,*,DOWN,POLY
++S 4600,9400,4600,9700,200,*,DOWN,POLY
++S 5000,6000,5000,6000,400,b1,LEFT,CALU1
++S 6000,4000,6000,6100,400,*,UP,ALU1
++S 5900,4000,5900,6100,400,*,UP,ALU1
++S 6000,4000,6000,6000,400,a2,DOWN,CALU1
++S 6000,4000,7100,4000,400,*,RIGHT,ALU1
++S 7000,4000,7000,4000,400,a2,LEFT,CALU1
++S 7400,2000,7400,2800,600,*,UP,ALU1
++S 6000,7000,6000,7000,400,a1,LEFT,CALU1
++S 6000,3000,6000,3000,400,b2,LEFT,CALU1
++S 4000,4000,4000,6000,400,b1,UP,CALU1
++S 4000,6000,5100,6000,400,*,RIGHT,ALU1
++S 7000,4800,7000,7000,400,*,UP,ALU1
++S 7000,5000,7000,7000,400,a1,UP,CALU1
++S 7200,7900,7200,9300,400,*,UP,ALU1
++S 5000,2900,6100,2900,400,*,RIGHT,ALU1
++S 5000,3000,6100,3000,400,*,RIGHT,ALU1
++S 3200,7900,3200,9300,400,*,UP,ALU1
++S 4000,6100,5100,6100,400,*,RIGHT,ALU1
++S 6000,7000,7000,7000,600,*,RIGHT,ALU1
++S 3000,3000,4100,3000,400,*,RIGHT,ALU1
++S 4000,3900,4000,6000,400,*,UP,ALU1
++S 5000,3000,5000,5100,400,*,DOWN,ALU1
++S 5000,3000,5000,5000,400,b2,DOWN,CALU1
++S 2000,3000,2000,8000,400,z,DOWN,CALU1
++S 2000,2900,2000,8100,400,*,DOWN,ALU1
++V 1000,9300,CONT_BODY_N,*
++V 2100,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 5200,7200,CONT_DIF_P,zn
++V 5200,8000,CONT_DIF_P,zn
++V 4000,3000,CONT_DIF_N,zn
++V 2800,4900,CONT_POLY,zn
++V 2000,6600,CONT_DIF_P,*
++V 2000,5800,CONT_DIF_P,*
++V 3800,4000,CONT_POLY,*
++V 1900,3300,CONT_DIF_N,*
++V 700,2000,CONT_DIF_N,*
++V 700,3000,CONT_DIF_N,*
++V 2800,2000,CONT_DIF_N,n3
++V 5200,2000,CONT_DIF_N,n3
++V 6400,700,CONT_DIF_N,*
++V 3200,8000,CONT_DIF_P,*
++V 7200,8000,CONT_DIF_P,*
++V 7200,9000,CONT_DIF_P,*
++V 3200,9000,CONT_DIF_P,*
++V 7400,2000,CONT_DIF_N,n3
++V 7400,2800,CONT_DIF_N,n3
++V 5000,4900,CONT_POLY,*
++V 7000,4900,CONT_POLY,*
++V 6000,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/oan22_x2.vbe b/alliance/src/cells/src/msxlib/oan22_x2.vbe
+new file mode 100644
+index 0000000..f3d6f6e
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/oan22_x2.vbe
+@@ -0,0 +1,44 @@
++ENTITY oan22_x2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b1 : NATURAL := 7;
++ CONSTANT cin_b2 : NATURAL := 7;
++ CONSTANT cin_a2 : NATURAL := 7;
++ CONSTANT cin_a1 : NATURAL := 7;
++ CONSTANT rdown_b1_z : NATURAL := 1220;
++ CONSTANT rdown_b2_z : NATURAL := 1220;
++ CONSTANT rdown_a2_z : NATURAL := 1230;
++ CONSTANT rdown_a1_z : NATURAL := 1230;
++ CONSTANT rup_b1_z : NATURAL := 1520;
++ CONSTANT rup_b2_z : NATURAL := 1520;
++ CONSTANT rup_a2_z : NATURAL := 1520;
++ CONSTANT rup_a1_z : NATURAL := 1520;
++ CONSTANT tphh_a2_z : NATURAL := 97;
++ CONSTANT tpll_b1_z : NATURAL := 122;
++ CONSTANT tphh_a1_z : NATURAL := 109;
++ CONSTANT tphh_b2_z : NATURAL := 89;
++ CONSTANT tpll_a1_z : NATURAL := 143;
++ CONSTANT tpll_b2_z : NATURAL := 112;
++ CONSTANT tphh_b1_z : NATURAL := 101;
++ CONSTANT tpll_a2_z : NATURAL := 134;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a2 : in BIT;
++ a1 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END oan22_x2;
++
++ARCHITECTURE behaviour_data_flow OF oan22_x2 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on oan22_x2"
++ SEVERITY WARNING;
++ z <= ((b1 or b2) and (a2 or a1)) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/or2_x1.ap b/alliance/src/cells/src/msxlib/or2_x1.ap
+new file mode 100644
+index 0000000..80412bf
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/or2_x1.ap
+@@ -0,0 +1,93 @@
++V ALLIANCE : 6
++H or2_x1,P, 9/ 8/2014,100
++A 0,0,5000,10000
++R 4000,6000,ref_ref,b_60
++R 4000,5000,ref_ref,b_50
++R 3000,5000,ref_ref,a_50
++R 3000,4000,ref_ref,a_40
++R 4000,4000,ref_ref,a_40
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 1000,7000,ref_ref,z_70
++R 3000,6000,ref_ref,b_60
++S 3500,9300,4300,9300,600,*,RIGHT,NTIE
++S 3500,700,4300,700,600,*,RIGHT,PTIE
++S 800,3100,1000,3100,600,*,RIGHT,ALU1
++S 1000,1900,2100,1900,400,*,RIGHT,ALU1
++S 1000,2000,2100,2000,400,*,RIGHT,ALU1
++S 1000,2600,1000,3200,400,*,DOWN,NDIF
++S 1400,2000,1400,2400,200,*,DOWN,POLY
++S 1400,2400,1400,3400,200,2z,DOWN,NTRANS
++S 2600,3400,2600,3900,200,*,UP,POLY
++S 3600,5100,3600,5600,200,*,DOWN,POLY
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 2600,2700,2600,3400,200,2a,DOWN,NTRANS
++S 3800,2700,3800,3400,200,2b,DOWN,NTRANS
++S 1600,5600,1600,7600,200,1z,UP,PTRANS
++S 2800,5600,2800,8300,200,1a,UP,PTRANS
++S 3600,5600,3600,8300,200,1b,UP,PTRANS
++S 2000,900,2000,3200,600,*,UP,NDIF
++S 4400,700,4400,3100,400,*,DOWN,ALU1
++S 2000,3000,3300,3000,400,*,LEFT,ALU1
++S 2800,4400,2800,5600,200,*,UP,POLY
++S 2600,2300,2600,2700,200,*,DOWN,POLY
++S 3800,2300,3800,2700,200,*,DOWN,POLY
++S 4400,2900,4400,3200,600,*,UP,NDIF
++S 3200,2900,3200,3200,1000,*,UP,NDIF
++S 4000,5800,4000,8100,400,*,UP,PDIF
++S 3600,8300,3600,8700,200,*,DOWN,POLY
++S 2800,8300,2800,8700,200,*,DOWN,POLY
++S 1600,7600,1600,8000,200,*,DOWN,POLY
++S 1200,5800,1200,7400,400,*,UP,PDIF
++S 3200,5800,3200,8100,600,n1,DOWN,PDIF
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 1000,5800,1000,6600,600,*,UP,PDIF
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,5000,5000,10000,or2_x1,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 3800,3400,3800,4800,200,*,UP,POLY
++S 1000,1900,1000,7100,400,*,DOWN,ALU1
++S 1600,4800,1600,5600,200,*,DOWN,POLY
++S 1400,3400,1400,5200,200,*,UP,POLY
++S 1400,5000,2200,5000,600,*,LEFT,POLY
++S 2600,3800,3000,3800,200,*,RIGHT,POLY
++S 3600,5200,4000,5200,200,*,RIGHT,POLY
++S 3000,4000,3000,5000,400,a,UP,CALU1
++S 3000,3900,3000,5100,400,*,DOWN,ALU1
++S 2900,6000,4000,6000,400,*,RIGHT,ALU1
++S 2900,6100,4000,6100,400,*,RIGHT,ALU1
++S 3000,6000,3000,6000,400,b,LEFT,CALU1
++S 4000,5000,4000,6000,400,b,UP,CALU1
++S 4000,4900,4000,6100,400,*,UP,ALU1
++S 4200,7300,4200,7900,600,*,DOWN,PDIF
++S 2000,7000,4200,7000,400,*,LEFT,ALU1
++S 4200,7000,4200,8100,400,*,UP,ALU1
++S 2000,3000,2000,7000,400,*,UP,ALU1
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 2200,5800,2200,8100,600,n2,DOWN,PDIF
++V 4300,9300,CONT_BODY_N,*
++V 3400,9300,CONT_BODY_N,*
++V 4300,700,CONT_BODY_P,*
++V 3400,700,CONT_BODY_P,*
++V 800,3100,CONT_DIF_N,*
++V 3200,3000,CONT_DIF_N,zn
++V 3000,4000,CONT_POLY,*
++V 4400,3000,CONT_DIF_N,*
++V 1000,6700,CONT_DIF_P,*
++V 1000,5900,CONT_DIF_P,*
++V 4000,5000,CONT_POLY,*
++V 2000,1000,CONT_DIF_N,*
++V 2000,5000,CONT_POLY,zn
++V 4200,8000,CONT_DIF_P,zn
++V 4200,7200,CONT_DIF_P,zn
++V 2200,8000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/or2_x1.vbe b/alliance/src/cells/src/msxlib/or2_x1.vbe
+new file mode 100644
+index 0000000..2147c77
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/or2_x1.vbe
+@@ -0,0 +1,32 @@
++ENTITY or2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT cin_b : NATURAL := 4;
++ CONSTANT rdown_a_z : NATURAL := 2300;
++ CONSTANT rdown_b_z : NATURAL := 2300;
++ CONSTANT rup_a_z : NATURAL := 2970;
++ CONSTANT rup_b_z : NATURAL := 2960;
++ CONSTANT tpll_a_z : NATURAL := 102;
++ CONSTANT tphh_b_z : NATURAL := 80;
++ CONSTANT tpll_b_z : NATURAL := 93;
++ CONSTANT tphh_a_z : NATURAL := 93;
++ CONSTANT transistors : NATURAL := 6
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END or2_x1;
++
++ARCHITECTURE behaviour_data_flow OF or2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on or2_x1"
++ SEVERITY WARNING;
++ z <= (a or b) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/or3_x1.ap b/alliance/src/cells/src/msxlib/or3_x1.ap
+new file mode 100644
+index 0000000..aeca76b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/or3_x1.ap
+@@ -0,0 +1,106 @@
++V ALLIANCE : 6
++H or3_x1,P, 9/ 8/2014,100
++A 0,0,6000,10000
++R 4000,3000,ref_ref,c_30
++R 5000,3000,ref_ref,c_30
++R 5000,5000,ref_ref,c_50
++R 5000,4000,ref_ref,c_40
++R 1000,7000,ref_ref,z_70
++R 2000,2000,ref_ref,z_20
++R 1000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 4000,4000,ref_ref,a_40
++R 3000,4000,ref_ref,a_40
++R 3000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,a_60
++R 4000,5000,ref_ref,b_50
++R 4000,6000,ref_ref,b_60
++R 4000,7000,ref_ref,b_70
++R 3000,7000,ref_ref,b_70
++S 5400,6900,5400,8000,400,*,DOWN,ALU1
++S 2000,8000,5400,8000,400,*,LEFT,ALU1
++S 5400,7100,5400,7700,600,*,UP,PDIF
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++S 4000,3000,4000,3000,400,c,LEFT,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3600,2400,3600,2900,200,*,UP,POLY
++S 3200,9300,3200,9700,200,*,DOWN,POLY
++S 4000,9300,4000,9700,200,*,DOWN,POLY
++S 4800,9300,4800,9700,200,*,DOWN,POLY
++S 1800,900,1800,2500,600,*,UP,NDIF
++S 3900,2900,5000,2900,400,*,RIGHT,ALU1
++S 5000,3000,5000,5100,400,*,UP,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 5000,3000,5000,5000,400,c,UP,CALU1
++S 3000,2000,5500,2000,400,*,RIGHT,ALU1
++S 3000,2000,3000,3000,400,*,DOWN,ALU1
++S 2000,3000,3000,3000,400,*,LEFT,ALU1
++S 2800,2800,2800,4500,200,*,UP,POLY
++S 2400,2800,2800,2800,200,*,RIGHT,POLY
++S 3800,2800,3800,4800,200,*,DOWN,POLY
++S 4800,2400,4800,5600,200,*,DOWN,POLY
++S 2400,1300,2400,1700,200,*,DOWN,POLY
++S 3600,1300,3600,1700,200,*,DOWN,POLY
++S 4800,1300,4800,1700,200,*,DOWN,POLY
++S 4200,900,4200,2200,600,*,UP,NDIF
++S 4800,1700,4800,2400,200,2c,DOWN,NTRANS
++S 5400,1900,5400,2200,600,*,UP,NDIF
++S 2400,1700,2400,2400,200,2a,DOWN,NTRANS
++S 3600,1700,3600,2400,200,2b,DOWN,NTRANS
++S 3000,1900,3000,2200,1000,*,UP,NDIF
++S 5200,5800,5200,9100,400,*,UP,PDIF
++S 3200,5600,3200,9300,200,1a,UP,PTRANS
++S 3600,5800,3600,9100,600,n1,DOWN,PDIF
++S 4800,5600,4800,9300,200,1c,UP,PTRANS
++S 4000,5600,4000,9300,200,1b,UP,PTRANS
++S 4400,5800,4400,9100,600,n2,DOWN,PDIF
++S 1200,4400,1600,4400,200,*,RIGHT,POLY
++S 2400,5800,2400,9100,1000,n2,DOWN,PDIF
++S 3200,4400,3200,5600,200,*,UP,POLY
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,6000,5000,10000,or3_x1,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 2900,7100,4000,7100,400,*,RIGHT,ALU1
++S 2900,7000,4000,7000,400,*,RIGHT,ALU1
++S 1000,5800,1000,6600,600,*,UP,PDIF
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,3000,6100,400,*,DOWN,ALU1
++S 4000,4900,4000,7100,400,*,UP,ALU1
++S 1000,2000,1000,7100,400,*,DOWN,ALU1
++S 2000,3000,2000,8000,400,*,UP,ALU1
++S 1200,5800,1200,7400,400,*,UP,PDIF
++S 1600,7600,1600,8000,200,*,DOWN,POLY
++S 1600,4400,1600,5600,200,*,DOWN,POLY
++S 4000,5000,4000,7000,400,b,UP,CALU1
++S 3000,4000,3000,6000,400,a,UP,CALU1
++S 1600,5600,1600,7600,200,1z,UP,PTRANS
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 800,1900,800,2500,400,*,DOWN,NDIF
++S 1200,1700,1200,2700,200,2z,DOWN,NTRANS
++S 1200,1300,1200,1700,200,*,DOWN,POLY
++S 1200,2700,1200,4400,200,*,UP,POLY
++S 500,2000,2100,2000,400,*,RIGHT,ALU1
++V 1000,9300,CONT_BODY_N,*
++V 3000,700,CONT_BODY_P,*
++V 5400,7800,CONT_DIF_P,zn
++V 5400,7000,CONT_DIF_P,zn
++V 5000,3000,CONT_POLY,*
++V 4200,1000,CONT_DIF_N,*
++V 5400,2000,CONT_DIF_N,zn
++V 2400,9000,CONT_DIF_P,*
++V 3000,4600,CONT_POLY,*
++V 4000,5000,CONT_POLY,*
++V 1000,5900,CONT_DIF_P,*
++V 1000,6700,CONT_DIF_P,*
++V 2000,4600,CONT_POLY,zn
++V 600,2000,CONT_DIF_N,*
++V 1800,1000,CONT_DIF_N,*
++V 3000,2100,CONT_DIF_N,zn
++EOF
+diff --git a/alliance/src/cells/src/msxlib/or3_x1.vbe b/alliance/src/cells/src/msxlib/or3_x1.vbe
+new file mode 100644
+index 0000000..4c2892b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/or3_x1.vbe
+@@ -0,0 +1,38 @@
++ENTITY or3_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT rdown_a_z : NATURAL := 2330;
++ CONSTANT rdown_b_z : NATURAL := 2330;
++ CONSTANT rdown_c_z : NATURAL := 2330;
++ CONSTANT rup_a_z : NATURAL := 2990;
++ CONSTANT rup_b_z : NATURAL := 2970;
++ CONSTANT rup_c_z : NATURAL := 2960;
++ CONSTANT tphh_c_z : NATURAL := 93;
++ CONSTANT tpll_a_z : NATURAL := 143;
++ CONSTANT tphh_b_z : NATURAL := 112;
++ CONSTANT tpll_b_z : NATURAL := 134;
++ CONSTANT tphh_a_z : NATURAL := 125;
++ CONSTANT tpll_c_z : NATURAL := 111;
++ CONSTANT transistors : NATURAL := 8
++);
++PORT (
++ a : in BIT;
++ b : in BIT;
++ c : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END or3_x1;
++
++ARCHITECTURE behaviour_data_flow OF or3_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on or3_x1"
++ SEVERITY WARNING;
++ z <= ((a or b) or c) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/or4_x1.ap b/alliance/src/cells/src/msxlib/or4_x1.ap
+new file mode 100644
+index 0000000..4748a86
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/or4_x1.ap
+@@ -0,0 +1,124 @@
++V ALLIANCE : 6
++H or4_x1,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 5000,7000,ref_ref,d_70
++R 6000,7000,ref_ref,d_70
++R 6000,6000,ref_ref,d_60
++R 6000,4000,ref_ref,c_40
++R 3000,7000,ref_ref,b_70
++R 5000,5000,ref_ref,c_50
++R 5000,4000,ref_ref,c_40
++R 1000,7000,ref_ref,z_70
++R 2000,2000,ref_ref,z_20
++R 1000,2000,ref_ref,z_20
++R 1000,3000,ref_ref,z_30
++R 1000,4000,ref_ref,z_40
++R 1000,5000,ref_ref,z_50
++R 1000,6000,ref_ref,z_60
++R 4000,4000,ref_ref,a_40
++R 3000,4000,ref_ref,a_40
++R 3000,5000,ref_ref,a_50
++R 3000,6000,ref_ref,a_60
++R 4000,5000,ref_ref,b_50
++R 4000,6000,ref_ref,b_60
++R 4000,7000,ref_ref,b_70
++R 6000,5000,ref_ref,d_50
++R 5000,6000,ref_ref,c_60
++S 5100,700,5900,700,600,*,RIGHT,PTIE
++S 5600,9400,5600,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 4000,9400,4000,9700,200,*,DOWN,POLY
++S 3200,9400,3200,9700,200,*,DOWN,POLY
++S 3600,3300,3600,3800,200,*,UP,POLY
++S 4800,3900,4800,5500,200,*,DOWN,POLY
++S 3200,4400,3200,5500,200,*,UP,POLY
++S 3800,3700,3800,4700,200,*,DOWN,POLY
++S 500,3000,1000,3000,400,*,RIGHT,ALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,7000,5000,10000,or4_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 6400,700,6400,3100,400,*,DOWN,ALU1
++S 6000,4800,6000,7000,400,*,DOWN,ALU1
++S 5000,4000,5000,6100,400,*,UP,ALU1
++S 4900,7100,6000,7100,400,*,LEFT,ALU1
++S 4900,7000,6000,7000,400,*,LEFT,ALU1
++S 6000,5000,6000,7000,400,d,DOWN,CALU1
++S 4600,3300,4600,3900,200,*,UP,POLY
++S 5000,3900,6100,3900,400,*,RIGHT,ALU1
++S 5600,5000,5600,5500,200,*,DOWN,POLY
++S 5000,4000,6100,4000,400,*,RIGHT,ALU1
++S 2900,7000,4000,7000,400,*,RIGHT,ALU1
++S 2900,7100,4000,7100,400,*,RIGHT,ALU1
++S 2000,3000,5300,3000,400,*,LEFT,ALU1
++S 4000,700,4000,1900,400,*,DOWN,ALU1
++S 5800,3300,5800,4700,200,*,UP,POLY
++S 5800,2300,5800,2700,200,*,DOWN,POLY
++S 5800,2700,5800,3300,200,2d,DOWN,NTRANS
++S 4600,2700,4600,3300,200,2c,DOWN,NTRANS
++S 4600,2300,4600,2700,200,*,DOWN,POLY
++S 4100,1700,4100,3100,400,*,UP,NDIF
++S 3600,2400,3600,2700,200,*,DOWN,POLY
++S 2400,3700,2800,3700,200,*,RIGHT,POLY
++S 2800,3700,2800,4500,200,*,UP,POLY
++S 2400,2300,2400,2700,200,*,DOWN,POLY
++S 3600,2700,3600,3300,200,2b,DOWN,NTRANS
++S 2400,2700,2400,3300,200,2a,DOWN,NTRANS
++S 1800,900,1800,3100,600,*,UP,NDIF
++S 1600,4400,1600,5500,200,*,DOWN,POLY
++S 1200,4400,1600,4400,200,*,RIGHT,POLY
++S 1200,3300,1200,4400,200,*,UP,POLY
++S 1200,1900,1200,2300,200,*,DOWN,POLY
++S 1200,2300,1200,3300,200,2z,DOWN,NTRANS
++S 800,2500,800,3100,400,*,DOWN,NDIF
++S 1000,1900,2100,1900,400,*,RIGHT,ALU1
++S 1000,2000,2100,2000,400,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 3000,4000,4100,4000,400,*,RIGHT,ALU1
++S 3000,3900,4100,3900,400,*,RIGHT,ALU1
++S 3000,4000,3000,6100,400,*,DOWN,ALU1
++S 1000,2000,1000,7100,400,*,DOWN,ALU1
++S 2000,3000,2000,8000,400,*,UP,ALU1
++S 4000,5000,4000,7000,400,b,UP,CALU1
++S 3000,4000,3000,6000,400,a,UP,CALU1
++S 2000,8000,6300,8000,400,*,LEFT,ALU1
++S 4000,4800,4000,7100,400,*,UP,ALU1
++S 1000,5700,1000,6500,600,*,UP,PDIF
++S 1200,5700,1200,7300,400,*,UP,PDIF
++S 1600,5500,1600,7500,200,1z,UP,PTRANS
++S 1600,7500,1600,7900,200,*,DOWN,POLY
++S 2400,5700,2400,9200,1000,n2,DOWN,PDIF
++S 3200,5500,3200,9400,200,1a,UP,PTRANS
++S 3600,5700,3600,9200,600,n1,DOWN,PDIF
++S 4000,5500,4000,9400,200,1b,UP,PTRANS
++S 4400,5700,4400,9200,600,n2,DOWN,PDIF
++S 4800,5500,4800,9400,200,1c,UP,PTRANS
++S 5600,5500,5600,9400,200,1d,UP,PTRANS
++S 5200,5700,5200,9200,600,n2,DOWN,PDIF
++S 6000,5700,6000,9200,400,n3,UP,PDIF
++S 5000,4000,5000,6000,400,c,UP,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 5000,7000,5000,7000,400,d,LEFT,CALU1
++S 6000,4000,6000,4000,400,c,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 3000,7000,3000,7000,400,b,LEFT,CALU1
++V 1000,9300,CONT_BODY_N,*
++V 6000,700,CONT_BODY_P,*
++V 5000,700,CONT_BODY_P,*
++V 6400,3000,CONT_DIF_N,*
++V 5000,4000,CONT_POLY,*
++V 5200,3000,CONT_DIF_N,zn
++V 4000,1800,CONT_DIF_N,*
++V 3000,3000,CONT_DIF_N,zn
++V 1800,1000,CONT_DIF_N,*
++V 600,3000,CONT_DIF_N,*
++V 2400,9000,CONT_DIF_P,*
++V 3000,4600,CONT_POLY,*
++V 1000,6700,CONT_DIF_P,*
++V 2000,4600,CONT_POLY,zn
++V 6200,8000,CONT_DIF_P,zn
++V 4000,4900,CONT_POLY,*
++V 1000,5800,CONT_DIF_P,*
++V 6000,4900,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/or4_x1.vbe b/alliance/src/cells/src/msxlib/or4_x1.vbe
+new file mode 100644
+index 0000000..7c861e3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/or4_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY or4_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_c : NATURAL := 5;
++ CONSTANT cin_a : NATURAL := 5;
++ CONSTANT cin_d : NATURAL := 5;
++ CONSTANT rdown_b_z : NATURAL := 2400;
++ CONSTANT rdown_c_z : NATURAL := 2400;
++ CONSTANT rdown_a_z : NATURAL := 2400;
++ CONSTANT rdown_d_z : NATURAL := 2400;
++ CONSTANT rup_b_z : NATURAL := 2990;
++ CONSTANT rup_c_z : NATURAL := 2970;
++ CONSTANT rup_a_z : NATURAL := 3020;
++ CONSTANT rup_d_z : NATURAL := 2970;
++ CONSTANT tphh_d_z : NATURAL := 103;
++ CONSTANT tphh_c_z : NATURAL := 127;
++ CONSTANT tphh_b_z : NATURAL := 145;
++ CONSTANT tpll_a_z : NATURAL := 191;
++ CONSTANT tphh_a_z : NATURAL := 157;
++ CONSTANT tpll_b_z : NATURAL := 181;
++ CONSTANT tpll_d_z : NATURAL := 125;
++ CONSTANT tpll_c_z : NATURAL := 159;
++ CONSTANT transistors : NATURAL := 10
++);
++PORT (
++ b : in BIT;
++ c : in BIT;
++ a : in BIT;
++ d : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END or4_x1;
++
++ARCHITECTURE behaviour_data_flow OF or4_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on or4_x1"
++ SEVERITY WARNING;
++ z <= (((b or c) or a) or d) after 1200 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/powmid_x0.ap b/alliance/src/cells/src/msxlib/powmid_x0.ap
+new file mode 100644
+index 0000000..ce2c8fd
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/powmid_x0.ap
+@@ -0,0 +1,23 @@
++V ALLIANCE : 6
++H powmid_x0,P, 4/ 1/2008,100
++A 0,0,7000,10000
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,5000,7000,5000,10000,powmid_x0,LEFT,TALU8
++S 1000,600,6000,600,1200,vss,RIGHT,CALU2
++S 900,500,6100,500,1400,*,RIGHT,ALU2
++S 0,500,7000,500,1400,*,RIGHT,ALU1
++S 900,9500,6100,9500,1400,*,RIGHT,ALU2
++S 1000,9400,6000,9400,1200,vdd,RIGHT,CALU2
++S 0,9500,7000,9500,1400,*,RIGHT,ALU1
++S 5000,0,5000,10000,2400,vss,DOWN,CALU3
++S 2000,0,2000,10000,2400,vdd,DOWN,CALU3
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 5000,0,5000,10000,2400,*,UP,ALU3
++S 2000,0,2000,10000,2400,*,UP,ALU3
++B 2000,500,2300,1200,CONT_VIA,*
++B 5000,500,2300,1200,CONT_VIA2,*
++B 5000,9500,2300,1200,CONT_VIA,*
++B 2000,9500,2300,1200,CONT_VIA2,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/powmid_x0.vbe b/alliance/src/cells/src/msxlib/powmid_x0.vbe
+new file mode 100644
+index 0000000..3d677ef
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/powmid_x0.vbe
+@@ -0,0 +1,18 @@
++ENTITY powmid_x0 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END powmid_x0;
++
++ARCHITECTURE behaviour_data_flow OF powmid_x0 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on powmid_x0"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/rowend_x0.ap b/alliance/src/cells/src/msxlib/rowend_x0.ap
+new file mode 100644
+index 0000000..8ebdfe4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/rowend_x0.ap
+@@ -0,0 +1,9 @@
++V ALLIANCE : 6
++H rowend_x0,P,17/ 6/2004,100
++A 0,0,1000,10000
++S 0,9400,1000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,1000,600,1200,vss,RIGHT,CALU1
++S 0,7600,1000,7600,5600,*,LEFT,NWELL
++S 0,2200,1000,2200,5200,*,LEFT,PWELL
++S 0,5000,1000,5000,10000,rowend_x0,LEFT,TALU8
++EOF
+diff --git a/alliance/src/cells/src/msxlib/rowend_x0.vbe b/alliance/src/cells/src/msxlib/rowend_x0.vbe
+new file mode 100644
+index 0000000..bb2015f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/rowend_x0.vbe
+@@ -0,0 +1,18 @@
++ENTITY rowend_x0 IS
++GENERIC (
++ CONSTANT area : NATURAL := 1000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END rowend_x0;
++
++ARCHITECTURE behaviour_data_flow OF rowend_x0 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on rowend_x0"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/sff1_x4.ap b/alliance/src/cells/src/msxlib/sff1_x4.ap
+new file mode 100644
+index 0000000..7f03573
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/sff1_x4.ap
+@@ -0,0 +1,234 @@
++V ALLIANCE : 6
++H sff1_x4,P,14/ 8/2014,100
++A 0,0,18000,10000
++R 16000,4000,ref_ref,q_40
++R 2000,8000,ref_ref,ck_80
++R 2000,7000,ref_ref,ck_70
++R 2000,6000,ref_ref,ck_60
++R 2000,5000,ref_ref,ck_50
++R 2000,4000,ref_ref,ck_40
++R 2000,3000,ref_ref,ck_30
++R 2000,2000,ref_ref,ck_20
++R 5000,7000,ref_ref,i_70
++R 5000,6000,ref_ref,i_60
++R 5000,5000,ref_ref,i_50
++R 5000,4000,ref_ref,i_40
++R 5000,3000,ref_ref,i_30
++R 6000,2000,ref_ref,i_20
++R 16000,8000,ref_ref,q_80
++R 16000,7000,ref_ref,q_70
++R 16000,6000,ref_ref,q_60
++R 16000,5000,ref_ref,q_50
++R 16000,3000,ref_ref,q_30
++R 16000,2000,ref_ref,q_20
++R 6000,8000,ref_ref,i_80
++R 15000,5000,ref_ref,q_50
++R 15000,3000,ref_ref,q_30
++S 9600,7500,9600,9400,200,*,DOWN,PTRANS
++S 10000,7700,10000,9200,600,*,DOWN,PDIF
++S 12800,700,13600,700,600,*,RIGHT,PTIE
++S 6800,700,7600,700,600,*,RIGHT,PTIE
++S 3200,700,4000,700,600,*,RIGHT,PTIE
++S 14600,4000,16800,4000,600,sff_s,RIGHT,POLY
++S 13800,4000,14900,4000,400,*,RIGHT,ALU1
++S 14400,4800,14400,7200,200,*,UP,POLY
++S 4100,2000,4100,8000,400,*,DOWN,ALU1
++S 5100,8000,6100,8000,400,*,RIGHT,ALU1
++S 5100,2000,6100,2000,400,*,RIGHT,ALU1
++S 5100,2000,5100,8000,400,*,DOWN,ALU1
++S 600,6900,600,8100,400,*,DOWN,ALU1
++S 3000,1900,3000,7100,400,*,DOWN,ALU1
++S 9900,7000,11400,7000,400,*,LEFT,ALU1
++S 11400,1900,11400,8100,400,y,DOWN,ALU1
++S 14700,3000,16200,3000,400,*,RIGHT,ALU1
++S 14700,5000,16200,5000,400,*,RIGHT,ALU1
++S 15000,900,15000,2100,400,*,DOWN,ALU1
++S 17400,900,17400,2100,400,*,DOWN,ALU1
++S 15000,5900,15000,9100,400,*,DOWN,ALU1
++S 17400,5900,17400,9100,400,*,DOWN,ALU1
++S 9000,3000,10500,3000,400,*,LEFT,ALU1
++S 7700,2000,9000,2000,400,*,RIGHT,ALU1
++S 9900,2000,11400,2000,400,*,RIGHT,ALU1
++S 12600,4000,12600,7000,400,*,DOWN,ALU1
++S 9000,6000,10500,6000,400,*,RIGHT,ALU1
++S 0,9400,18000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,18000,600,1200,vss,RIGHT,CALU1
++S 13200,2800,13200,5000,200,*,DOWN,POLY
++S 15600,2800,15600,5200,200,*,DOWN,POLY
++S 14400,3000,15000,3000,600,*,RIGHT,POLY
++S 14400,5000,15000,5000,600,*,RIGHT,POLY
++S 16800,2800,16800,5200,200,*,DOWN,POLY
++S 12000,2800,12000,4000,200,*,DOWN,POLY
++S 10800,1800,10800,3000,200,*,UP,POLY
++S 10800,6000,10800,7200,200,*,DOWN,POLY
++S 12000,5000,12000,7200,200,*,DOWN,POLY
++S 8400,2800,8400,4000,200,*,DOWN,POLY
++S 11200,7700,11200,9200,600,*,DOWN,PDIF
++S 10800,7500,10800,9400,200,*,UP,PTRANS
++S 16200,5700,16200,9200,600,*,DOWN,PDIF
++S 16800,5500,16800,9400,200,*,DOWN,PTRANS
++S 17400,5700,17400,9200,600,*,DOWN,PDIF
++S 15600,5500,15600,9400,200,*,DOWN,PTRANS
++S 15000,5700,15000,9200,600,*,DOWN,PDIF
++S 6000,7500,6000,9400,200,*,DOWN,PTRANS
++S 10800,600,10800,1500,200,*,UP,NTRANS
++S 11400,800,11400,1300,600,*,DOWN,NDIF
++S 11400,800,11400,2300,600,*,DOWN,NDIF
++S 16200,800,16200,2300,600,*,DOWN,NDIF
++S 16800,600,16800,2500,200,*,UP,NTRANS
++S 17400,800,17400,2300,600,*,DOWN,NDIF
++S 15600,600,15600,2500,200,*,UP,NTRANS
++S 9000,800,9000,2300,600,*,DOWN,NDIF
++S 0,5000,18000,5000,10000,sff1_x4,RIGHT,TALU8
++S 0,2200,18000,2200,5200,*,RIGHT,PWELL
++S 0,7600,18000,7600,5600,*,RIGHT,NWELL
++S 1200,6600,1200,8600,200,*,DOWN,PTRANS
++S 600,6800,600,8400,600,*,UP,PDIF
++S 1800,6800,1800,9100,600,*,UP,PDIF
++S 7000,2900,7000,5100,400,*,DOWN,ALU1
++S 1200,6000,1800,6000,600,*,RIGHT,POLY
++S 12000,4000,12600,4000,600,*,RIGHT,POLY
++S 7800,4000,8400,4000,600,*,RIGHT,POLY
++S 10200,6000,10800,6000,600,*,RIGHT,POLY
++S 12600,7000,13200,7000,600,*,RIGHT,POLY
++S 9600,7000,10200,7000,600,*,RIGHT,POLY
++S 10200,3000,10800,3000,600,*,RIGHT,POLY
++S 9600,2000,10200,2000,600,*,RIGHT,POLY
++S 4000,6000,6000,6000,200,*,RIGHT,POLY
++S 3000,1700,3000,2300,600,*,DOWN,NDIF
++S 2400,1500,2400,2500,200,*,UP,NTRANS
++S 600,1900,600,7100,400,*,DOWN,ALU1
++S 2400,2800,2400,6200,200,*,DOWN,POLY
++S 1200,3000,1800,3000,600,*,RIGHT,POLY
++S 600,5000,13200,5000,200,nckr,RIGHT,POLY
++S 3200,4000,12000,4000,200,ckr,RIGHT,POLY
++S 6900,6000,8000,6000,400,*,RIGHT,ALU1
++S 7800,6800,7800,8400,600,*,UP,PDIF
++S 8400,5000,8400,6200,200,*,DOWN,POLY
++S 8000,3900,8000,6000,400,*,UP,ALU1
++S 9000,6700,9000,9200,600,*,UP,PDIF
++S 6000,6200,6000,7200,200,*,UP,POLY
++S 6000,2900,6000,6100,400,u,DOWN,ALU1
++S 7700,7000,9000,7000,400,*,RIGHT,ALU1
++S 13800,2000,13800,8000,400,*,DOWN,ALU1
++S 9000,2000,9000,7000,400,sff_m,DOWN,ALU1
++S 6600,6800,6600,9200,600,*,UP,PDIF
++S 7200,6600,7200,8600,200,*,DOWN,PTRANS
++S 8400,1500,8400,2500,200,*,UP,NTRANS
++S 12000,1500,12000,2500,200,*,UP,NTRANS
++S 12000,7500,12000,9400,200,*,DOWN,PTRANS
++S 14400,7500,14400,9400,200,*,DOWN,PTRANS
++S 13200,1500,13200,2500,200,*,UP,NTRANS
++S 12600,1700,12600,2300,600,*,DOWN,NDIF
++S 12500,2000,13800,2000,400,*,RIGHT,ALU1
++S 12500,8000,13800,8000,400,*,RIGHT,ALU1
++S 16000,2000,16000,8000,400,q,DOWN,CALU1
++S 2000,2000,2000,8000,400,ck,DOWN,CALU1
++S 2000,1900,2000,8100,400,*,DOWN,ALU1
++S 1500,6000,2000,6000,400,*,RIGHT,ALU1
++S 1500,3000,2000,3000,400,*,RIGHT,ALU1
++S 5000,3000,5000,7000,400,i,DOWN,CALU1
++S 6000,8000,6000,8000,400,i,LEFT,CALU1
++S 6000,2000,6000,2000,400,i,LEFT,CALU1
++S 16000,1900,16000,8100,400,*,DOWN,ALU1
++S 5000,2900,5000,7100,400,*,DOWN,ALU1
++S 4100,8000,4300,8000,400,*,RIGHT,ALU1
++S 4100,2000,4300,2000,400,*,RIGHT,ALU1
++S 3900,6000,4100,6000,400,*,RIGHT,ALU1
++S 3100,4000,3300,4000,400,*,RIGHT,ALU1
++S 16100,8000,16300,8000,400,*,RIGHT,ALU1
++S 16100,7000,16300,7000,400,*,RIGHT,ALU1
++S 16100,6000,16300,6000,400,*,RIGHT,ALU1
++S 16100,2000,16300,2000,400,*,RIGHT,ALU1
++S 12700,7000,12900,7000,400,*,RIGHT,ALU1
++S 12300,4000,12500,4000,400,*,RIGHT,ALU1
++S 15000,5000,15000,5000,400,q,LEFT,CALU1
++S 15000,3000,15000,3000,400,q,LEFT,CALU1
++S 2400,6600,2400,8600,200,*,DOWN,PTRANS
++S 3000,6800,3000,8400,600,*,UP,PDIF
++S 8400,6600,8400,8600,200,*,DOWN,PTRANS
++S 14400,1500,14400,2500,200,*,UP,NTRANS
++S 15000,800,15000,2300,600,*,DOWN,NDIF
++S 13800,1700,13800,2300,600,*,DOWN,NDIF
++S 9600,600,9600,1500,200,*,UP,NTRANS
++S 10200,800,10200,1300,600,*,DOWN,NDIF
++S 1800,1000,1800,2300,600,*,DOWN,NDIF
++S 1200,1500,1200,2500,200,*,UP,NTRANS
++S 600,1700,600,2300,600,*,DOWN,NDIF
++S 4800,7500,4800,9400,200,*,DOWN,PTRANS
++S 5400,7700,5400,9200,600,*,UP,PDIF
++S 4200,7700,4200,9200,600,*,UP,PDIF
++S 13200,7500,13200,9400,200,*,DOWN,PTRANS
++S 12600,7700,12600,9200,600,*,DOWN,PDIF
++S 13800,7700,13800,9200,600,*,UP,PDIF
++S 7200,1500,7200,2500,200,*,UP,NTRANS
++S 7800,1700,7800,2300,600,*,DOWN,NDIF
++S 6600,1700,6600,2300,600,*,DOWN,NDIF
++S 6000,1500,6000,2500,200,*,UP,NTRANS
++S 5400,900,5400,2300,600,*,DOWN,NDIF
++S 4800,1500,4800,2500,200,*,UP,NTRANS
++S 4200,1700,4200,2300,600,*,DOWN,NDIF
++V 13800,700,CONT_BODY_P,*
++V 12600,700,CONT_BODY_P,*
++V 7800,700,CONT_BODY_P,*
++V 6600,700,CONT_BODY_P,*
++V 4200,700,CONT_BODY_P,*
++V 3000,700,CONT_BODY_P,*
++V 14800,4000,CONT_POLY,*
++V 600,8000,CONT_DIF_P,*
++V 3000,7000,CONT_DIF_P,*
++V 10000,7000,CONT_POLY,*
++V 14800,5000,CONT_POLY,*
++V 14800,3000,CONT_POLY,*
++V 10400,3000,CONT_POLY,*
++V 12400,4000,CONT_POLY,*
++V 10400,6000,CONT_POLY,*
++V 8000,4000,CONT_POLY,*
++V 10000,2000,CONT_POLY,*
++V 12800,7000,CONT_POLY,*
++V 12600,8000,CONT_DIF_P,*
++V 10200,9000,CONT_DIF_P,*
++V 11400,8000,CONT_DIF_P,*
++V 17400,6000,CONT_DIF_P,*
++V 16200,6000,CONT_DIF_P,*
++V 15000,6000,CONT_DIF_P,*
++V 15000,7000,CONT_DIF_P,*
++V 15000,8000,CONT_DIF_P,*
++V 17400,9000,CONT_DIF_P,*
++V 15000,9000,CONT_DIF_P,*
++V 17400,8000,CONT_DIF_P,*
++V 17400,7000,CONT_DIF_P,*
++V 5400,9000,CONT_DIF_P,*
++V 12600,2000,CONT_DIF_N,*
++V 10200,1000,CONT_DIF_N,*
++V 7800,2000,CONT_DIF_N,*
++V 11400,2000,CONT_DIF_N,*
++V 17400,1000,CONT_DIF_N,*
++V 15000,1000,CONT_DIF_N,*
++V 17400,2000,CONT_DIF_N,*
++V 15000,2000,CONT_DIF_N,*
++V 16200,2000,CONT_DIF_N,*
++V 5400,1000,CONT_DIF_N,*
++V 4200,2000,CONT_DIF_N,*
++V 1800,1000,CONT_DIF_N,*
++V 600,7000,CONT_DIF_P,*
++V 1800,9000,CONT_DIF_P,*
++V 1600,6000,CONT_POLY,*
++V 600,5000,CONT_POLY,*
++V 3200,4000,CONT_POLY,*
++V 4000,6000,CONT_POLY,*
++V 5000,7000,CONT_POLY,*
++V 5000,3000,CONT_POLY,*
++V 6000,3000,CONT_POLY,*
++V 6000,6000,CONT_POLY,*
++V 7000,5000,CONT_POLY,*
++V 7000,3000,CONT_POLY,*
++V 600,2000,CONT_DIF_N,*
++V 3000,2000,CONT_DIF_N,*
++V 1600,3000,CONT_POLY,*
++V 16200,8000,CONT_DIF_P,*
++V 16200,7000,CONT_DIF_P,*
++V 4200,8000,CONT_DIF_P,*
++V 7000,6000,CONT_POLY,*
++V 7800,7000,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/sff1_x4.vbe b/alliance/src/cells/src/msxlib/sff1_x4.vbe
+new file mode 100644
+index 0000000..4756bfd
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/sff1_x4.vbe
+@@ -0,0 +1,39 @@
++ENTITY sff1_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4500;
++ CONSTANT cin_ck : NATURAL := 8;
++ CONSTANT cin_i : NATURAL := 8;
++ CONSTANT rdown_ck_q : NATURAL := 800;
++ CONSTANT rup_ck_q : NATURAL := 890;
++ CONSTANT taf_ck_q : NATURAL := 500;
++ CONSTANT tar_ck_q : NATURAL := 500;
++ CONSTANT thf_i_ck : NATURAL := 0;
++ CONSTANT thr_i_ck : NATURAL := 0;
++ CONSTANT tsf_i_ck : NATURAL := 585;
++ CONSTANT tsr_i_ck : NATURAL := 476;
++ CONSTANT transistors : NATURAL := 26
++);
++PORT (
++ ck : in BIT;
++ i : in BIT;
++ q : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END sff1_x4;
++
++ARCHITECTURE VBE OF sff1_x4 IS
++ SIGNAL sff_m : REG_BIT REGISTER;
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on sff1_x4"
++ SEVERITY WARNING;
++
++ label0 : BLOCK ((ck and not (ck'STABLE)) = '1')
++ BEGIN
++ sff_m <= GUARDED i;
++ END BLOCK label0;
++
++ q <= sff_m after 1700 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/sff2_x4.ap b/alliance/src/cells/src/msxlib/sff2_x4.ap
+new file mode 100644
+index 0000000..1cc235b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/sff2_x4.ap
+@@ -0,0 +1,276 @@
++V ALLIANCE : 6
++H sff2_x4,P,14/ 8/2014,100
++A 0,0,24000,10000
++R 9000,2000,ref_ref,ck_20
++R 9000,7000,ref_ref,ck_70
++R 9000,6000,ref_ref,ck_60
++R 9000,5000,ref_ref,ck_50
++R 9000,4000,ref_ref,ck_40
++R 9000,3000,ref_ref,ck_30
++R 2000,3000,ref_ref,i0_30
++R 2000,4000,ref_ref,i0_40
++R 2000,5000,ref_ref,i0_50
++R 2000,7000,ref_ref,i0_70
++R 2000,6000,ref_ref,i0_60
++R 2000,8000,ref_ref,i0_80
++R 6000,2000,ref_ref,i1_20
++R 6000,3000,ref_ref,i1_30
++R 6000,4000,ref_ref,i1_40
++R 6000,5000,ref_ref,i1_50
++R 6000,6000,ref_ref,i1_60
++R 6000,7000,ref_ref,i1_70
++R 3000,5000,ref_ref,cmd_50
++R 3000,6000,ref_ref,cmd_60
++R 3000,7000,ref_ref,cmd_70
++R 3000,8000,ref_ref,cmd_80
++R 22000,2000,ref_ref,q_20
++R 22000,3000,ref_ref,q_30
++R 22000,5000,ref_ref,q_50
++R 22000,6000,ref_ref,q_60
++R 22000,7000,ref_ref,q_70
++R 22000,8000,ref_ref,q_80
++R 22000,4000,ref_ref,q_40
++R 21000,5000,ref_ref,q_50
++R 21000,3000,ref_ref,q_30
++S 3200,9300,4800,9300,600,*,RIGHT,NTIE
++S 18800,700,19600,700,600,*,RIGHT,PTIE
++S 12800,700,13600,700,600,*,RIGHT,PTIE
++S 3200,700,4800,700,600,*,RIGHT,PTIE
++S 22000,1900,22000,8100,400,*,DOWN,ALU1
++S 20400,1500,20400,2400,200,*,UP,NTRANS
++S 19200,1500,19200,2500,200,*,UP,NTRANS
++S 20400,7500,20400,9400,200,*,DOWN,PTRANS
++S 19200,7600,19200,9400,200,*,DOWN,PTRANS
++S 18000,7500,18000,9400,200,*,DOWN,PTRANS
++S 18000,1500,18000,2500,200,*,UP,NTRANS
++S 15600,600,15600,1400,200,*,UP,NTRANS
++S 14400,1500,14400,2500,200,*,UP,NTRANS
++S 15600,7600,15600,9400,200,*,DOWN,PTRANS
++S 14400,6500,14400,8500,200,*,DOWN,PTRANS
++S 13200,6600,13200,8600,200,*,DOWN,PTRANS
++S 13200,1500,13200,2400,200,*,UP,NTRANS
++S 0,5000,24000,5000,10000,sff2_x4,RIGHT,TALU8
++S 0,2200,24000,2200,5200,*,RIGHT,PWELL
++S 0,7600,24000,7600,5600,*,RIGHT,NWELL
++S 1800,900,1800,2200,600,*,UP,NDIF
++S 600,1700,600,2300,600,*,UP,NDIF
++S 1200,1500,1200,2500,200,*,UP,NTRANS
++S 2400,1500,2400,2400,200,*,UP,NTRANS
++S 5000,1500,5000,2400,200,*,UP,NTRANS
++S 3800,1700,3800,2200,600,*,UP,NDIF
++S 3200,1500,3200,2400,200,*,UP,NTRANS
++S 6400,900,6400,2200,600,*,UP,NDIF
++S 5800,1500,5800,2400,200,*,UP,NTRANS
++S 4200,1700,4200,3100,1000,*,DOWN,NDIF
++S 9600,1500,9600,2500,200,*,UP,NTRANS
++S 9000,900,9000,2200,600,*,DOWN,NDIF
++S 7800,1600,7800,2200,600,*,DOWN,NDIF
++S 8400,1400,8400,2400,200,*,UP,NTRANS
++S 10200,1700,10200,2300,600,*,DOWN,NDIF
++S 16200,800,16200,1200,600,*,DOWN,NDIF
++S 17400,800,17400,1300,600,*,DOWN,NDIF
++S 16800,600,16800,1500,200,*,UP,NTRANS
++S 23400,800,23400,2300,600,*,DOWN,NDIF
++S 22800,600,22800,2500,200,*,UP,NTRANS
++S 22200,800,22200,2300,600,*,DOWN,NDIF
++S 21000,800,21000,2200,600,*,DOWN,NDIF
++S 17400,800,17400,2300,600,*,DOWN,NDIF
++S 18600,1700,18600,2300,600,*,DOWN,NDIF
++S 21600,600,21600,2500,200,*,UP,NTRANS
++S 19800,1700,19800,2200,600,*,DOWN,NDIF
++S 11400,900,11400,2200,600,*,DOWN,NDIF
++S 12000,1500,12000,2400,200,*,UP,NTRANS
++S 12600,1700,12600,2200,600,*,DOWN,NDIF
++S 15000,800,15000,2300,600,*,DOWN,NDIF
++S 13800,1700,13800,2200,600,*,DOWN,NDIF
++S 2400,6600,2400,8500,200,*,DOWN,PTRANS
++S 1800,6800,1800,9100,600,*,DOWN,PDIF
++S 600,6700,600,8300,600,*,DOWN,PDIF
++S 1200,6500,1200,8500,200,*,DOWN,PTRANS
++S 5800,6600,5800,8500,200,*,DOWN,PTRANS
++S 4000,6800,4000,8300,1000,*,DOWN,PDIF
++S 3200,6600,3200,8500,200,*,DOWN,PTRANS
++S 6400,6800,6400,9100,600,*,DOWN,PDIF
++S 5000,6600,5000,8500,200,*,DOWN,PTRANS
++S 10200,6700,10200,8300,600,*,UP,PDIF
++S 9600,6500,9600,8500,200,*,DOWN,PTRANS
++S 8400,6600,8400,8600,200,*,DOWN,PTRANS
++S 7800,6800,7800,8400,600,*,UP,PDIF
++S 16000,7800,16000,9200,600,*,DOWN,PDIF
++S 18600,7800,18600,9200,600,*,DOWN,PDIF
++S 17200,7700,17200,9200,600,*,DOWN,PDIF
++S 9000,6800,9000,9100,600,*,UP,PDIF
++S 23400,5700,23400,9200,600,*,DOWN,PDIF
++S 22800,5500,22800,9400,200,*,DOWN,PTRANS
++S 22200,5700,22200,9200,600,*,DOWN,PDIF
++S 16800,7500,16800,9400,200,*,UP,PTRANS
++S 19800,7800,19800,9200,600,*,UP,PDIF
++S 12000,7600,12000,9400,200,*,DOWN,PTRANS
++S 21000,5700,21000,9200,600,*,DOWN,PDIF
++S 21600,5500,21600,9400,200,*,DOWN,PTRANS
++S 15000,6700,15000,9200,600,*,UP,PDIF
++S 13800,6800,13800,8400,600,*,UP,PDIF
++S 12600,6800,12600,9200,600,*,UP,PDIF
++S 11400,7800,11400,9200,600,*,UP,PDIF
++S 15600,2000,16200,2000,600,*,RIGHT,POLY
++S 16800,1800,16800,3000,200,*,UP,POLY
++S 1200,5000,5000,5000,200,*,RIGHT,POLY
++S 1200,2800,1200,6200,200,*,DOWN,POLY
++S 1800,3000,2400,3000,600,*,RIGHT,POLY
++S 1800,6000,2400,6000,600,*,RIGHT,POLY
++S 5000,2800,5000,5000,200,*,DOWN,POLY
++S 3200,2800,3200,4000,200,*,DOWN,POLY
++S 3200,5000,3200,6200,200,*,DOWN,POLY
++S 8400,6000,9000,6000,600,*,RIGHT,POLY
++S 10200,4000,18000,4000,200,ckr,RIGHT,POLY
++S 7800,5000,19200,5000,200,nckr,RIGHT,POLY
++S 20400,5000,21000,5000,600,*,RIGHT,POLY
++S 20400,3000,21000,3000,600,*,RIGHT,POLY
++S 21600,2800,21600,5200,200,*,DOWN,POLY
++S 19200,2800,19200,5000,200,*,DOWN,POLY
++S 9600,2800,9600,6200,200,*,DOWN,POLY
++S 8400,3000,9000,3000,600,*,RIGHT,POLY
++S 13800,4000,14400,4000,600,*,RIGHT,POLY
++S 18000,4000,18600,4000,600,*,RIGHT,POLY
++S 14400,2800,14400,4000,200,*,DOWN,POLY
++S 18000,5000,18000,7200,200,*,DOWN,POLY
++S 16800,6000,16800,7200,200,*,DOWN,POLY
++S 18000,2800,18000,4000,200,*,DOWN,POLY
++S 22800,2800,22800,5200,200,*,DOWN,POLY
++S 14400,5000,14400,6200,200,*,DOWN,POLY
++S 16200,3000,16800,3000,600,*,RIGHT,POLY
++S 15600,7000,16200,7000,600,*,RIGHT,POLY
++S 18600,7000,19200,7000,600,*,RIGHT,POLY
++S 16200,6000,16800,6000,600,*,RIGHT,POLY
++S 0,600,24000,600,1200,vss,RIGHT,CALU1
++S 600,2000,5000,2000,400,*,RIGHT,ALU1
++S 600,1900,600,7100,400,*,DOWN,ALU1
++S 9000,1900,9000,7100,400,*,DOWN,ALU1
++S 10200,1900,10200,7100,400,*,DOWN,ALU1
++S 5000,2000,5000,6100,400,*,DOWN,ALU1
++S 3000,2000,3000,4100,400,*,UP,ALU1
++S 17400,1900,17400,8100,400,y,DOWN,ALU1
++S 6000,1900,6000,7100,400,*,DOWN,ALU1
++S 7800,1900,7800,7100,400,*,DOWN,ALU1
++S 15900,2000,17400,2000,400,*,RIGHT,ALU1
++S 13700,2000,15000,2000,400,*,RIGHT,ALU1
++S 18500,2000,19800,2000,400,*,RIGHT,ALU1
++S 23400,900,23400,2100,400,*,DOWN,ALU1
++S 21000,900,21000,2100,400,*,DOWN,ALU1
++S 0,9400,24000,9400,1200,vdd,RIGHT,CALU1
++S 2000,2900,2000,8100,400,*,DOWN,ALU1
++S 4000,8000,12000,8000,400,*,RIGHT,ALU1
++S 3000,4900,3000,8100,400,*,DOWN,ALU1
++S 4000,2900,4000,8000,400,*,DOWN,ALU1
++S 15900,7000,17400,7000,400,*,LEFT,ALU1
++S 23400,5900,23400,9100,400,*,DOWN,ALU1
++S 21000,5900,21000,9100,400,*,DOWN,ALU1
++S 20700,5000,22200,5000,400,*,RIGHT,ALU1
++S 20700,3000,22200,3000,400,*,RIGHT,ALU1
++S 15000,6000,16500,6000,400,*,RIGHT,ALU1
++S 18600,4000,18600,7000,400,*,DOWN,ALU1
++S 15000,3000,16500,3000,400,*,LEFT,ALU1
++S 18500,8000,19800,8000,400,*,RIGHT,ALU1
++S 13700,7000,15000,7000,400,*,RIGHT,ALU1
++S 12000,2900,12000,8000,400,u,DOWN,ALU1
++S 14000,3900,14000,6000,400,*,UP,ALU1
++S 12900,6000,14000,6000,400,*,RIGHT,ALU1
++S 13000,2900,13000,5100,400,*,DOWN,ALU1
++S 15000,2000,15000,7000,400,sff_m,DOWN,ALU1
++S 19800,2000,19800,8000,400,sff_s,DOWN,ALU1
++S 20400,4800,20400,7200,200,*,DOWN,POLY
++S 19800,4000,20900,4000,400,*,RIGHT,ALU1
++S 20800,4000,22800,4000,600,*,RIGHT,POLY
++S 9000,2000,9000,7000,400,ck,DOWN,CALU1
++S 2000,3000,2000,8000,400,i0,DOWN,CALU1
++S 6000,2000,6000,7000,400,i1,DOWN,CALU1
++S 3000,5000,3000,8000,400,cmd,DOWN,CALU1
++S 22000,2000,22000,8000,400,q,DOWN,CALU1
++S 8700,6000,8900,6000,400,*,RIGHT,ALU1
++S 8700,3000,8900,3000,400,*,RIGHT,ALU1
++S 7900,5000,8100,5000,400,*,RIGHT,ALU1
++S 22100,8000,22300,8000,400,*,RIGHT,ALU1
++S 22100,7000,22300,7000,400,*,RIGHT,ALU1
++S 22100,6000,22300,6000,400,*,RIGHT,ALU1
++S 22100,2000,22300,2000,400,*,RIGHT,ALU1
++S 18700,7000,18900,7000,400,*,RIGHT,ALU1
++S 18300,4000,18500,4000,400,*,RIGHT,ALU1
++S 11700,7000,11900,7000,400,*,RIGHT,ALU1
++S 10300,4000,10500,4000,400,*,RIGHT,ALU1
++S 21000,5000,21000,5000,400,q,LEFT,CALU1
++S 21000,3000,21000,3000,400,q,LEFT,CALU1
++V 5000,9300,CONT_BODY_N,*
++V 3000,9300,CONT_BODY_N,*
++V 19800,700,CONT_BODY_P,*
++V 18600,700,CONT_BODY_P,*
++V 13800,700,CONT_BODY_P,*
++V 12600,700,CONT_BODY_P,*
++V 5000,700,CONT_BODY_P,*
++V 3000,700,CONT_BODY_P,*
++V 8000,5000,CONT_POLY,*
++V 1800,1000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,*
++V 6400,1000,CONT_DIF_N,*
++V 18600,2000,CONT_DIF_N,*
++V 10200,2000,CONT_DIF_N,*
++V 9000,1000,CONT_DIF_N,*
++V 7800,2000,CONT_DIF_N,*
++V 22200,2000,CONT_DIF_N,*
++V 21000,2000,CONT_DIF_N,*
++V 23400,2000,CONT_DIF_N,*
++V 21000,1000,CONT_DIF_N,*
++V 23400,1000,CONT_DIF_N,*
++V 17400,2000,CONT_DIF_N,*
++V 13800,2000,CONT_DIF_N,*
++V 16200,1000,CONT_DIF_N,*
++V 11400,1000,CONT_DIF_N,*
++V 4000,3000,CONT_DIF_N,*
++V 1800,9000,CONT_DIF_P,*
++V 600,7000,CONT_DIF_P,*
++V 7800,7000,CONT_DIF_P,*
++V 10200,7000,CONT_DIF_P,*
++V 6400,9000,CONT_DIF_P,*
++V 21000,6000,CONT_DIF_P,*
++V 22200,6000,CONT_DIF_P,*
++V 23400,6000,CONT_DIF_P,*
++V 17400,8000,CONT_DIF_P,*
++V 16200,9000,CONT_DIF_P,*
++V 18600,8000,CONT_DIF_P,*
++V 9000,9000,CONT_DIF_P,*
++V 4000,7000,CONT_DIF_P,*
++V 22200,8000,CONT_DIF_P,*
++V 11400,9000,CONT_DIF_P,*
++V 23400,7000,CONT_DIF_P,*
++V 23400,8000,CONT_DIF_P,*
++V 21000,9000,CONT_DIF_P,*
++V 23400,9000,CONT_DIF_P,*
++V 21000,8000,CONT_DIF_P,*
++V 21000,7000,CONT_DIF_P,*
++V 13800,7000,CONT_DIF_P,*
++V 22200,7000,CONT_DIF_P,*
++V 16000,2000,CONT_POLY,*
++V 2000,3000,CONT_POLY,*
++V 2000,6000,CONT_POLY,*
++V 5000,6000,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 3000,4000,CONT_POLY,*
++V 16000,7000,CONT_POLY,*
++V 8800,3000,CONT_POLY,*
++V 8800,6000,CONT_POLY,*
++V 6000,3000,CONT_POLY,*
++V 10400,4000,CONT_POLY,*
++V 11800,7000,CONT_POLY,*
++V 18800,7000,CONT_POLY,*
++V 14000,4000,CONT_POLY,*
++V 16400,6000,CONT_POLY,*
++V 18400,4000,CONT_POLY,*
++V 16400,3000,CONT_POLY,*
++V 20800,3000,CONT_POLY,*
++V 20800,5000,CONT_POLY,*
++V 13000,6000,CONT_POLY,*
++V 13000,3000,CONT_POLY,*
++V 13000,5000,CONT_POLY,*
++V 12000,3000,CONT_POLY,*
++V 6000,6000,CONT_POLY,*
++V 20800,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/sff2_x4.vbe b/alliance/src/cells/src/msxlib/sff2_x4.vbe
+new file mode 100644
+index 0000000..59eaa64
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/sff2_x4.vbe
+@@ -0,0 +1,51 @@
++ENTITY sff2_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT cin_ck : NATURAL := 8;
++ CONSTANT cin_cmd : NATURAL := 16;
++ CONSTANT cin_i0 : NATURAL := 8;
++ CONSTANT cin_i1 : NATURAL := 7;
++ CONSTANT rdown_ck_q : NATURAL := 800;
++ CONSTANT rup_ck_q : NATURAL := 890;
++ CONSTANT taf_ck_q : NATURAL := 500;
++ CONSTANT tar_ck_q : NATURAL := 500;
++ CONSTANT thf_cmd_ck : NATURAL := 0;
++ CONSTANT thf_i0_ck : NATURAL := 0;
++ CONSTANT thf_i1_ck : NATURAL := 0;
++ CONSTANT thr_cmd_ck : NATURAL := 0;
++ CONSTANT thr_i0_ck : NATURAL := 0;
++ CONSTANT thr_i1_ck : NATURAL := 0;
++ CONSTANT tsf_cmd_ck : NATURAL := 833;
++ CONSTANT tsf_i0_ck : NATURAL := 764;
++ CONSTANT tsf_i1_ck : NATURAL := 764;
++ CONSTANT tsr_cmd_ck : NATURAL := 770;
++ CONSTANT tsr_i0_ck : NATURAL := 666;
++ CONSTANT tsr_i1_ck : NATURAL := 666;
++ CONSTANT transistors : NATURAL := 34
++);
++PORT (
++ ck : in BIT;
++ cmd : in BIT;
++ i0 : in BIT;
++ i1 : in BIT;
++ q : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END sff2_x4;
++
++ARCHITECTURE VBE OF sff2_x4 IS
++ SIGNAL sff_m : REG_BIT REGISTER;
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on sff2_x4"
++ SEVERITY WARNING;
++
++ label0 : BLOCK ((ck and not (ck'STABLE)) = '1')
++ BEGIN
++ sff_m <= GUARDED ((i1 and cmd) or (i0 and not (cmd)));
++ END BLOCK label0;
++
++ q <= sff_m after 2000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/sff3_x4.ap b/alliance/src/cells/src/msxlib/sff3_x4.ap
+new file mode 100644
+index 0000000..7f7d585
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/sff3_x4.ap
+@@ -0,0 +1,358 @@
++V ALLIANCE : 6
++H sff3_x4,P,14/ 8/2014,100
++A 0,0,28000,10000
++R 9000,5000,ref_ref,i0_50
++R 8000,6000,ref_ref,i0_60
++R 8000,4000,ref_ref,i0_40
++R 7000,6000,ref_ref,cmd0_60
++R 7000,5000,ref_ref,cmd0_50
++R 7000,4000,ref_ref,cmd0_40
++R 5000,5000,ref_ref,i1_50
++R 3000,5000,ref_ref,i2_50
++R 1000,7000,ref_ref,cmd1_70
++R 1000,6000,ref_ref,cmd1_60
++R 1000,5000,ref_ref,cmd1_50
++R 1000,4000,ref_ref,cmd1_40
++R 1000,3000,ref_ref,cmd1_30
++R 26000,7000,ref_ref,q_70
++R 26000,8000,ref_ref,q_80
++R 26000,4000,ref_ref,q_40
++R 26000,3000,ref_ref,q_30
++R 26000,5000,ref_ref,q_50
++R 26000,6000,ref_ref,q_60
++R 26000,2000,ref_ref,q_20
++R 12000,4000,ref_ref,ck_40
++R 12000,3000,ref_ref,ck_30
++R 12000,5000,ref_ref,ck_50
++R 12000,6000,ref_ref,ck_60
++R 12000,7000,ref_ref,ck_70
++R 12000,2000,ref_ref,ck_20
++R 25000,5000,ref_ref,q_50
++R 25000,3000,ref_ref,q_30
++S 16600,9300,17800,9300,600,*,RIGHT,NTIE
++S 12800,9300,14200,9300,600,*,RIGHT,NTIE
++S 22800,700,23600,700,600,*,RIGHT,PTIE
++S 16800,700,17600,700,600,*,RIGHT,PTIE
++S 12800,700,14200,700,600,*,RIGHT,PTIE
++S 8800,6000,9200,6000,600,*,RIGHT,POLY
++S 8800,4000,9200,4000,600,*,RIGHT,POLY
++S 3600,7000,4000,7000,600,*,RIGHT,POLY
++S 3600,3000,4000,3000,600,*,RIGHT,POLY
++S 26000,1900,26000,8100,400,*,DOWN,ALU1
++S 8000,4000,8000,4000,400,i0,LEFT,CALU1
++S 8000,6000,8000,6000,400,i0,LEFT,CALU1
++S 9000,5000,9000,5000,400,i0,LEFT,CALU1
++S 7000,4000,7000,6000,400,cmd0,DOWN,CALU1
++S 5000,5000,5000,5000,400,i1,LEFT,CALU1
++S 3000,5000,3000,5000,400,i2,LEFT,CALU1
++S 1000,3000,1000,7000,400,cmd1,DOWN,CALU1
++S 26000,2000,26000,8000,400,q,DOWN,CALU1
++S 12000,2000,12000,7000,400,ck,DOWN,CALU1
++S 7000,5000,7900,5000,400,*,RIGHT,ALU1
++S 9800,3000,9800,3500,400,*,DOWN,ALU1
++S 7900,6000,8800,6000,400,*,RIGHT,ALU1
++S 7900,4000,8800,4000,400,*,RIGHT,ALU1
++S 7000,3900,7000,6100,400,*,DOWN,ALU1
++S 8800,3900,8800,6100,400,*,UP,ALU1
++S 1000,7900,1000,9100,400,*,UP,ALU1
++S 2100,2000,6700,2000,400,*,RIGHT,ALU1
++S 7000,3000,7000,7200,200,*,UP,POLY
++S 7000,7200,7200,7200,200,*,RIGHT,POLY
++S 8800,6000,9200,6000,200,*,RIGHT,POLY
++S 9200,6000,9200,7200,200,*,UP,POLY
++S 8000,3800,8000,6600,200,*,DOWN,POLY
++S 9000,4000,9200,4000,200,*,RIGHT,POLY
++S 9200,2200,9200,4000,200,*,DOWN,POLY
++S 8400,2200,8400,3000,200,*,UP,POLY
++S 10400,4000,10400,5200,200,*,DOWN,POLY
++S 8000,7200,8400,7200,200,*,LEFT,POLY
++S 8000,6600,8000,7200,200,*,UP,POLY
++S 6000,2600,6000,7200,200,*,DOWN,POLY
++S 7200,2200,7600,2200,200,*,RIGHT,POLY
++S 6600,3000,6800,3000,200,*,LEFT,POLY
++S 8000,5000,10400,5000,200,*,RIGHT,POLY
++S 7600,2200,7600,3800,200,*,DOWN,POLY
++S 7600,3800,8000,3800,200,*,LEFT,POLY
++S 4000,4000,4000,7200,200,*,DOWN,POLY
++S 1000,5000,1600,5000,600,*,RIGHT,POLY
++S 3600,3000,4000,3000,200,*,RIGHT,POLY
++S 5200,6000,5200,7200,200,*,UP,POLY
++S 5200,2600,5200,4000,200,*,UP,POLY
++S 4000,2600,4000,3000,200,*,DOWN,POLY
++S 2800,2600,2800,7200,200,*,DOWN,POLY
++S 5000,5000,6000,5000,200,*,RIGHT,POLY
++S 4000,4000,5200,4000,200,*,RIGHT,POLY
++S 9800,3100,9800,3300,600,*,DOWN,NDIF
++S 10400,2900,10400,3700,200,*,DOWN,NTRANS
++S 6600,800,6600,2100,600,*,DOWN,NDIF
++S 9200,700,9200,1900,200,*,UP,NTRANS
++S 9800,1100,9800,1900,600,*,UP,NDIF
++S 7200,600,7200,1800,200,*,UP,NTRANS
++S 7800,800,7800,1600,400,*,DOWN,NDIF
++S 8400,700,8400,1900,200,*,UP,NTRANS
++S 4000,1100,4000,2300,200,*,UP,NTRANS
++S 5200,1100,5200,2300,200,*,UP,NTRANS
++S 6000,1100,6000,2300,200,*,UP,NTRANS
++S 2800,1100,2800,2300,200,*,UP,NTRANS
++S 2200,1300,2200,1900,600,*,DOWN,NDIF
++S 3400,1300,3400,2100,400,*,DOWN,NDIF
++S 4600,1300,4600,3100,600,*,UP,NDIF
++S 9800,7800,9800,9200,600,*,UP,PDIF
++S 7800,7800,7800,9200,400,*,UP,PDIF
++S 9200,7600,9200,9400,200,*,UP,PTRANS
++S 6600,7800,6600,9200,400,*,UP,PDIF
++S 9800,5700,9800,6700,600,*,UP,PDIF
++S 10400,5500,10400,6900,200,*,UP,PTRANS
++S 8400,7600,8400,9400,200,*,UP,PTRANS
++S 7200,7600,7200,9400,200,*,UP,PTRANS
++S 6000,7500,6000,9400,200,*,UP,PTRANS
++S 5200,7500,5200,9400,200,*,UP,PTRANS
++S 2200,5800,2200,6800,600,*,UP,PDIF
++S 1600,5600,1600,7000,200,*,UP,PTRANS
++S 1000,5800,1000,7900,600,*,UP,PDIF
++S 4000,7600,4000,9400,200,*,UP,PTRANS
++S 4600,7100,4600,9200,600,*,UP,PDIF
++S 3400,7800,3400,9200,400,*,DOWN,PDIF
++S 2800,7500,2800,9400,200,*,UP,PTRANS
++S 2200,7700,2200,9200,600,*,UP,PDIF
++S 27400,5900,27400,9100,400,*,DOWN,ALU1
++S 25000,5900,25000,9100,400,*,DOWN,ALU1
++S 27400,900,27400,2100,400,*,DOWN,ALU1
++S 25000,900,25000,2100,400,*,DOWN,ALU1
++S 24400,5000,25000,5000,600,*,RIGHT,POLY
++S 24400,3000,25000,3000,600,*,RIGHT,POLY
++S 25600,2800,25600,5200,200,*,DOWN,POLY
++S 23200,2800,23200,5000,200,*,DOWN,POLY
++S 17800,4000,18400,4000,600,*,RIGHT,POLY
++S 22000,4000,22600,4000,600,*,RIGHT,POLY
++S 18400,2800,18400,4000,200,*,DOWN,POLY
++S 22000,5000,22000,7200,200,*,DOWN,POLY
++S 20800,6000,20800,7200,200,*,DOWN,POLY
++S 22000,2800,22000,4000,200,*,DOWN,POLY
++S 20200,3000,20800,3000,600,*,RIGHT,POLY
++S 19600,7000,20200,7000,600,*,RIGHT,POLY
++S 22600,7000,23200,7000,600,*,RIGHT,POLY
++S 20200,6000,20800,6000,600,*,RIGHT,POLY
++S 24400,4800,24400,7200,200,*,DOWN,POLY
++S 24800,4000,26800,4000,600,*,RIGHT,POLY
++S 26800,2800,26800,5200,200,*,DOWN,POLY
++S 18400,5000,18400,6200,200,*,DOWN,POLY
++S 14200,6200,14800,6200,200,*,RIGHT,POLY
++S 14200,2800,14800,2800,200,*,RIGHT,POLY
++S 14200,2800,14200,6200,200,*,DOWN,POLY
++S 15000,4000,22000,4000,200,ckr,RIGHT,POLY
++S 19600,2000,20200,2000,600,*,RIGHT,POLY
++S 20800,1800,20800,3000,200,*,UP,POLY
++S 17200,1500,17200,2400,200,*,UP,NTRANS
++S 24400,1500,24400,2400,200,*,UP,NTRANS
++S 23200,1500,23200,2500,200,*,UP,NTRANS
++S 22000,1500,22000,2500,200,*,UP,NTRANS
++S 19600,600,19600,1400,200,*,UP,NTRANS
++S 18400,1500,18400,2500,200,*,UP,NTRANS
++S 21400,800,21400,1300,600,*,DOWN,NDIF
++S 20800,600,20800,1500,200,*,UP,NTRANS
++S 25000,800,25000,2200,600,*,DOWN,NDIF
++S 21400,800,21400,2300,600,*,DOWN,NDIF
++S 22600,1700,22600,2300,600,*,DOWN,NDIF
++S 25600,600,25600,2500,200,*,UP,NTRANS
++S 14200,1700,14200,2200,600,*,DOWN,NDIF
++S 20200,800,20200,1200,600,*,DOWN,NDIF
++S 16600,1700,16600,2200,600,*,DOWN,NDIF
++S 19000,800,19000,2300,600,*,DOWN,NDIF
++S 17800,1700,17800,2200,600,*,DOWN,NDIF
++S 27400,800,27400,2300,600,*,DOWN,NDIF
++S 26800,600,26800,2500,200,*,UP,NTRANS
++S 26200,800,26200,2300,600,*,DOWN,NDIF
++S 23800,1700,23800,2200,600,*,DOWN,NDIF
++S 15400,900,15400,2200,600,*,DOWN,NDIF
++S 16000,1500,16000,2400,200,*,UP,NTRANS
++S 14800,1500,14800,2400,200,*,UP,NTRANS
++S 22000,7500,22000,9400,200,*,DOWN,PTRANS
++S 19600,7600,19600,9400,200,*,DOWN,PTRANS
++S 18400,6500,18400,8500,200,*,DOWN,PTRANS
++S 24400,7500,24400,9400,200,*,DOWN,PTRANS
++S 23200,7600,23200,9400,200,*,DOWN,PTRANS
++S 27400,5700,27400,9200,600,*,DOWN,PDIF
++S 26800,5500,26800,9400,200,*,DOWN,PTRANS
++S 26200,5700,26200,9200,600,*,DOWN,PDIF
++S 20800,7500,20800,9400,200,*,UP,PTRANS
++S 14200,6800,14200,8300,600,*,UP,PDIF
++S 17200,6600,17200,8500,200,*,DOWN,PTRANS
++S 19000,6700,19000,9200,600,*,UP,PDIF
++S 17800,6800,17800,8300,600,*,UP,PDIF
++S 20000,7800,20000,9200,600,*,DOWN,PDIF
++S 22600,7800,22600,9200,600,*,DOWN,PDIF
++S 21200,7700,21200,9200,600,*,DOWN,PDIF
++S 23800,7800,23800,9200,600,*,UP,PDIF
++S 25000,5700,25000,9200,600,*,DOWN,PDIF
++S 25600,5500,25600,9400,200,*,DOWN,PTRANS
++S 16600,6800,16600,8300,600,*,UP,PDIF
++S 15400,6800,15400,9100,600,*,UP,PDIF
++S 16000,6600,16000,8500,200,*,DOWN,PTRANS
++S 14800,6600,14800,8500,200,*,DOWN,PTRANS
++S 0,5000,28000,5000,10000,sff3_x4,RIGHT,TALU8
++S 0,2200,28000,2200,5200,*,RIGHT,PWELL
++S 0,7600,28000,7600,5600,*,RIGHT,NWELL
++S 0,9400,28000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,28000,600,1200,vss,RIGHT,CALU1
++S 12200,2800,12200,6200,200,*,DOWN,POLY
++S 12200,6500,12200,8500,200,*,DOWN,PTRANS
++S 12200,1500,12200,2500,200,*,UP,NTRANS
++S 12800,1700,12800,2300,600,*,DOWN,NDIF
++S 12800,6700,12800,8300,600,*,UP,PDIF
++S 11200,5700,11200,9100,1000,*,DOWN,PDIF
++S 11200,900,11200,3500,1000,*,DOWN,NDIF
++S 13000,6700,13000,8300,600,*,UP,PDIF
++S 13000,1700,13000,2300,600,*,DOWN,NDIF
++S 13200,5000,23200,5000,200,nckr,RIGHT,POLY
++S 1000,700,1000,2100,400,*,DOWN,ALU1
++S 2200,3100,2200,3500,600,*,UP,NDIF
++S 1600,2900,1600,3700,200,*,DOWN,NTRANS
++S 1000,1900,1000,3500,600,*,DOWN,NDIF
++S 1600,4000,1600,5200,200,*,DOWN,POLY
++S 2200,3000,3700,3000,400,*,LEFT,ALU1
++S 4100,5000,5100,5000,400,*,LEFT,ALU1
++S 3000,4300,3000,5100,400,*,DOWN,ALU1
++S 2000,3200,2000,6000,400,*,UP,ALU1
++S 2100,6000,5100,6000,400,*,LEFT,ALU1
++S 4500,3000,5600,3000,400,*,RIGHT,ALU1
++S 5600,3000,5600,4000,400,*,UP,ALU1
++S 5600,4000,6000,4000,400,*,RIGHT,ALU1
++S 6000,4000,6000,6900,400,*,UP,ALU1
++S 1000,7000,3700,7000,400,*,LEFT,ALU1
++S 2100,8000,6700,8000,400,*,RIGHT,ALU1
++S 4500,7000,11000,7000,400,*,RIGHT,ALU1
++S 6700,3000,9800,3000,400,*,RIGHT,ALU1
++S 10000,3400,10000,6000,400,*,DOWN,ALU1
++S 9800,7100,9800,8100,400,*,DOWN,ALU1
++S 9800,8000,16000,8000,400,*,RIGHT,ALU1
++S 11000,2000,11000,7000,400,*,DOWN,ALU1
++S 9700,2000,11000,2000,400,*,RIGHT,ALU1
++S 13000,1900,13000,7100,400,*,DOWN,ALU1
++S 14200,6900,15000,6900,400,*,LEFT,ALU1
++S 15000,2100,15000,6900,400,*,UP,ALU1
++S 14200,2100,15000,2100,400,*,RIGHT,ALU1
++S 16000,2900,16000,8000,400,u,DOWN,ALU1
++S 17000,3000,17000,5100,400,*,DOWN,ALU1
++S 19000,2000,19000,7000,400,sff_m,DOWN,ALU1
++S 17700,7000,19000,7000,400,*,RIGHT,ALU1
++S 19100,6000,20500,6000,400,*,RIGHT,ALU1
++S 19100,3000,20500,3000,400,*,LEFT,ALU1
++S 17700,2000,19000,2000,400,*,RIGHT,ALU1
++S 19900,2000,21400,2000,400,*,RIGHT,ALU1
++S 21400,1900,21400,8100,400,y,DOWN,ALU1
++S 19900,7000,21300,7000,400,*,LEFT,ALU1
++S 22600,4000,22600,7000,400,*,DOWN,ALU1
++S 23800,2000,23800,8000,400,sff_s,DOWN,ALU1
++S 22500,8000,23800,8000,400,*,RIGHT,ALU1
++S 23900,4000,24900,4000,400,*,RIGHT,ALU1
++S 22500,2000,23800,2000,400,*,RIGHT,ALU1
++S 24700,3000,26100,3000,400,*,RIGHT,ALU1
++S 24700,5000,26100,5000,400,*,RIGHT,ALU1
++S 17100,6000,18000,6000,400,*,RIGHT,ALU1
++S 18000,3900,18000,6000,400,*,UP,ALU1
++S 8900,5000,9100,5000,400,*,LEFT,ALU1
++S 1000,2900,1000,7100,400,*,DOWN,ALU1
++S 12000,1900,12000,7100,400,*,DOWN,ALU1
++S 9700,6000,9900,6000,400,*,RIGHT,ALU1
++S 2100,3200,2300,3200,400,*,RIGHT,ALU1
++S 26100,8000,26300,8000,400,*,RIGHT,ALU1
++S 26100,7000,26300,7000,400,*,RIGHT,ALU1
++S 26100,6000,26300,6000,400,*,RIGHT,ALU1
++S 26100,2000,26300,2000,400,*,RIGHT,ALU1
++S 22700,7000,22900,7000,400,*,RIGHT,ALU1
++S 22300,4000,22500,4000,400,*,RIGHT,ALU1
++S 17100,3000,17300,3000,400,*,RIGHT,ALU1
++S 14100,7000,14300,7000,400,*,RIGHT,ALU1
++S 14100,2000,14300,2000,400,*,RIGHT,ALU1
++S 13100,5000,13300,5000,400,*,RIGHT,ALU1
++S 25000,5000,25000,5000,400,q,LEFT,CALU1
++S 25000,3000,25000,3000,400,q,LEFT,CALU1
++V 17800,9300,CONT_BODY_N,*
++V 16600,9300,CONT_BODY_N,*
++V 14200,9300,CONT_BODY_N,*
++V 12800,9300,CONT_BODY_N,*
++V 23800,700,CONT_BODY_P,*
++V 22600,700,CONT_BODY_P,*
++V 17800,700,CONT_BODY_P,*
++V 16600,700,CONT_BODY_P,*
++V 14200,700,CONT_BODY_P,*
++V 12800,700,CONT_BODY_P,*
++V 11000,9000,CONT_DIF_P,*
++V 8800,6000,CONT_POLY,*
++V 8800,4000,CONT_POLY,*
++V 7800,5000,CONT_POLY,*
++V 8400,3000,CONT_POLY,*
++V 6800,3000,CONT_POLY,*
++V 5000,6000,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 5000,5000,CONT_POLY,*
++V 1000,5000,CONT_POLY,*
++V 3600,3000,CONT_POLY,*
++V 3600,7000,CONT_POLY,*
++V 9800,3400,CONT_DIF_N,*
++V 4600,3000,CONT_DIF_N,*
++V 6600,2000,CONT_DIF_N,*
++V 7800,1000,CONT_DIF_N,*
++V 9800,2000,CONT_DIF_N,*
++V 11000,1000,CONT_DIF_N,*
++V 1000,2000,CONT_DIF_N,*
++V 2200,2000,CONT_DIF_N,*
++V 6600,8000,CONT_DIF_P,*
++V 7800,9000,CONT_DIF_P,*
++V 9800,8000,CONT_DIF_P,*
++V 9800,6000,CONT_DIF_P,*
++V 4600,7000,CONT_DIF_P,*
++V 2200,8000,CONT_DIF_P,*
++V 2200,6000,CONT_DIF_P,*
++V 1000,8000,CONT_DIF_P,*
++V 20000,7000,CONT_POLY,*
++V 22800,7000,CONT_POLY,*
++V 18000,4000,CONT_POLY,*
++V 20400,6000,CONT_POLY,*
++V 22400,4000,CONT_POLY,*
++V 20400,3000,CONT_POLY,*
++V 24800,3000,CONT_POLY,*
++V 24800,5000,CONT_POLY,*
++V 17000,5000,CONT_POLY,*
++V 24800,4000,CONT_POLY,*
++V 15000,4000,CONT_POLY,*
++V 17200,6000,CONT_POLY,*
++V 16000,6000,CONT_POLY,*
++V 17200,3000,CONT_POLY,*
++V 16000,3000,CONT_POLY,*
++V 20000,2000,CONT_POLY,*
++V 14200,2000,CONT_DIF_N,*
++V 26200,2000,CONT_DIF_N,*
++V 25000,2000,CONT_DIF_N,*
++V 27400,2000,CONT_DIF_N,*
++V 25000,1000,CONT_DIF_N,*
++V 27400,1000,CONT_DIF_N,*
++V 21400,2000,CONT_DIF_N,*
++V 17800,2000,CONT_DIF_N,*
++V 22600,2000,CONT_DIF_N,*
++V 20200,1000,CONT_DIF_N,*
++V 15400,1000,CONT_DIF_N,*
++V 25000,6000,CONT_DIF_P,*
++V 26200,6000,CONT_DIF_P,*
++V 27400,6000,CONT_DIF_P,*
++V 21400,8000,CONT_DIF_P,*
++V 20200,9000,CONT_DIF_P,*
++V 26200,8000,CONT_DIF_P,*
++V 27400,7000,CONT_DIF_P,*
++V 27400,8000,CONT_DIF_P,*
++V 25000,9000,CONT_DIF_P,*
++V 14200,7000,CONT_DIF_P,*
++V 27400,9000,CONT_DIF_P,*
++V 25000,8000,CONT_DIF_P,*
++V 25000,7000,CONT_DIF_P,*
++V 17800,7000,CONT_DIF_P,*
++V 26200,7000,CONT_DIF_P,*
++V 22600,8000,CONT_DIF_P,*
++V 15400,9200,CONT_DIF_P,*
++V 12000,5000,CONT_POLY,*
++V 13200,5000,CONT_POLY,*
++V 13000,2000,CONT_DIF_N,*
++V 13000,7000,CONT_DIF_P,*
++V 2200,3200,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/sff3_x4.vbe b/alliance/src/cells/src/msxlib/sff3_x4.vbe
+new file mode 100644
+index 0000000..a1953ab
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/sff3_x4.vbe
+@@ -0,0 +1,65 @@
++ENTITY sff3_x4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_ck : NATURAL := 8;
++ CONSTANT cin_cmd0 : NATURAL := 15;
++ CONSTANT cin_cmd1 : NATURAL := 15;
++ CONSTANT cin_i0 : NATURAL := 9;
++ CONSTANT cin_i1 : NATURAL := 8;
++ CONSTANT cin_i2 : NATURAL := 8;
++ CONSTANT rdown_ck_q : NATURAL := 890;
++ CONSTANT rup_ck_q : NATURAL := 810;
++ CONSTANT taf_ck_q : NATURAL := 600;
++ CONSTANT tar_ck_q : NATURAL := 600;
++ CONSTANT thf_ck_q : NATURAL := 0;
++ CONSTANT thf_cmd0_ck : NATURAL := 0;
++ CONSTANT thf_cmd1_ck : NATURAL := 0;
++ CONSTANT thf_i0_ck : NATURAL := 0;
++ CONSTANT thf_i1_ck : NATURAL := 0;
++ CONSTANT thf_i2_ck : NATURAL := 0;
++ CONSTANT thr_ck_q : NATURAL := 0;
++ CONSTANT thr_cmd0_ck : NATURAL := 0;
++ CONSTANT thr_cmd1_ck : NATURAL := 0;
++ CONSTANT thr_i0_ck : NATURAL := 0;
++ CONSTANT thr_i1_ck : NATURAL := 0;
++ CONSTANT thr_i2_ck : NATURAL := 0;
++ CONSTANT tsf_cmd0_ck : NATURAL := 1200;
++ CONSTANT tsf_cmd1_ck : NATURAL := 1200;
++ CONSTANT tsf_i0_ck : NATURAL := 1200;
++ CONSTANT tsf_i1_ck : NATURAL := 1200;
++ CONSTANT tsf_i2_ck : NATURAL := 1200;
++ CONSTANT tsr_cmd0_ck : NATURAL := 1100;
++ CONSTANT tsr_cmd1_ck : NATURAL := 1100;
++ CONSTANT tsr_i0_ck : NATURAL := 850;
++ CONSTANT tsr_i1_ck : NATURAL := 950;
++ CONSTANT tsr_i2_ck : NATURAL := 950;
++ CONSTANT transistors : NATURAL := 42
++);
++PORT (
++ ck : in BIT;
++ cmd0 : in BIT;
++ cmd1 : in BIT;
++ i0 : in BIT;
++ i1 : in BIT;
++ i2 : in BIT;
++ q : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END sff3_x4;
++
++ARCHITECTURE behaviour_data_flow OF sff3_x4 IS
++ SIGNAL sff_m : REG_BIT REGISTER;
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on sff3_x4"
++ SEVERITY WARNING;
++
++ label0 : BLOCK ((ck and not (ck'STABLE)) = '1')
++ BEGIN
++ sff_m <= GUARDED ((not (cmd0) and i0) or (cmd0 and ((cmd1 and i1) or (not (cmd1) and i2))));
++ END BLOCK label0;
++
++ q <= sff_m after 2400 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/tie_x0.ap b/alliance/src/cells/src/msxlib/tie_x0.ap
+new file mode 100644
+index 0000000..250d3cf
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/tie_x0.ap
+@@ -0,0 +1,15 @@
++V ALLIANCE : 6
++H tie_x0,P, 9/ 8/2014,100
++A 0,0,2000,10000
++S 1000,5700,1000,9500,1200,*,UP,NTIE
++S 1000,500,1000,3700,1200,*,DOWN,PTIE
++S 0,600,2000,600,1200,vss,RIGHT,CALU1
++S 0,5000,2000,5000,10000,tie_x0,LEFT,TALU8
++S 0,2200,2000,2200,5200,*,LEFT,PWELL
++S 0,7600,2000,7600,5600,*,LEFT,NWELL
++S 0,9400,2000,9400,1200,vdd,RIGHT,CALU1
++V 1300,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 1300,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/tie_x0.vbe b/alliance/src/cells/src/msxlib/tie_x0.vbe
+new file mode 100644
+index 0000000..fa318aa
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/tie_x0.vbe
+@@ -0,0 +1,18 @@
++ENTITY tie_x0 IS
++GENERIC (
++ CONSTANT area : NATURAL := 2000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END tie_x0;
++
++ARCHITECTURE behaviour_data_flow OF tie_x0 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on tie_x0"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vddtie.ap b/alliance/src/cells/src/msxlib/vddtie.ap
+new file mode 100644
+index 0000000..18a1269
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vddtie.ap
+@@ -0,0 +1,53 @@
++V ALLIANCE : 6
++H vddtie,P, 9/ 8/2014,100
++A 0,0,3000,10000
++R 2000,2000,ref_ref,z_20
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,z_40
++R 2000,5000,ref_ref,z_50
++R 2000,6000,ref_ref,z_60
++R 2000,7000,ref_ref,z_70
++R 2000,8000,ref_ref,z_80
++R 1000,6000,ref_ref,z_60
++S 600,9300,2400,9300,600,*,RIGHT,NTIE
++S 600,700,2400,700,600,*,RIGHT,PTIE
++S 2000,1900,2000,8100,400,*,DOWN,ALU1
++S 1400,8500,1400,8800,200,*,UP,POLY
++S 700,5700,700,8300,600,*,UP,PDIF
++S 1400,5500,1400,8500,200,1,UP,PTRANS
++S 2100,5700,2100,8300,600,*,UP,PDIF
++S 1400,1600,1400,3900,200,2,DOWN,NTRANS
++S 1400,1200,1400,1600,200,*,DOWN,POLY
++S 2100,1800,2100,3700,600,*,DOWN,NDIF
++S 700,1800,700,3700,600,*,UP,NDIF
++S 800,4700,1400,4700,600,*,RIGHT,POLY
++S 800,700,800,4800,400,*,DOWN,ALU1
++S 1400,3900,1400,5500,200,*,DOWN,POLY
++S 2000,2000,2000,8000,400,z,DOWN,CALU1
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 0,5000,3000,5000,10000,vddtie,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 800,6000,2000,6000,400,*,LEFT,ALU1
++S 800,7300,800,9300,400,*,UP,ALU1
++S 1000,6000,1000,6000,400,z,LEFT,CALU1
++V 2300,9300,CONT_BODY_N,*
++V 1500,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++V 2300,700,CONT_BODY_P,*
++V 1500,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 800,2000,CONT_DIF_N,*
++V 800,2800,CONT_DIF_N,*
++V 800,3600,CONT_DIF_N,*
++V 800,7400,CONT_DIF_P,*
++V 800,8200,CONT_DIF_P,*
++V 2000,2000,CONT_DIF_N,*
++V 800,4700,CONT_POLY,*
++V 2000,2800,CONT_DIF_N,*
++V 2000,3600,CONT_DIF_N,*
++V 2000,7400,CONT_DIF_P,*
++V 2000,6600,CONT_DIF_P,*
++V 2000,5800,CONT_DIF_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vddtie.vbe b/alliance/src/cells/src/msxlib/vddtie.vbe
+new file mode 100644
+index 0000000..bf325ef
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vddtie.vbe
+@@ -0,0 +1,20 @@
++ENTITY vddtie IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END vddtie;
++
++ARCHITECTURE behaviour_data_flow OF vddtie IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vddtie"
++ SEVERITY WARNING;
++ z <= '1';
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed1.ap b/alliance/src/cells/src/msxlib/vfeed1.ap
+new file mode 100644
+index 0000000..ab4bca1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed1.ap
+@@ -0,0 +1,9 @@
++V ALLIANCE : 6
++H vfeed1,P,16/ 6/2004,100
++A 0,0,1000,10000
++S 0,7600,1000,7600,5600,*,LEFT,NWELL
++S 0,2200,1000,2200,5200,*,LEFT,PWELL
++S 0,5000,1000,5000,10000,vfeed1,LEFT,TALU8
++S 0,600,1000,600,1200,vss,RIGHT,CALU1
++S 0,9400,1000,9400,1200,vdd,RIGHT,CALU1
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed1.vbe b/alliance/src/cells/src/msxlib/vfeed1.vbe
+new file mode 100644
+index 0000000..5f0117f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed1.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 1000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed1;
++
++ARCHITECTURE behaviour_data_flow OF vfeed1 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed1"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed2.ap b/alliance/src/cells/src/msxlib/vfeed2.ap
+new file mode 100644
+index 0000000..578a4f4
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed2.ap
+@@ -0,0 +1,15 @@
++V ALLIANCE : 6
++H vfeed2,P, 9/ 8/2014,100
++A 0,0,2000,10000
++S 1000,5700,1000,9500,1400,*,UP,NTIE
++S 1000,500,1000,3700,1400,*,DOWN,PTIE
++S 0,600,2000,600,1200,vss,RIGHT,CALU1
++S 0,5000,2000,5000,10000,vfeed2,LEFT,TALU8
++S 0,2200,2000,2200,5200,*,LEFT,PWELL
++S 0,7600,2000,7600,5600,*,LEFT,NWELL
++S 0,9400,2000,9400,1200,vdd,RIGHT,CALU1
++V 1300,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 1300,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed2.vbe b/alliance/src/cells/src/msxlib/vfeed2.vbe
+new file mode 100644
+index 0000000..4ad9833
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed2.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed2 IS
++GENERIC (
++ CONSTANT area : NATURAL := 2000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed2;
++
++ARCHITECTURE behaviour_data_flow OF vfeed2 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed2"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed3.ap b/alliance/src/cells/src/msxlib/vfeed3.ap
+new file mode 100644
+index 0000000..d0a4d80
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed3.ap
+@@ -0,0 +1,17 @@
++V ALLIANCE : 6
++H vfeed3,P, 9/ 8/2014,100
++A 0,0,3000,10000
++S 0,5000,3000,5000,10000,vfeed3,LEFT,TALU8
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 1500,5700,1500,9500,2400,*,UP,NTIE
++S 1500,500,1500,3700,2400,*,DOWN,PTIE
++V 2300,700,CONT_BODY_P,*
++V 1500,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 700,9300,CONT_BODY_N,*
++V 2300,9300,CONT_BODY_N,*
++V 1500,9300,CONT_BODY_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed3.vbe b/alliance/src/cells/src/msxlib/vfeed3.vbe
+new file mode 100644
+index 0000000..ca6ce9f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed3.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed3 IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed3;
++
++ARCHITECTURE behaviour_data_flow OF vfeed3 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed3"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed4.ap b/alliance/src/cells/src/msxlib/vfeed4.ap
+new file mode 100644
+index 0000000..eab369c
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed4.ap
+@@ -0,0 +1,19 @@
++V ALLIANCE : 6
++H vfeed4,P, 9/ 8/2014,100
++A 0,0,4000,10000
++S 0,5000,4000,5000,10000,vfeed4,LEFT,TALU8
++S 0,2200,4000,2200,5200,*,LEFT,PWELL
++S 0,7600,4000,7600,5600,*,LEFT,NWELL
++S 0,9400,4000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,4000,600,1200,vss,RIGHT,CALU1
++S 2000,5700,2000,9500,3400,*,UP,NTIE
++S 2000,500,2000,3700,3400,*,DOWN,PTIE
++V 3300,700,CONT_BODY_P,*
++V 3300,9300,CONT_BODY_N,*
++V 2400,9300,CONT_BODY_N,*
++V 1500,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++V 2500,700,CONT_BODY_P,*
++V 1500,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed4.vbe b/alliance/src/cells/src/msxlib/vfeed4.vbe
+new file mode 100644
+index 0000000..436550b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed4.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed4 IS
++GENERIC (
++ CONSTANT area : NATURAL := 4000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed4;
++
++ARCHITECTURE behaviour_data_flow OF vfeed4 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed4"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed5.ap b/alliance/src/cells/src/msxlib/vfeed5.ap
+new file mode 100644
+index 0000000..fdafd35
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed5.ap
+@@ -0,0 +1,21 @@
++V ALLIANCE : 6
++H vfeed5,P, 9/ 8/2014,100
++A 0,0,5000,10000
++S 0,5000,5000,5000,10000,vfeed5,LEFT,TALU8
++S 0,2200,5000,2200,5200,*,LEFT,PWELL
++S 0,7600,5000,7600,5600,*,LEFT,NWELL
++S 0,600,5000,600,1200,vss,RIGHT,CALU1
++S 0,9400,5000,9400,1200,vdd,RIGHT,CALU1
++S 2500,5700,2500,9500,4400,*,UP,NTIE
++S 2500,500,2500,3700,4400,*,DOWN,PTIE
++V 3500,9300,CONT_BODY_N,*
++V 2500,9300,CONT_BODY_N,*
++V 1500,9300,CONT_BODY_N,*
++V 4300,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++V 2500,700,CONT_BODY_P,*
++V 3500,700,CONT_BODY_P,*
++V 4300,700,CONT_BODY_P,*
++V 1500,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed5.vbe b/alliance/src/cells/src/msxlib/vfeed5.vbe
+new file mode 100644
+index 0000000..57242e7
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed5.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed5 IS
++GENERIC (
++ CONSTANT area : NATURAL := 5000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed5;
++
++ARCHITECTURE behaviour_data_flow OF vfeed5 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed5"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed6.ap b/alliance/src/cells/src/msxlib/vfeed6.ap
+new file mode 100644
+index 0000000..5ea319b
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed6.ap
+@@ -0,0 +1,23 @@
++V ALLIANCE : 6
++H vfeed6,P, 9/ 8/2014,100
++A 0,0,6000,10000
++S 0,5000,6000,5000,10000,vfeed6,LEFT,TALU8
++S 0,2200,6000,2200,5200,*,LEFT,PWELL
++S 0,7600,6000,7600,5600,*,LEFT,NWELL
++S 0,600,6000,600,1200,vss,RIGHT,CALU1
++S 0,9400,6000,9400,1200,vdd,RIGHT,CALU1
++S 3000,500,3000,3700,5400,*,DOWN,PTIE
++S 3000,5700,3000,9500,5400,*,UP,NTIE
++V 1500,700,CONT_BODY_P,*
++V 2500,700,CONT_BODY_P,*
++V 3500,700,CONT_BODY_P,*
++V 4500,700,CONT_BODY_P,*
++V 5300,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 1500,9300,CONT_BODY_N,*
++V 2500,9300,CONT_BODY_N,*
++V 3500,9300,CONT_BODY_N,*
++V 4500,9300,CONT_BODY_N,*
++V 5300,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed6.vbe b/alliance/src/cells/src/msxlib/vfeed6.vbe
+new file mode 100644
+index 0000000..a603a3a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed6.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed6 IS
++GENERIC (
++ CONSTANT area : NATURAL := 6000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed6;
++
++ARCHITECTURE behaviour_data_flow OF vfeed6 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed6"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed7.ap b/alliance/src/cells/src/msxlib/vfeed7.ap
+new file mode 100644
+index 0000000..d01c623
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed7.ap
+@@ -0,0 +1,25 @@
++V ALLIANCE : 6
++H vfeed7,P, 9/ 8/2014,100
++A 0,0,7000,10000
++S 0,5000,7000,5000,10000,vfeed7,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 3500,5700,3500,9500,6400,*,UP,NTIE
++S 3500,500,3500,3700,6400,*,DOWN,PTIE
++V 1500,700,CONT_BODY_P,*
++V 2500,700,CONT_BODY_P,*
++V 3500,700,CONT_BODY_P,*
++V 4500,700,CONT_BODY_P,*
++V 5500,700,CONT_BODY_P,*
++V 6300,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 1500,9300,CONT_BODY_N,*
++V 2500,9300,CONT_BODY_N,*
++V 3500,9300,CONT_BODY_N,*
++V 4500,9300,CONT_BODY_N,*
++V 5500,9300,CONT_BODY_N,*
++V 6300,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed7.vbe b/alliance/src/cells/src/msxlib/vfeed7.vbe
+new file mode 100644
+index 0000000..94fa2ee
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed7.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed7 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed7;
++
++ARCHITECTURE behaviour_data_flow OF vfeed7 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed7"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vfeed8.ap b/alliance/src/cells/src/msxlib/vfeed8.ap
+new file mode 100644
+index 0000000..d4f75bd
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed8.ap
+@@ -0,0 +1,27 @@
++V ALLIANCE : 6
++H vfeed8,P, 9/ 8/2014,100
++A 0,0,8000,10000
++S 0,5000,8000,5000,10000,vfeed8,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 4000,500,4000,3700,7400,*,DOWN,PTIE
++S 4000,5700,4000,9500,7400,*,UP,NTIE
++V 1500,9300,CONT_BODY_N,*
++V 2500,9300,CONT_BODY_N,*
++V 3500,9300,CONT_BODY_N,*
++V 4500,9300,CONT_BODY_N,*
++V 5500,9300,CONT_BODY_N,*
++V 6500,9300,CONT_BODY_N,*
++V 6500,700,CONT_BODY_P,*
++V 5500,700,CONT_BODY_P,*
++V 4500,700,CONT_BODY_P,*
++V 3500,700,CONT_BODY_P,*
++V 2500,700,CONT_BODY_P,*
++V 1500,700,CONT_BODY_P,*
++V 700,700,CONT_BODY_P,*
++V 7300,700,CONT_BODY_P,*
++V 7300,9300,CONT_BODY_N,*
++V 700,9300,CONT_BODY_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vfeed8.vbe b/alliance/src/cells/src/msxlib/vfeed8.vbe
+new file mode 100644
+index 0000000..01c51c3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vfeed8.vbe
+@@ -0,0 +1,18 @@
++ENTITY vfeed8 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ vdd : in BIT;
++ vss : in BIT
++);
++END vfeed8;
++
++ARCHITECTURE behaviour_data_flow OF vfeed8 IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vfeed8"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/msxlib/vsstie.ap b/alliance/src/cells/src/msxlib/vsstie.ap
+new file mode 100644
+index 0000000..2dd552a
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vsstie.ap
+@@ -0,0 +1,54 @@
++V ALLIANCE : 6
++H vsstie,P,17/ 8/2004,100
++A 0,0,3000,10000
++R 2000,8000,ref_ref,z_80
++R 2000,7000,ref_ref,z_70
++R 2000,6000,ref_ref,z_60
++R 2000,5000,ref_ref,z_50
++R 2000,4000,ref_ref,z_40
++R 2000,3000,ref_ref,z_30
++R 2000,2000,ref_ref,z_20
++R 1000,4000,ref_ref,z_40
++S 0,7600,3000,7600,5600,*,LEFT,NWELL
++S 0,2200,3000,2200,5200,*,LEFT,PWELL
++S 0,5000,3000,5000,10000,vsstie,LEFT,TALU8
++S 0,600,3000,600,1200,vss,RIGHT,CALU1
++S 0,9400,3000,9400,1200,vdd,RIGHT,CALU1
++S 2000,2000,2000,8000,400,z,DOWN,CALU1
++S 1400,3900,1400,5500,200,*,DOWN,POLY
++S 700,1800,700,3700,600,*,UP,NDIF
++S 2100,1800,2100,3700,600,*,DOWN,NDIF
++S 1400,1200,1400,1600,200,*,DOWN,POLY
++S 1400,1600,1400,3900,200,2,DOWN,NTRANS
++S 600,600,2400,600,600,*,RIGHT,PTIE
++S 600,9400,2400,9400,600,*,RIGHT,NTIE
++S 2100,5700,2100,8300,600,*,UP,PDIF
++S 1400,5500,1400,8500,200,1,UP,PTRANS
++S 700,5700,700,8300,600,*,UP,PDIF
++S 1400,8500,1400,8800,200,*,UP,POLY
++S 2000,1900,2000,8100,400,*,DOWN,ALU1
++S 800,700,800,2900,400,*,DOWN,ALU1
++S 800,4800,800,9300,400,*,UP,ALU1
++S 800,4900,1400,4900,600,*,RIGHT,POLY
++S 1000,4000,1000,4000,400,z,LEFT,CALU1
++S 800,4000,2000,4000,400,*,LEFT,ALU1
++V 2000,5800,CONT_DIF_P,*
++V 2000,6600,CONT_DIF_P,*
++V 2000,7400,CONT_DIF_P,*
++V 2000,3600,CONT_DIF_N,*
++V 2000,2800,CONT_DIF_N,*
++V 2000,2000,CONT_DIF_N,*
++V 700,600,CONT_BODY_P,*
++V 1500,600,CONT_BODY_P,*
++V 2300,600,CONT_BODY_P,*
++V 700,9400,CONT_BODY_N,*
++V 1500,9400,CONT_BODY_N,*
++V 2300,9400,CONT_BODY_N,*
++V 800,8200,CONT_DIF_P,*
++V 800,7400,CONT_DIF_P,*
++V 800,6600,CONT_DIF_P,*
++V 800,5800,CONT_DIF_P,*
++V 800,2800,CONT_DIF_N,*
++V 800,2000,CONT_DIF_N,*
++V 800,4900,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/vsstie.vbe b/alliance/src/cells/src/msxlib/vsstie.vbe
+new file mode 100644
+index 0000000..9f430c7
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/vsstie.vbe
+@@ -0,0 +1,20 @@
++ENTITY vsstie IS
++GENERIC (
++ CONSTANT area : NATURAL := 3000;
++ CONSTANT transistors : NATURAL := 0
++);
++PORT (
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END vsstie;
++
++ARCHITECTURE behaviour_data_flow OF vsstie IS
++
++BEGIN
++ ASSERT (vdd and not (vss))
++ REPORT "power supply is missing on vsstie"
++ SEVERITY WARNING;
++ z <= '0';
++END;
+diff --git a/alliance/src/cells/src/msxlib/xaoi21_x05.ap b/alliance/src/cells/src/msxlib/xaoi21_x05.ap
+new file mode 100644
+index 0000000..aa036e2
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaoi21_x05.ap
+@@ -0,0 +1,142 @@
++V ALLIANCE : 6
++H xaoi21_x05,P, 9/ 8/2014,100
++A 0,0,8000,10000
++R 4000,8000,ref_ref,b_80
++R 5000,8000,ref_ref,b_80
++R 6000,8000,ref_ref,b_80
++R 6000,7000,ref_ref,b_70
++R 5000,2000,ref_ref,z_20
++R 5000,3000,ref_ref,z_30
++R 5000,4000,ref_ref,z_40
++R 4000,4000,ref_ref,z_40
++R 4000,5000,ref_ref,z_50
++R 4000,6000,ref_ref,z_60
++R 2000,6000,ref_ref,a2_60
++R 3000,6000,ref_ref,a2_60
++R 3000,5000,ref_ref,a2_50
++R 3000,4000,ref_ref,a2_40
++R 4000,3000,ref_ref,a1_30
++R 3000,3000,ref_ref,a1_30
++R 2000,3000,ref_ref,a1_30
++R 2000,4000,ref_ref,a1_40
++R 2000,5000,ref_ref,a1_50
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 3100,700,3900,700,600,*,RIGHT,PTIE
++S 6000,1900,6000,5100,400,*,UP,ALU1
++S 5000,8000,5000,8000,400,b,LEFT,CALU1
++S 4000,8000,4000,8000,400,b,LEFT,CALU1
++S 6000,7000,6000,8000,400,b,DOWN,CALU1
++S 6000,6900,6600,6900,400,*,RIGHT,ALU1
++S 3300,8000,6000,8000,400,*,LEFT,ALU1
++S 3300,8100,6000,8100,400,*,LEFT,ALU1
++S 6600,5900,6600,6900,400,*,UP,ALU1
++S 6000,6900,6000,8100,400,*,DOWN,ALU1
++S 5000,6000,5000,7000,400,*,UP,ALU1
++S 5000,6000,5700,6000,400,*,LEFT,ALU1
++S 700,7000,5000,7000,400,*,RIGHT,ALU1
++S 3600,5100,3600,5500,200,*,DOWN,POLY
++S 2200,1300,2200,1700,200,*,DOWN,POLY
++S 3000,1300,3000,1700,200,*,DOWN,POLY
++S 4200,1300,4200,1700,200,*,DOWN,POLY
++S 5400,1300,5400,1700,200,*,DOWN,POLY
++S 6600,1300,6600,1700,200,*,DOWN,POLY
++S 6800,8700,6800,9100,200,*,UP,POLY
++S 5600,8700,5600,9100,200,*,UP,POLY
++S 4800,8700,4800,9100,200,*,UP,POLY
++S 2400,7500,2400,7900,200,*,UP,POLY
++S 1200,7500,1200,7900,200,*,UP,POLY
++S 1800,7900,1800,9300,400,*,UP,ALU1
++S 7400,5100,7400,7900,400,*,DOWN,ALU1
++S 6000,5100,7400,5100,400,*,LEFT,ALU1
++S 5000,5000,6000,5000,600,*,RIGHT,ALU1
++S 4000,5700,4000,7300,400,*,UP,PDIF
++S 4200,5900,4200,7300,600,*,UP,PDIF
++S 7200,6900,7200,8500,400,*,DOWN,PDIF
++S 4400,6900,4400,8500,400,*,DOWN,PDIF
++S 800,5700,800,7300,400,*,DOWN,PDIF
++S 6200,6900,6200,9100,600,*,DOWN,PDIF
++S 7200,700,7200,2100,400,*,DOWN,ALU1
++S 7200,1900,7200,2400,600,*,UP,NDIF
++S 7300,1900,7300,2400,600,*,UP,NDIF
++S 6600,2600,6600,6000,200,*,UP,POLY
++S 6000,1900,6000,2400,600,*,UP,NDIF
++S 4000,4000,4000,6000,400,z,UP,CALU1
++S 5000,2000,5000,4000,400,z,UP,CALU1
++S 4000,4000,5000,4000,600,*,RIGHT,ALU1
++S 4900,1900,4900,4000,600,*,DOWN,ALU1
++S 3000,5700,3000,7300,600,*,DOWN,PDIF
++S 1800,5700,1800,8100,600,*,DOWN,PDIF
++S 600,5900,600,6500,600,*,UP,PDIF
++S 2000,6000,2000,6000,400,a2,LEFT,CALU1
++S 3000,4000,3000,6000,400,a2,UP,CALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 2000,2900,2000,5100,400,*,UP,ALU1
++S 3000,3000,3000,3000,400,a1,LEFT,CALU1
++S 4000,3000,4000,3000,400,a1,LEFT,CALU1
++S 2000,3000,2000,5000,400,a1,DOWN,CALU1
++S 2400,4500,2400,5500,200,*,DOWN,POLY
++S 3000,4000,3000,4300,200,*,DOWN,POLY
++S 2400,4500,3000,4500,200,*,RIGHT,POLY
++S 2000,3000,4000,3000,600,*,LEFT,ALU1
++S 3000,3900,3000,6100,400,*,UP,ALU1
++S 5800,3000,5800,6000,200,*,DOWN,POLY
++S 5400,3000,5800,3000,200,*,RIGHT,POLY
++S 4100,4000,4100,6100,600,*,DOWN,ALU1
++S 600,2000,600,7000,400,*,DOWN,ALU1
++S 600,2000,3700,2000,400,*,RIGHT,ALU1
++S 7400,7100,7400,7700,600,*,UP,PDIF
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,8000,5000,10000,xaoi21_x05,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 6800,6000,6800,6700,200,*,DOWN,POLY
++S 5600,6000,5600,6700,200,*,DOWN,POLY
++S 5100,6900,5100,8500,400,n1,DOWN,PDIF
++S 4200,4500,4800,4500,200,*,RIGHT,POLY
++S 4800,4500,4800,6700,200,*,DOWN,POLY
++S 4200,2900,4200,4500,200,*,UP,POLY
++S 3600,1900,3600,2700,600,*,UP,NDIF
++S 3000,2900,3000,4000,200,*,UP,POLY
++S 2600,1900,2600,2700,400,n2,UP,NDIF
++S 1500,900,1500,2700,600,*,UP,NDIF
++S 1600,900,1600,2700,600,*,UP,NDIF
++S 1200,3700,2200,3700,200,*,RIGHT,POLY
++S 1200,3700,1200,5500,200,*,DOWN,POLY
++S 4600,1900,4600,2700,400,*,UP,NDIF
++S 4800,1900,4800,2400,600,*,UP,NDIF
++S 6800,6700,6800,8700,200,1b,DOWN,PTRANS
++S 1200,5500,1200,7500,200,1a,DOWN,PTRANS
++S 2200,1700,2200,2900,200,2a,UP,NTRANS
++S 2400,5500,2400,7500,200,3a,DOWN,PTRANS
++S 3000,1700,3000,2900,200,4a,UP,NTRANS
++S 3600,5500,3600,7500,200,2b,DOWN,PTRANS
++S 6600,1700,6600,2600,200,3b,UP,NTRANS
++S 4800,6700,4800,8700,200,2z,DOWN,PTRANS
++S 5600,6700,5600,8700,200,1z,DOWN,PTRANS
++S 5400,1700,5400,2600,200,3z,UP,NTRANS
++S 4200,1700,4200,2900,200,4z,UP,NTRANS
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 4000,700,CONT_BODY_P,*
++V 3000,700,CONT_BODY_P,*
++V 6000,2000,CONT_DIF_N,bn
++V 4800,2000,CONT_DIF_N,*
++V 5000,5000,CONT_POLY,bn
++V 7200,2000,CONT_DIF_N,*
++V 3000,4300,CONT_POLY,*
++V 3600,2000,CONT_DIF_N,an
++V 6600,6000,CONT_POLY,*
++V 5600,6000,CONT_POLY,an
++V 1600,1000,CONT_DIF_N,*
++V 600,6600,CONT_DIF_P,an
++V 600,5800,CONT_DIF_P,an
++V 1800,8000,CONT_DIF_P,*
++V 3000,7000,CONT_DIF_P,an
++V 4200,6000,CONT_DIF_P,*
++V 3400,8100,CONT_POLY,*
++V 7400,7000,CONT_DIF_P,bn
++V 7400,7800,CONT_DIF_P,bn
++V 6200,9000,CONT_DIF_P,*
++V 2000,3500,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xaoi21_x05.vbe b/alliance/src/cells/src/msxlib/xaoi21_x05.vbe
+new file mode 100644
+index 0000000..a74687d
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaoi21_x05.vbe
+@@ -0,0 +1,44 @@
++ENTITY xaoi21_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_a1 : NATURAL := 5;
++ CONSTANT cin_a2 : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 3960;
++ CONSTANT rdown_a1_z : NATURAL := 3890;
++ CONSTANT rdown_a2_z : NATURAL := 3890;
++ CONSTANT rup_b_z : NATURAL := 3690;
++ CONSTANT rup_a1_z : NATURAL := 4780;
++ CONSTANT rup_a2_z : NATURAL := 4770;
++ CONSTANT tphl_a1_z : NATURAL := 83;
++ CONSTANT tphl_a2_z : NATURAL := 84;
++ CONSTANT tphl_b_z : NATURAL := 68;
++ CONSTANT tplh_b_z : NATURAL := 42;
++ CONSTANT tplh_a1_z : NATURAL := 88;
++ CONSTANT tplh_a2_z : NATURAL := 83;
++ CONSTANT tphh_b_z : NATURAL := 87;
++ CONSTANT tpll_b_z : NATURAL := 66;
++ CONSTANT tphh_a1_z : NATURAL := 120;
++ CONSTANT tphh_a2_z : NATURAL := 121;
++ CONSTANT tpll_a1_z : NATURAL := 118;
++ CONSTANT tpll_a2_z : NATURAL := 111;
++ CONSTANT transistors : NATURAL := 11
++);
++PORT (
++ b : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xaoi21_x05;
++
++ARCHITECTURE behaviour_data_flow OF xaoi21_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xaoi21_x05"
++ SEVERITY WARNING;
++ z <= not ((b xor (a1 and a2))) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xaoi21_x1.ap b/alliance/src/cells/src/msxlib/xaoi21_x1.ap
+new file mode 100644
+index 0000000..8d1d5ea
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaoi21_x1.ap
+@@ -0,0 +1,146 @@
++V ALLIANCE : 6
++H xaoi21_x1,P, 9/ 8/2014,100
++A 0,0,9000,10000
++R 2000,5000,ref_ref,a1_50
++R 2000,4000,ref_ref,a1_40
++R 2000,3000,ref_ref,a1_30
++R 3000,3000,ref_ref,a1_30
++R 4000,3000,ref_ref,a1_30
++R 3000,4000,ref_ref,a2_40
++R 3000,5000,ref_ref,a2_50
++R 3000,6000,ref_ref,a2_60
++R 2000,6000,ref_ref,a2_60
++R 7000,7000,ref_ref,b_70
++R 7000,8000,ref_ref,b_80
++R 6000,8000,ref_ref,b_80
++R 5000,8000,ref_ref,b_80
++R 4000,8000,ref_ref,b_80
++R 5000,6000,ref_ref,z_60
++R 5000,5000,ref_ref,z_50
++R 5000,4000,ref_ref,z_40
++R 5000,3000,ref_ref,z_30
++R 5000,2000,ref_ref,z_20
++R 7000,6000,ref_ref,b_60
++R 4000,5000,ref_ref,z_50
++S 600,2000,3700,2000,400,*,RIGHT,ALU1
++S 600,2000,600,7000,400,*,DOWN,ALU1
++S 3000,3900,3000,6100,400,*,UP,ALU1
++S 2000,3000,4000,3000,600,*,LEFT,ALU1
++S 2400,4500,3000,4500,200,*,RIGHT,POLY
++S 3000,4000,3000,4300,200,*,DOWN,POLY
++S 2400,4500,2400,5500,200,*,DOWN,POLY
++S 2000,3000,2000,5000,400,a1,DOWN,CALU1
++S 4000,3000,4000,3000,400,a1,LEFT,CALU1
++S 3000,3000,3000,3000,400,a1,LEFT,CALU1
++S 2000,2900,2000,5100,400,*,UP,ALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 3000,4000,3000,6000,400,a2,UP,CALU1
++S 2000,6000,2000,6000,400,a2,LEFT,CALU1
++S 0,9400,9000,9400,1200,vdd,RIGHT,CALU1
++S 6000,8000,6000,8000,400,b,LEFT,CALU1
++S 5000,8000,5000,8000,400,b,LEFT,CALU1
++S 0,5000,9000,5000,10000,xaoi21_x1,LEFT,TALU8
++S 0,2200,9000,2200,5200,*,LEFT,PWELL
++S 0,7600,9000,7600,5600,*,LEFT,NWELL
++S 600,7900,600,9300,400,*,UP,ALU1
++S 4600,5100,4600,5500,200,*,DOWN,POLY
++S 3400,8000,7000,8000,400,*,LEFT,ALU1
++S 4000,8000,4000,8000,400,b,LEFT,CALU1
++S 4600,5500,4600,9300,200,2b,DOWN,PTRANS
++S 3700,8000,3700,9700,200,*,UP,POLY
++S 3700,9700,4600,9700,200,*,RIGHT,POLY
++S 4200,5700,4200,9100,400,*,UP,PDIF
++S 2400,9300,2400,9700,200,*,UP,POLY
++S 1200,9300,1200,9700,200,*,UP,POLY
++S 2400,5500,2400,9300,200,3a,DOWN,PTRANS
++S 2800,5700,2800,9100,400,*,DOWN,PDIF
++S 1200,5500,1200,9300,200,1a,DOWN,PTRANS
++S 1800,5700,1800,9100,600,*,DOWN,PDIF
++S 600,5700,600,9100,600,*,DOWN,PDIF
++S 1800,7000,1800,7900,400,*,UP,ALU1
++S 600,7000,6000,7000,400,*,RIGHT,ALU1
++S 5800,9300,5800,9700,200,*,UP,POLY
++S 6600,9300,6600,9700,200,*,UP,POLY
++S 7800,9300,7800,9700,200,*,UP,POLY
++S 8200,6900,8200,9100,400,*,DOWN,PDIF
++S 5000,2000,5000,6000,400,z,UP,CALU1
++S 6600,5500,6600,9300,200,1z,DOWN,PTRANS
++S 5800,5500,5800,9300,200,2z,DOWN,PTRANS
++S 7200,5700,7200,9100,600,*,DOWN,PDIF
++S 7800,5500,7800,9300,200,1b,DOWN,PTRANS
++S 8400,5900,8400,6500,600,*,UP,PDIF
++S 7000,6000,7000,8000,400,b,DOWN,CALU1
++S 6000,4900,6000,7000,400,*,UP,ALU1
++S 8400,3900,8400,6700,400,*,DOWN,ALU1
++S 7000,6000,7600,6000,400,*,RIGHT,ALU1
++S 7000,6000,7000,8000,600,*,DOWN,ALU1
++S 7600,4800,7600,6000,400,*,UP,ALU1
++S 0,600,9000,600,1200,vss,RIGHT,CALU1
++S 5000,1900,5000,6100,400,*,DOWN,ALU1
++S 5000,6000,5200,6000,600,*,LEFT,ALU1
++S 4800,2000,5000,2000,600,*,RIGHT,ALU1
++S 6700,3900,8400,3900,400,*,LEFT,ALU1
++S 5800,4100,5800,5500,200,*,DOWN,POLY
++S 4200,4100,6400,4100,200,*,RIGHT,POLY
++S 5800,3200,5800,4900,400,*,UP,ALU1
++S 5800,4900,6700,4900,400,*,LEFT,ALU1
++S 6600,700,6600,2400,200,3b,UP,NTRANS
++S 5400,700,5400,2400,200,3z,UP,NTRANS
++S 4600,900,4600,2900,400,*,UP,NDIF
++S 4200,700,4200,3100,200,4z,UP,NTRANS
++S 2600,900,2600,2900,400,n2,UP,NDIF
++S 2200,700,2200,3100,200,2a,UP,NTRANS
++S 3000,700,3000,3100,200,4a,UP,NTRANS
++S 1600,900,1600,2900,600,*,UP,NDIF
++S 1500,900,1500,2900,600,*,UP,NDIF
++S 3600,900,3600,2900,600,*,UP,NDIF
++S 4800,900,4800,2200,600,*,UP,NDIF
++S 6000,900,6000,2200,600,*,UP,NDIF
++S 7200,900,7200,2200,600,*,UP,NDIF
++S 6600,2800,7600,2800,200,*,RIGHT,POLY
++S 7600,2800,7600,5000,200,*,UP,POLY
++S 5200,5700,5200,9100,600,*,UP,PDIF
++S 4000,6300,4000,6900,600,*,DOWN,PDIF
++S 4000,6100,4000,7000,400,*,UP,ALU1
++S 4000,5000,4000,5000,400,z,LEFT,CALU1
++S 3900,5000,5000,5000,400,*,RIGHT,ALU1
++S 1200,3900,2200,3900,200,*,RIGHT,POLY
++S 1200,3900,1200,5500,200,*,DOWN,POLY
++S 3000,3100,3000,4000,200,*,UP,POLY
++S 4200,3100,4200,4100,200,*,UP,POLY
++S 5400,2400,5400,3500,200,*,UP,POLY
++S 2200,300,2200,700,200,*,DOWN,POLY
++S 3000,300,3000,700,200,*,DOWN,POLY
++S 4200,300,4200,700,200,*,DOWN,POLY
++S 5400,300,5400,700,200,*,DOWN,POLY
++S 6600,300,6600,700,200,*,DOWN,POLY
++S 6600,2000,6600,3900,400,*,UP,ALU1
++S 5900,2000,6600,2000,400,*,RIGHT,ALU1
++S 7400,700,7400,2100,400,*,UP,ALU1
++S 7500,1800,7500,2200,600,*,DOWN,NDIF
++V 8300,700,CONT_BODY_P,*
++V 1600,1000,CONT_DIF_N,*
++V 3600,2000,CONT_DIF_N,an
++V 3000,4300,CONT_POLY,*
++V 7200,9000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,*
++V 1800,7000,CONT_DIF_P,an
++V 5200,6000,CONT_DIF_P,*
++V 4000,7000,CONT_DIF_P,an
++V 3000,9000,CONT_DIF_P,*
++V 3500,8000,CONT_POLY,*
++V 600,9000,CONT_DIF_P,*
++V 1800,7800,CONT_DIF_P,an
++V 4800,2000,CONT_DIF_N,*
++V 8400,5800,CONT_DIF_P,bn
++V 8400,6600,CONT_DIF_P,bn
++V 6600,4900,CONT_POLY,an
++V 7600,4900,CONT_POLY,*
++V 5800,3300,CONT_POLY,an
++V 6000,2000,CONT_DIF_N,bn
++V 7200,1000,CONT_DIF_N,*
++V 6800,3900,CONT_POLY,bn
++V 4000,6200,CONT_DIF_P,an
++V 2000,3700,CONT_POLY,*
++V 7400,2000,CONT_DIF_N,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xaoi21_x1.vbe b/alliance/src/cells/src/msxlib/xaoi21_x1.vbe
+new file mode 100644
+index 0000000..2c54cf0
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaoi21_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY xaoi21_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 9000;
++ CONSTANT cin_b : NATURAL := 11;
++ CONSTANT cin_a1 : NATURAL := 8;
++ CONSTANT cin_a2 : NATURAL := 8;
++ CONSTANT rdown_b_z : NATURAL := 2070;
++ CONSTANT rdown_a1_z : NATURAL := 2010;
++ CONSTANT rdown_a2_z : NATURAL := 2010;
++ CONSTANT rup_b_z : NATURAL := 1940;
++ CONSTANT rup_a1_z : NATURAL := 2500;
++ CONSTANT rup_a2_z : NATURAL := 2500;
++ CONSTANT tphl_a1_z : NATURAL := 74;
++ CONSTANT tphl_a2_z : NATURAL := 75;
++ CONSTANT tphl_b_z : NATURAL := 63;
++ CONSTANT tplh_b_z : NATURAL := 39;
++ CONSTANT tplh_a1_z : NATURAL := 82;
++ CONSTANT tplh_a2_z : NATURAL := 77;
++ CONSTANT tphh_b_z : NATURAL := 79;
++ CONSTANT tpll_b_z : NATURAL := 60;
++ CONSTANT tphh_a1_z : NATURAL := 110;
++ CONSTANT tphh_a2_z : NATURAL := 111;
++ CONSTANT tpll_a1_z : NATURAL := 112;
++ CONSTANT tpll_a2_z : NATURAL := 105;
++ CONSTANT transistors : NATURAL := 11
++);
++PORT (
++ b : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xaoi21_x1;
++
++ARCHITECTURE behaviour_data_flow OF xaoi21_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xaoi21_x1"
++ SEVERITY WARNING;
++ z <= not ((b xor (a1 and a2))) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xaon21_x05.ap b/alliance/src/cells/src/msxlib/xaon21_x05.ap
+new file mode 100644
+index 0000000..8b813d0
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon21_x05.ap
+@@ -0,0 +1,131 @@
++V ALLIANCE : 6
++H xaon21_x05,P, 9/ 8/2014,100
++A 0,0,8000,10000
++R 1000,3000,ref_ref,a1_30
++R 1000,4000,ref_ref,a1_40
++R 3000,3000,ref_ref,z_30
++R 2000,3000,ref_ref,a1_30
++R 3000,6000,ref_ref,a2_60
++R 4000,4000,ref_ref,z_40
++R 4000,5000,ref_ref,z_50
++R 4000,6000,ref_ref,z_60
++R 4000,3000,ref_ref,z_30
++R 6000,2000,ref_ref,b_20
++R 6000,3000,ref_ref,b_30
++R 6000,4000,ref_ref,b_40
++R 2000,6000,ref_ref,a2_60
++R 3000,5000,ref_ref,a2_50
++R 3000,4000,ref_ref,a2_40
++R 7000,2000,ref_ref,b_20
++R 1000,2000,ref_ref,a1_20
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 3200,400,6800,400,200,*,RIGHT,POLY
++S 1200,2900,1200,5200,200,*,UP,POLY
++S 1000,3000,2000,3000,600,*,LEFT,ALU1
++S 2000,3000,2000,3000,400,a1,LEFT,CALU1
++S 2000,2900,2000,4300,200,*,UP,POLY
++S 2600,1900,2600,2700,600,*,UP,NDIF
++S 2500,2000,5200,2000,400,*,LEFT,ALU1
++S 1600,1900,1600,2700,400,n2,UP,NDIF
++S 1200,1700,1200,2900,200,09,UP,NTRANS
++S 1200,1300,1200,1700,200,*,DOWN,POLY
++S 2000,1700,2000,2900,200,10,UP,NTRANS
++S 2000,1300,2000,1700,200,*,DOWN,POLY
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 3000,3000,4000,3000,600,*,RIGHT,ALU1
++S 6800,400,6800,2800,200,*,UP,POLY
++S 6600,4900,7400,4900,400,*,RIGHT,ALU1
++S 3200,400,3200,1700,200,*,DOWN,POLY
++S 2000,4300,2800,4300,200,*,RIGHT,POLY
++S 4000,3000,4000,6000,400,z,DOWN,CALU1
++S 2800,4300,2800,5000,200,*,UP,POLY
++S 2000,6000,2000,6000,400,a2,LEFT,CALU1
++S 3000,3900,3000,6100,400,*,UP,ALU1
++S 3000,4000,3000,6000,400,a2,DOWN,CALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 6000,1900,6000,4100,400,*,DOWN,ALU1
++S 6000,2000,6000,4000,400,b,DOWN,CALU1
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,8000,5000,10000,xaon21_x05,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 7000,2000,7000,2000,400,b,LEFT,CALU1
++S 6000,2000,7000,2000,600,*,LEFT,ALU1
++S 4700,2500,4700,3000,400,n1,UP,NDIF
++S 5200,2300,5200,3200,200,07,UP,NTRANS
++S 4400,2300,4400,3200,200,06,UP,NTRANS
++S 3600,2500,3600,3000,600,*,UP,NDIF
++S 3600,2200,3600,3000,400,*,DOWN,NDIF
++S 3200,2000,3200,3200,200,08,UP,NTRANS
++S 2800,2200,2800,3000,400,*,DOWN,NDIF
++S 3200,3200,3200,3600,200,*,UP,POLY
++S 4400,1900,4400,2300,200,*,DOWN,POLY
++S 5200,1900,5200,2300,200,*,DOWN,POLY
++S 7200,2900,7200,3400,400,*,UP,NDIF
++S 6800,2700,6800,3600,200,11,UP,NTRANS
++S 6100,900,6100,3400,800,*,UP,NDIF
++S 7400,3200,7400,4900,400,*,UP,ALU1
++S 6800,4000,7500,4000,200,*,RIGHT,POLY
++S 5200,5400,5800,5400,400,*,RIGHT,ALU1
++S 5200,2000,5200,5400,400,*,UP,ALU1
++S 5500,6000,5500,8000,200,04,DOWN,PTRANS
++S 4300,6000,4300,8000,200,03,DOWN,PTRANS
++S 4900,6200,4900,7800,600,*,UP,PDIF
++S 4400,3300,4400,4600,200,*,UP,POLY
++S 4300,4600,4300,6000,200,*,DOWN,POLY
++S 4300,4600,6900,4600,200,*,LEFT,POLY
++S 4000,6300,5000,6300,400,*,LEFT,ALU1
++S 4000,2900,4000,6300,400,*,DOWN,ALU1
++S 3200,7100,5800,7100,400,*,LEFT,ALU1
++S 3200,6900,3200,7100,400,*,UP,ALU1
++S 5800,5400,5800,7100,400,*,UP,ALU1
++S 5900,6200,5900,7800,400,*,UP,PDIF
++S 5500,8000,5500,8400,200,*,UP,POLY
++S 4300,8000,4300,8400,200,*,UP,POLY
++S 6000,7900,6600,7900,400,*,LEFT,ALU1
++S 6600,4900,6600,7900,400,*,DOWN,ALU1
++S 6200,6400,6200,8000,600,*,DOWN,PDIF
++S 7500,4000,7500,5800,200,*,DOWN,POLY
++S 7400,6400,7400,8000,600,*,DOWN,PDIF
++S 7400,6700,7400,9300,400,*,UP,ALU1
++S 6700,8200,6700,8600,200,*,UP,POLY
++S 6700,6200,6700,8200,200,05,DOWN,PTRANS
++S 6700,5800,7500,5800,200,*,RIGHT,POLY
++S 3800,6200,3800,7800,600,*,UP,PDIF
++S 2300,7700,2300,9300,600,*,UP,ALU1
++S 2500,6200,2500,7800,600,*,UP,PDIF
++S 1700,6000,1700,8000,200,01,DOWN,PTRANS
++S 1300,6200,1300,7800,400,*,UP,PDIF
++S 1700,8000,1700,8400,200,*,UP,POLY
++S 1700,5200,1700,6100,200,*,DOWN,POLY
++S 1200,5200,1700,5200,200,*,RIGHT,POLY
++S 600,900,600,2700,600,*,UP,NDIF
++S 1000,2000,1000,4000,400,a1,DOWN,CALU1
++S 1000,1900,1000,4100,400,*,DOWN,ALU1
++S 3100,8000,3100,8400,200,*,UP,POLY
++S 3100,6000,3100,8000,200,02,DOWN,PTRANS
++S 3100,4800,3100,6100,200,*,DOWN,POLY
++S 1000,6900,3200,6900,400,*,LEFT,ALU1
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,3500,CONT_POLY,*
++V 2600,2000,CONT_DIF_N,an
++V 6700,4900,CONT_POLY,bn
++V 6100,1000,CONT_DIF_N,*
++V 7000,2000,CONT_POLY,*
++V 3000,5000,CONT_POLY,*
++V 5200,3800,CONT_POLY,an
++V 3800,2900,CONT_DIF_N,*
++V 7400,3300,CONT_DIF_N,bn
++V 4900,6300,CONT_DIF_P,*
++V 6100,7900,CONT_DIF_P,bn
++V 7400,6800,CONT_DIF_P,*
++V 7400,7800,CONT_DIF_P,*
++V 5300,5400,CONT_POLY,an
++V 2300,7700,CONT_DIF_P,*
++V 1100,6900,CONT_DIF_P,an
++V 600,1000,CONT_DIF_N,*
++V 3700,7100,CONT_DIF_P,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xaon21_x05.vbe b/alliance/src/cells/src/msxlib/xaon21_x05.vbe
+new file mode 100644
+index 0000000..a437136
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon21_x05.vbe
+@@ -0,0 +1,44 @@
++ENTITY xaon21_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_a1 : NATURAL := 4;
++ CONSTANT cin_a2 : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 3870;
++ CONSTANT rdown_a1_z : NATURAL := 3870;
++ CONSTANT rdown_a2_z : NATURAL := 3870;
++ CONSTANT rup_b_z : NATURAL := 3790;
++ CONSTANT rup_a1_z : NATURAL := 4790;
++ CONSTANT rup_a2_z : NATURAL := 4780;
++ CONSTANT tplh_a1_z : NATURAL := 82;
++ CONSTANT tplh_a2_z : NATURAL := 78;
++ CONSTANT tphl_b_z : NATURAL := 29;
++ CONSTANT tplh_b_z : NATURAL := 88;
++ CONSTANT tphh_b_z : NATURAL := 55;
++ CONSTANT tphl_a1_z : NATURAL := 76;
++ CONSTANT tphl_a2_z : NATURAL := 78;
++ CONSTANT tpll_a1_z : NATURAL := 111;
++ CONSTANT tpll_a2_z : NATURAL := 105;
++ CONSTANT tpll_b_z : NATURAL := 88;
++ CONSTANT tphh_a1_z : NATURAL := 113;
++ CONSTANT tphh_a2_z : NATURAL := 114;
++ CONSTANT transistors : NATURAL := 11
++);
++PORT (
++ b : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xaon21_x05;
++
++ARCHITECTURE behaviour_data_flow OF xaon21_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xaon21_x05"
++ SEVERITY WARNING;
++ z <= (b xor (a1 and a2)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xaon21_x1.ap b/alliance/src/cells/src/msxlib/xaon21_x1.ap
+new file mode 100644
+index 0000000..ec6bccd
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon21_x1.ap
+@@ -0,0 +1,130 @@
++V ALLIANCE : 6
++H xaon21_x1,P, 9/ 8/2014,100
++A 0,0,8000,10000
++R 4000,4000,ref_ref,z_40
++R 4000,5000,ref_ref,z_50
++R 3000,7000,ref_ref,a2_70
++R 2000,7000,ref_ref,a2_70
++R 2000,5000,ref_ref,a2_50
++R 1000,5000,ref_ref,a1_50
++R 1000,3000,ref_ref,a1_30
++R 1000,4000,ref_ref,a1_40
++R 3000,3000,ref_ref,z_30
++R 2000,3000,ref_ref,a1_30
++R 4000,6000,ref_ref,z_60
++R 4000,3000,ref_ref,z_30
++R 2000,6000,ref_ref,a2_60
++R 7000,5000,ref_ref,b_50
++R 3000,5000,ref_ref,b_50
++R 7000,6000,ref_ref,b_60
++R 3000,4000,ref_ref,b_40
++S 6800,3800,6800,5200,200,*,DOWN,POLY
++S 6800,300,6800,2100,200,*,UP,POLY
++S 6100,1400,6100,3600,800,*,UP,NDIF
++S 7400,2600,7400,4000,400,*,UP,ALU1
++S 7400,2800,7400,3400,600,*,UP,NDIF
++S 7200,2300,7200,3600,400,*,UP,NDIF
++S 6800,2100,6800,3800,200,11,UP,NTRANS
++S 3200,300,3200,1200,200,*,DOWN,POLY
++S 1200,3600,1200,5200,200,*,UP,POLY
++S 6000,9400,6000,9700,200,*,DOWN,POLY
++S 4800,9400,4800,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 6000,700,6000,3100,400,*,DOWN,ALU1
++S 600,7100,600,7700,600,*,UP,PDIF
++S 600,8000,4200,8000,400,*,LEFT,ALU1
++S 600,6900,600,8000,400,*,UP,ALU1
++S 6800,5800,6800,9200,800,*,DOWN,PDIF
++S 6800,6900,6800,9300,400,*,UP,ALU1
++S 6000,4000,6000,8000,400,*,DOWN,ALU1
++S 6000,4000,7400,4000,400,*,LEFT,ALU1
++S 3800,1400,3800,3000,600,*,DOWN,NDIF
++S 1200,800,1200,1200,200,*,DOWN,POLY
++S 2000,800,2000,1200,200,*,DOWN,POLY
++S 2000,3600,2000,4600,200,*,UP,POLY
++S 5200,900,5200,1200,200,*,DOWN,POLY
++S 4400,900,4400,1200,200,*,DOWN,POLY
++S 7000,4900,7000,6100,400,*,DOWN,ALU1
++S 3000,3900,3000,5100,400,*,DOWN,ALU1
++S 2400,5100,2400,5600,200,*,DOWN,POLY
++S 4000,6000,4200,6000,600,*,LEFT,ALU1
++S 3000,3000,3000,3000,400,z,LEFT,CALU1
++S 4000,3000,4000,6000,400,z,DOWN,CALU1
++S 4000,2900,4000,6100,400,*,DOWN,ALU1
++S 600,1400,600,3400,600,*,UP,NDIF
++S 1200,1200,1200,3600,200,09,UP,NTRANS
++S 1600,1400,1600,3400,400,n2,UP,NDIF
++S 2800,2000,2800,3400,400,*,DOWN,NDIF
++S 3600,1400,3600,3400,400,*,UP,NDIF
++S 3200,1200,3200,3600,200,08,UP,NTRANS
++S 2000,1200,2000,3600,200,10,UP,NTRANS
++S 2600,1400,2600,3400,600,*,UP,NDIF
++S 2500,2000,5000,2000,400,*,LEFT,ALU1
++S 5000,3400,5200,3400,600,*,RIGHT,ALU1
++S 4200,7000,5000,7000,400,*,LEFT,ALU1
++S 5000,2000,5000,7000,400,*,UP,ALU1
++S 6000,5200,6800,5200,200,*,RIGHT,POLY
++S 5300,8000,6000,8000,400,*,LEFT,ALU1
++S 3600,5200,4000,5200,200,*,RIGHT,POLY
++S 4800,5600,4800,9400,200,04,DOWN,PTRANS
++S 5400,5800,5400,9200,600,*,DOWN,PDIF
++S 6000,5600,6000,9400,200,05,DOWN,PTRANS
++S 2400,5600,2400,9400,200,02,DOWN,PTRANS
++S 3000,5800,3000,9200,600,*,UP,PDIF
++S 3600,5600,3600,9400,200,03,DOWN,PTRANS
++S 4000,4200,6000,4200,200,*,RIGHT,POLY
++S 4000,4200,4000,5200,200,*,DOWN,POLY
++S 4200,7000,4200,8000,400,*,UP,ALU1
++S 4000,5800,4000,9200,600,*,UP,PDIF
++S 1700,5800,1700,9200,600,*,UP,PDIF
++S 4400,2800,4400,4200,200,*,UP,POLY
++S 3000,7000,3000,7000,400,a2,LEFT,CALU1
++S 2000,7000,3000,7000,600,*,LEFT,ALU1
++S 2000,4900,2000,7100,400,*,UP,ALU1
++S 2000,5000,2000,7000,400,a2,DOWN,CALU1
++S 1200,5600,1200,9400,200,01,DOWN,PTRANS
++S 800,5800,800,9200,400,*,UP,PDIF
++S 4400,1200,4400,2800,200,06,UP,NTRANS
++S 5200,1200,5200,2800,200,07,UP,NTRANS
++S 4700,1400,4700,2600,400,n1,UP,NDIF
++S 3200,300,6800,300,200,*,RIGHT,POLY
++S 1000,3000,2000,3000,600,*,LEFT,ALU1
++S 1000,3000,1000,5000,400,a1,DOWN,CALU1
++S 1000,2900,1000,5100,400,*,DOWN,ALU1
++S 2000,3000,2000,3000,400,a1,LEFT,CALU1
++S 600,700,600,2100,400,*,DOWN,ALU1
++S 3000,3000,4000,3000,600,*,RIGHT,ALU1
++S 0,600,8000,600,1200,vss,RIGHT,CALU1
++S 0,9400,8000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,8000,5000,10000,xaon21_x1,LEFT,TALU8
++S 0,2200,8000,2200,5200,*,LEFT,PWELL
++S 0,7600,8000,7600,5600,*,LEFT,NWELL
++S 7000,5000,7000,6000,400,b,DOWN,CALU1
++S 3000,4000,3000,5000,400,b,UP,CALU1
++V 7300,700,CONT_BODY_P,*
++V 7400,2700,CONT_DIF_N,bn
++V 7400,3500,CONT_DIF_N,bn
++V 6000,3000,CONT_DIF_N,*
++V 6000,2000,CONT_DIF_N,*
++V 600,7800,CONT_DIF_P,an
++V 600,7000,CONT_DIF_P,an
++V 6800,9000,CONT_DIF_P,*
++V 6800,8000,CONT_DIF_P,*
++V 6800,7000,CONT_DIF_P,*
++V 3800,2900,CONT_DIF_N,*
++V 7000,5000,CONT_POLY,*
++V 3000,4200,CONT_POLY,*
++V 5000,5000,CONT_POLY,an
++V 6000,4400,CONT_POLY,bn
++V 5400,8000,CONT_DIF_P,bn
++V 4200,6000,CONT_DIF_P,*
++V 1800,9000,CONT_DIF_P,*
++V 3000,8000,CONT_DIF_P,an
++V 2000,5000,CONT_POLY,*
++V 1000,5000,CONT_POLY,*
++V 5200,3400,CONT_POLY,an
++V 600,2000,CONT_DIF_N,*
++V 2600,2000,CONT_DIF_N,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xaon21_x1.vbe b/alliance/src/cells/src/msxlib/xaon21_x1.vbe
+new file mode 100644
+index 0000000..79f01d2
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon21_x1.vbe
+@@ -0,0 +1,44 @@
++ENTITY xaon21_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 8000;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT cin_a1 : NATURAL := 7;
++ CONSTANT cin_a2 : NATURAL := 8;
++ CONSTANT rdown_b_z : NATURAL := 2130;
++ CONSTANT rdown_a1_z : NATURAL := 2060;
++ CONSTANT rdown_a2_z : NATURAL := 2060;
++ CONSTANT rup_b_z : NATURAL := 1980;
++ CONSTANT rup_a1_z : NATURAL := 2500;
++ CONSTANT rup_a2_z : NATURAL := 2500;
++ CONSTANT tplh_a1_z : NATURAL := 78;
++ CONSTANT tplh_a2_z : NATURAL := 73;
++ CONSTANT tphl_b_z : NATURAL := 27;
++ CONSTANT tplh_b_z : NATURAL := 82;
++ CONSTANT tphh_b_z : NATURAL := 51;
++ CONSTANT tphl_a1_z : NATURAL := 69;
++ CONSTANT tphl_a2_z : NATURAL := 70;
++ CONSTANT tpll_a1_z : NATURAL := 105;
++ CONSTANT tpll_a2_z : NATURAL := 99;
++ CONSTANT tpll_b_z : NATURAL := 83;
++ CONSTANT tphh_a1_z : NATURAL := 100;
++ CONSTANT tphh_a2_z : NATURAL := 101;
++ CONSTANT transistors : NATURAL := 11
++);
++PORT (
++ b : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xaon21_x1;
++
++ARCHITECTURE behaviour_data_flow OF xaon21_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xaon21_x1"
++ SEVERITY WARNING;
++ z <= (b xor (a1 and a2)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xaon22_x05.ap b/alliance/src/cells/src/msxlib/xaon22_x05.ap
+new file mode 100644
+index 0000000..f014b42
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon22_x05.ap
+@@ -0,0 +1,164 @@
++V ALLIANCE : 6
++H xaon22_x05,P, 9/ 8/2014,100
++A 0,0,10000,10000
++R 2000,4000,ref_ref,a1_40
++R 8000,7000,ref_ref,b1_70
++R 8000,6000,ref_ref,b1_60
++R 8000,4000,ref_ref,b2_40
++R 8000,3000,ref_ref,b2_30
++R 8000,2000,ref_ref,b2_20
++R 5000,3000,ref_ref,z_30
++R 3000,4000,ref_ref,a2_40
++R 3000,5000,ref_ref,a2_50
++R 2000,6000,ref_ref,a2_60
++R 4000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,z_60
++R 4000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,z_40
++R 3000,6000,ref_ref,a2_60
++R 1000,4000,ref_ref,a1_40
++R 1000,3000,ref_ref,a1_30
++R 1000,5000,ref_ref,a1_50
++R 7000,6000,ref_ref,b1_60
++R 8000,5000,ref_ref,b1_50
++R 9000,2000,ref_ref,b2_20
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 7000,6000,8000,6000,600,*,RIGHT,ALU1
++S 8000,4900,8000,7100,400,*,UP,ALU1
++S 6200,4800,6200,8000,400,*,UP,ALU1
++S 1600,1900,1600,3100,400,n2,UP,NDIF
++S 2600,2000,6000,2000,400,*,LEFT,ALU1
++S 2600,2000,2600,3100,400,*,DOWN,ALU1
++S 2000,4000,2000,4000,400,a1,LEFT,CALU1
++S 1000,4000,2000,4000,600,*,LEFT,ALU1
++S 5200,2400,5200,3300,200,6z,UP,NTRANS
++S 6000,2400,6000,3300,200,5z,UP,NTRANS
++S 4000,1700,4000,3300,200,4z,UP,NTRANS
++S 3200,1700,3200,3300,200,3z,UP,NTRANS
++S 8600,1700,8600,3300,200,4b,UP,NTRANS
++S 7800,1700,7800,3300,200,3b,UP,NTRANS
++S 2000,1700,2000,3300,200,4a,UP,NTRANS
++S 1200,1700,1200,3300,200,3a,UP,NTRANS
++S 5600,2600,5600,3100,400,n1,UP,NDIF
++S 6800,1900,6800,3100,1000,*,UP,NDIF
++S 9000,1900,9000,3100,400,*,UP,NDIF
++S 3200,700,8600,700,200,*,RIGHT,POLY
++S 8600,3300,8600,4000,200,*,UP,POLY
++S 8600,700,8600,1700,200,*,DOWN,POLY
++S 2000,3300,2000,4600,200,*,UP,POLY
++S 2000,4600,2800,4600,200,*,RIGHT,POLY
++S 1200,3300,1200,5200,200,*,UP,POLY
++S 2000,1300,2000,1700,200,*,DOWN,POLY
++S 1200,1300,1200,1700,200,*,DOWN,POLY
++S 3200,700,3200,1700,200,*,DOWN,POLY
++S 4400,1900,4400,3100,400,*,DOWN,NDIF
++S 600,1900,600,3100,600,*,UP,NDIF
++S 2600,1900,2600,3100,600,*,UP,NDIF
++S 3200,3300,3200,3700,200,*,UP,POLY
++S 4000,3300,4000,3700,200,*,UP,POLY
++S 5200,2000,5200,2400,200,*,DOWN,POLY
++S 6000,2000,6000,2400,200,*,DOWN,POLY
++S 4000,1300,7800,1300,200,*,RIGHT,POLY
++S 7800,3300,7800,5500,200,*,UP,POLY
++S 7000,700,7000,3100,400,*,DOWN,ALU1
++S 8000,2000,8000,4000,400,b2,DOWN,CALU1
++S 4000,3000,5000,3000,600,*,RIGHT,ALU1
++S 5000,3000,5000,3000,400,z,LEFT,CALU1
++S 5200,3300,5200,4700,200,*,UP,POLY
++S 4400,2600,4400,3100,600,*,UP,NDIF
++S 0,9400,10000,9400,1200,vdd,RIGHT,CALU1
++S 0,5000,10000,5000,10000,xaon22_x05,LEFT,TALU8
++S 0,2200,10000,2200,5200,*,LEFT,PWELL
++S 0,7600,10000,7600,5600,*,LEFT,NWELL
++S 0,600,10000,600,1200,vss,RIGHT,CALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 3000,4000,3000,6000,400,a2,DOWN,CALU1
++S 3000,3900,3000,6100,400,*,UP,ALU1
++S 2000,6000,2000,6000,400,a2,LEFT,CALU1
++S 4000,3000,4000,6000,400,z,DOWN,CALU1
++S 600,700,600,2100,400,*,DOWN,ALU1
++S 2800,2300,2800,3100,400,*,DOWN,NDIF
++S 1000,2900,1000,5100,400,*,DOWN,ALU1
++S 1000,3000,1000,5000,400,a1,DOWN,CALU1
++S 6000,2000,6000,4000,400,*,UP,ALU1
++S 2200,7700,2200,9300,400,*,UP,ALU1
++S 1200,5200,1600,5200,200,*,RIGHT,POLY
++S 5400,4000,6000,4000,400,*,RIGHT,ALU1
++S 6800,5800,8000,5800,200,*,LEFT,POLY
++S 8000,1900,8000,4000,400,*,DOWN,ALU1
++S 6800,6200,6800,8200,200,1b,DOWN,PTRANS
++S 7000,6000,7000,6000,400,b1,LEFT,CALU1
++S 8000,5000,8000,7000,400,b1,UP,CALU1
++S 6200,8000,9400,8000,400,*,RIGHT,ALU1
++S 7800,6400,7800,9100,1400,*,DOWN,PDIF
++S 8800,6200,8800,8200,200,2b,DOWN,PTRANS
++S 9200,6400,9200,8000,400,*,DOWN,PDIF
++S 9400,6600,9400,7200,600,*,UP,PDIF
++S 9000,2000,9000,2000,400,b2,LEFT,CALU1
++S 8000,4000,8600,4000,600,*,LEFT,ALU1
++S 8000,2000,9000,2000,600,*,RIGHT,ALU1
++S 9400,2900,9400,8000,400,*,UP,ALU1
++S 9100,3000,9400,3000,600,*,RIGHT,ALU1
++S 8800,4000,8800,6200,200,*,UP,POLY
++S 8800,8200,8800,8600,200,*,UP,POLY
++S 6800,8200,6800,8600,200,*,UP,POLY
++S 4000,4700,6400,4700,200,*,LEFT,POLY
++S 4000,6500,4600,6500,600,*,LEFT,ALU1
++S 5200,6200,5200,8200,200,2z,DOWN,PTRANS
++S 4600,6400,4600,8000,600,*,UP,PDIF
++S 4000,6200,4000,8200,200,1z,DOWN,PTRANS
++S 4000,2900,4000,6600,400,*,DOWN,ALU1
++S 5400,4000,5400,7500,400,*,DOWN,ALU1
++S 6000,6400,6000,8000,600,*,UP,PDIF
++S 5200,8200,5200,8600,200,*,UP,POLY
++S 4000,8200,4000,8600,200,*,UP,POLY
++S 5200,5500,5200,6200,200,*,DOWN,POLY
++S 4900,5500,5400,5500,400,*,LEFT,ALU1
++S 2800,6200,2800,8200,200,2a,DOWN,PTRANS
++S 3400,6400,3400,8000,600,*,UP,PDIF
++S 2200,6400,2200,8000,600,*,UP,PDIF
++S 1600,6200,1600,8200,200,1a,DOWN,PTRANS
++S 1200,6400,1200,8000,400,*,UP,PDIF
++S 3000,6900,3000,7500,400,*,UP,ALU1
++S 3000,7500,5400,7500,400,*,LEFT,ALU1
++S 1000,6900,3000,6900,400,*,LEFT,ALU1
++S 2800,8200,2800,8600,200,*,UP,POLY
++S 1600,8200,1600,8600,200,*,UP,POLY
++S 1600,5200,1600,6200,200,*,DOWN,POLY
++S 2800,4800,2800,6200,200,*,DOWN,POLY
++S 4000,4700,4000,6200,200,*,UP,POLY
++S 1000,7200,1000,7800,600,*,UP,PDIF
++S 1000,6900,1000,8000,400,*,UP,ALU1
++S 3600,1900,3600,3100,400,n3,UP,NDIF
++S 8200,1900,8200,3100,400,n4,UP,NDIF
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 6200,4900,CONT_POLY,bn
++V 6200,7300,CONT_DIF_P,bn
++V 6200,6500,CONT_DIF_P,bn
++V 8200,9000,CONT_DIF_P,*
++V 7400,9000,CONT_DIF_P,*
++V 2600,2200,CONT_DIF_N,an
++V 2600,3000,CONT_DIF_N,an
++V 9200,3000,CONT_DIF_N,bn
++V 3000,4800,CONT_POLY,*
++V 1000,5000,CONT_POLY,*
++V 7000,2000,CONT_DIF_N,*
++V 8600,4000,CONT_POLY,*
++V 7000,3000,CONT_DIF_N,*
++V 6000,3900,CONT_POLY,an
++V 4600,3000,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,*
++V 2200,7800,CONT_DIF_P,*
++V 8000,5600,CONT_POLY,*
++V 9400,6500,CONT_DIF_P,bn
++V 9400,7300,CONT_DIF_P,bn
++V 4600,6500,CONT_DIF_P,*
++V 5000,5500,CONT_POLY,an
++V 3400,7500,CONT_DIF_P,an
++V 1000,7900,CONT_DIF_P,an
++V 1000,7100,CONT_DIF_P,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xaon22_x05.vbe b/alliance/src/cells/src/msxlib/xaon22_x05.vbe
+new file mode 100644
+index 0000000..94984ef
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon22_x05.vbe
+@@ -0,0 +1,52 @@
++ENTITY xaon22_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 10000;
++ CONSTANT cin_b1 : NATURAL := 7;
++ CONSTANT cin_b2 : NATURAL := 7;
++ CONSTANT cin_a1 : NATURAL := 5;
++ CONSTANT cin_a2 : NATURAL := 5;
++ CONSTANT rdown_b1_z : NATURAL := 3810;
++ CONSTANT rdown_b2_z : NATURAL := 3830;
++ CONSTANT rdown_a1_z : NATURAL := 3880;
++ CONSTANT rdown_a2_z : NATURAL := 3870;
++ CONSTANT rup_b1_z : NATURAL := 3950;
++ CONSTANT rup_b2_z : NATURAL := 3980;
++ CONSTANT rup_a1_z : NATURAL := 5000;
++ CONSTANT rup_a2_z : NATURAL := 4990;
++ CONSTANT tplh_a1_z : NATURAL := 100;
++ CONSTANT tplh_a2_z : NATURAL := 94;
++ CONSTANT tphl_b1_z : NATURAL := 34;
++ CONSTANT tphl_b2_z : NATURAL := 36;
++ CONSTANT tplh_b1_z : NATURAL := 115;
++ CONSTANT tplh_b2_z : NATURAL := 118;
++ CONSTANT tphh_b1_z : NATURAL := 61;
++ CONSTANT tphh_b2_z : NATURAL := 67;
++ CONSTANT tphl_a1_z : NATURAL := 75;
++ CONSTANT tphl_a2_z : NATURAL := 77;
++ CONSTANT tpll_a1_z : NATURAL := 121;
++ CONSTANT tpll_a2_z : NATURAL := 114;
++ CONSTANT tpll_b1_z : NATURAL := 111;
++ CONSTANT tpll_b2_z : NATURAL := 107;
++ CONSTANT tphh_a1_z : NATURAL := 107;
++ CONSTANT tphh_a2_z : NATURAL := 107;
++ CONSTANT transistors : NATURAL := 14
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xaon22_x05;
++
++ARCHITECTURE behaviour_data_flow OF xaon22_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xaon22_x05"
++ SEVERITY WARNING;
++ z <= ((b1 and b2) xor (a1 and a2)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xaon22_x1.ap b/alliance/src/cells/src/msxlib/xaon22_x1.ap
+new file mode 100644
+index 0000000..5f59fce
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon22_x1.ap
+@@ -0,0 +1,166 @@
++V ALLIANCE : 6
++H xaon22_x1,P,21/10/2004,100
++A 0,0,10000,10000
++R 8000,7000,ref_ref,b1_70
++R 8000,6000,ref_ref,b1_60
++R 8000,4000,ref_ref,b2_40
++R 8000,3000,ref_ref,b2_30
++R 8000,2000,ref_ref,b2_20
++R 5000,3000,ref_ref,z_30
++R 3000,4000,ref_ref,a2_40
++R 3000,5000,ref_ref,a2_50
++R 2000,6000,ref_ref,a2_60
++R 4000,3000,ref_ref,z_30
++R 4000,6000,ref_ref,z_60
++R 4000,5000,ref_ref,z_50
++R 4000,4000,ref_ref,z_40
++R 3000,6000,ref_ref,a2_60
++R 1000,4000,ref_ref,a1_40
++R 1000,3000,ref_ref,a1_30
++R 9000,2000,ref_ref,b2_20
++R 4000,7000,ref_ref,z_70
++R 2000,5000,ref_ref,a1_50
++R 1000,5000,ref_ref,a1_50
++R 8000,5000,ref_ref,b1_50
++R 7000,7000,ref_ref,b1_70
++S 4000,3000,4000,7000,400,z,DOWN,CALU1
++S 4200,1500,4200,3400,400,n3,UP,NDIF
++S 8000,2000,8000,4000,400,b2,DOWN,CALU1
++S 5000,3000,5000,3000,400,z,LEFT,CALU1
++S 0,9400,10000,9400,1200,vdd,RIGHT,CALU1
++S 0,7600,10000,7600,5600,*,LEFT,NWELL
++S 0,2200,10000,2200,5200,*,LEFT,PWELL
++S 0,5000,10000,5000,10000,xaon22_x1,LEFT,TALU8
++S 0,600,10000,600,1200,vss,RIGHT,CALU1
++S 2000,6000,3000,6000,600,*,LEFT,ALU1
++S 3000,4000,3000,6000,400,a2,DOWN,CALU1
++S 3000,3900,3000,6100,400,*,UP,ALU1
++S 2000,6000,2000,6000,400,a2,LEFT,CALU1
++S 8000,5000,8000,7000,400,b1,UP,CALU1
++S 6200,8000,9400,8000,400,*,RIGHT,ALU1
++S 9000,2000,9000,2000,400,b2,LEFT,CALU1
++S 8000,2000,9000,2000,600,*,RIGHT,ALU1
++S 5200,5500,5200,6200,200,*,DOWN,POLY
++S 1000,6900,3000,6900,400,*,LEFT,ALU1
++S 7200,700,7200,3100,400,*,DOWN,ALU1
++S 6600,1500,6600,1900,200,*,DOWN,POLY
++S 5800,1500,5800,1900,200,*,DOWN,POLY
++S 4600,900,7800,900,200,*,RIGHT,POLY
++S 3800,300,3800,1300,200,*,DOWN,POLY
++S 3800,300,8600,300,200,*,RIGHT,POLY
++S 3000,8000,5400,8000,400,*,LEFT,ALU1
++S 3000,6900,3000,8000,400,*,UP,ALU1
++S 4000,7000,4600,7000,600,*,LEFT,ALU1
++S 4000,2900,4000,7100,400,*,DOWN,ALU1
++S 3000,800,3000,3700,400,*,DOWN,NDIF
++S 2600,600,2600,3900,200,4a,UP,NTRANS
++S 3200,2000,3200,3100,400,*,DOWN,ALU1
++S 3200,2000,6000,2000,400,*,LEFT,ALU1
++S 2200,800,2200,3700,400,n2,UP,NDIF
++S 1800,600,1800,3900,200,3a,UP,NTRANS
++S 1200,700,1200,2100,400,*,DOWN,ALU1
++S 1100,800,1100,3700,600,*,UP,NDIF
++S 1800,3900,1800,5200,200,*,UP,POLY
++S 2600,3900,2600,4700,200,*,UP,POLY
++S 1000,5000,2000,5000,600,*,LEFT,ALU1
++S 2000,5000,2000,5000,400,a1,LEFT,CALU1
++S 1000,2900,1000,5100,400,*,DOWN,ALU1
++S 1000,3000,1000,5000,400,a1,DOWN,CALU1
++S 4000,3000,5200,3000,600,*,RIGHT,ALU1
++S 2800,5900,2800,9400,200,2a,DOWN,PTRANS
++S 3400,6100,3400,9200,600,*,UP,PDIF
++S 4000,5900,4000,9400,200,1z,DOWN,PTRANS
++S 2200,6100,2200,9200,600,*,UP,PDIF
++S 1600,5900,1600,9400,200,1a,DOWN,PTRANS
++S 1200,6100,1200,9200,400,*,UP,PDIF
++S 6000,6100,6000,9200,600,*,UP,PDIF
++S 5200,5900,5200,9400,200,2z,DOWN,PTRANS
++S 4600,6100,4600,9200,600,*,UP,PDIF
++S 6800,5900,6800,9400,200,1b,DOWN,PTRANS
++S 7800,6100,7800,9200,1400,*,DOWN,PDIF
++S 8800,5900,8800,9400,200,2b,DOWN,PTRANS
++S 4000,4500,5800,4500,200,*,LEFT,POLY
++S 5900,5300,6200,5300,400,*,LEFT,ALU1
++S 6200,5300,6200,8000,400,*,UP,ALU1
++S 5400,6100,5400,8000,400,*,DOWN,ALU1
++S 2200,7900,2200,9300,400,*,UP,ALU1
++S 4000,4500,4000,5900,200,*,UP,POLY
++S 1600,5200,1600,5900,200,*,DOWN,POLY
++S 2800,4800,2800,5900,200,*,DOWN,POLY
++S 4600,3600,4600,3900,200,*,UP,POLY
++S 3800,3600,3800,3900,200,*,UP,POLY
++S 4600,1300,4600,3600,200,4z,UP,NTRANS
++S 3800,1300,3800,3600,200,3z,UP,NTRANS
++S 3200,1500,3200,3400,600,*,UP,NDIF
++S 5000,1500,5000,3400,400,*,DOWN,NDIF
++S 5200,2000,5200,3400,600,*,DOWN,NDIF
++S 5800,1800,5800,3600,200,6z,UP,NTRANS
++S 6600,1800,6600,3600,200,5z,UP,NTRANS
++S 6200,2000,6200,3400,400,n1,UP,NDIF
++S 5400,2000,5400,3400,400,*,DOWN,NDIF
++S 5800,3600,5800,5100,200,*,UP,POLY
++S 5000,4200,5000,6100,400,*,DOWN,ALU1
++S 6000,2000,6000,4200,400,*,UP,ALU1
++S 5000,4200,6700,4200,400,*,LEFT,ALU1
++S 9200,6100,9200,9200,400,*,DOWN,PDIF
++S 9100,3300,9600,3300,400,*,LEFT,ALU1
++S 7000,7000,7000,7000,400,b1,LEFT,CALU1
++S 7000,7000,8000,7000,600,*,RIGHT,ALU1
++S 8800,4200,8800,5900,200,*,UP,POLY
++S 1800,300,1800,600,200,*,DOWN,POLY
++S 2600,300,2600,600,200,*,DOWN,POLY
++S 1600,9400,1600,9700,200,*,UP,POLY
++S 2800,9400,2800,9700,200,*,UP,POLY
++S 4000,9400,4000,9700,200,*,UP,POLY
++S 5200,9400,5200,9700,200,*,UP,POLY
++S 6800,9400,6800,9700,200,*,UP,POLY
++S 8800,9400,8800,9700,200,*,UP,POLY
++S 1000,7300,1000,7900,600,*,UP,PDIF
++S 1000,6900,1000,8100,400,*,UP,ALU1
++S 8200,1500,8200,3400,400,n4,UP,NDIF
++S 9000,1500,9000,3400,400,*,UP,NDIF
++S 8600,1300,8600,3600,200,4b,UP,NTRANS
++S 7400,1500,7400,3400,400,*,DOWN,NDIF
++S 7800,1300,7800,3600,200,3b,UP,NTRANS
++S 7200,1500,7200,3400,600,*,UP,NDIF
++S 7800,900,7800,1300,200,*,DOWN,POLY
++S 8600,300,8600,1300,200,*,DOWN,POLY
++S 7800,3600,7800,4900,200,*,UP,POLY
++S 8000,5000,8000,7100,600,*,UP,ALU1
++S 6800,5200,7600,5200,200,*,RIGHT,POLY
++S 6800,5200,6800,5900,200,*,DOWN,POLY
++S 7500,5000,8100,5000,400,*,RIGHT,ALU1
++S 8000,4200,8700,4200,400,*,LEFT,ALU1
++S 8000,1900,8000,4200,400,*,DOWN,ALU1
++S 9400,6300,9400,6900,600,*,UP,PDIF
++S 9600,3300,9600,6100,400,*,DOWN,ALU1
++S 9400,6100,9400,8000,400,*,UP,ALU1
++V 7400,9000,CONT_DIF_P,*
++V 8200,9000,CONT_DIF_P,*
++V 7200,3000,CONT_DIF_N,*
++V 5200,3000,CONT_DIF_N,*
++V 3400,8000,CONT_DIF_P,an
++V 4600,7000,CONT_DIF_P,*
++V 3200,3000,CONT_DIF_N,an
++V 3200,2200,CONT_DIF_N,an
++V 1200,2000,CONT_DIF_N,*
++V 1200,1000,CONT_DIF_N,*
++V 3000,4500,CONT_POLY,*
++V 1600,5000,CONT_POLY,*
++V 6200,7800,CONT_DIF_P,bn
++V 6200,7000,CONT_DIF_P,bn
++V 6200,6200,CONT_DIF_P,bn
++V 5000,5300,CONT_POLY,an
++V 6000,5300,CONT_POLY,bn
++V 2200,8000,CONT_DIF_P,*
++V 2200,9000,CONT_DIF_P,*
++V 6600,4200,CONT_POLY,an
++V 9200,3300,CONT_DIF_N,bn
++V 1000,8000,CONT_DIF_P,an
++V 1000,7200,CONT_DIF_P,an
++V 7600,5000,CONT_POLY,*
++V 8600,4200,CONT_POLY,*
++V 7200,2000,CONT_DIF_N,*
++V 9400,6200,CONT_DIF_P,bn
++V 9400,7000,CONT_DIF_P,bn
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xaon22_x1.vbe b/alliance/src/cells/src/msxlib/xaon22_x1.vbe
+new file mode 100644
+index 0000000..fb62fa3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xaon22_x1.vbe
+@@ -0,0 +1,52 @@
++ENTITY xaon22_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 10000;
++ CONSTANT cin_b1 : NATURAL := 10;
++ CONSTANT cin_b2 : NATURAL := 10;
++ CONSTANT cin_a1 : NATURAL := 8;
++ CONSTANT cin_a2 : NATURAL := 8;
++ CONSTANT rdown_b1_z : NATURAL := 1960;
++ CONSTANT rdown_b2_z : NATURAL := 1970;
++ CONSTANT rdown_a1_z : NATURAL := 1970;
++ CONSTANT rdown_a2_z : NATURAL := 1970;
++ CONSTANT rup_b1_z : NATURAL := 2330;
++ CONSTANT rup_b2_z : NATURAL := 2350;
++ CONSTANT rup_a1_z : NATURAL := 2880;
++ CONSTANT rup_a2_z : NATURAL := 2870;
++ CONSTANT tplh_a1_z : NATURAL := 98;
++ CONSTANT tplh_a2_z : NATURAL := 89;
++ CONSTANT tphl_b1_z : NATURAL := 37;
++ CONSTANT tphl_b2_z : NATURAL := 39;
++ CONSTANT tplh_b1_z : NATURAL := 103;
++ CONSTANT tplh_b2_z : NATURAL := 106;
++ CONSTANT tphh_b1_z : NATURAL := 66;
++ CONSTANT tphh_b2_z : NATURAL := 71;
++ CONSTANT tphl_a1_z : NATURAL := 65;
++ CONSTANT tphl_a2_z : NATURAL := 66;
++ CONSTANT tpll_a1_z : NATURAL := 113;
++ CONSTANT tpll_a2_z : NATURAL := 104;
++ CONSTANT tpll_b1_z : NATURAL := 100;
++ CONSTANT tpll_b2_z : NATURAL := 96;
++ CONSTANT tphh_a1_z : NATURAL := 94;
++ CONSTANT tphh_a2_z : NATURAL := 94;
++ CONSTANT transistors : NATURAL := 14
++);
++PORT (
++ b1 : in BIT;
++ b2 : in BIT;
++ a1 : in BIT;
++ a2 : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xaon22_x1;
++
++ARCHITECTURE behaviour_data_flow OF xaon22_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xaon22_x1"
++ SEVERITY WARNING;
++ z <= ((b1 and b2) xor (a1 and a2)) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xnr2_x05.ap b/alliance/src/cells/src/msxlib/xnr2_x05.ap
+new file mode 100644
+index 0000000..d4efc72
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xnr2_x05.ap
+@@ -0,0 +1,120 @@
++V ALLIANCE : 6
++H xnr2_x05,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 2000,7000,ref_ref,z_70
++R 5000,7000,ref_ref,b_70
++R 5000,8000,ref_ref,b_80
++R 4000,6000,ref_ref,b_60
++R 5000,6000,ref_ref,b_60
++R 2000,8000,ref_ref,z_80
++R 5000,3000,ref_ref,a_30
++R 3000,8000,ref_ref,z_80
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,7000,ref_ref,z_70
++R 2000,3000,ref_ref,z_30
++R 2000,4000,ref_ref,z_40
++R 5000,4000,ref_ref,a_40
++R 5000,2000,ref_ref,a_20
++R 6000,2000,ref_ref,a_20
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 2200,8500,2200,8800,200,*,UP,POLY
++S 1400,8500,1400,8800,200,*,UP,POLY
++S 800,7900,800,9300,400,*,UP,ALU1
++S 800,6700,800,8300,600,*,DOWN,PDIF
++S 700,6700,700,8300,600,*,DOWN,PDIF
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 2000,7000,2000,8000,400,*,DOWN,ALU1
++S 1000,7000,2000,7000,600,*,RIGHT,ALU1
++S 2000,8100,3100,8100,400,*,LEFT,ALU1
++S 2000,8000,3100,8000,400,*,LEFT,ALU1
++S 1000,4000,1000,7000,400,*,UP,ALU1
++S 1000,4000,1000,7000,400,z,UP,CALU1
++S 2000,7000,2000,8000,400,z,DOWN,CALU1
++S 5000,6000,5000,8000,400,b,UP,CALU1
++S 4000,7000,4000,8100,400,*,UP,ALU1
++S 4700,900,4700,3100,1600,*,UP,NDIF
++S 0,5000,7000,5000,10000,xnr2_x05,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 6200,2600,6200,3100,400,*,UP,NDIF
++S 5800,2400,5800,3300,200,9,UP,NTRANS
++S 3000,2600,3000,3100,600,*,UP,NDIF
++S 2400,2400,2400,3300,200,7,UP,NTRANS
++S 3600,2400,3600,3300,200,8,UP,NTRANS
++S 3600,2000,3600,2400,200,*,DOWN,POLY
++S 5800,2000,5800,2400,200,*,DOWN,POLY
++S 1800,2600,1800,3100,600,*,UP,NDIF
++S 1200,2400,1200,3300,200,6,UP,NTRANS
++S 800,2600,800,3100,400,*,DOWN,NDIF
++S 1000,4000,2000,4000,600,*,LEFT,ALU1
++S 2000,3000,2000,4000,400,z,DOWN,CALU1
++S 1900,2900,1900,4100,600,*,DOWN,ALU1
++S 600,2000,600,2800,400,*,DOWN,ALU1
++S 1200,2000,1200,2400,200,*,DOWN,POLY
++S 2400,2000,2400,2400,200,*,DOWN,POLY
++S 3000,2900,3000,7000,400,*,UP,ALU1
++S 3000,7000,4000,7000,400,*,LEFT,ALU1
++S 3800,5900,5500,5900,600,*,RIGHT,ALU1
++S 2200,6100,2600,6100,200,*,RIGHT,POLY
++S 2600,3700,2600,6100,200,*,DOWN,POLY
++S 5800,3300,5800,6500,200,*,DOWN,POLY
++S 6200,6700,6200,8300,400,*,DOWN,PDIF
++S 5800,6500,5800,8500,200,5,DOWN,PTRANS
++S 4600,6500,4600,8500,200,4,DOWN,PTRANS
++S 4000,6700,4000,8300,600,*,UP,PDIF
++S 3400,6500,3400,8500,200,3,DOWN,PTRANS
++S 2200,6500,2200,8500,200,2,DOWN,PTRANS
++S 2800,6700,2800,8300,600,*,UP,PDIF
++S 1400,6500,1400,8500,200,1,DOWN,PTRANS
++S 1700,6700,1700,8300,400,n1,UP,PDIF
++S 5200,6700,5200,9100,600,*,UP,PDIF
++S 3400,8500,3400,8900,200,*,UP,POLY
++S 4600,8500,4600,8900,200,*,UP,POLY
++S 5800,8500,5800,8900,200,*,UP,POLY
++S 5000,6000,5000,8100,400,*,UP,ALU1
++S 4000,6000,4000,6000,400,b,LEFT,CALU1
++S 3000,8000,3000,8000,400,z,LEFT,CALU1
++S 2400,3300,2400,3800,200,*,UP,POLY
++S 3400,5700,3400,6500,200,*,DOWN,POLY
++S 6000,2000,6000,2000,400,a,LEFT,CALU1
++S 5000,2000,6100,2000,400,*,RIGHT,ALU1
++S 5000,2000,5000,4000,600,*,DOWN,ALU1
++S 5000,2000,5000,4000,400,a,DOWN,CALU1
++S 600,2000,3800,2000,400,*,RIGHT,ALU1
++S 4600,3700,4600,6500,200,*,DOWN,POLY
++S 3600,3700,4600,3700,200,*,LEFT,POLY
++S 2800,5000,3700,5000,200,*,LEFT,POLY
++S 3800,4900,6400,4900,400,*,RIGHT,ALU1
++S 3800,2000,3800,4900,400,*,UP,ALU1
++S 6400,6900,6400,7500,600,*,UP,PDIF
++S 6400,2900,6400,7700,400,*,UP,ALU1
++S 1800,5000,3000,5000,600,*,LEFT,ALU1
++S 1400,4800,1400,6500,200,*,DOWN,POLY
++S 1200,3300,1200,4900,200,*,UP,POLY
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 800,8000,CONT_DIF_P,*
++V 4000,8000,CONT_DIF_P,an
++V 4200,1000,CONT_DIF_N,*
++V 5200,9000,CONT_DIF_P,*
++V 5200,1000,CONT_DIF_N,*
++V 3000,3000,CONT_DIF_N,an
++V 6400,3000,CONT_DIF_N,bn
++V 2800,8000,CONT_DIF_P,*
++V 1800,3000,CONT_DIF_N,*
++V 600,2700,CONT_DIF_N,bn
++V 3800,5900,CONT_POLY,*
++V 5400,5900,CONT_POLY,*
++V 6400,6800,CONT_DIF_P,bn
++V 4000,7200,CONT_DIF_P,an
++V 5000,3900,CONT_POLY,*
++V 3800,4800,CONT_POLY,bn
++V 6400,7600,CONT_DIF_P,bn
++V 1800,5000,CONT_POLY,an
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xnr2_x05.vbe b/alliance/src/cells/src/msxlib/xnr2_x05.vbe
+new file mode 100644
+index 0000000..283bce3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xnr2_x05.vbe
+@@ -0,0 +1,36 @@
++ENTITY xnr2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_b : NATURAL := 6;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 3580;
++ CONSTANT rdown_a_z : NATURAL := 3690;
++ CONSTANT rup_b_z : NATURAL := 4620;
++ CONSTANT rup_a_z : NATURAL := 4840;
++ CONSTANT tphl_a_z : NATURAL := 67;
++ CONSTANT tphl_b_z : NATURAL := 72;
++ CONSTANT tplh_b_z : NATURAL := 42;
++ CONSTANT tplh_a_z : NATURAL := 72;
++ CONSTANT tphh_b_z : NATURAL := 86;
++ CONSTANT tpll_b_z : NATURAL := 70;
++ CONSTANT tphh_a_z : NATURAL := 101;
++ CONSTANT tpll_a_z : NATURAL := 97;
++ CONSTANT transistors : NATURAL := 9
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xnr2_x05;
++
++ARCHITECTURE behaviour_data_flow OF xnr2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xnr2_x05"
++ SEVERITY WARNING;
++ z <= not ((b xor a)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xnr2_x1.ap b/alliance/src/cells/src/msxlib/xnr2_x1.ap
+new file mode 100644
+index 0000000..b9d72a3
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xnr2_x1.ap
+@@ -0,0 +1,114 @@
++V ALLIANCE : 6
++H xnr2_x1,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 1000,8000,ref_ref,z_80
++R 2000,8000,ref_ref,z_80
++R 4000,3000,ref_ref,a_30
++R 5000,5000,ref_ref,b_50
++R 4000,5000,ref_ref,b_50
++R 4000,4000,ref_ref,b_40
++R 5000,4000,ref_ref,a_40
++R 5000,3000,ref_ref,a_30
++R 3000,8000,ref_ref,z_80
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++S 1100,700,1900,700,600,*,RIGHT,PTIE
++S 1000,8000,3100,8000,400,*,LEFT,ALU1
++S 1000,8100,3100,8100,400,*,LEFT,ALU1
++S 1400,9400,1400,9700,200,*,UP,POLY
++S 2200,9400,2200,9700,200,*,UP,POLY
++S 3400,9400,3400,9700,200,*,UP,POLY
++S 4600,9400,4600,9700,200,*,UP,POLY
++S 5800,9400,5800,9700,200,*,UP,POLY
++S 5800,1300,5800,1700,200,*,DOWN,POLY
++S 2400,1300,2400,1700,200,*,DOWN,POLY
++S 3600,1300,3600,1700,200,*,DOWN,POLY
++S 1200,1300,1200,1700,200,*,DOWN,POLY
++S 6200,5900,6200,9200,400,*,DOWN,PDIF
++S 700,5900,700,9200,600,*,DOWN,PDIF
++S 5200,5900,5200,9200,600,*,UP,PDIF
++S 4000,5900,4000,9200,600,*,UP,PDIF
++S 2800,5900,2800,9200,600,*,UP,PDIF
++S 1700,5900,1700,9200,400,n1,UP,PDIF
++S 5200,6900,5200,9300,400,*,UP,ALU1
++S 2000,7000,4000,7000,400,*,LEFT,ALU1
++S 4000,7000,4000,8100,400,*,UP,ALU1
++S 6400,2000,6400,6900,400,*,UP,ALU1
++S 2800,4400,2800,6000,400,*,DOWN,ALU1
++S 2800,6000,6400,6000,400,*,LEFT,ALU1
++S 6400,6100,6400,6700,600,*,UP,PDIF
++S 1800,4500,2000,4500,600,*,LEFT,ALU1
++S 3000,2900,3000,3600,400,*,UP,ALU1
++S 2000,3600,2000,7000,400,*,UP,ALU1
++S 4700,900,4700,3100,1600,*,UP,NDIF
++S 800,1900,800,3100,400,*,DOWN,NDIF
++S 6200,1900,6200,3100,400,*,UP,NDIF
++S 3000,1900,3000,3100,600,*,UP,NDIF
++S 1800,1900,1800,3100,600,*,UP,NDIF
++S 5000,3000,5000,4000,600,*,DOWN,ALU1
++S 3900,3000,5000,3000,400,*,RIGHT,ALU1
++S 4000,4000,4000,5000,400,b,UP,CALU1
++S 5000,3000,5000,4000,400,a,DOWN,CALU1
++S 3400,5300,4000,5300,200,*,RIGHT,POLY
++S 2000,3600,3000,3600,400,*,LEFT,ALU1
++S 1000,2800,1900,2800,400,*,LEFT,ALU1
++S 500,2000,6400,2000,400,*,RIGHT,ALU1
++S 1200,1700,1200,3300,200,6,UP,NTRANS
++S 2400,1700,2400,3300,200,7,UP,NTRANS
++S 3600,1700,3600,3300,200,8,UP,NTRANS
++S 5800,5700,5800,9400,200,5,DOWN,PTRANS
++S 1000,3000,1000,8000,400,*,UP,ALU1
++S 1000,3000,1000,8000,400,z,UP,CALU1
++S 0,5000,7000,5000,10000,xnr2_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 1400,4500,2000,4500,600,*,LEFT,POLY
++S 5800,3300,5800,5700,200,*,DOWN,POLY
++S 3600,3700,4600,3700,200,*,LEFT,POLY
++S 2600,3700,2600,5300,200,*,DOWN,POLY
++S 4600,3700,4600,5700,200,*,DOWN,POLY
++S 4600,5700,4600,9400,200,4,DOWN,PTRANS
++S 3400,5700,3400,9400,200,3,DOWN,PTRANS
++S 1400,5700,1400,9400,200,1,DOWN,PTRANS
++S 2200,5700,2200,9400,200,2,DOWN,PTRANS
++S 2200,5300,2600,5300,200,*,RIGHT,POLY
++S 1400,4300,1400,5700,200,*,DOWN,POLY
++S 2400,3700,2600,3700,200,*,LEFT,POLY
++S 5800,1700,5800,3300,200,9,UP,NTRANS
++S 4000,3000,4000,3000,400,a,LEFT,CALU1
++S 5000,5000,5000,5000,400,b,LEFT,CALU1
++S 1200,3300,1200,4400,200,*,UP,POLY
++S 2000,8000,2000,8000,400,z,LEFT,CALU1
++S 3000,8000,3000,8000,400,z,LEFT,CALU1
++S 6400,2300,6400,2900,600,*,UP,NDIF
++S 3900,3900,3900,5000,600,*,UP,ALU1
++S 3800,5000,5500,5000,400,*,RIGHT,ALU1
++V 2000,700,CONT_BODY_P,*
++V 1000,700,CONT_BODY_P,*
++V 5200,7000,CONT_DIF_P,*
++V 5200,8000,CONT_DIF_P,*
++V 4000,8000,CONT_DIF_P,an
++V 6400,6800,CONT_DIF_P,bn
++V 4200,1000,CONT_DIF_N,*
++V 2800,4500,CONT_POLY,bn
++V 1800,2800,CONT_DIF_N,*
++V 600,2000,CONT_DIF_N,bn
++V 6400,6000,CONT_DIF_P,bn
++V 5200,9000,CONT_DIF_P,*
++V 5200,1000,CONT_DIF_N,*
++V 3000,3000,CONT_DIF_N,an
++V 1800,4500,CONT_POLY,an
++V 6400,3000,CONT_DIF_N,bn
++V 5000,3900,CONT_POLY,*
++V 2800,8000,CONT_DIF_P,*
++V 800,9000,CONT_DIF_P,*
++V 5400,5000,CONT_POLY,*
++V 4000,7200,CONT_DIF_P,an
++V 6400,2200,CONT_DIF_N,bn
++V 3800,4900,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xnr2_x1.vbe b/alliance/src/cells/src/msxlib/xnr2_x1.vbe
+new file mode 100644
+index 0000000..55a219f
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xnr2_x1.vbe
+@@ -0,0 +1,36 @@
++ENTITY xnr2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_b : NATURAL := 10;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT rdown_b_z : NATURAL := 2020;
++ CONSTANT rdown_a_z : NATURAL := 2060;
++ CONSTANT rup_b_z : NATURAL := 2510;
++ CONSTANT rup_a_z : NATURAL := 2620;
++ CONSTANT tphl_a_z : NATURAL := 66;
++ CONSTANT tphl_b_z : NATURAL := 67;
++ CONSTANT tplh_b_z : NATURAL := 38;
++ CONSTANT tplh_a_z : NATURAL := 69;
++ CONSTANT tphh_b_z : NATURAL := 80;
++ CONSTANT tpll_b_z : NATURAL := 65;
++ CONSTANT tphh_a_z : NATURAL := 96;
++ CONSTANT tpll_a_z : NATURAL := 93;
++ CONSTANT transistors : NATURAL := 9
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xnr2_x1;
++
++ARCHITECTURE behaviour_data_flow OF xnr2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xnr2_x1"
++ SEVERITY WARNING;
++ z <= not ((b xor a)) after 1100 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xor2_x05.ap b/alliance/src/cells/src/msxlib/xor2_x05.ap
+new file mode 100644
+index 0000000..fb2b7d1
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xor2_x05.ap
+@@ -0,0 +1,122 @@
++V ALLIANCE : 6
++H xor2_x05,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 6000,7000,ref_ref,b_70
++R 5000,6000,ref_ref,b_60
++R 5000,4000,ref_ref,a_40
++R 5000,3000,ref_ref,a_30
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 5000,2000,ref_ref,a_20
++R 2000,2000,ref_ref,z_20
++R 3000,2000,ref_ref,z_20
++R 5000,7000,ref_ref,b_70
++R 6000,8000,ref_ref,b_80
++R 4000,4000,ref_ref,a_40
++R 2000,3000,ref_ref,z_30
++S 1100,9300,1900,9300,600,*,RIGHT,NTIE
++S 1200,700,1900,700,600,*,RIGHT,PTIE
++S 6400,1900,6400,5900,400,bn,DOWN,ALU1
++S 4700,6500,4700,9100,1600,*,UP,PDIF
++S 5800,2600,5800,5500,200,*,UP,POLY
++S 6000,7000,6000,8000,400,b,UP,CALU1
++S 5000,6000,5000,7000,400,b,DOWN,CALU1
++S 5000,5900,5000,7000,400,*,DOWN,ALU1
++S 6200,5700,6200,7300,400,*,UP,PDIF
++S 5800,5500,5800,7500,200,4,DOWN,PTRANS
++S 0,5000,7000,5000,10000,xor2_x05,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 5000,2000,5000,4000,400,a,UP,CALU1
++S 1000,7000,2100,7000,400,*,LEFT,ALU1
++S 1200,6300,1200,8300,200,1,DOWN,PTRANS
++S 1800,6500,1800,8100,800,*,UP,PDIF
++S 2400,6300,2400,8300,200,2,DOWN,PTRANS
++S 1200,8300,1200,8700,200,*,UP,POLY
++S 2400,8300,2400,8700,200,*,UP,POLY
++S 3600,6300,3600,8300,200,3,DOWN,PTRANS
++S 3000,6500,3000,8100,600,*,UP,PDIF
++S 1000,7100,2100,7100,400,*,LEFT,ALU1
++S 800,6500,800,7800,400,*,UP,PDIF
++S 3600,8300,3600,8700,200,*,UP,POLY
++S 3400,400,5800,400,200,*,RIGHT,POLY
++S 4000,1900,4000,3000,400,an,DOWN,ALU1
++S 5000,1900,5000,4000,400,*,DOWN,ALU1
++S 3900,4000,5000,4000,400,*,LEFT,ALU1
++S 3900,4100,5000,4100,400,*,LEFT,ALU1
++S 6200,1900,6200,2400,400,*,UP,NDIF
++S 5800,1700,5800,2600,200,9,UP,NTRANS
++S 4000,1900,4000,2400,1000,*,DOWN,NDIF
++S 4600,1700,4600,2600,200,8,UP,NTRANS
++S 3400,1700,3400,2600,200,7,UP,NTRANS
++S 2800,1900,2800,2400,1000,*,DOWN,NDIF
++S 2200,1700,2200,2600,200,6,UP,NTRANS
++S 1800,1900,1800,2400,600,n1,UP,NDIF
++S 1400,1700,1400,2600,200,5,UP,NTRANS
++S 3400,2600,3400,3000,200,*,UP,POLY
++S 2200,1300,2200,1700,200,*,UP,POLY
++S 1400,1300,1400,1700,200,*,UP,POLY
++S 3400,400,3400,1700,200,*,DOWN,POLY
++S 4600,1300,4600,1700,200,*,UP,POLY
++S 5800,600,5800,1700,200,*,UP,POLY
++S 5200,900,5200,2400,600,*,UP,NDIF
++S 2200,3000,2600,3000,200,*,LEFT,POLY
++S 3000,3000,4000,3000,400,*,RIGHT,ALU1
++S 1000,3000,2000,3000,600,*,RIGHT,ALU1
++S 2000,2000,2000,3000,400,*,DOWN,ALU1
++S 2000,1900,3100,1900,400,*,RIGHT,ALU1
++S 2000,2000,3100,2000,400,*,RIGHT,ALU1
++S 1000,3000,1000,7000,400,*,DOWN,ALU1
++S 1000,3000,1000,7000,400,z,DOWN,CALU1
++S 2000,2000,2000,3000,400,z,DOWN,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 700,1900,700,2400,600,*,UP,NDIF
++S 800,700,800,2100,400,*,DOWN,ALU1
++S 3600,5900,3600,6300,200,*,UP,POLY
++S 3000,3000,3000,7100,400,*,UP,ALU1
++S 4900,6500,4900,8100,1200,*,DOWN,PDIF
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 5200,7900,5200,9300,400,*,UP,ALU1
++S 6100,6900,6100,8100,600,*,UP,ALU1
++S 5000,7000,6200,7000,600,*,RIGHT,ALU1
++S 5800,7500,5800,8300,200,*,UP,POLY
++S 2600,3000,2600,5300,200,*,DOWN,POLY
++S 2400,5300,3800,5300,200,*,LEFT,POLY
++S 2400,5200,2400,6300,200,*,DOWN,POLY
++S 1800,4400,3000,4400,600,*,RIGHT,ALU1
++S 1400,2600,1400,4600,200,*,UP,POLY
++S 1200,4500,1200,6300,200,*,DOWN,POLY
++S 4600,2600,4600,5900,200,*,UP,POLY
++S 3600,5900,4600,5900,200,*,LEFT,POLY
++S 3800,5000,3800,8000,400,*,DOWN,ALU1
++S 3800,5000,6400,5000,400,*,LEFT,ALU1
++S 500,8000,3800,8000,400,*,RIGHT,ALU1
++S 5300,5700,5300,7300,600,*,UP,PDIF
++V 2000,9300,CONT_BODY_N,*
++V 1000,9300,CONT_BODY_N,*
++V 2000,700,CONT_BODY_P,*
++V 1100,700,CONT_BODY_P,*
++V 6400,5800,CONT_DIF_P,bn
++V 4800,4000,CONT_POLY,*
++V 1800,7000,CONT_DIF_P,*
++V 600,8000,CONT_DIF_P,bn
++V 3000,7000,CONT_DIF_P,an
++V 5200,1000,CONT_DIF_N,*
++V 2800,2000,CONT_DIF_N,*
++V 4000,2000,CONT_DIF_N,an
++V 4200,9000,CONT_DIF_P,*
++V 6400,2000,CONT_DIF_N,bn
++V 800,2000,CONT_DIF_N,*
++V 5200,8000,CONT_DIF_P,*
++V 5200,9000,CONT_DIF_P,*
++V 6100,8100,CONT_POLY,*
++V 1800,4400,CONT_POLY,an
++V 3800,5100,CONT_POLY,bn
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xor2_x05.vbe b/alliance/src/cells/src/msxlib/xor2_x05.vbe
+new file mode 100644
+index 0000000..9bb09a8
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xor2_x05.vbe
+@@ -0,0 +1,36 @@
++ENTITY xor2_x05 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_b : NATURAL := 5;
++ CONSTANT cin_a : NATURAL := 4;
++ CONSTANT rdown_b_z : NATURAL := 3520;
++ CONSTANT rdown_a_z : NATURAL := 3620;
++ CONSTANT rup_b_z : NATURAL := 4790;
++ CONSTANT rup_a_z : NATURAL := 4890;
++ CONSTANT tplh_a_z : NATURAL := 69;
++ CONSTANT tphl_b_z : NATURAL := 35;
++ CONSTANT tplh_b_z : NATURAL := 89;
++ CONSTANT tphh_b_z : NATURAL := 64;
++ CONSTANT tphl_a_z : NATURAL := 65;
++ CONSTANT tpll_a_z : NATURAL := 93;
++ CONSTANT tpll_b_z : NATURAL := 94;
++ CONSTANT tphh_a_z : NATURAL := 91;
++ CONSTANT transistors : NATURAL := 9
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xor2_x05;
++
++ARCHITECTURE behaviour_data_flow OF xor2_x05 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xor2_x05"
++ SEVERITY WARNING;
++ z <= (b xor a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/msxlib/xor2_x1.ap b/alliance/src/cells/src/msxlib/xor2_x1.ap
+new file mode 100644
+index 0000000..05b2324
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xor2_x1.ap
+@@ -0,0 +1,120 @@
++V ALLIANCE : 6
++H xor2_x1,P, 9/ 8/2014,100
++A 0,0,7000,10000
++R 5000,2000,ref_ref,a_20
++R 5000,6000,ref_ref,b_60
++R 5000,4000,ref_ref,a_40
++R 5000,3000,ref_ref,a_30
++R 1000,6000,ref_ref,z_60
++R 1000,5000,ref_ref,z_50
++R 1000,4000,ref_ref,z_40
++R 1000,3000,ref_ref,z_30
++R 1000,7000,ref_ref,z_70
++R 2000,7000,ref_ref,z_70
++R 1000,2000,ref_ref,z_20
++R 2000,2000,ref_ref,z_20
++R 5000,7000,ref_ref,b_70
++R 4000,4000,ref_ref,a_40
++R 3000,2000,ref_ref,z_20
++R 6000,8000,ref_ref,b_80
++R 6000,7000,ref_ref,b_70
++S 6400,2000,6400,5000,400,*,UP,ALU1
++S 2000,7000,2000,7000,400,z,LEFT,CALU1
++S 3000,2000,3000,2000,400,z,LEFT,CALU1
++S 2000,2000,2000,2000,400,z,LEFT,CALU1
++S 4000,4000,4000,4000,400,a,LEFT,CALU1
++S 2000,6000,3000,6000,400,*,LEFT,ALU1
++S 0,5000,7000,5000,10000,xor2_x1,LEFT,TALU8
++S 0,2200,7000,2200,5200,*,LEFT,PWELL
++S 0,7600,7000,7600,5600,*,LEFT,NWELL
++S 0,9400,7000,9400,1200,vdd,RIGHT,CALU1
++S 0,600,7000,600,1200,vss,RIGHT,CALU1
++S 5000,2000,5000,4000,400,a,UP,CALU1
++S 1000,7000,2100,7000,400,*,RIGHT,ALU1
++S 1000,7100,2100,7100,400,*,RIGHT,ALU1
++S 1000,2000,1000,7000,400,*,DOWN,ALU1
++S 1000,2000,1000,7000,400,z,DOWN,CALU1
++S 4000,1900,4000,3000,400,an,DOWN,ALU1
++S 2000,3000,2000,6000,400,*,UP,ALU1
++S 2000,3000,4000,3000,400,*,RIGHT,ALU1
++S 3400,400,5600,400,200,*,RIGHT,POLY
++S 1200,9400,1200,9700,200,*,DOWN,POLY
++S 2400,9400,2400,9700,200,*,DOWN,POLY
++S 3600,9400,3600,9700,200,*,DOWN,POLY
++S 3000,6000,3000,7100,400,*,DOWN,ALU1
++S 3900,4000,5000,4000,400,*,LEFT,ALU1
++S 3900,4100,5000,4100,400,*,LEFT,ALU1
++S 1000,2000,3000,2000,600,*,RIGHT,ALU1
++S 3000,5000,6400,5000,400,*,RIGHT,ALU1
++S 5200,9400,5200,9700,200,*,DOWN,POLY
++S 5000,6000,5000,7000,400,b,UP,CALU1
++S 5000,5900,5000,7000,400,*,DOWN,ALU1
++S 6000,7000,6000,8000,400,b,UP,CALU1
++S 5000,7000,6500,7000,600,*,RIGHT,ALU1
++S 5000,1900,5000,4000,400,*,DOWN,ALU1
++S 4600,7900,4600,9300,400,*,UP,ALU1
++S 3800,5000,3800,8000,400,*,UP,ALU1
++S 500,8000,3800,8000,400,*,RIGHT,ALU1
++S 6000,7000,6000,8100,400,*,UP,ALU1
++S 6200,1700,6200,2900,400,*,UP,NDIF
++S 1400,1200,1400,1500,200,*,UP,POLY
++S 2200,1200,2200,1500,200,*,UP,POLY
++S 3400,400,3400,1500,200,*,DOWN,POLY
++S 4600,1100,4600,1500,200,*,UP,POLY
++S 5800,400,5800,1500,200,*,UP,POLY
++S 700,900,700,3000,600,*,UP,NDIF
++S 800,900,800,3000,600,*,UP,NDIF
++S 1800,1700,1800,3000,600,n1,UP,NDIF
++S 1400,1500,1400,3200,200,5,UP,NTRANS
++S 2200,1500,2200,3200,200,6,UP,NTRANS
++S 2200,3600,2800,3600,200,*,LEFT,POLY
++S 3400,3200,3400,3600,200,*,UP,POLY
++S 1500,4400,2000,4400,600,*,LEFT,POLY
++S 4000,1700,4000,3000,1000,*,DOWN,NDIF
++S 4600,1500,4600,3200,200,8,UP,NTRANS
++S 3400,1500,3400,3200,200,7,UP,NTRANS
++S 2800,1700,2800,3000,1000,*,DOWN,NDIF
++S 5200,900,5200,3000,600,*,UP,NDIF
++S 5800,1500,5800,3200,200,9,UP,NTRANS
++S 2400,5200,2800,5200,200,*,RIGHT,POLY
++S 1400,3200,1400,4600,200,*,UP,POLY
++S 1200,4500,1200,5700,200,*,UP,POLY
++S 2400,5600,2400,9400,200,2,DOWN,PTRANS
++S 3600,5600,3600,9400,200,3,DOWN,PTRANS
++S 3000,5800,3000,9200,600,*,UP,PDIF
++S 800,5800,800,9200,400,*,UP,PDIF
++S 1200,5600,1200,9400,200,1,DOWN,PTRANS
++S 1800,5800,1800,9200,1000,*,UP,PDIF
++S 4400,5800,4400,9200,800,*,DOWN,PDIF
++S 5200,5600,5200,9400,200,4,DOWN,PTRANS
++S 5600,5800,5600,9200,400,*,UP,PDIF
++S 5800,5000,5800,6000,400,*,DOWN,ALU1
++S 5800,3200,5800,5200,200,*,UP,POLY
++S 2800,3600,2800,5200,200,*,DOWN,POLY
++S 5200,5200,6600,5200,200,*,LEFT,POLY
++S 6600,5200,6600,6800,200,*,DOWN,POLY
++S 6400,2200,6400,2800,600,*,DOWN,NDIF
++S 3000,4300,3000,5000,400,*,DOWN,ALU1
++S 4600,3200,4600,4000,200,*,DOWN,POLY
++S 4200,4000,4200,5200,200,*,UP,POLY
++S 3600,5200,4200,5200,200,*,LEFT,POLY
++V 2000,700,CONT_BODY_P,*
++V 3000,6200,CONT_DIF_P,an
++V 600,8000,CONT_DIF_P,bn
++V 1800,7000,CONT_DIF_P,*
++V 5200,1000,CONT_DIF_N,*
++V 4000,2000,CONT_DIF_N,an
++V 2800,2000,CONT_DIF_N,*
++V 3000,7000,CONT_DIF_P,an
++V 6400,7000,CONT_POLY,*
++V 4600,9000,CONT_DIF_P,*
++V 4600,8000,CONT_DIF_P,*
++V 800,1000,CONT_DIF_N,*
++V 4000,2800,CONT_DIF_N,an
++V 3000,4400,CONT_POLY,bn
++V 2000,4400,CONT_POLY,an
++V 6400,2900,CONT_DIF_N,bn
++V 5800,5900,CONT_DIF_P,bn
++V 6400,2100,CONT_DIF_N,bn
++V 4400,4000,CONT_POLY,*
++EOF
+diff --git a/alliance/src/cells/src/msxlib/xor2_x1.vbe b/alliance/src/cells/src/msxlib/xor2_x1.vbe
+new file mode 100644
+index 0000000..82248ab
+--- /dev/null
++++ b/alliance/src/cells/src/msxlib/xor2_x1.vbe
+@@ -0,0 +1,36 @@
++ENTITY xor2_x1 IS
++GENERIC (
++ CONSTANT area : NATURAL := 7000;
++ CONSTANT cin_b : NATURAL := 9;
++ CONSTANT cin_a : NATURAL := 7;
++ CONSTANT rdown_b_z : NATURAL := 1860;
++ CONSTANT rdown_a_z : NATURAL := 1910;
++ CONSTANT rup_b_z : NATURAL := 2530;
++ CONSTANT rup_a_z : NATURAL := 2570;
++ CONSTANT tplh_a_z : NATURAL := 65;
++ CONSTANT tphl_b_z : NATURAL := 33;
++ CONSTANT tplh_b_z : NATURAL := 82;
++ CONSTANT tphh_b_z : NATURAL := 59;
++ CONSTANT tphl_a_z : NATURAL := 62;
++ CONSTANT tpll_a_z : NATURAL := 88;
++ CONSTANT tpll_b_z : NATURAL := 87;
++ CONSTANT tphh_a_z : NATURAL := 86;
++ CONSTANT transistors : NATURAL := 9
++);
++PORT (
++ b : in BIT;
++ a : in BIT;
++ z : out BIT;
++ vdd : in BIT;
++ vss : in BIT
++);
++END xor2_x1;
++
++ARCHITECTURE behaviour_data_flow OF xor2_x1 IS
++
++BEGIN
++ ASSERT ((vdd and not (vss)) = '1')
++ REPORT "power supply is missing on xor2_x1"
++ SEVERITY WARNING;
++ z <= (b xor a) after 1000 ps;
++END;
+diff --git a/alliance/src/cells/src/pxlib/CATAL b/alliance/src/cells/src/pxlib/CATAL
+index 1c60cc6..f0f8a4d 100644
+--- a/alliance/src/cells/src/pxlib/CATAL
++++ b/alliance/src/cells/src/pxlib/CATAL
+@@ -11,3 +11,16 @@ pvsseck_px C
+ pvsse_px C
+ pvssick_px C
+ pvssi_px C
++pck_sp C
++piot_sp C
++pi_sp C
++po_sp C
++pot_sp C
++pvddeck_sp C
++pvdde_sp C
++pvddick_sp C
++pvddi_sp C
++pvsseck_sp C
++pvsse_sp C
++pvssick_sp C
++pvssi_sp C
+diff --git a/alliance/src/cells/src/pxlib/Makefile.am b/alliance/src/cells/src/pxlib/Makefile.am
+index f286c75..3a2ed65 100644
+--- a/alliance/src/cells/src/pxlib/Makefile.am
++++ b/alliance/src/cells/src/pxlib/Makefile.am
+@@ -29,7 +29,33 @@ pxlib_DATA=CATAL \
+ pvssick_px.ap \
+ pvssick_px.vbe \
+ pvssi_px.ap \
+- pvssi_px.vbe
++ pvssi_px.vbe \
++ pck_sp.ap \
++ pck_sp.vbe \
++ piot_sp.ap \
++ piot_sp.vbe \
++ pi_sp.ap \
++ pi_sp.vbe \
++ po_sp.ap \
++ po_sp.vbe \
++ pot_sp.ap \
++ pot_sp.vbe \
++ pvddeck_sp.ap \
++ pvddeck_sp.vbe \
++ pvdde_sp.ap \
++ pvdde_sp.vbe \
++ pvddick_sp.ap \
++ pvddick_sp.vbe \
++ pvddi_sp.ap \
++ pvddi_sp.vbe \
++ pvsseck_sp.ap \
++ pvsseck_sp.vbe \
++ pvsse_sp.ap \
++ pvsse_sp.vbe \
++ pvssick_sp.ap \
++ pvssick_sp.vbe \
++ pvssi_sp.ap \
++ pvssi_sp.vbe
+
+ EXTRA_DIST=$(pxlib_DATA)
+
+diff --git a/alliance/src/cells/src/pxlib/pck_sp.ap b/alliance/src/cells/src/pxlib/pck_sp.ap
+new file mode 100644
+index 0000000..6bc30b2
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pck_sp.ap
+@@ -0,0 +1,55 @@
++V ALLIANCE : 6
++H pck_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 20000,2000,500,ck,3,EAST,ALU3
++C 0,2000,500,ck,2,WEST,ALU3
++C 20000,5000,1200,vddi,1,EAST,ALU3
++C 20000,3500,1200,vssi,1,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,5000,1200,vddi,0,WEST,ALU3
++C 0,3500,1200,vssi,0,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 20000,8000,1200,vddi,3,EAST,ALU3
++C 20000,6500,1200,vssi,3,EAST,ALU3
++C 0,6500,1200,vssi,2,WEST,ALU3
++C 0,8000,1200,vddi,2,WEST,ALU3
++C 10000,40000,100,pad,0,NORTH,ALU1
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++I 0,0,pck_px,a,NOSYM
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pck_sp.vbe b/alliance/src/cells/src/pxlib/pck_sp.vbe
+new file mode 100644
+index 0000000..a0cc38b
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pck_sp.vbe
+@@ -0,0 +1,29 @@
++ENTITY pck_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_pad : NATURAL := 1326;
++ CONSTANT tpll_pad : NATURAL := 1443;
++ CONSTANT rdown_pad : NATURAL := 58;
++ CONSTANT tphh_pad : NATURAL := 228;
++ CONSTANT rup_pad : NATURAL := 68
++ );
++ PORT (
++ pad : in BIT;
++ ck : out BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pck_sp;
++
++
++ARCHITECTURE behaviour_data_flow OF pck_sp IS
++
++BEGIN
++ ck <= pad;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pck_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pi_sp.ap b/alliance/src/cells/src/pxlib/pi_sp.ap
+new file mode 100644
+index 0000000..712c9e8
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pi_sp.ap
+@@ -0,0 +1,58 @@
++V ALLIANCE : 6
++H pi_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,pad,0,NORTH,ALU1
++C 4000,0,200,t,0,SOUTH,ALU1
++C 4000,0,200,t,1,SOUTH,ALU2
++C 0,8000,1200,vddi,6,WEST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 20000,8000,1200,vddi,7,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,5000,1200,vddi,4,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,5000,1200,vddi,5,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++I 0,0,pi_px,a,NOSYM
++V 4000,0,CONT_VIA,*
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pi_sp.vbe b/alliance/src/cells/src/pxlib/pi_sp.vbe
+new file mode 100644
+index 0000000..44119b8
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pi_sp.vbe
+@@ -0,0 +1,30 @@
++ENTITY pi_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_pad : NATURAL := 654;
++ CONSTANT tpll_pad : NATURAL := 1487;
++ CONSTANT rdown_pad : NATURAL := 234;
++ CONSTANT tphh_pad : NATURAL := 233;
++ CONSTANT rup_pad : NATURAL := 273
++ );
++ PORT (
++ pad : in BIT;
++ t : out BIT;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pi_sp;
++
++
++ARCHITECTURE behaviour_data_flow OF pi_sp IS
++
++BEGIN
++ t <= pad;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pi_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/piot_sp.ap b/alliance/src/cells/src/pxlib/piot_sp.ap
+new file mode 100644
+index 0000000..12d6bdf
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/piot_sp.ap
+@@ -0,0 +1,64 @@
++V ALLIANCE : 6
++H piot_sp,P, 5/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,pad,2,NORTH,ALU1
++C 4000,0,200,t,0,SOUTH,ALU1
++C 4000,0,200,t,1,SOUTH,ALU2
++C 14000,0,200,i,0,SOUTH,ALU1
++C 14000,0,200,i,1,SOUTH,ALU2
++C 0,8000,1200,vddi,2,WEST,ALU3
++C 0,6500,1200,vssi,2,WEST,ALU3
++C 20000,6500,1200,vssi,3,EAST,ALU3
++C 20000,8000,1200,vddi,3,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,0,WEST,ALU3
++C 0,5000,1200,vddi,0,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,1,EAST,ALU3
++C 20000,5000,1200,vddi,1,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++C 15000,0,200,b,1,SOUTH,ALU2
++C 15000,0,200,b,0,SOUTH,ALU1
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++I 0,0,piot_px,a,NOSYM
++V 4000,0,CONT_VIA,*
++V 14000,0,CONT_VIA,*
++V 15000,0,CONT_VIA,b
++EOF
+diff --git a/alliance/src/cells/src/pxlib/piot_sp.vbe b/alliance/src/cells/src/pxlib/piot_sp.vbe
+new file mode 100644
+index 0000000..ceac775
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/piot_sp.vbe
+@@ -0,0 +1,44 @@
++ENTITY piot_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT rup : NATURAL := 402;
++ CONSTANT rdown : NATURAL := 0
++ );
++ PORT (
++ i : in BIT;
++ b : in BIT;
++ t : out BIT;
++ pad : inout MUX_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END piot_sp;
++
++ARCHITECTURE behaviour_data_flow OF piot_sp IS
++ SIGNAL b1 : BIT;
++ SIGNAL b2 : BIT;
++ SIGNAL b3 : BIT;
++ SIGNAL b4 : BIT;
++ SIGNAL b5 : BIT;
++ SIGNAL b6 : BIT;
++
++BEGIN
++ b6 <= b5;
++ b5 <= b4;
++ b4 <= b3;
++ b3 <= b2;
++ b2 <= b1;
++ b1 <= b;
++ label0 : BLOCK (b6 = '1')
++ BEGIN
++ pad <= GUARDED i;
++ END BLOCK label0;
++ t <= pad;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on piot_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/po_sp.ap b/alliance/src/cells/src/pxlib/po_sp.ap
+new file mode 100644
+index 0000000..914038a
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/po_sp.ap
+@@ -0,0 +1,58 @@
++V ALLIANCE : 6
++H po_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,pad,0,NORTH,ALU1
++C 14000,0,200,i,0,SOUTH,ALU1
++C 14000,0,200,i,1,SOUTH,ALU2
++C 0,8000,1200,vddi,6,WEST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 20000,8000,1200,vddi,7,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,5000,1200,vddi,4,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,5000,1200,vddi,5,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++I 0,0,po_px,a,NOSYM
++V 14000,0,CONT_VIA,*
++EOF
+diff --git a/alliance/src/cells/src/pxlib/po_sp.vbe b/alliance/src/cells/src/pxlib/po_sp.vbe
+new file mode 100644
+index 0000000..6d9d9d7
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/po_sp.vbe
+@@ -0,0 +1,29 @@
++ENTITY po_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_i : NATURAL := 191;
++ CONSTANT tpll_i : NATURAL := 2176;
++ CONSTANT rdown_i : NATURAL := 15;
++ CONSTANT tphh_i : NATURAL := 2032;
++ CONSTANT rup_i : NATURAL := 16
++ );
++ PORT (
++ i : in BIT;
++ pad : out BIT;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END po_sp;
++
++ARCHITECTURE behaviour_data_flow OF po_sp IS
++
++BEGIN
++ pad <= i;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on po_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pot_sp.ap b/alliance/src/cells/src/pxlib/pot_sp.ap
+new file mode 100644
+index 0000000..918c64f
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pot_sp.ap
+@@ -0,0 +1,61 @@
++V ALLIANCE : 6
++H pot_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,pad,0,NORTH,ALU1
++C 14000,0,200,i,0,SOUTH,ALU1
++C 14000,0,200,i,1,SOUTH,ALU2
++C 0,8000,1200,vddi,6,WEST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 20000,8000,1200,vddi,7,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,5000,1200,vddi,4,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,5000,1200,vddi,5,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++C 15000,0,200,b,1,SOUTH,ALU2
++C 15000,0,200,b,0,SOUTH,ALU1
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++I 0,0,pot_px,a,NOSYM
++V 14000,0,CONT_VIA,*
++V 15000,0,CONT_VIA,b
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pot_sp.vbe b/alliance/src/cells/src/pxlib/pot_sp.vbe
+new file mode 100644
+index 0000000..fc54a73
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pot_sp.vbe
+@@ -0,0 +1,42 @@
++ENTITY pot_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT rup : NATURAL := 684404;
++ CONSTANT rdown : NATURAL := 24
++ );
++ PORT (
++ i : in BIT;
++ b : in BIT;
++ pad : out MUX_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pot_sp;
++
++ARCHITECTURE behaviour_data_flow OF pot_sp IS
++ SIGNAL b1 : BIT;
++ SIGNAL b2 : BIT;
++ SIGNAL b3 : BIT;
++ SIGNAL b4 : BIT;
++ SIGNAL b5 : BIT;
++ SIGNAL b6 : BIT;
++
++BEGIN
++ b6 <= b5;
++ b5 <= b4;
++ b4 <= b3;
++ b3 <= b2;
++ b2 <= b1;
++ b1 <= b;
++ label0 : BLOCK (b6 = '1')
++ BEGIN
++ pad <= GUARDED i;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pot_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvdde_sp.ap b/alliance/src/cells/src/pxlib/pvdde_sp.ap
+new file mode 100644
+index 0000000..e3e5973
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvdde_sp.ap
+@@ -0,0 +1,55 @@
++V ALLIANCE : 6
++H pvdde_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,vdde,6,NORTH,ALU1
++C 0,8000,1200,vddi,6,WEST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 20000,8000,1200,vddi,7,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,5000,1200,vddi,4,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,5000,1200,vddi,5,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++I 0,0,pvdde_px,a,NOSYM
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvdde_sp.vbe b/alliance/src/cells/src/pxlib/pvdde_sp.vbe
+new file mode 100644
+index 0000000..a22d525
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvdde_sp.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvdde_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvdde_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvdde_sp IS
++
++BEGIN
++ ASSERT ((((not (vssi) and not (vsse)) and vddi) and vdde) = '1')
++ REPORT "power supply is missing on pvdde_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvddeck_px.ap b/alliance/src/cells/src/pxlib/pvddeck_px.ap
+index ab2760c..f221151 100644
+--- a/alliance/src/cells/src/pxlib/pvddeck_px.ap
++++ b/alliance/src/cells/src/pxlib/pvddeck_px.ap
+@@ -88,8 +88,10 @@ S 4900,5100,6700,5100,300,40onymous_,RIGHT,POLY
+ S 5500,3000,8500,3000,6000,2nonymous_,RIGHT,TALU2
+ S 13000,3700,13000,4100,200,123nymous_,UP,ALU1
+ S 4300,4900,4300,5400,100,65onymous_,UP,POLY
+-S 9500,0,9500,1000,1200,cko,UP,CALU5
+-S 9500,0,9500,1000,1200,cko,UP,CALU4
++S 9500,0,9500,1000,1200,cko,UP,ALU5
++S 9500,0,9500,1000,1200,cko,UP,ALU4
++S 9500,-450,9500,200,1200,cko,UP,CALU5
++S 9500,-450,9500,200,1200,cko,UP,CALU4
+ S 3500,100,3500,1500,200,22onymous_,UP,TALU5
+ S 13600,5600,13600,7000,200,97onymous_,UP,ALU1
+ S 14800,5600,14800,7500,300,110nymous_,UP,PDIF
+diff --git a/alliance/src/cells/src/pxlib/pvddeck_sp.ap b/alliance/src/cells/src/pxlib/pvddeck_sp.ap
+new file mode 100644
+index 0000000..0157fd1
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvddeck_sp.ap
+@@ -0,0 +1,59 @@
++V ALLIANCE : 6
++H pvddeck_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 20000,2000,500,ck,5,EAST,ALU3
++C 0,2000,500,ck,4,WEST,ALU3
++C 20000,5000,1200,vddi,1,EAST,ALU3
++C 20000,3500,1200,vssi,1,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,5000,1200,vddi,0,WEST,ALU3
++C 0,3500,1200,vssi,0,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 20000,8000,1200,vddi,3,EAST,ALU3
++C 20000,6500,1200,vssi,3,EAST,ALU3
++C 0,6500,1200,vssi,2,WEST,ALU3
++C 0,8000,1200,vddi,2,WEST,ALU3
++C 10000,40000,100,vdde,6,NORTH,ALU1
++C 9500,0,200,cko,1,SOUTH,ALU2
++C 9500,0,200,cko,0,SOUTH,ALU1
++S 5800,700,14200,700,800,cko,RIGHT,ALU2
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++I 0,0,pvddeck_px,a,NOSYM
++B 9500,500,1200,1200,CONT_VIA,*
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvddeck_sp.vbe b/alliance/src/cells/src/pxlib/pvddeck_sp.vbe
+new file mode 100644
+index 0000000..298d1aa
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvddeck_sp.vbe
+@@ -0,0 +1,31 @@
++ENTITY pvddeck_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1055;
++ CONSTANT rdown_ck : NATURAL := 126;
++ CONSTANT tphh_ck : NATURAL := 963;
++ CONSTANT rup_ck : NATURAL := 183
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvddeck_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvddeck_sp IS
++
++BEGIN
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((not (vssi) and not (vsse)) and vddi) and vdde) = '1')
++ REPORT "power supply is missing on pvddeck_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvddi_sp.ap b/alliance/src/cells/src/pxlib/pvddi_sp.ap
+new file mode 100644
+index 0000000..2d1d104
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvddi_sp.ap
+@@ -0,0 +1,61 @@
++V ALLIANCE : 6
++H pvddi_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,0,5200,vddi,10,SOUTH,ALU2
++C 10000,0,5200,vddi,8,SOUTH,ALU1
++S 10000,0,10000,8500,5200,*,UP,ALU2
++B 10000,1100,5200,2400,CONT_VIA,*
++C 20000,2000,500,ck,1,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,5000,1200,vddi,14,EAST,ALU3
++C 20000,3500,1200,vssi,1,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,5000,1200,vddi,13,WEST,ALU3
++C 0,3500,1200,vssi,0,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 20000,8000,1200,vddi,16,EAST,ALU3
++C 20000,6500,1200,vssi,3,EAST,ALU3
++C 0,6500,1200,vssi,2,WEST,ALU3
++C 0,8000,1200,vddi,15,WEST,ALU3
++C 10000,40000,100,vddi,17,NORTH,ALU1
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 10000,0,10000,8500,5200,*,UP,ALU2
++B 10000,1100,5200,2400,CONT_VIA,*
++I 0,0,pvddi_px,a,NOSYM
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvddi_sp.vbe b/alliance/src/cells/src/pxlib/pvddi_sp.vbe
+new file mode 100644
+index 0000000..a000348
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvddi_sp.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvddi_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvddi_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvddi_sp IS
++
++BEGIN
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvddi_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvddick_px.ap b/alliance/src/cells/src/pxlib/pvddick_px.ap
+index 0cfbd82..e2549ab 100644
+--- a/alliance/src/cells/src/pxlib/pvddick_px.ap
++++ b/alliance/src/cells/src/pxlib/pvddick_px.ap
+@@ -91,8 +91,10 @@ S 13900,5400,13900,7700,100,32onymous_,UP,PTRANS
+ S 18500,3000,20000,3000,6000,121nymous_,RIGHT,TALU4
+ S 7000,3700,7000,4100,200,63onymous_,UP,ALU1
+ S 14200,6100,14200,7500,200,6nonymous_,UP,ALU1
+-S 9500,0,9500,1000,1200,cko,UP,CALU4
+-S 9500,0,9500,1000,1200,cko,UP,CALU5
++S 9500,0,9500,1000,1200,cko,UP,ALU4
++S 9500,0,9500,1000,1200,cko,UP,ALU5
++S 9500,-450,9500,200,1200,cko,UP,CALU5
++S 9500,-450,9500,200,1200,cko,UP,CALU4
+ S 15400,5600,15400,7500,300,19onymous_,UP,PDIF
+ S 6400,5600,6400,7000,200,89onymous_,UP,ALU1
+ S 5200,4200,5200,4600,200,102nymous_,UP,ALU1
+diff --git a/alliance/src/cells/src/pxlib/pvddick_sp.ap b/alliance/src/cells/src/pxlib/pvddick_sp.ap
+new file mode 100644
+index 0000000..65566d0
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvddick_sp.ap
+@@ -0,0 +1,70 @@
++V ALLIANCE : 6
++H pvddick_sp,P, 5/ 9/2014,100
++A 0,0,20000,40000
++C 6500,0,200,cko,4,SOUTH,ALU2
++C 5500,0,200,cko,0,SOUTH,ALU2
++C 10000,40000,100,vddi,6,NORTH,ALU1
++C 0,8000,1200,vddi,4,WEST,ALU3
++C 0,6500,1200,vssi,2,WEST,ALU3
++C 20000,6500,1200,vssi,3,EAST,ALU3
++C 20000,8000,1200,vddi,5,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,0,WEST,ALU3
++C 0,5000,1200,vddi,2,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,1,EAST,ALU3
++C 20000,5000,1200,vddi,3,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++C 10000,0,5200,vddi,0,SOUTH,ALU1
++C 10000,0,5200,vddi,1,SOUTH,ALU2
++S 6500,0,6500,1000,200,*,DOWN,ALU2
++S 5500,500,5500,1000,200,*,UP,ALU2
++S 5500,0,5500,500,200,*,DOWN,ALU2
++S 5500,1000,5700,1000,200,*,LEFT,ALU3
++S 5500,500,5700,500,200,*,LEFT,ALU3
++S 6000,0,6000,1000,1200,cko,DOWN,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 5800,1000,14200,1000,200,*,RIGHT,ALU3
++S 5800,500,14200,500,200,*,RIGHT,ALU3
++S 10000,0,10000,8500,5200,*,UP,ALU2
++I 0,0,pvddick_px,a,NOSYM
++B 6000,500,1200,1200,CONT_VIA,*
++B 10000,1100,5200,2400,CONT_VIA,*
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvddick_sp.vbe b/alliance/src/cells/src/pxlib/pvddick_sp.vbe
+new file mode 100644
+index 0000000..954ac35
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvddick_sp.vbe
+@@ -0,0 +1,31 @@
++ENTITY pvddick_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1235;
++ CONSTANT rdown_ck : NATURAL := 253;
++ CONSTANT tphh_ck : NATURAL := 1109;
++ CONSTANT rup_ck : NATURAL := 311
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvddick_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvddick_sp IS
++
++BEGIN
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvddick_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvsse_sp.ap b/alliance/src/cells/src/pxlib/pvsse_sp.ap
+new file mode 100644
+index 0000000..a669894
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvsse_sp.ap
+@@ -0,0 +1,55 @@
++V ALLIANCE : 6
++H pvsse_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,vsse,8,NORTH,ALU1
++C 0,8000,1200,vddi,6,WEST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 20000,8000,1200,vddi,7,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,5000,1200,vddi,4,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,5000,1200,vddi,5,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,2000,500,ck,1,EAST,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++I 0,0,pvsse_px,a,NOSYM
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvsse_sp.vbe b/alliance/src/cells/src/pxlib/pvsse_sp.vbe
+new file mode 100644
+index 0000000..b6445e9
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvsse_sp.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvsse_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvsse_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvsse_sp IS
++
++BEGIN
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvsse_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvsseck_px.ap b/alliance/src/cells/src/pxlib/pvsseck_px.ap
+index 85af7b6..40f1818 100644
+--- a/alliance/src/cells/src/pxlib/pvsseck_px.ap
++++ b/alliance/src/cells/src/pxlib/pvsseck_px.ap
+@@ -90,8 +90,10 @@ S 4300,4900,4300,5400,100,40onymous_,UP,POLY
+ S 5800,5600,5800,7500,300,27onymous_,UP,PDIF
+ S 13900,5400,13900,7700,100,77onymous_,UP,PTRANS
+ S 6700,4900,6700,5400,100,14onymous_,UP,POLY
+-S 9500,0,9500,1000,1200,cko,UP,CALU5
+-S 9500,0,9500,1000,1200,cko,UP,CALU4
++S 9500,0,9500,1000,1200,cko,UP,ALU5
++S 9500,0,9500,1000,1200,cko,UP,ALU4
++S 9500,-450,9500,200,1200,cko,UP,CALU5
++S 9500,-450,9500,200,1200,cko,UP,CALU4
+ S 15400,3700,15400,4600,200,97onymous_,UP,ALU1
+ S 13600,5100,16000,5100,200,71onymous_,RIGHT,ALU1
+ S 5800,500,5800,5600,200,52onymous_,UP,ALU2
+diff --git a/alliance/src/cells/src/pxlib/pvsseck_sp.ap b/alliance/src/cells/src/pxlib/pvsseck_sp.ap
+new file mode 100644
+index 0000000..0bc0abb
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvsseck_sp.ap
+@@ -0,0 +1,59 @@
++V ALLIANCE : 6
++H pvsseck_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,40000,100,vsse,8,NORTH,ALU1
++C 0,8000,1200,vddi,6,WEST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 20000,8000,1200,vddi,7,EAST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,5000,1200,vddi,4,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,5000,1200,vddi,5,EAST,ALU3
++C 0,2000,500,ck,2,WEST,ALU3
++C 20000,2000,500,ck,3,EAST,ALU3
++C 9500,0,200,cko,1,SOUTH,ALU2
++C 9500,0,200,cko,0,SOUTH,ALU1
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 5800,700,14200,700,800,cko,RIGHT,ALU2
++I 0,0,pvsseck_px,a,NOSYM
++B 9500,500,1200,1200,CONT_VIA,*
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvsseck_sp.vbe b/alliance/src/cells/src/pxlib/pvsseck_sp.vbe
+new file mode 100644
+index 0000000..c044150
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvsseck_sp.vbe
+@@ -0,0 +1,31 @@
++ENTITY pvsseck_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1055;
++ CONSTANT rdown_ck : NATURAL := 126;
++ CONSTANT tphh_ck : NATURAL := 963;
++ CONSTANT rup_ck : NATURAL := 183
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvsseck_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvsseck_sp IS
++
++BEGIN
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvsseck_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvssi_sp.ap b/alliance/src/cells/src/pxlib/pvssi_sp.ap
+new file mode 100644
+index 0000000..ba2b620
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvssi_sp.ap
+@@ -0,0 +1,59 @@
++V ALLIANCE : 6
++H pvssi_sp,P, 4/ 9/2014,100
++A 0,0,20000,40000
++C 10000,0,5200,vssi,10,SOUTH,ALU2
++C 10000,0,5200,vssi,8,SOUTH,ALU1
++C 20000,2000,500,ck,1,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,5000,1200,vddi,1,EAST,ALU3
++C 20000,3500,1200,vssi,5,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,5000,1200,vddi,0,WEST,ALU3
++C 0,3500,1200,vssi,4,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 20000,8000,1200,vddi,3,EAST,ALU3
++C 20000,6500,1200,vssi,7,EAST,ALU3
++C 0,6500,1200,vssi,6,WEST,ALU3
++C 0,8000,1200,vddi,2,WEST,ALU3
++C 10000,40000,100,vssi,8,NORTH,ALU1
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++I 0,0,pvssi_px,a,NOSYM
++B 10000,1100,5200,2400,CONT_VIA,*
++S 10000,0,10000,8500,5200,*,UP,ALU2
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvssi_sp.vbe b/alliance/src/cells/src/pxlib/pvssi_sp.vbe
+new file mode 100644
+index 0000000..17bed49
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvssi_sp.vbe
+@@ -0,0 +1,20 @@
++ENTITY pvssi_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000
++ );
++ PORT (
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvssi_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvssi_sp IS
++
++BEGIN
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvssi_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/cells/src/pxlib/pvssick_px.ap b/alliance/src/cells/src/pxlib/pvssick_px.ap
+index f8d408d..ed19770 100644
+--- a/alliance/src/cells/src/pxlib/pvssick_px.ap
++++ b/alliance/src/cells/src/pxlib/pvssick_px.ap
+@@ -90,8 +90,10 @@ S 14200,6100,14200,7500,200,8nonymous_,UP,ALU1
+ S 15400,5600,15400,7500,300,21onymous_,UP,PDIF
+ S 4600,5600,4600,7500,300,71onymous_,UP,PDIF
+ S 14800,4200,14800,4600,200,52onymous_,UP,ALU1
+-S 9500,0,9500,1000,1200,cko,UP,CALU4
+-S 9500,0,9500,1000,1200,cko,UP,CALU5
++S 9500,0,9500,1000,1200,cko,UP,ALU4
++S 9500,0,9500,1000,1200,cko,UP,ALU5
++S 9500,-450,9500,200,1200,cko,UP,CALU5
++S 9500,-450,9500,200,1200,cko,UP,CALU4
+ S 7000,5600,7000,7500,300,97onymous_,UP,PDIF
+ S 16500,3000,16500,3000,6000,128nymous_,RIGHT,TALU2
+ S 5800,6100,5800,7500,200,58onymous_,UP,ALU1
+diff --git a/alliance/src/cells/src/pxlib/pvssick_sp.ap b/alliance/src/cells/src/pxlib/pvssick_sp.ap
+new file mode 100644
+index 0000000..ab70336
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvssick_sp.ap
+@@ -0,0 +1,73 @@
++V ALLIANCE : 6
++H pvssick_sp,P,10/ 9/2014,100
++A 0,0,20000,40000
++C 6400,0,100,cko,3,SOUTH,ALU1
++C 6400,0,200,cko,4,SOUTH,ALU2
++C 20000,2000,500,ck,1,EAST,ALU3
++C 0,2000,500,ck,0,WEST,ALU3
++C 20000,5000,1200,vddi,1,EAST,ALU3
++C 20000,3500,1200,vssi,3,EAST,ALU3
++C 20000,17000,1200,vdde,5,EAST,ALU3
++C 20000,14000,1200,vdde,3,EAST,ALU3
++C 20000,11000,1200,vdde,1,EAST,ALU3
++C 20000,9500,1200,vsse,1,EAST,ALU3
++C 20000,12500,1200,vsse,3,EAST,ALU3
++C 20000,15500,1200,vsse,5,EAST,ALU3
++C 20000,18500,1200,vsse,7,EAST,ALU3
++C 0,17000,1200,vdde,4,WEST,ALU3
++C 0,14000,1200,vdde,2,WEST,ALU3
++C 0,11000,1200,vdde,0,WEST,ALU3
++C 0,9500,1200,vsse,0,WEST,ALU3
++C 0,5000,1200,vddi,0,WEST,ALU3
++C 0,3500,1200,vssi,2,WEST,ALU3
++C 0,12500,1200,vsse,2,WEST,ALU3
++C 0,15500,1200,vsse,4,WEST,ALU3
++C 0,18500,1200,vsse,6,WEST,ALU3
++C 20000,8000,1200,vddi,3,EAST,ALU3
++C 20000,6500,1200,vssi,5,EAST,ALU3
++C 0,6500,1200,vssi,4,WEST,ALU3
++C 0,8000,1200,vddi,2,WEST,ALU3
++C 10000,40000,100,vssi,6,NORTH,ALU1
++C 10000,0,5200,vssi,0,SOUTH,ALU1
++C 10000,0,5200,vssi,1,SOUTH,ALU2
++C 5800,0,200,cko,2,SOUTH,ALU2
++C 5800,0,200,cko,0,SOUTH,ALU1
++C 5800,0,100,cko,1,SOUTH,ALU1
++S 6400,0,6400,1000,200,*,UP,ALU2
++S 5800,500,14200,500,200,*,RIGHT,ALU3
++S 5800,1000,14200,1000,200,*,RIGHT,ALU3
++S 0,6500,400,6500,1200,*,RIGHT,ALU3
++S 0,5000,400,5000,1200,*,RIGHT,ALU3
++S 0,3500,400,3500,1200,*,RIGHT,ALU3
++S 0,2000,400,2000,500,*,RIGHT,ALU3
++S 0,18500,400,18500,1200,*,RIGHT,ALU3
++S 0,17000,400,17000,1200,*,RIGHT,ALU3
++S 0,12500,400,12500,1200,*,RIGHT,ALU3
++S 0,15500,400,15500,1200,*,RIGHT,ALU3
++S 0,14000,400,14000,1200,*,RIGHT,ALU3
++S 0,11000,400,11000,1200,*,RIGHT,ALU3
++S 0,9500,400,9500,1200,*,RIGHT,ALU3
++S 0,8000,400,8000,1200,*,RIGHT,ALU3
++S 19600,2000,20000,2000,500,*,RIGHT,ALU3
++S 19600,3500,20000,3500,1200,*,RIGHT,ALU3
++S 19600,5000,20000,5000,1200,*,RIGHT,ALU3
++S 19600,6500,20000,6500,1200,*,RIGHT,ALU3
++S 19600,8000,20000,8000,1200,*,RIGHT,ALU3
++S 19600,9500,20000,9500,1200,*,RIGHT,ALU3
++S 19600,11000,20000,11000,1200,*,RIGHT,ALU3
++S 19600,12500,20000,12500,1200,*,RIGHT,ALU3
++S 19600,14000,20000,14000,1200,*,RIGHT,ALU3
++S 19600,15500,20000,15500,1200,*,RIGHT,ALU3
++S 19600,17000,20000,17000,1200,*,RIGHT,ALU3
++S 19600,18500,20000,18500,1200,*,RIGHT,ALU3
++S 10000,30000,10000,40000,100,*,DOWN,ALU1
++S 10000,0,10000,8500,5200,*,UP,ALU2
++S 6000,0,6000,1000,1200,cko,DOWN,ALU3
++S 5800,0,5800,1000,200,*,UP,ALU2
++I 0,0,pvssick_px,a,NOSYM
++V 6400,0,CONT_VIA,*
++B 10000,1100,5200,2400,CONT_VIA,*
++V 5800,500,CONT_VIA2,*
++V 5800,1000,CONT_VIA2,*
++V 5800,0,CONT_VIA,*
++EOF
+diff --git a/alliance/src/cells/src/pxlib/pvssick_sp.vbe b/alliance/src/cells/src/pxlib/pvssick_sp.vbe
+new file mode 100644
+index 0000000..569407c
+--- /dev/null
++++ b/alliance/src/cells/src/pxlib/pvssick_sp.vbe
+@@ -0,0 +1,32 @@
++ENTITY pvssick_sp IS
++ GENERIC (
++ CONSTANT area : NATURAL := 80000;
++ CONSTANT cin_ck : NATURAL := 127;
++ CONSTANT tpll_ck : NATURAL := 1235;
++ CONSTANT rdown_ck : NATURAL := 253;
++ CONSTANT tphh_ck : NATURAL := 1109;
++ CONSTANT rup_ck : NATURAL := 311
++ );
++ PORT (
++ cko : out WOR_BIT BUS;
++ ck : in BIT;
++ vdde : in BIT;
++ vddi : in BIT;
++ vsse : in BIT;
++ vssi : in BIT
++ );
++END pvssick_sp;
++
++ARCHITECTURE behaviour_data_flow OF pvssick_sp IS
++
++BEGIN
++
++ label0 : BLOCK ('1' = '1')
++ BEGIN
++ cko <= GUARDED ck;
++ END BLOCK label0;
++
++ ASSERT ((((vddi and vdde) and not (vssi)) and not (vsse)) = '1')
++ REPORT "power supply is missing on pvssick_sp"
++ SEVERITY WARNING;
++END;
+diff --git a/alliance/src/config.guess b/alliance/src/config.guess
+index dd8fc2d..b79252d 100755
+--- a/alliance/src/config.guess
++++ b/alliance/src/config.guess
+@@ -1,13 +1,12 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++# Copyright 1992-2013 Free Software Foundation, Inc.
+
+-timestamp='2003-06-17'
++timestamp='2013-06-10'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
++# the Free Software Foundation; either version 3 of the License, or
+ # (at your option) any later version.
+ #
+ # This program is distributed in the hope that it will be useful, but
+@@ -16,24 +15,22 @@ timestamp='2003-06-17'
+ # General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++# along with this program; if not, see .
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+-# the same distribution terms that you use for the rest of that program.
+-
+-# Originally written by Per Bothner .
+-# Please send patches to . Submit a context
+-# diff and a properly formatted ChangeLog entry.
++# the same distribution terms that you use for the rest of that
++# program. This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
++#
++# Originally written by Per Bothner.
+ #
+-# This script attempts to guess a canonical system name similar to
+-# config.sub. If it succeeds, it prints the system name on stdout, and
+-# exits with 0. Otherwise, it exits with 1.
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ #
+-# The plan is that this can be called by configure scripts if you
+-# don't specify an explicit build system type.
++# Please send patches with a ChangeLog entry to config-patches@gnu.org.
++
+
+ me=`echo "$0" | sed -e 's,.*/,,'`
+
+@@ -53,8 +50,7 @@ version="\
+ GNU config.guess ($timestamp)
+
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+-Free Software Foundation, Inc.
++Copyright 1992-2013 Free Software Foundation, Inc.
+
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -66,11 +62,11 @@ Try \`$me --help' for more information."
+ while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+- echo "$timestamp" ; exit 0 ;;
++ echo "$timestamp" ; exit ;;
+ --version | -v )
+- echo "$version" ; exit 0 ;;
++ echo "$version" ; exit ;;
+ --help | --h* | -h )
+- echo "$usage"; exit 0 ;;
++ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+@@ -104,7 +100,7 @@ set_cc_for_build='
+ trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+ : ${TMPDIR=/tmp} ;
+- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+@@ -123,7 +119,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+-esac ;'
++esac ; set_cc_for_build= ;'
+
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+ # (ghazi@noc.rutgers.edu 1994-08-24)
+@@ -136,19 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+-## for Red Hat Linux
+-if test -f /etc/redhat-release ; then
+- VENDOR=redhat ;
+-else
+- VENDOR= ;
+-fi
++case "${UNAME_SYSTEM}" in
++Linux|GNU|GNU/*)
++ # If the system lacks a compiler, then just pick glibc.
++ # We could probably try harder.
++ LIBC=gnu
++
++ eval $set_cc_for_build
++ cat <<-EOF > $dummy.c
++ #include
++ #if defined(__UCLIBC__)
++ LIBC=uclibc
++ #elif defined(__dietlibc__)
++ LIBC=dietlibc
++ #else
++ LIBC=gnu
++ #endif
++ EOF
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
++ ;;
++esac
+
+ # Note: order is significant - the case branches are not exclusive.
+
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+@@ -165,6 +175,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
++ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+@@ -173,7 +184,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+- | grep __ELF__ >/dev/null
++ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+@@ -183,7 +194,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ fi
+ ;;
+ *)
+- os=netbsd
++ os=netbsd
+ ;;
+ esac
+ # The OS release
+@@ -203,50 +214,36 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+- exit 0 ;;
+- amiga:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- arc:OpenBSD:*:*)
+- echo mipsel-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- hp300:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mac68k:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- macppc:OpenBSD:*:*)
+- echo powerpc-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mvme68k:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mvme88k:OpenBSD:*:*)
+- echo m88k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mvmeppc:OpenBSD:*:*)
+- echo powerpc-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- pmax:OpenBSD:*:*)
+- echo mipsel-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- sgi:OpenBSD:*:*)
+- echo mipseb-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- sun3:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- wgrisc:OpenBSD:*:*)
+- echo mipsel-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
++ *:Bitrig:*:*)
++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
++ exit ;;
+ *:OpenBSD:*:*)
+- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
++ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
++ exit ;;
++ *:ekkoBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++ exit ;;
++ *:SolidBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
++ exit ;;
++ macppc:MirBSD:*:*)
++ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
++ exit ;;
++ *:MirBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++ exit ;;
+ alpha:OSF1:*:*)
+- if test $UNAME_RELEASE = "V4.0"; then
++ case $UNAME_RELEASE in
++ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+- fi
++ ;;
++ *5.*)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++ ;;
++ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+@@ -284,42 +281,52 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
++ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+- exit 0 ;;
+- Alpha*:OpenVMS:*:*)
+- echo alpha-hp-vms
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++ exitcode=$?
++ trap '' 0
++ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+- exit 0 ;;
++ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+- exit 0 ;;
++ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+- exit 0;;
++ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+- exit 0 ;;
++ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+- exit 0 ;;
++ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+- exit 0 ;;
++ exit ;;
++ *:z/VM:*:*)
++ echo s390-ibm-zvmoe
++ exit ;;
++ *:OS400:*:*)
++ echo powerpc-ibm-os400
++ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+- exit 0;;
++ exit ;;
++ arm*:riscos:*:*|arm*:RISCOS:*:*)
++ echo arm-unknown-riscos
++ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+- exit 0;;
++ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+@@ -327,32 +334,51 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ else
+ echo pyramid-pyramid-bsd
+ fi
+- exit 0 ;;
++ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+- exit 0 ;;
++ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+- exit 0 ;;
+- DRS?6000:UNIX_SV:4.2*:7*)
++ exit ;;
++ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+- sparc) echo sparc-icl-nx7 && exit 0 ;;
++ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
++ s390x:SunOS:*:*)
++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
+- i86pc:SunOS:5.*:*)
+- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
++ echo i386-pc-auroraux${UNAME_RELEASE}
++ exit ;;
++ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
++ eval $set_cc_for_build
++ SUN_ARCH="i386"
++ # If there is a compiler, see if it is configured for 64-bit objects.
++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
++ # This test works for both compilers.
++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ SUN_ARCH="x86_64"
++ fi
++ fi
++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+@@ -361,10 +387,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+- exit 0 ;;
++ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+@@ -376,10 +402,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+- exit 0 ;;
++ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+@@ -389,38 +415,41 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+- echo m68k-atari-mint${UNAME_RELEASE}
+- exit 0 ;;
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+- echo m68k-atari-mint${UNAME_RELEASE}
+- exit 0 ;;
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+- echo m68k-milan-mint${UNAME_RELEASE}
+- exit 0 ;;
++ echo m68k-milan-mint${UNAME_RELEASE}
++ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+- echo m68k-hades-mint${UNAME_RELEASE}
+- exit 0 ;;
++ echo m68k-hades-mint${UNAME_RELEASE}
++ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+- echo m68k-unknown-mint${UNAME_RELEASE}
+- exit 0 ;;
++ echo m68k-unknown-mint${UNAME_RELEASE}
++ exit ;;
++ m68k:machten:*:*)
++ echo m68k-apple-machten${UNAME_RELEASE}
++ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+- exit 0 ;;
++ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -444,35 +473,36 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ exit (-1);
+ }
+ EOF
+- $CC_FOR_BUILD -o $dummy $dummy.c \
+- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+- && exit 0
++ $CC_FOR_BUILD -o $dummy $dummy.c &&
++ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
++ SYSTEM_NAME=`$dummy $dummyarg` &&
++ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+- exit 0 ;;
++ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+- exit 0 ;;
++ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+- exit 0 ;;
++ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+- exit 0 ;;
++ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+- exit 0 ;;
++ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+- exit 0 ;;
++ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+- exit 0 ;;
++ exit ;;
+ AViiON:dgux:*:*)
+- # DG/UX returns AViiON for all architectures
+- UNAME_PROCESSOR=`/usr/bin/uname -p`
++ # DG/UX returns AViiON for all architectures
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+@@ -485,29 +515,29 @@ EOF
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+- exit 0 ;;
++ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+- exit 0 ;;
++ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+- exit 0 ;;
++ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+- exit 0 ;;
++ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+- exit 0 ;;
++ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+- exit 0 ;;
++ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
++ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+- exit 0 ;;
++ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+@@ -515,7 +545,7 @@ EOF
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+- exit 0 ;;
++ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+@@ -530,15 +560,19 @@ EOF
+ exit(0);
+ }
+ EOF
+- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+- echo rs6000-ibm-aix3.2.5
++ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
++ then
++ echo "$SYSTEM_NAME"
++ else
++ echo rs6000-ibm-aix3.2.5
++ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+- exit 0 ;;
+- *:AIX:*:[45])
++ exit ;;
++ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+@@ -551,28 +585,28 @@ EOF
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+- exit 0 ;;
++ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+- exit 0 ;;
++ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+- exit 0 ;;
++ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+- exit 0 ;; # report: romp-ibm BSD 4.3
++ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+- exit 0 ;;
++ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+- exit 0 ;;
++ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+- exit 0 ;;
++ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+- exit 0 ;;
++ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+@@ -581,52 +615,52 @@ EOF
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+- case "${sc_cpu_version}" in
+- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+- 532) # CPU_PA_RISC2_0
+- case "${sc_kernel_bits}" in
+- 32) HP_ARCH="hppa2.0n" ;;
+- 64) HP_ARCH="hppa2.0w" ;;
++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++ case "${sc_cpu_version}" in
++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++ 532) # CPU_PA_RISC2_0
++ case "${sc_kernel_bits}" in
++ 32) HP_ARCH="hppa2.0n" ;;
++ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+- esac ;;
+- esac
++ esac ;;
++ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
++ sed 's/^ //' << EOF >$dummy.c
+
+- #define _HPUX_SOURCE
+- #include
+- #include
++ #define _HPUX_SOURCE
++ #include
++ #include
+
+- int main ()
+- {
+- #if defined(_SC_KERNEL_BITS)
+- long bits = sysconf(_SC_KERNEL_BITS);
+- #endif
+- long cpu = sysconf (_SC_CPU_VERSION);
++ int main ()
++ {
++ #if defined(_SC_KERNEL_BITS)
++ long bits = sysconf(_SC_KERNEL_BITS);
++ #endif
++ long cpu = sysconf (_SC_CPU_VERSION);
+
+- switch (cpu)
+- {
+- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+- case CPU_PA_RISC2_0:
+- #if defined(_SC_KERNEL_BITS)
+- switch (bits)
+- {
+- case 64: puts ("hppa2.0w"); break;
+- case 32: puts ("hppa2.0n"); break;
+- default: puts ("hppa2.0"); break;
+- } break;
+- #else /* !defined(_SC_KERNEL_BITS) */
+- puts ("hppa2.0"); break;
+- #endif
+- default: puts ("hppa1.0"); break;
+- }
+- exit (0);
+- }
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++ case CPU_PA_RISC2_0:
++ #if defined(_SC_KERNEL_BITS)
++ switch (bits)
++ {
++ case 64: puts ("hppa2.0w"); break;
++ case 32: puts ("hppa2.0n"); break;
++ default: puts ("hppa2.0"); break;
++ } break;
++ #else /* !defined(_SC_KERNEL_BITS) */
++ puts ("hppa2.0"); break;
++ #endif
++ default: puts ("hppa1.0"); break;
++ }
++ exit (0);
++ }
+ EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+@@ -634,9 +668,19 @@ EOF
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+- # avoid double evaluation of $set_cc_for_build
+- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
++ eval $set_cc_for_build
++
++ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
++ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
++ # generating 64-bit code. GNU and HP use different nomenclature:
++ #
++ # $ CC_FOR_BUILD=cc ./config.guess
++ # => hppa2.0w-hp-hpux11.23
++ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
++ # => hppa64-hp-hpux11.23
++
++ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
++ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+@@ -644,11 +688,11 @@ EOF
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+- exit 0 ;;
++ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+- exit 0 ;;
++ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -676,318 +720,345 @@ EOF
+ exit (0);
+ }
+ EOF
+- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
++ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
++ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+- exit 0 ;;
++ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+- exit 0 ;;
++ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+- exit 0 ;;
++ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+- exit 0 ;;
++ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+- exit 0 ;;
++ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+- exit 0 ;;
++ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+- exit 0 ;;
++ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+- exit 0 ;;
++ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+- exit 0 ;;
++ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+- exit 0 ;;
++ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+- exit 0 ;;
++ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+- exit 0 ;;
++ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+- exit 0 ;;
++ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ *:UNICOS/mp:*:*)
+- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+- exit 0 ;;
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
++ 5000:UNIX_System_V:4.*:*)
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+- exit 0 ;;
+- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+- # Determine whether the default compiler uses glibc.
+- eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
+- #include
+- #if __GLIBC__ >= 2
+- LIBC=gnu
+- #else
+- LIBC=
+- #endif
+-EOF
+- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+- exit 0 ;;
++ exit ;;
++ *:FreeBSD:*:*)
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
++ case ${UNAME_PROCESSOR} in
++ amd64)
++ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ *)
++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ esac
++ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+- exit 0 ;;
+- i*:MINGW*:*)
++ exit ;;
++ *:MINGW64*:*)
++ echo ${UNAME_MACHINE}-pc-mingw64
++ exit ;;
++ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+- exit 0 ;;
++ exit ;;
++ i*:MSYS*:*)
++ echo ${UNAME_MACHINE}-pc-msys
++ exit ;;
++ i*:windows32*:*)
++ # uname -m includes "-pc" on this system.
++ echo ${UNAME_MACHINE}-mingw32
++ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+- exit 0 ;;
+- x86:Interix*:[34]*)
+- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+- exit 0 ;;
++ exit ;;
++ *:Interix*:*)
++ case ${UNAME_MACHINE} in
++ x86)
++ echo i586-pc-interix${UNAME_RELEASE}
++ exit ;;
++ authenticamd | genuineintel | EM64T)
++ echo x86_64-unknown-interix${UNAME_RELEASE}
++ exit ;;
++ IA64)
++ echo ia64-unknown-interix${UNAME_RELEASE}
++ exit ;;
++ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+- exit 0 ;;
++ exit ;;
++ 8664:Windows_NT:*)
++ echo x86_64-pc-mks
++ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+- exit 0 ;;
++ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+- exit 0 ;;
++ exit ;;
++ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
++ echo x86_64-unknown-cygwin
++ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+- exit 0 ;;
++ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ *:GNU:*:*)
+- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+- exit 0 ;;
++ # the GNU system
++ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
++ exit ;;
++ *:GNU/*:*:*)
++ # other systems with GNU libc and userland
++ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
++ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+- exit 0 ;;
++ exit ;;
++ aarch64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ aarch64_be:Linux:*:*)
++ UNAME_MACHINE=aarch64_be
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ alpha:Linux:*:*)
++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
++ EV5) UNAME_MACHINE=alphaev5 ;;
++ EV56) UNAME_MACHINE=alphaev56 ;;
++ PCA56) UNAME_MACHINE=alphapca56 ;;
++ PCA57) UNAME_MACHINE=alphapca56 ;;
++ EV6) UNAME_MACHINE=alphaev6 ;;
++ EV67) UNAME_MACHINE=alphaev67 ;;
++ EV68*) UNAME_MACHINE=alphaev68 ;;
++ esac
++ objdump --private-headers /bin/sh | grep -q ld.so.1
++ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ arc:Linux:*:* | arceb:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ arm*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ eval $set_cc_for_build
++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_EABI__
++ then
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ else
++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_PCS_VFP
++ then
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
++ else
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
++ fi
++ fi
++ exit ;;
++ avr32*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ cris:Linux:*:*)
+- echo cris-axis-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
++ exit ;;
++ crisv32:Linux:*:*)
++ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
++ exit ;;
++ frv:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ hexagon:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ i*86:Linux:*:*)
++ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
++ exit ;;
+ ia64:Linux:*:*)
+- echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ m32r*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ m68*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
+- mips:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+- #undef mips
+- #undef mipsel
++ #undef ${UNAME_MACHINE}
++ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+- CPU=mipsel
++ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+- CPU=mips
++ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+ EOF
+- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+- mips64:Linux:*:*)
+- eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
+- #undef CPU
+- #undef mips64
+- #undef mips64el
+- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+- CPU=mips64el
+- #else
+- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+- CPU=mips64
+- #else
+- CPU=
+- #endif
+- #endif
+-EOF
+- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+- ;;
+- ppc:Linux:*:*)
+- echo powerpc-${VENDOR:-unknown}-linux-gnu
+- exit 0 ;;
+- ppc64:Linux:*:*)
+- echo powerpc64-${VENDOR:-unknown}-linux-gnu
+- exit 0 ;;
+- alpha:Linux:*:*)
+- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+- EV5) UNAME_MACHINE=alphaev5 ;;
+- EV56) UNAME_MACHINE=alphaev56 ;;
+- PCA56) UNAME_MACHINE=alphapca56 ;;
+- PCA57) UNAME_MACHINE=alphapca56 ;;
+- EV6) UNAME_MACHINE=alphaev6 ;;
+- EV67) UNAME_MACHINE=alphaev67 ;;
+- EV68*) UNAME_MACHINE=alphaev68 ;;
+- esac
+- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+- exit 0 ;;
++ or1k:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ or32:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ padre:Linux:*:*)
++ echo sparc-unknown-linux-${LIBC}
++ exit ;;
++ parisc64:Linux:*:* | hppa64:Linux:*:*)
++ echo hppa64-unknown-linux-${LIBC}
++ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+- PA7*) echo hppa1.1-unknown-linux-gnu ;;
+- PA8*) echo hppa2.0-unknown-linux-gnu ;;
+- *) echo hppa-unknown-linux-gnu ;;
++ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
++ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
++ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+- exit 0 ;;
+- parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-gnu
+- exit 0 ;;
++ exit ;;
++ ppc64:Linux:*:*)
++ echo powerpc64-unknown-linux-${LIBC}
++ exit ;;
++ ppc:Linux:*:*)
++ echo powerpc-unknown-linux-${LIBC}
++ exit ;;
++ ppc64le:Linux:*:*)
++ echo powerpc64le-unknown-linux-${LIBC}
++ exit ;;
++ ppcle:Linux:*:*)
++ echo powerpcle-unknown-linux-${LIBC}
++ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+- echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
++ exit ;;
+ sh64*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ sh*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ tile*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ vax:Linux:*:*)
++ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
++ exit ;;
+ x86_64:Linux:*:*)
+- echo x86_64-${VENDOR:-unknown}-linux-gnu
+- exit 0 ;;
+- i*86:Linux:*:*)
+- # The BFD linker knows what the default object file format is, so
+- # first see if it will tell us. cd to the root directory to prevent
+- # problems with other programs or directories called `ld' in the path.
+- # Set LC_ALL=C to ensure ld outputs messages in English.
+- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+- | sed -ne '/supported targets:/!d
+- s/[ ][ ]*/ /g
+- s/.*supported targets: *//
+- s/ .*//
+- p'`
+- case "$ld_supported_targets" in
+- elf32-i386)
+- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+- ;;
+- a.out-i386-linux)
+- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+- exit 0 ;;
+- coff-i386)
+- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+- exit 0 ;;
+- "")
+- # Either a pre-BFD a.out linker (linux-gnuoldld) or
+- # one that does not give us useful --help.
+- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+- exit 0 ;;
+- esac
+- # Determine whether the default compiler is a.out or elf
+- eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
+- #include
+- #ifdef __ELF__
+- # ifdef __GLIBC__
+- # if __GLIBC__ >= 2
+- LIBC=gnu
+- # else
+- LIBC=gnulibc1
+- # endif
+- # else
+- LIBC=gnulibc1
+- # endif
+- #else
+- #ifdef __INTEL_COMPILER
+- LIBC=gnu
+- #else
+- LIBC=gnuaout
+- #endif
+- #endif
+-EOF
+- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
+- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+- ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ xtensa*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+- exit 0 ;;
++ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+- # Unixware is an offshoot of SVR4, but it has its own version
+- # number series starting with 2...
+- # I am not positive that other SVR4 systems won't match this,
++ # Unixware is an offshoot of SVR4, but it has its own version
++ # number series starting with 2...
++ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+- # Use sysv4.2uw... so that sysv4* matches it.
++ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+- exit 0 ;;
++ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+- exit 0 ;;
++ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+- exit 0 ;;
++ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+- exit 0 ;;
+- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
++ exit ;;
++ i*86:syllable:*:*)
++ echo ${UNAME_MACHINE}-pc-syllable
++ exit ;;
++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+- exit 0 ;;
++ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+@@ -995,15 +1066,16 @@ EOF
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+- exit 0 ;;
+- i*86:*:5:[78]*)
++ exit ;;
++ i*86:*:5:[678]*)
++ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+- exit 0 ;;
++ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+- exit 0 ;;
++ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+- exit 0 ;;
++ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+- exit 0 ;;
++ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+- exit 0 ;;
+- M68*:*:R3V[567]*:*)
+- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
++ exit ;;
++ M68*:*:R3V[5678]*:*)
++ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
++ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+- && echo i486-ncr-sysv4 && exit 0 ;;
++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++ && { echo i486-ncr-sysv4; exit; } ;;
++ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
++ OS_REL='.3'
++ test -r /etc/.relid \
++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
++ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+- exit 0 ;;
++ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
+- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
++ exit ;;
++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+- exit 0 ;;
++ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+- exit 0 ;;
++ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+@@ -1095,68 +1180,99 @@ EOF
+ else
+ echo ns32k-sni-sysv
+ fi
+- exit 0 ;;
+- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+- # says
+- echo i586-unisys-sysv4
+- exit 0 ;;
++ exit ;;
++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++ # says
++ echo i586-unisys-sysv4
++ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes .
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+- exit 0 ;;
++ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+- exit 0 ;;
++ exit ;;
++ i*86:VOS:*:*)
++ # From Paul.Green@stratus.com.
++ echo ${UNAME_MACHINE}-stratus-vos
++ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+- exit 0 ;;
++ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+- exit 0 ;;
++ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+- echo mips-nec-sysv${UNAME_RELEASE}
++ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+- echo mips-unknown-sysv${UNAME_RELEASE}
++ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+- exit 0 ;;
++ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+- exit 0 ;;
++ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+- exit 0 ;;
++ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+- exit 0 ;;
++ exit ;;
++ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
++ echo i586-pc-haiku
++ exit ;;
++ x86_64:Haiku:*:*)
++ echo x86_64-unknown-haiku
++ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
++ SX-7:SUPER-UX:*:*)
++ echo sx7-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-8:SUPER-UX:*:*)
++ echo sx8-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-8R:SUPER-UX:*:*)
++ echo sx8r-nec-superux${UNAME_RELEASE}
++ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:Darwin:*:*)
+- case `uname -p` in
+- *86) UNAME_PROCESSOR=i686 ;;
+- powerpc) UNAME_PROCESSOR=powerpc ;;
+- esac
++ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
++ eval $set_cc_for_build
++ if test "$UNAME_PROCESSOR" = unknown ; then
++ UNAME_PROCESSOR=powerpc
++ fi
++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ case $UNAME_PROCESSOR in
++ i386) UNAME_PROCESSOR=x86_64 ;;
++ powerpc) UNAME_PROCESSOR=powerpc64 ;;
++ esac
++ fi
++ fi
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+@@ -1164,22 +1280,28 @@ EOF
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+- exit 0 ;;
+- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
++ exit ;;
++ NEO-?:NONSTOP_KERNEL:*:*)
++ echo neo-tandem-nsk${UNAME_RELEASE}
++ exit ;;
++ NSE-*:NONSTOP_KERNEL:*:*)
++ echo nse-tandem-nsk${UNAME_RELEASE}
++ exit ;;
++ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+- exit 0 ;;
++ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+- exit 0 ;;
++ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+@@ -1190,33 +1312,55 @@ EOF
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+- exit 0 ;;
++ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+- exit 0 ;;
++ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+- exit 0 ;;
++ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+- exit 0 ;;
++ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+- exit 0 ;;
++ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+- exit 0 ;;
++ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+- exit 0 ;;
++ exit ;;
+ SEI:*:*:SEIUX)
+- echo mips-sei-seiux${UNAME_RELEASE}
+- exit 0 ;;
++ echo mips-sei-seiux${UNAME_RELEASE}
++ exit ;;
++ *:DragonFly:*:*)
++ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++ exit ;;
++ *:*VMS:*:*)
++ UNAME_MACHINE=`(uname -p) 2>/dev/null`
++ case "${UNAME_MACHINE}" in
++ A*) echo alpha-dec-vms ; exit ;;
++ I*) echo ia64-dec-vms ; exit ;;
++ V*) echo vax-dec-vms ; exit ;;
++ esac ;;
++ *:XENIX:*:SysV)
++ echo i386-pc-xenix
++ exit ;;
++ i*86:skyos:*:*)
++ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
++ exit ;;
++ i*86:rdos:*:*)
++ echo ${UNAME_MACHINE}-pc-rdos
++ exit ;;
++ i*86:AROS:*:*)
++ echo ${UNAME_MACHINE}-pc-aros
++ exit ;;
++ x86_64:VMkernel:*:*)
++ echo ${UNAME_MACHINE}-unknown-esx
++ exit ;;
+ esac
+
+-#echo '(No uname command or uname output not recognized.)' 1>&2
+-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+-
+ eval $set_cc_for_build
+ cat >$dummy.c <
+ printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+- "4"
++ "4"
+ #else
+- ""
++ ""
+ #endif
+- ); exit (0);
++ ); exit (0);
+ #endif
+ #endif
+
+ #if defined (__arm) && defined (__acorn) && defined (__unix)
+- printf ("arm-acorn-riscix"); exit (0);
++ printf ("arm-acorn-riscix\n"); exit (0);
+ #endif
+
+ #if defined (hp300) && !defined (hpux)
+@@ -1332,11 +1476,12 @@ main ()
+ }
+ EOF
+
+-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
++$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
++ { echo "$SYSTEM_NAME"; exit; }
+
+ # Apollos put the system type in the environment.
+
+-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
++test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+ # Convex versions that predate uname can use getsysinfo(1)
+
+@@ -1345,22 +1490,22 @@ then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+- exit 0 ;;
++ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+- exit 0 ;;
++ exit ;;
+ c34*)
+ echo c34-convex-bsd
+- exit 0 ;;
++ exit ;;
+ c38*)
+ echo c38-convex-bsd
+- exit 0 ;;
++ exit ;;
+ c4*)
+ echo c4-convex-bsd
+- exit 0 ;;
++ exit ;;
+ esac
+ fi
+
+@@ -1371,7 +1516,9 @@ This script, last modified $timestamp, has failed to recognize
+ the operating system you are using. It is advised that you
+ download the most up to date version of the config scripts from
+
+- ftp://ftp.gnu.org/pub/gnu/config/
++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
++and
++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+ If the version you run ($0) is already up to date, please
+ send the following data and any information you think might be
+diff --git a/alliance/src/config.sub b/alliance/src/config.sub
+index 91a5501..c765b34 100755
+--- a/alliance/src/config.sub
++++ b/alliance/src/config.sub
+@@ -1,41 +1,40 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++# Copyright 1992-2013 Free Software Foundation, Inc.
+
+-timestamp='2003-06-18'
++timestamp='2013-04-24'
+
+-# This file is (in principle) common to ALL GNU software.
+-# The presence of a machine in this file suggests that SOME GNU software
+-# can handle that machine. It does not imply ALL GNU software can.
+-#
+-# This file is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
+ # (at your option) any later version.
+ #
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+-
++# along with this program; if not, see .
++#
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+-# the same distribution terms that you use for the rest of that program.
++# the same distribution terms that you use for the rest of that
++# program. This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
+
+-# Please send patches to . Submit a context
+-# diff and a properly formatted ChangeLog entry.
++
++# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+ #
+ # Configuration subroutine to validate and canonicalize a configuration type.
+ # Supply the specified configuration type as an argument.
+ # If it is invalid, we print an error message on stderr and exit with code 1.
+ # Otherwise, we print the canonical config type on stdout and succeed.
+
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
++
+ # This file is supposed to be the same for all GNU packages
+ # and recognize all the CPU types, system types and aliases
+ # that are meaningful with *any* GNU software.
+@@ -69,8 +68,7 @@ Report bugs and patches to ."
+ version="\
+ GNU config.sub ($timestamp)
+
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+-Free Software Foundation, Inc.
++Copyright 1992-2013 Free Software Foundation, Inc.
+
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -82,11 +80,11 @@ Try \`$me --help' for more information."
+ while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+- echo "$timestamp" ; exit 0 ;;
++ echo "$timestamp" ; exit ;;
+ --version | -v )
+- echo "$version" ; exit 0 ;;
++ echo "$version" ; exit ;;
+ --help | --h* | -h )
+- echo "$usage"; exit 0 ;;
++ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+@@ -98,7 +96,7 @@ while test $# -gt 0 ; do
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+- exit 0;;
++ exit ;;
+
+ * )
+ break ;;
+@@ -117,10 +115,18 @@ esac
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++ knetbsd*-gnu* | netbsd*-gnu* | \
++ kopensolaris*-gnu* | \
++ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
++ android-linux)
++ os=-linux-android
++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
++ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+@@ -143,10 +149,13 @@ case $os in
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+- -apple | -axis)
++ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
++ -bluegene*)
++ os=-cnk
++ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+@@ -161,13 +170,17 @@ case $os in
+ os=-chorusos
+ basic_machine=$1
+ ;;
+- -chorusrdb)
+- os=-chorusrdb
++ -chorusrdb)
++ os=-chorusrdb
+ basic_machine=$1
+- ;;
++ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
++ -sco6)
++ os=-sco5v6
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+@@ -184,6 +197,10 @@ case $os in
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
++ -sco5v6*)
++ # Don't forget version if it is 3.2v4 or newer.
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+@@ -201,6 +218,12 @@ case $os in
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
++ -lynx*178)
++ os=-lynxos178
++ ;;
++ -lynx*5)
++ os=-lynxos5
++ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+@@ -225,56 +248,106 @@ case $basic_machine in
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
++ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
++ | am33_2.0 \
++ | arc | arceb \
++ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
++ | avr | avr32 \
++ | be32 | be64 \
++ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+- | fr30 | frv \
++ | epiphany \
++ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+- | ip2k \
+- | m32r | m68000 | m68k | m88k | mcore \
++ | ip2k | iq2000 \
++ | le32 | le64 \
++ | lm32 \
++ | m32c | m32r | m32rle | m68000 | m68k | m88k \
++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+- | mips64vr | mips64vrel \
++ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
++ | mips64r5900 | mips64r5900el \
++ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
++ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
++ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
++ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
++ | moxie \
++ | mt \
+ | msp430 \
++ | nds32 | nds32le | nds32be \
++ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+- | openrisc | or32 \
++ | open8 \
++ | or1k | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+- | s390 | s390x \
+- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++ | rl78 | rx \
++ | score \
++ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+- | strongarm \
+- | tahoe | thumb | tic4x | tic80 | tron \
+- | v850 | v850e \
++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
++ | spu \
++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
++ | ubicom32 \
++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | we32k \
+- | x86 | xscale | xstormy16 | xtensa \
+- | z8k)
++ | x86 | xc16x | xstormy16 | xtensa \
++ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+- m6811 | m68hc11 | m6812 | m68hc12)
+- # Motorola 68HC11/12.
++ c54x)
++ basic_machine=tic54x-unknown
++ ;;
++ c55x)
++ basic_machine=tic55x-unknown
++ ;;
++ c6x)
++ basic_machine=tic6x-unknown
++ ;;
++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
++ ms1)
++ basic_machine=mt-unknown
++ ;;
++
++ strongarm | thumb | xscale)
++ basic_machine=arm-unknown
++ ;;
++ xgate)
++ basic_machine=$basic_machine-unknown
++ os=-none
++ ;;
++ xscaleeb)
++ basic_machine=armeb-unknown
++ ;;
++
++ xscaleel)
++ basic_machine=armel-unknown
++ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+@@ -290,59 +363,82 @@ case $basic_machine in
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
++ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
++ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+- | avr-* \
+- | bs2000-* \
+- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+- | clipper-* | cydra-* \
++ | avr-* | avr32-* \
++ | be32-* | be64-* \
++ | bfin-* | bs2000-* \
++ | c[123]* | c30-* | [cjt]90-* | c4x-* \
++ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
++ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+- | ip2k-* \
+- | m32r-* \
++ | ip2k-* | iq2000-* \
++ | le32-* | le64-* \
++ | lm32-* \
++ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+- | m88110-* | m88k-* | mcore-* \
++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
++ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+- | mips64vr-* | mips64vrel-* \
++ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
++ | mips64r5900-* | mips64r5900el-* \
++ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
++ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
++ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
++ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
++ | mmix-* \
++ | mt-* \
+ | msp430-* \
+- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
++ | nds32-* | nds32le-* | nds32be-* \
++ | nios-* | nios2-* | nios2eb-* | nios2el-* \
++ | none-* | np1-* | ns16k-* | ns32k-* \
++ | open8-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+- | romp-* | rs6000-* \
+- | s390-* | s390x-* \
+- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
++ | rl78-* | romp-* | rs6000-* | rx-* \
++ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+- | tahoe-* | thumb-* \
++ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
++ | sparclite-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++ | tile*-* \
+ | tron-* \
+- | v850-* | v850e-* | vax-* \
++ | ubicom32-* \
++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++ | vax-* \
+ | we32k-* \
+- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+- | xtensa-* \
++ | x86-* | x86_64-* | xc16x-* | xps100-* \
++ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+- | z8k-*)
++ | z8k-* | z80-*)
++ ;;
++ # Recognize the basic CPU types without company name, with glob match.
++ xtensa*)
++ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+@@ -360,6 +456,9 @@ case $basic_machine in
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
++ abacus)
++ basic_machine=abacus-unknown
++ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+@@ -377,6 +476,9 @@ case $basic_machine in
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
++ amd64-*)
++ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+@@ -400,6 +502,10 @@ case $basic_machine in
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
++ aros)
++ basic_machine=i386-pc
++ os=-aros
++ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+@@ -408,10 +514,35 @@ case $basic_machine in
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
++ blackfin)
++ basic_machine=bfin-unknown
++ os=-linux
++ ;;
++ blackfin-*)
++ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=-linux
++ ;;
++ bluegene*)
++ basic_machine=powerpc-ibm
++ os=-cnk
++ ;;
++ c54x-*)
++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c55x-*)
++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c6x-*)
++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
++ cegcc)
++ basic_machine=arm-unknown
++ os=-cegcc
++ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+@@ -436,12 +567,27 @@ case $basic_machine in
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
++ craynv)
++ basic_machine=craynv-cray
++ os=-unicosmp
++ ;;
++ cr16 | cr16-*)
++ basic_machine=cr16-unknown
++ os=-elf
++ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
++ crisv32 | crisv32-* | etraxfs*)
++ basic_machine=crisv32-axis
++ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
++ crx)
++ basic_machine=crx-unknown
++ os=-elf
++ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+@@ -464,6 +610,14 @@ case $basic_machine in
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
++ dicos)
++ basic_machine=i686-pc
++ os=-dicos
++ ;;
++ djgpp)
++ basic_machine=i586-pc
++ os=-msdosdjgpp
++ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+@@ -575,7 +729,6 @@ case $basic_machine in
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+@@ -614,6 +767,14 @@ case $basic_machine in
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
++ m68knommu)
++ basic_machine=m68k-unknown
++ os=-linux
++ ;;
++ m68knommu-*)
++ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=-linux
++ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+@@ -625,10 +786,21 @@ case $basic_machine in
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
++ microblaze*)
++ basic_machine=microblaze-xilinx
++ ;;
++ mingw64)
++ basic_machine=x86_64-pc
++ os=-mingw64
++ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
++ mingw32ce)
++ basic_machine=arm-unknown
++ os=-mingw32ce
++ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+@@ -642,10 +814,6 @@ case $basic_machine in
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+- mmix*)
+- basic_machine=mmix-knuth
+- os=-mmixware
+- ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+@@ -658,10 +826,21 @@ case $basic_machine in
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
++ ms1-*)
++ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
++ ;;
++ msys)
++ basic_machine=i386-pc
++ os=-msys
++ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
++ nacl)
++ basic_machine=le32-unknown
++ os=-nacl
++ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+@@ -726,9 +905,11 @@ case $basic_machine in
+ np1)
+ basic_machine=np1-gould
+ ;;
+- nv1)
+- basic_machine=nv1-cray
+- os=-unicosmp
++ neo-tandem)
++ basic_machine=neo-tandem
++ ;;
++ nse-tandem)
++ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+@@ -737,9 +918,12 @@ case $basic_machine in
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+- or32 | or32-*)
++ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+- os=-coff
++ ;;
++ os400)
++ basic_machine=powerpc-ibm
++ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+@@ -757,6 +941,14 @@ case $basic_machine in
+ basic_machine=i860-intel
+ os=-osf
+ ;;
++ parisc)
++ basic_machine=hppa-unknown
++ os=-linux
++ ;;
++ parisc-*)
++ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=-linux
++ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+@@ -766,6 +958,12 @@ case $basic_machine in
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
++ pc98)
++ basic_machine=i386-pc
++ ;;
++ pc98-*)
++ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+@@ -795,9 +993,10 @@ case $basic_machine in
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+- ppc) basic_machine=powerpc-unknown
++ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ppc-* | ppcbe-*)
++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+@@ -807,7 +1006,7 @@ case $basic_machine in
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+@@ -822,6 +1021,14 @@ case $basic_machine in
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
++ rdos | rdos64)
++ basic_machine=x86_64-pc
++ os=-rdos
++ ;;
++ rdos32)
++ basic_machine=i386-pc
++ os=-rdos
++ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+@@ -832,6 +1039,12 @@ case $basic_machine in
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
++ s390 | s390-*)
++ basic_machine=s390-ibm
++ ;;
++ s390x | s390x-*)
++ basic_machine=s390x-ibm
++ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+@@ -842,6 +1055,10 @@ case $basic_machine in
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
++ sde)
++ basic_machine=mipsisa32-sde
++ os=-elf
++ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+@@ -853,6 +1070,9 @@ case $basic_machine in
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
++ sh5el)
++ basic_machine=sh5le-unknown
++ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+@@ -874,6 +1094,9 @@ case $basic_machine in
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
++ strongarm-* | thumb-*)
++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+@@ -930,17 +1153,9 @@ case $basic_machine in
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+- tic54x | c54x*)
+- basic_machine=tic54x-unknown
+- os=-coff
+- ;;
+- tic55x | c55x*)
+- basic_machine=tic55x-unknown
+- os=-coff
+- ;;
+- tic6x | c6x*)
+- basic_machine=tic6x-unknown
+- os=-coff
++ tile*)
++ basic_machine=$basic_machine-unknown
++ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+@@ -955,6 +1170,10 @@ case $basic_machine in
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
++ tpf)
++ basic_machine=s390x-ibm
++ os=-tpf
++ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+@@ -998,9 +1217,16 @@ case $basic_machine in
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
++ xbox)
++ basic_machine=i686-pc
++ os=-mingw32
++ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
++ xscale-* | xscalee[bl]-*)
++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+@@ -1009,6 +1235,10 @@ case $basic_machine in
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
++ z80-*-coff)
++ basic_machine=z80-unknown
++ os=-sim
++ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+@@ -1028,6 +1258,9 @@ case $basic_machine in
+ romp)
+ basic_machine=romp-ibm
+ ;;
++ mmix)
++ basic_machine=mmix-knuth
++ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+@@ -1044,13 +1277,10 @@ case $basic_machine in
+ we32k)
+ basic_machine=we32k-att
+ ;;
+- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
++ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+- sh64)
+- basic_machine=sh64-unknown
+- ;;
+- sparc | sparcv8 | sparcv9 | sparcv9b)
++ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+@@ -1094,9 +1324,12 @@ esac
+ if [ x"$os" != x"" ]
+ then
+ case $os in
+- # First match some system type aliases
+- # that might get confused with valid system types.
++ # First match some system type aliases
++ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
++ -auroraux)
++ os=-auroraux
++ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+@@ -1117,25 +1350,31 @@ case $os in
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
++ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
++ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+- | -aos* \
++ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
++ | -bitrig* | -openbsd* | -solidbsd* \
++ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+- | -chorusos* | -chorusrdb* \
+- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++ | -chorusos* | -chorusrdb* | -cegcc* \
++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
++ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
++ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
++ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+@@ -1153,12 +1392,15 @@ case $os in
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
++ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
++ -linux-dietlibc)
++ os=-linux-dietlibc
++ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+@@ -1171,6 +1413,9 @@ case $os in
+ -opened*)
+ os=-openedition
+ ;;
++ -os400*)
++ os=-os400
++ ;;
+ -wince*)
+ os=-wince
+ ;;
+@@ -1192,6 +1437,9 @@ case $os in
+ -atheos*)
+ os=-atheos
+ ;;
++ -syllable*)
++ os=-syllable
++ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+@@ -1214,6 +1462,9 @@ case $os in
+ -sinix*)
+ os=-sysv4
+ ;;
++ -tpf*)
++ os=-tpf
++ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+@@ -1247,8 +1498,13 @@ case $os in
+ -aros*)
+ os=-aros
+ ;;
+- -kaos*)
+- os=-kaos
++ -zvmoe)
++ os=-zvmoe
++ ;;
++ -dicos*)
++ os=-dicos
++ ;;
++ -nacl*)
+ ;;
+ -none)
+ ;;
+@@ -1272,6 +1528,12 @@ else
+ # system, and we'll never get to this point.
+
+ case $basic_machine in
++ score-*)
++ os=-elf
++ ;;
++ spu-*)
++ os=-elf
++ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+@@ -1284,6 +1546,18 @@ case $basic_machine in
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
++ hexagon-*)
++ os=-elf
++ ;;
++ tic54x-*)
++ os=-coff
++ ;;
++ tic55x-*)
++ os=-coff
++ ;;
++ tic6x-*)
++ os=-coff
++ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+@@ -1302,19 +1576,22 @@ case $basic_machine in
+ ;;
+ m68000-sun)
+ os=-sunos3
+- # This also exists in the configure program, but was not the
+- # default.
+- # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
++ mep-*)
++ os=-elf
++ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
++ or1k-*)
++ os=-elf
++ ;;
+ or32-*)
+ os=-coff
+ ;;
+@@ -1327,9 +1604,15 @@ case $basic_machine in
+ *-be)
+ os=-beos
+ ;;
++ *-haiku)
++ os=-haiku
++ ;;
+ *-ibm)
+ os=-aix
+ ;;
++ *-knuth)
++ os=-mmixware
++ ;;
+ *-wec)
+ os=-proelf
+ ;;
+@@ -1432,7 +1715,7 @@ case $basic_machine in
+ -sunos*)
+ vendor=sun
+ ;;
+- -aix*)
++ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+@@ -1462,9 +1745,15 @@ case $basic_machine in
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
++ -os400*)
++ vendor=ibm
++ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
++ -tpf*)
++ vendor=ibm
++ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+@@ -1489,7 +1778,7 @@ case $basic_machine in
+ esac
+
+ echo $basic_machine$os
+-exit 0
++exit
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+diff --git a/alliance/src/depcomp b/alliance/src/depcomp
+index df8eea7..4ebd5b3 100755
+--- a/alliance/src/depcomp
++++ b/alliance/src/depcomp
+@@ -1,10 +1,9 @@
+ #! /bin/sh
+ # depcomp - compile a program generating dependencies as side-effects
+
+-scriptversion=2009-04-28.21; # UTC
++scriptversion=2013-05-30.07; # UTC
+
+-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+-# Software Foundation, Inc.
++# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -28,9 +27,9 @@ scriptversion=2009-04-28.21; # UTC
+
+ case $1 in
+ '')
+- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+- exit 1;
+- ;;
++ echo "$0: No command. Try '$0 --help' for more information." 1>&2
++ exit 1;
++ ;;
+ -h | --h*)
+ cat <<\EOF
+ Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+@@ -40,11 +39,11 @@ as side-effects.
+
+ Environment variables:
+ depmode Dependency tracking mode.
+- source Source file read by `PROGRAMS ARGS'.
+- object Object file output by `PROGRAMS ARGS'.
++ source Source file read by 'PROGRAMS ARGS'.
++ object Object file output by 'PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+- tmpdepfile Temporary file to use when outputing dependencies.
++ tmpdepfile Temporary file to use when outputting dependencies.
+ libtool Whether libtool is used (yes/no).
+
+ Report bugs to .
+@@ -57,6 +56,66 @@ EOF
+ ;;
+ esac
+
++# Get the directory component of the given path, and save it in the
++# global variables '$dir'. Note that this directory component will
++# be either empty or ending with a '/' character. This is deliberate.
++set_dir_from ()
++{
++ case $1 in
++ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
++ *) dir=;;
++ esac
++}
++
++# Get the suffix-stripped basename of the given path, and save it the
++# global variable '$base'.
++set_base_from ()
++{
++ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
++}
++
++# If no dependency file was actually created by the compiler invocation,
++# we still have to create a dummy depfile, to avoid errors with the
++# Makefile "include basename.Plo" scheme.
++make_dummy_depfile ()
++{
++ echo "#dummy" > "$depfile"
++}
++
++# Factor out some common post-processing of the generated depfile.
++# Requires the auxiliary global variable '$tmpdepfile' to be set.
++aix_post_process_depfile ()
++{
++ # If the compiler actually managed to produce a dependency file,
++ # post-process it.
++ if test -f "$tmpdepfile"; then
++ # Each line is of the form 'foo.o: dependency.h'.
++ # Do two passes, one to just change these to
++ # $object: dependency.h
++ # and one to simply output
++ # dependency.h:
++ # which is needed to avoid the deleted-header problem.
++ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
++ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
++ } > "$depfile"
++ rm -f "$tmpdepfile"
++ else
++ make_dummy_depfile
++ fi
++}
++
++# A tabulation character.
++tab=' '
++# A newline character.
++nl='
++'
++# Character ranges might be problematic outside the C locale.
++# These definitions help.
++upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
++lower=abcdefghijklmnopqrstuvwxyz
++digits=0123456789
++alpha=${upper}${lower}
++
+ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+ rm -f "$tmpdepfile"
+
++# Avoid interferences from the environment.
++gccflag= dashmflag=
++
+ # Some modes work just like other modes, but use different flags. We
+ # parameterize here, but still list the modes in the big case below,
+ # to make depend.m4 easier to write. Note that we *cannot* use a case
+@@ -80,18 +142,32 @@ if test "$depmode" = hp; then
+ fi
+
+ if test "$depmode" = dashXmstdout; then
+- # This is just like dashmstdout with a different argument.
+- dashmflag=-xM
+- depmode=dashmstdout
++ # This is just like dashmstdout with a different argument.
++ dashmflag=-xM
++ depmode=dashmstdout
+ fi
+
+ cygpath_u="cygpath -u -f -"
+ if test "$depmode" = msvcmsys; then
+- # This is just like msvisualcpp but w/o cygpath translation.
+- # Just convert the backslash-escaped backslashes to single forward
+- # slashes to satisfy depend.m4
+- cygpath_u="sed s,\\\\\\\\,/,g"
+- depmode=msvisualcpp
++ # This is just like msvisualcpp but w/o cygpath translation.
++ # Just convert the backslash-escaped backslashes to single forward
++ # slashes to satisfy depend.m4
++ cygpath_u='sed s,\\\\,/,g'
++ depmode=msvisualcpp
++fi
++
++if test "$depmode" = msvc7msys; then
++ # This is just like msvc7 but w/o cygpath translation.
++ # Just convert the backslash-escaped backslashes to single forward
++ # slashes to satisfy depend.m4
++ cygpath_u='sed s,\\\\,/,g'
++ depmode=msvc7
++fi
++
++if test "$depmode" = xlc; then
++ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
++ gccflag=-qmakedep=gcc,-MF
++ depmode=gcc
+ fi
+
+ case "$depmode" in
+@@ -114,8 +190,7 @@ gcc3)
+ done
+ "$@"
+ stat=$?
+- if test $stat -eq 0; then :
+- else
++ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+@@ -123,13 +198,17 @@ gcc3)
+ ;;
+
+ gcc)
++## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
++## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
++## (see the conditional assignment to $gccflag above).
+ ## There are various ways to get dependency output from gcc. Here's
+ ## why we pick this rather obscure method:
+ ## - Don't want to use -MD because we'd like the dependencies to end
+ ## up in a subdir. Having to rename by hand is ugly.
+ ## (We might end up doing this anyway to support other compilers.)
+ ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+-## -MM, not -M (despite what the docs say).
++## -MM, not -M (despite what the docs say). Also, it might not be
++## supported by the other compilers which use the 'gcc' depmode.
+ ## - Using -M directly means running the compiler twice (even worse
+ ## than renaming).
+ if test -z "$gccflag"; then
+@@ -137,31 +216,31 @@ gcc)
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+- if test $stat -eq 0; then :
+- else
++ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+-## The second -e expression handles DOS-style file names with drive letters.
++ # The second -e expression handles DOS-style file names with drive
++ # letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+-## This next piece of magic avoids the `deleted header file' problem.
++## This next piece of magic avoids the "deleted header file" problem.
+ ## The problem is that when a header file which appears in a .P file
+ ## is deleted, the dependency causes make to die (because there is
+ ## typically no way to rebuild the header). We avoid this by adding
+ ## dummy dependencies for each header file. Too bad gcc doesn't do
+ ## this for us directly.
+- tr ' ' '
+-' < "$tmpdepfile" |
+-## Some versions of gcc put a space before the `:'. On the theory
++## Some versions of gcc put a space before the ':'. On the theory
+ ## that the space means something, we add a space to the output as
+-## well.
++## well. hp depmode also adds that space, but also prefixes the VPATH
++## to the object. Take care to not repeat it in the output.
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
+ ## correctly. Breaking it into two sed invocations is a workaround.
+- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
++ tr ' ' "$nl" < "$tmpdepfile" \
++ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
++ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+@@ -179,8 +258,7 @@ sgi)
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+- if test $stat -eq 0; then :
+- else
++ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+@@ -188,43 +266,41 @@ sgi)
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+-
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+- # the IRIX cc adds comments like `#:fec' to the end of the
++ # the IRIX cc adds comments like '#:fec' to the end of the
+ # dependency line.
+- tr ' ' '
+-' < "$tmpdepfile" \
+- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+- tr '
+-' ' ' >> "$depfile"
++ tr ' ' "$nl" < "$tmpdepfile" \
++ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
++ | tr "$nl" ' ' >> "$depfile"
+ echo >> "$depfile"
+-
+ # The second pass generates a dummy entry for each header file.
+- tr ' ' '
+-' < "$tmpdepfile" \
+- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+- >> "$depfile"
++ tr ' ' "$nl" < "$tmpdepfile" \
++ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
++ >> "$depfile"
+ else
+- # The sourcefile does not contain any dependencies, so just
+- # store a dummy comment line, to avoid errors with the Makefile
+- # "include basename.Plo" scheme.
+- echo "#dummy" > "$depfile"
++ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
++xlc)
++ # This case exists only to let depend.m4 do its work. It works by
++ # looking at the text of this script. This case will never be run,
++ # since it is checked for above.
++ exit 1
++ ;;
++
+ aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+- # current directory. Also, the AIX compiler puts `$object:' at the
++ # current directory. Also, the AIX compiler puts '$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+- test "x$dir" = "x$object" && dir=
+- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
++ set_dir_from "$object"
++ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+@@ -237,9 +313,7 @@ aix)
+ "$@" -M
+ fi
+ stat=$?
+-
+- if test $stat -eq 0; then :
+- else
++ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+@@ -248,44 +322,100 @@ aix)
+ do
+ test -f "$tmpdepfile" && break
+ done
+- if test -f "$tmpdepfile"; then
+- # Each line is of the form `foo.o: dependent.h'.
+- # Do two passes, one to just change these to
+- # `$object: dependent.h' and one to simply `dependent.h:'.
+- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+- # That's a tab and a space in the [].
+- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+- else
+- # The sourcefile does not contain any dependencies, so just
+- # store a dummy comment line, to avoid errors with the Makefile
+- # "include basename.Plo" scheme.
+- echo "#dummy" > "$depfile"
++ aix_post_process_depfile
++ ;;
++
++tcc)
++ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
++ # FIXME: That version still under development at the moment of writing.
++ # Make that this statement remains true also for stable, released
++ # versions.
++ # It will wrap lines (doesn't matter whether long or short) with a
++ # trailing '\', as in:
++ #
++ # foo.o : \
++ # foo.c \
++ # foo.h \
++ #
++ # It will put a trailing '\' even on the last line, and will use leading
++ # spaces rather than leading tabs (at least since its commit 0394caf7
++ # "Emit spaces for -MD").
++ "$@" -MD -MF "$tmpdepfile"
++ stat=$?
++ if test $stat -ne 0; then
++ rm -f "$tmpdepfile"
++ exit $stat
+ fi
++ rm -f "$depfile"
++ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
++ # We have to change lines of the first kind to '$object: \'.
++ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
++ # And for each line of the second kind, we have to emit a 'dep.h:'
++ # dummy dependency, to avoid the deleted-header problem.
++ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+-icc)
+- # Intel's C compiler understands `-MD -MF file'. However on
+- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+- # ICC 7.0 will fill foo.d with something like
+- # foo.o: sub/foo.c
+- # foo.o: sub/foo.h
+- # which is wrong. We want:
+- # sub/foo.o: sub/foo.c
+- # sub/foo.o: sub/foo.h
+- # sub/foo.c:
+- # sub/foo.h:
+- # ICC 7.1 will output
++## The order of this option in the case statement is important, since the
++## shell code in configure will try each of these formats in the order
++## listed in this file. A plain '-MD' option would be understood by many
++## compilers, so we must ensure this comes after the gcc and icc options.
++pgcc)
++ # Portland's C compiler understands '-MD'.
++ # Will always output deps to 'file.d' where file is the root name of the
++ # source file under compilation, even if file resides in a subdirectory.
++ # The object file name does not affect the name of the '.d' file.
++ # pgcc 10.2 will output
+ # foo.o: sub/foo.c sub/foo.h
+- # and will wrap long lines using \ :
++ # and will wrap long lines using '\' :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
++ set_dir_from "$object"
++ # Use the source, not the object, to determine the base name, since
++ # that's sadly what pgcc will do too.
++ set_base_from "$source"
++ tmpdepfile=$base.d
++
++ # For projects that build the same source file twice into different object
++ # files, the pgcc approach of using the *source* file root name can cause
++ # problems in parallel builds. Use a locking strategy to avoid stomping on
++ # the same $tmpdepfile.
++ lockdir=$base.d-lock
++ trap "
++ echo '$0: caught signal, cleaning up...' >&2
++ rmdir '$lockdir'
++ exit 1
++ " 1 2 13 15
++ numtries=100
++ i=$numtries
++ while test $i -gt 0; do
++ # mkdir is a portable test-and-set.
++ if mkdir "$lockdir" 2>/dev/null; then
++ # This process acquired the lock.
++ "$@" -MD
++ stat=$?
++ # Release the lock.
++ rmdir "$lockdir"
++ break
++ else
++ # If the lock is being held by a different process, wait
++ # until the winning process is done or we timeout.
++ while test -d "$lockdir" && test $i -gt 0; do
++ sleep 1
++ i=`expr $i - 1`
++ done
++ fi
++ i=`expr $i - 1`
++ done
++ trap - 1 2 13 15
++ if test $i -le 0; then
++ echo "$0: failed to acquire lock after $numtries attempts" >&2
++ echo "$0: check lockdir '$lockdir'" >&2
++ exit 1
++ fi
+
+- "$@" -MD -MF "$tmpdepfile"
+- stat=$?
+- if test $stat -eq 0; then :
+- else
++ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+@@ -297,8 +427,8 @@ icc)
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+- sed -e 's/$/ :/' >> "$depfile"
++ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
++ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+@@ -309,9 +439,8 @@ hp2)
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+- test "x$dir" = "x$object" && dir=
+- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
++ set_dir_from "$object"
++ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+@@ -322,8 +451,7 @@ hp2)
+ "$@" +Maked
+ fi
+ stat=$?
+- if test $stat -eq 0; then :
+- else
++ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+@@ -333,77 +461,107 @@ hp2)
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+- # Add `dependent.h:' lines.
++ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
++ # Add 'dependent.h:' lines.
+ sed -ne '2,${
+- s/^ *//
+- s/ \\*$//
+- s/$/:/
+- p
+- }' "$tmpdepfile" >> "$depfile"
++ s/^ *//
++ s/ \\*$//
++ s/$/:/
++ p
++ }' "$tmpdepfile" >> "$depfile"
+ else
+- echo "#dummy" > "$depfile"
++ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+ tru64)
+- # The Tru64 compiler uses -MD to generate dependencies as a side
+- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+- # dependencies in `foo.d' instead, so we check for that too.
+- # Subdirectories are respected.
+- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+- test "x$dir" = "x$object" && dir=
+- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+-
+- if test "$libtool" = yes; then
+- # With Tru64 cc, shared objects can also be used to make a
+- # static library. This mechanism is used in libtool 1.4 series to
+- # handle both shared and static libraries in a single compilation.
+- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+- #
+- # With libtool 1.5 this exception was removed, and libtool now
+- # generates 2 separate objects for the 2 libraries. These two
+- # compilations output dependencies in $dir.libs/$base.o.d and
+- # in $dir$base.o.d. We have to check for both files, because
+- # one of the two compilations can be disabled. We should prefer
+- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+- # automatically cleaned when .libs/ is deleted, while ignoring
+- # the former would cause a distcleancheck panic.
+- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+- tmpdepfile2=$dir$base.o.d # libtool 1.5
+- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+- "$@" -Wc,-MD
+- else
+- tmpdepfile1=$dir$base.o.d
+- tmpdepfile2=$dir$base.d
+- tmpdepfile3=$dir$base.d
+- tmpdepfile4=$dir$base.d
+- "$@" -MD
+- fi
+-
+- stat=$?
+- if test $stat -eq 0; then :
+- else
+- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+- exit $stat
+- fi
+-
+- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+- do
+- test -f "$tmpdepfile" && break
+- done
+- if test -f "$tmpdepfile"; then
+- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+- # That's a tab and a space in the [].
+- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+- else
+- echo "#dummy" > "$depfile"
+- fi
+- rm -f "$tmpdepfile"
+- ;;
++ # The Tru64 compiler uses -MD to generate dependencies as a side
++ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
++ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
++ # dependencies in 'foo.d' instead, so we check for that too.
++ # Subdirectories are respected.
++ set_dir_from "$object"
++ set_base_from "$object"
++
++ if test "$libtool" = yes; then
++ # Libtool generates 2 separate objects for the 2 libraries. These
++ # two compilations output dependencies in $dir.libs/$base.o.d and
++ # in $dir$base.o.d. We have to check for both files, because
++ # one of the two compilations can be disabled. We should prefer
++ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
++ # automatically cleaned when .libs/ is deleted, while ignoring
++ # the former would cause a distcleancheck panic.
++ tmpdepfile1=$dir$base.o.d # libtool 1.5
++ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
++ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
++ "$@" -Wc,-MD
++ else
++ tmpdepfile1=$dir$base.d
++ tmpdepfile2=$dir$base.d
++ tmpdepfile3=$dir$base.d
++ "$@" -MD
++ fi
++
++ stat=$?
++ if test $stat -ne 0; then
++ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
++ exit $stat
++ fi
++
++ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
++ do
++ test -f "$tmpdepfile" && break
++ done
++ # Same post-processing that is required for AIX mode.
++ aix_post_process_depfile
++ ;;
++
++msvc7)
++ if test "$libtool" = yes; then
++ showIncludes=-Wc,-showIncludes
++ else
++ showIncludes=-showIncludes
++ fi
++ "$@" $showIncludes > "$tmpdepfile"
++ stat=$?
++ grep -v '^Note: including file: ' "$tmpdepfile"
++ if test $stat -ne 0; then
++ rm -f "$tmpdepfile"
++ exit $stat
++ fi
++ rm -f "$depfile"
++ echo "$object : \\" > "$depfile"
++ # The first sed program below extracts the file names and escapes
++ # backslashes for cygpath. The second sed program outputs the file
++ # name when reading, but also accumulates all include files in the
++ # hold buffer in order to output them again at the end. This only
++ # works with sed implementations that can handle large buffers.
++ sed < "$tmpdepfile" -n '
++/^Note: including file: *\(.*\)/ {
++ s//\1/
++ s/\\/\\\\/g
++ p
++}' | $cygpath_u | sort -u | sed -n '
++s/ /\\ /g
++s/\(.*\)/'"$tab"'\1 \\/p
++s/.\(.*\) \\/\1:/
++H
++$ {
++ s/.*/'"$tab"'/
++ G
++ p
++}' >> "$depfile"
++ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
++ rm -f "$tmpdepfile"
++ ;;
++
++msvc7msys)
++ # This case exists only to let depend.m4 do its work. It works by
++ # looking at the text of this script. This case will never be run,
++ # since it is checked for above.
++ exit 1
++ ;;
+
+ #nosideeffect)
+ # This comment above is used by automake to tell side-effect
+@@ -422,7 +580,7 @@ dashmstdout)
+ shift
+ fi
+
+- # Remove `-o $object'.
++ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+@@ -442,18 +600,18 @@ dashmstdout)
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+- # Require at least two characters before searching for `:'
++ # Require at least two characters before searching for ':'
+ # in the target name. This is to cope with DOS-style filenames:
+- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
++ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+ "$@" $dashmflag |
+- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
++ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+- tr ' ' '
+-' < "$tmpdepfile" | \
+-## Some versions of the HPUX 10.20 sed can't process this invocation
+-## correctly. Breaking it into two sed invocations is a workaround.
+- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
++ # Some versions of the HPUX 10.20 sed can't process this sed invocation
++ # correctly. Breaking it into two sed invocations is a workaround.
++ tr ' ' "$nl" < "$tmpdepfile" \
++ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
++ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+@@ -503,12 +661,15 @@ makedepend)
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+- cat < "$tmpdepfile" > "$depfile"
+- sed '1,2d' "$tmpdepfile" | tr ' ' '
+-' | \
+-## Some versions of the HPUX 10.20 sed can't process this invocation
+-## correctly. Breaking it into two sed invocations is a workaround.
+- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
++ # makedepend may prepend the VPATH from the source file name to the object.
++ # No need to regex-escape $object, excess matching of '.' is harmless.
++ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
++ # Some versions of the HPUX 10.20 sed can't process the last invocation
++ # correctly. Breaking it into two sed invocations is a workaround.
++ sed '1,2d' "$tmpdepfile" \
++ | tr ' ' "$nl" \
++ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
++ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+@@ -525,7 +686,7 @@ cpp)
+ shift
+ fi
+
+- # Remove `-o $object'.
++ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+@@ -544,10 +705,10 @@ cpp)
+ esac
+ done
+
+- "$@" -E |
+- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+- sed '$ s: \\$::' > "$tmpdepfile"
++ "$@" -E \
++ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
++ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
++ | sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+@@ -579,23 +740,23 @@ msvisualcpp)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+- set fnord "$@"
+- shift
+- shift
+- ;;
++ set fnord "$@"
++ shift
++ shift
++ ;;
+ *)
+- set fnord "$@" "$arg"
+- shift
+- shift
+- ;;
++ set fnord "$@" "$arg"
++ shift
++ shift
++ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+- echo " " >> "$depfile"
++ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
++ echo "$tab" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+diff --git a/alliance/src/distrib/alliance-fedora.spec b/alliance/src/distrib/alliance-fedora.spec
+index 9b1afd1..dd79634 100644
+--- a/alliance/src/distrib/alliance-fedora.spec
++++ b/alliance/src/distrib/alliance-fedora.spec
+@@ -109,7 +109,7 @@ sed -i "s|tutorials||" documentation/Makefile.am
+ sed -i "s|tutorials||" documentation/Makefile.in
+ sed -i "s|documentation/tutorials/Makefile||" configure*
+ pushd documentation/tutorials
+- # clean unneccessary files
++ # clean unnecessary files
+ %{__rm} Makefile*
+ %{__rm} *.pdf
+ # build documentation
+@@ -517,7 +517,7 @@ touch --no-create %{_datadir}/icons/hicolor || :
+ * Sun Oct 13 2002 Jean-Paul.Chaput
+ - autoconf m4 macros moved back in the Alliance source tree to avoid
+ re-declaration on our development computers (on which the macros
+- are in teh source tree).
++ are in the source tree).
+ - Adopt the versioning scheme from czo.
+ - Try to switch to dynamic libraries.
+
+diff --git a/alliance/src/distrib/etc/alc_env.csh.in b/alliance/src/distrib/etc/alc_env.csh.in
+index 18a1802..cea6941 100644
+--- a/alliance/src/distrib/etc/alc_env.csh.in
++++ b/alliance/src/distrib/etc/alc_env.csh.in
+@@ -53,7 +53,7 @@
+ setenv MBK_CATA_LIB "${MBK_CATA_LIB}:${CELLS_TOP}/romlib"
+ setenv MBK_CATA_LIB "${MBK_CATA_LIB}:${CELLS_TOP}/ramlib"
+ setenv MBK_CATA_LIB "${MBK_CATA_LIB}:${CELLS_TOP}/pxlib"
+- setenv MBK_CATA_LIB "${MBK_CATA_LIB}:${CELLS_TOP}/padlib"
++#setenv MBK_CATA_LIB "${MBK_CATA_LIB}:${CELLS_TOP}/padlib"
+ setenv MBK_TARGET_LIB "${CELLS_TOP}/sxlib"
+ setenv MBK_C4_LIB ./cellsC4
+
+@@ -93,9 +93,9 @@
+ endif
+
+ if ( $?MANPATH ) then
+- setenv MANPATH "${MANPATH}:${ALLIANCE_TOP}/man"
++ setenv MANPATH "${MANPATH}:${ALLIANCE_TOP}/share/man"
+ else
+- setenv MANPATH ":${ALLIANCE_TOP}/man:`manpath`"
++ setenv MANPATH ":${ALLIANCE_TOP}/share/man:`manpath`"
+ endif
+ endif
+
+diff --git a/alliance/src/distrib/etc/alc_env.sh.in b/alliance/src/distrib/etc/alc_env.sh.in
+index ee283b7..a4115f2 100644
+--- a/alliance/src/distrib/etc/alc_env.sh.in
++++ b/alliance/src/distrib/etc/alc_env.sh.in
+@@ -55,7 +55,7 @@
+ MBK_CATA_LIB=$MBK_CATA_LIB:$CELLS_TOP/ramlib
+ MBK_CATA_LIB=$MBK_CATA_LIB:$CELLS_TOP/romlib
+ MBK_CATA_LIB=$MBK_CATA_LIB:$CELLS_TOP/pxlib
+- MBK_CATA_LIB=$MBK_CATA_LIB:$CELLS_TOP/padlib
++ #MBK_CATA_LIB=$MBK_CATA_LIB:$CELLS_TOP/padlib
+ export MBK_CATA_LIB
+
+ MBK_TARGET_LIB=$CELLS_TOP/sxlib; export MBK_TARGET_LIB
+@@ -92,9 +92,9 @@
+ #fi
+
+ if [ -z "${MANPATH}" ]; then
+- MANPATH=:$ALLIANCE_TOP/man:$(manpath)
++ MANPATH=:$ALLIANCE_TOP/share/man:$(manpath)
+ else
+- MANPATH=$MANPATH:$ALLIANCE_TOP/man
++ MANPATH=$MANPATH:$ALLIANCE_TOP/share/man
+ fi
+ export MANPATH
+ fi
+diff --git a/alliance/src/documentation/alliance-examples/addaccu16/README b/alliance/src/documentation/alliance-examples/addaccu16/README
+index 27b6104..c1cb452 100644
+--- a/alliance/src/documentation/alliance-examples/addaccu16/README
++++ b/alliance/src/documentation/alliance-examples/addaccu16/README
+@@ -78,13 +78,13 @@ graal_addaccu : Launch the physical layout editor (GRAAL) and display the res
+ #
+
+ addaccu_e.al : Run the hierarchical netlist extractor (COUGAR) and extracts the netlist with parasitic
+- informations (physical parameters are taken in the techno-035.rds file).
++ information (physical parameters are taken in the techno-035.rds file).
+ This tool generates the extracted netlist addaccu_e.al
+
+ xsch_addaccu_e : Run the schematic viewer (XSCH) on the hierarchical extracted netlist (addaccu_e.al).
+
+ addaccu_et.al : Run the netlist extractor (COUGAR) and extracts the netlist at the transistor level
+- with parasitics informations (addaccu_et.al).
++ with parasitics information (addaccu_et.al).
+
+ xsch_addaccu_et : Run the schematic viewer (XSCH) on the extracted transistor netlist (addaccu_et.al).
+
+diff --git a/alliance/src/documentation/alliance-examples/adder4/README b/alliance/src/documentation/alliance-examples/adder4/README
+index 09d9038..8c7a272 100644
+--- a/alliance/src/documentation/alliance-examples/adder4/README
++++ b/alliance/src/documentation/alliance-examples/adder4/README
+@@ -10,7 +10,7 @@ This directory contains the VHDL description of an adder 4 bits and
+ the associated stimuli file, and also a configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+@@ -78,13 +78,13 @@ graal_adder4 : Launch the physical layout editor (GRAAL) and display the resu
+ #
+
+ adder4_e.al : Run the hierarchical netlist extractor (COUGAR) and extracts the netlist with parasitic
+- informations (physical parameters are taken in the techno-035.rds file).
++ information (physical parameters are taken in the techno-035.rds file).
+ This tool generates the extracted netlist adder4_e.al
+
+ xsch_adder4_e : Run the schematic viewer (XSCH) on the hierarchical extracted netlist (adder4_e.al).
+
+ adder4_et.al : Run the netlist extractor (COUGAR) and extracts the netlist at the transistor level
+- with parasitics informations (adder4_et.al).
++ with parasitics information (adder4_et.al).
+
+ xsch_adder4_et : Run the schematic viewer (XSCH) on the extracted transistor netlist (adder4_et.al).
+
+diff --git a/alliance/src/documentation/alliance-examples/divcas4/README b/alliance/src/documentation/alliance-examples/divcas4/README
+index 4c0560a..6acb864 100644
+--- a/alliance/src/documentation/alliance-examples/divcas4/README
++++ b/alliance/src/documentation/alliance-examples/divcas4/README
+@@ -10,7 +10,7 @@ This directory contains the VHDL description of an 4 bits divisor and
+ the associated stimuli file, and also a configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+diff --git a/alliance/src/documentation/alliance-examples/etc/alliance-env.mk b/alliance/src/documentation/alliance-examples/etc/alliance-env.mk
+index 11ec3e4..69adf97 100644
+--- a/alliance/src/documentation/alliance-examples/etc/alliance-env.mk
++++ b/alliance/src/documentation/alliance-examples/etc/alliance-env.mk
+@@ -3,7 +3,7 @@
+ ALLIANCE_TOP ?= /usr/lib/alliance
+ RUN_IN_SOURCE_TREE ?= False
+
+-# Standart System binary access paths.
++# Standard System binary access paths.
+ STANDART_BIN = /usr/local/bin:/usr/bin:/bin
+ STANDART_PATH = PATH=$(STANDART_BIN); export PATH
+
+diff --git a/alliance/src/documentation/alliance-examples/etc/techno-035.rds b/alliance/src/documentation/alliance-examples/etc/techno-035.rds
+index 8c78141..746fd27 100644
+--- a/alliance/src/documentation/alliance-examples/etc/techno-035.rds
++++ b/alliance/src/documentation/alliance-examples/etc/techno-035.rds
+@@ -415,3 +415,37 @@ CONT_TURN3 RDS_ALU8 .0 ALL
+
+ END
+
++##-------------------------------------------------------------------
++# TABLE MBK_WIRESETTING :
++##-------------------------------------------------------------------
++#
++# This table is used by ocp, nero & ring. It supplies *symbolic*
++# information about the routing grid, the cell gauge and the power
++# wires.
++
++TABLE MBK_WIRESETTING
++
++ X_GRID 5
++ Y_GRID 5
++ Y_SLICE 50
++ WIDTH_VDD 6
++ WIDTH_VSS 6
++ TRACK_WIDTH_ALU8 0
++ TRACK_WIDTH_ALU7 2
++ TRACK_WIDTH_ALU6 2
++ TRACK_WIDTH_ALU5 2
++ TRACK_WIDTH_ALU4 2
++ TRACK_WIDTH_ALU3 2
++ TRACK_WIDTH_ALU2 2
++ TRACK_WIDTH_ALU1 2
++ TRACK_SPACING_ALU8 0
++ TRACK_SPACING_ALU7 8
++ TRACK_SPACING_ALU6 8
++ TRACK_SPACING_ALU5 3
++ TRACK_SPACING_ALU4 3
++ TRACK_SPACING_ALU3 3
++ TRACK_SPACING_ALU2 3
++ TRACK_SPACING_ALU1 3
++
++END
++
+diff --git a/alliance/src/documentation/alliance-examples/etc/techno-symb.rds b/alliance/src/documentation/alliance-examples/etc/techno-symb.rds
+index 38bb0ce..2d890b8 100644
+--- a/alliance/src/documentation/alliance-examples/etc/techno-symb.rds
++++ b/alliance/src/documentation/alliance-examples/etc/techno-symb.rds
+@@ -422,6 +422,40 @@ TABLE S2R_MINIMUM_LAYER_WIDTH
+ END
+
+ ##-------------------------------------------------------------------
++# TABLE MBK_WIRESETTING :
++##-------------------------------------------------------------------
++#
++# This table is used by ocp, nero & ring. It supplies *symbolic*
++# information about the routing grid, the cell gauge and the power
++# wires.
++
++TABLE MBK_WIRESETTING
++
++ X_GRID 5
++ Y_GRID 5
++ Y_SLICE 50
++ WIDTH_VDD 6
++ WIDTH_VSS 6
++ TRACK_WIDTH_ALU8 0
++ TRACK_WIDTH_ALU7 2
++ TRACK_WIDTH_ALU6 2
++ TRACK_WIDTH_ALU5 2
++ TRACK_WIDTH_ALU4 2
++ TRACK_WIDTH_ALU3 2
++ TRACK_WIDTH_ALU2 2
++ TRACK_WIDTH_ALU1 2
++ TRACK_SPACING_ALU8 0
++ TRACK_SPACING_ALU7 8
++ TRACK_SPACING_ALU6 8
++ TRACK_SPACING_ALU5 3
++ TRACK_SPACING_ALU4 3
++ TRACK_SPACING_ALU3 3
++ TRACK_SPACING_ALU2 3
++ TRACK_SPACING_ALU1 3
++
++END
++
++##-------------------------------------------------------------------
+ # TABLE CIF_LAYER :
+ ##-------------------------------------------------------------------
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc000.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc000.u
+index 098ecad..716c162 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc000.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc000.u
+@@ -31,7 +31,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc008.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc008.u
+index cf4a59a..52c5ee2 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc008.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc008.u
+@@ -30,7 +30,7 @@ init:
+ lw r2 , 0 (r1 ) ; EXCEPTION (segment)
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc009.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc009.u
+index ef3da94..63ecf24 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc009.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc009.u
+@@ -28,7 +28,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc011.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc011.u
+index d583aea..e2b608f 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc011.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc011.u
+@@ -30,7 +30,7 @@ init:
+ lh r2 , 1 (r1 ) ; EXCEPTION (alignement)
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc014.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc014.u
+index 34ba44a..0804beb 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc014.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc014.u
+@@ -30,7 +30,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc018.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc018.u
+index 213545f..b1779b2 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc018.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc018.u
+@@ -30,7 +30,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc019.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc019.u
+index 0c3c28f..e98f6f9 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc019.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc019.u
+@@ -30,7 +30,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc021.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc021.u
+index fefc44b..ebecbf1 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc021.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc021.u
+@@ -30,7 +30,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc022.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc022.u
+index 9718705..66bc50f 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc022.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc022.u
+@@ -30,7 +30,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc023.u b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc023.u
+index a0b7304..a83cee2 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc023.u
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/exc023.u
+@@ -29,7 +29,7 @@ init:
+ nop
+
+ ; ###--------------------------------------------------------###
+- ; # check that the load has faild and the content of the #
++ ; # check that the load has failed and the content of the #
+ ; # register has not been altered #
+ ; ###--------------------------------------------------------###
+
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/asm/go-bench.sh b/alliance/src/documentation/alliance-examples/mipsR3000/asm/go-bench.sh
+index b9724e6..ce5f254 100755
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/asm/go-bench.sh
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/asm/go-bench.sh
+@@ -126,7 +126,7 @@
+ grep -i "can't open file" $LOG_MSG
+ fi
+
+- grep "exception occured" $LOG_RES > /dev/null
++ grep "exception occurred" $LOG_RES > /dev/null
+
+ if [ $? -eq 0 ] ; then
+ grep "exc" $1.u > /dev/null
+@@ -135,7 +135,7 @@
+ fi
+ fi
+
+- grep "exception occured" $LOG_MSG > /dev/null
++ grep "exception occurred" $LOG_MSG > /dev/null
+
+ if [ $? -eq 0 ] ; then
+ grep "exc" $1.u > /dev/null
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_dec.vbe b/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_dec.vbe
+index cf385fe..4dac5e0 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_dec.vbe
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_dec.vbe
+@@ -222,11 +222,11 @@ begin
+ severity ERROR;
+
+ assert (not (mips_dadr = X"BFC00000"))
+- report "==== reset occured ===="
++ report "==== reset occurred ===="
+ severity WARNING;
+
+ assert (not (mips_dadr = X"80000080"))
+- report "==== exception occured ===="
++ report "==== exception occurred ===="
+ severity WARNING;
+
+ end FUNCTIONAL;
+diff --git a/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_seq.fsm b/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_seq.fsm
+index ed7b55c..7a4f597 100644
+--- a/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_seq.fsm
++++ b/alliance/src/documentation/alliance-examples/mipsR3000/sce/mips_seq.fsm
+@@ -37,7 +37,7 @@ entity mips_seq is
+ test : in BIT; -- test
+ itrqs : in BIT; -- it reqst
+ adrs : in BIT_VECTOR(1 downto 0); -- adr1 and adr2
+- exrqs : in BIT; -- exeption reqst
++ exrqs : in BIT; -- exception reqst
+
+ ctlopx : out bit_vector(8 DOWNTO 0) ; -- ctlopx
+ ctlopy : out bit_vector(6 DOWNTO 0) ; -- ctlopy
+diff --git a/alliance/src/documentation/alliance-examples/multi4b/README b/alliance/src/documentation/alliance-examples/multi4b/README
+index e5eae9d..25e9d88 100644
+--- a/alliance/src/documentation/alliance-examples/multi4b/README
++++ b/alliance/src/documentation/alliance-examples/multi4b/README
+@@ -10,7 +10,7 @@ This directory contains the VHDL description of an 4 bits multiplier and
+ the associated stimuli file, and also a configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+@@ -78,13 +78,13 @@ graal_multi4 : Launch the physical layout editor (GRAAL) and display the resu
+ #
+
+ multi4_e.al : Run the hierarchical netlist extractor (COUGAR) and extracts the netlist with parasitic
+- informations (physical parameters are taken in the techno-035.rds file).
++ information (physical parameters are taken in the techno-035.rds file).
+ This tool generates the extracted netlist multi4_e.al
+
+ xsch_multi4_e : Run the schematic viewer (XSCH) on the hierarchical extracted netlist (multi4_e.al).
+
+ multi4_et.al : Run the netlist extractor (COUGAR) and extracts the netlist at the transistor level
+- with parasitics informations (multi4_et.al).
++ with parasitics information (multi4_et.al).
+
+ xsch_multi4_et : Run the schematic viewer (XSCH) on the extracted transistor netlist (multi4_et.al).
+
+diff --git a/alliance/src/documentation/alliance-examples/multi8/README b/alliance/src/documentation/alliance-examples/multi8/README
+index 7d2aabb..25c38e6 100644
+--- a/alliance/src/documentation/alliance-examples/multi8/README
++++ b/alliance/src/documentation/alliance-examples/multi8/README
+@@ -11,7 +11,7 @@ This directory contains hierarchical VHDL descriptions of a synchronous 8 bits m
+ It contains also the associated stimuli file, and configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+diff --git a/alliance/src/documentation/alliance-examples/multi8b/README b/alliance/src/documentation/alliance-examples/multi8b/README
+index d1b8786..a9d44fb 100644
+--- a/alliance/src/documentation/alliance-examples/multi8b/README
++++ b/alliance/src/documentation/alliance-examples/multi8b/README
+@@ -10,7 +10,7 @@ This directory contains the VHDL description of combinatorial 8 bits
+ multiplier and the associated stimuli file, and also a configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+@@ -78,13 +78,13 @@ graal_multi8 : Launch the physical layout editor (GRAAL) and display the resu
+ #
+
+ multi8_e.al : Run the hierarchical netlist extractor (COUGAR) and extracts the netlist with parasitic
+- informations (physical parameters are taken in the techno-035.rds file).
++ information (physical parameters are taken in the techno-035.rds file).
+ This tool generates the extracted netlist multi8_e.al
+
+ xsch_multi8_e : Run the schematic viewer (XSCH) on the hierarchical extracted netlist (multi8_e.al).
+
+ multi8_et.al : Run the netlist extractor (COUGAR) and extracts the netlist at the transistor level
+- with parasitics informations (multi8_et.al).
++ with parasitics information (multi8_et.al).
+
+ xsch_multi8_et : Run the schematic viewer (XSCH) on the extracted transistor netlist (multi8_et.al).
+
+diff --git a/alliance/src/documentation/alliance-examples/pgcd/README b/alliance/src/documentation/alliance-examples/pgcd/README
+index 311597d..23846cd 100644
+--- a/alliance/src/documentation/alliance-examples/pgcd/README
++++ b/alliance/src/documentation/alliance-examples/pgcd/README
+@@ -11,7 +11,7 @@ greatest common divisor (with a finite state machine and a data part).
+ It contains also the associated stimuli file, and configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+diff --git a/alliance/src/documentation/alliance-examples/sqrt32/README b/alliance/src/documentation/alliance-examples/sqrt32/README
+index 279ade3..5256b74 100644
+--- a/alliance/src/documentation/alliance-examples/sqrt32/README
++++ b/alliance/src/documentation/alliance-examples/sqrt32/README
+@@ -10,7 +10,7 @@ This directory contains the VHDL description of combinatorial 32 bits
+ sqrt chip and the associated stimuli file, and also a configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+diff --git a/alliance/src/documentation/alliance-examples/sqrt8/README b/alliance/src/documentation/alliance-examples/sqrt8/README
+index 83d4a4a..29c3926 100644
+--- a/alliance/src/documentation/alliance-examples/sqrt8/README
++++ b/alliance/src/documentation/alliance-examples/sqrt8/README
+@@ -10,9 +10,9 @@ This directory contains the VHDL description of combinatorial 8 bits
+ sqrt chip and the associated stimuli file, and also a configuration file for IO
+ placement (used during the Place and Route step).
+
+-The Makefile set environement variables properly and run Alliance tools,
++The Makefile set environment variables properly and run Alliance tools,
+ following each step of the design flow from VHDL up to real layout in a
+ pseudo 0.35 techno.
+
+-The environement variable ALLIANCE_TOP has to be set.
++The environment variable ALLIANCE_TOP has to be set.
+
+diff --git a/alliance/src/documentation/alliance-examples/tuner/build_tuner b/alliance/src/documentation/alliance-examples/tuner/build_tuner
+index 4e199db..53d6994 100755
+--- a/alliance/src/documentation/alliance-examples/tuner/build_tuner
++++ b/alliance/src/documentation/alliance-examples/tuner/build_tuner
+@@ -71,7 +71,7 @@ loon -x 0 -m 0 tuner_x tuner_o
+
+ #Vous pouvez lancer xsch pour voir l'allure de l'ensemble de portes
+ #Ce n'est pas très utile, mais ca rassure !
+-#You may lauch xsch to see the way your netlist looks
++#You may launch xsch to see the way your netlist looks
+ #Not really usefully but sometime pretty.
+ xsch -l tuner_o
+
+diff --git a/alliance/src/documentation/alliance-run/README b/alliance/src/documentation/alliance-run/README
+index d8b4cdd..c3263e0 100644
+--- a/alliance/src/documentation/alliance-run/README
++++ b/alliance/src/documentation/alliance-run/README
+@@ -65,17 +65,17 @@ amd2901_core.c:
+ * Description of the amd2901 core in genlib format.
+ Has to be processed by genlib, to create
+ * amd2901_core.vst:
+- * logical description of amd2901 core which instanciates
++ * logical description of amd2901 core which instantiates
+ amd2901_dpt.vst and amd2901_ctl.vst.
+ * amd2901_core.ap:
+- * physical description of amd2901 core which instanciates
++ * physical description of amd2901 core which instantiates
+ amd2901_dpt.ap and expand the abutment box in order
+ to give enough room to place the control part.
+ amd2901_core.ioc:
+ * amd2901_core connectors placement description, used by ocp.
+ amd2901_chip.c:
+ * amd2901_chip description in genlib format.
+- instanciates amd2901_core.vst and the pads from the padlib
++ instantiates amd2901_core.vst and the pads from the padlib
+ library.
+ amd2901_chip.rin:
+ * pads placement file, used by ring.
+diff --git a/alliance/src/documentation/design-flow/flow.html b/alliance/src/documentation/design-flow/flow.html
+index 43fe51f..ff8f59a 100755
+--- a/alliance/src/documentation/design-flow/flow.html
++++ b/alliance/src/documentation/design-flow/flow.html
+@@ -69,7 +69,7 @@
+
+ - GENPAT is used to write
+ digital stimuli. It provides a C
+- interface of a set of functions usefull to create stimuli. It
++ interface of a set of functions useful to create stimuli. It
+ loads a C file describing patterns and run the C compiler.
+ Finally it generates a stimuli file
+ (PAT file format).
+@@ -273,7 +273,7 @@
+
+
+ - GENLIB provides a C
+- interface of a set of functions usefull to create
++ interface of a set of functions useful to create
+ a netlist of cells or a physical layout. For example given a cell library,
+ a simple C function call is enough to create an instance of a cell.
+ The result is a netlist (or a physical layout) built during the sequential
+diff --git a/alliance/src/documentation/design-flow/intro.html b/alliance/src/documentation/design-flow/intro.html
+index f9ce0e7..9872427 100755
+--- a/alliance/src/documentation/design-flow/intro.html
++++ b/alliance/src/documentation/design-flow/intro.html
+@@ -12,9 +12,9 @@
+
+
+
+-Alliance provides a software environement for the development of CAD tools:
++Alliance provides a software environment for the development of CAD tools:
+
+- - More than 60 librairies written in C langage.
++
- More than 60 libraries written in C language.
+ Those libraries contain the definition of several data structures and methods
+ allowing to describe circuits from the RTL view up to the physical view.
+ Thoses data structures covered all the design flow and can be used
+@@ -23,7 +23,7 @@
+ format.
+
+ - More than 650 man pages describing the programming interface of
+- those librairies
++ those libraries
+
+
+
+@@ -61,7 +61,7 @@ using Alliance CAD tools
+
+
+
+-The Alliance CAD system is used in more than 80 Universities all arround the world
++The Alliance CAD system is used in more than 80 Universities all around the world
+ for teaching and research purposes.
+
+
+diff --git a/alliance/src/documentation/design-flow/tools.html b/alliance/src/documentation/design-flow/tools.html
+index 8221875..2da3c49 100644
+--- a/alliance/src/documentation/design-flow/tools.html
++++ b/alliance/src/documentation/design-flow/tools.html
+@@ -203,7 +203,7 @@
+
+
+ - STRENGTH
+- It has been sucessfully used for years at LIP6 laboratory.
++ It has been successfully used for years at LIP6 laboratory.
+
+
+ - WEAKNESS
+@@ -344,7 +344,7 @@
+
+ - DESCRIPTION:
+ GENLIB provides a C interface of a set
+- of functions usefull to create a netlist of cells or a physical layout.
++ of functions useful to create a netlist of cells or a physical layout.
+ For example given a cell library, a simple C function call is enough to
+ create an instance of a cell. The result is a netlist (or a physical
+ layout) built during the sequential execution of the C source code.
+@@ -374,7 +374,7 @@
+
+ - DESCRIPTION:
+ GENPAT is used to write digital
+- stimuli. It provides a C interface of a set of functions usefull to
++ stimuli. It provides a C interface of a set of functions useful to
+ create stimuli. It loads a C file describing patterns and run the C
+ compiler. Finally it generates a stimuli file.
+ (PAT file format).
+@@ -709,7 +709,7 @@
+ - STRENGTH
+ SYF is a good FSM synthesizer.
+ It offers most common encoding algorithms and it verifies
+- formally some very basic but usefull correctness properties.
++ formally some very basic but useful correctness properties.
+
+
+ - WEAKNESS
+diff --git a/alliance/src/documentation/overview/nmx2_y.ps b/alliance/src/documentation/overview/nmx2_y.ps
+index a45fee2..8d31b91 100644
+--- a/alliance/src/documentation/overview/nmx2_y.ps
++++ b/alliance/src/documentation/overview/nmx2_y.ps
+@@ -4,9 +4,9 @@
+ %%Creator: Rps v1.03 with l2p -color -noheader -scale=2.936567 nmx2_y
+ %SCALE=2.936567
+ % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+-% This is the beginning of the l2p COLOR PostScript dictionnary.
++% This is the beginning of the l2p COLOR PostScript dictionary.
+ % (If you want to change colors or patterns, this is THE place to do it.)
+-% (Remember that you can substitute another PostScript dictionnary.)
++% (Remember that you can substitute another PostScript dictionary.)
+ %%Pages: 1 1
+ %%EndComments
+ %%BeginPreview: 256 64 1 64
+@@ -300,7 +300,7 @@ h neg 2 w {
+ %- - - END OF LAYER TRADUCTION - - -
+ %%EndSetup
+
+-% This is the end of the l2p COLOR PostScript dictionnary.
++% This is the end of the l2p COLOR PostScript dictionary.
+ % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+ %%Page: 1 1
+ 1.468284 setlinewidth
+diff --git a/alliance/src/documentation/overview/overview.tex b/alliance/src/documentation/overview/overview.tex
+index e2430d0..04e7918 100644
+--- a/alliance/src/documentation/overview/overview.tex
++++ b/alliance/src/documentation/overview/overview.tex
+@@ -152,7 +152,7 @@ complete \textbf{Alliance} design framework.
+ Each \textbf{Alliance} tool therefore supports several standard \textbf{VLSI}
+ description formats : \textbf{SPICE}, \textbf{EDIF}, \textbf{VHDL}, \textbf{CIF},
+ \textbf{GDS2}.
+-In that respect, the tools ouputs are fully usable under the
++In that respect, the tools outputs are fully usable under the
+ \textbf{Compass} and \textbf{Cadence Opus} environnement, provided these
+ tools have the necessary configuration files.
+ The \textbf{Alliance} tools support a zero-default top-down design
+diff --git a/alliance/src/documentation/tutorials/place_and_route/src/amd2901/Makefile b/alliance/src/documentation/tutorials/place_and_route/src/amd2901/Makefile
+index a3b92aa..d697322 100644
+--- a/alliance/src/documentation/tutorials/place_and_route/src/amd2901/Makefile
++++ b/alliance/src/documentation/tutorials/place_and_route/src/amd2901/Makefile
+@@ -8,11 +8,11 @@
+ # \------------------------------------------------------------------/
+ #
+
+-# Standart System binary access paths.
++# Standard System binary access paths.
+ STANDART_BIN = /usr/local/bin:/usr/bin:/bin
+ STANDART_PATH = PATH=$(STANDART_BIN); export PATH
+
+-# Standart Alliance binary access paths.
++# Standard Alliance binary access paths.
+ ALLIANCE_BIN = $(ALLIANCE_TOP)/bin
+
+ # FitPath Alliance binary access paths.
+diff --git a/alliance/src/documentation/tutorials/place_and_route/src/amd2901/amd2901_core.c b/alliance/src/documentation/tutorials/place_and_route/src/amd2901/amd2901_core.c
+index 23aae48..ff37b6f 100644
+--- a/alliance/src/documentation/tutorials/place_and_route/src/amd2901/amd2901_core.c
++++ b/alliance/src/documentation/tutorials/place_and_route/src/amd2901/amd2901_core.c
+@@ -53,7 +53,7 @@ main()
+ GENLIB_LOCON("vss", IN ,"vss");
+
+
+- /* **************** Data-Path Instanciation ***************** */
++ /* **************** Data-Path Instantiation ***************** */
+
+
+ GENLIB_LOINSE("amd2901_dpt", "amd2901_dpt",
+@@ -112,7 +112,7 @@ main()
+ "vss => vss", 0);
+
+
+- /* ***************** Control Instanciation ****************** */
++ /* ***************** Control Instantiation ****************** */
+
+
+ GENLIB_LOINSE("amd2901_ctl", "ctl",
+diff --git a/alliance/src/documentation/tutorials/simulation/tex/simulation.tex b/alliance/src/documentation/tutorials/simulation/tex/simulation.tex
+index 7a7bc19..2b99a40 100644
+--- a/alliance/src/documentation/tutorials/simulation/tex/simulation.tex
++++ b/alliance/src/documentation/tutorials/simulation/tex/simulation.tex
+@@ -217,12 +217,12 @@ This directory contains two subdirectories and one Makefile :
+
+ The {\bf ALLIANCE} tools used are :
+ \begin{itemize}\itemsep=-.8ex
+-\item {\bf vasy} : {\bf VHDL} analyzer and convertor.
++\item {\bf vasy} : {\bf VHDL} analyzer and converter.
+ \item {\bf asimut} : {\bf VHDL} Compiler and Simulator.
+ \item{\bf genpat} : Procedural generator of stimuli.
+ \end{itemize}
+
+-You can obtain the detailed informations on an any
++You can obtain the detailed information on an any
+ {\bf ALLIANCE} tool by typing the command :
+
+ \begin{commandline}
+@@ -365,7 +365,7 @@ Alliance subset.
+
+ The file addaccu4.vhdl is a description of the addaccu circuit,
+ using classical {\bf VHDL} subset (with process statements,
+-IEEE 1164 VHDL types, aritmetic operators etc ...)
++IEEE 1164 VHDL types, arithmetic operators etc ...)
+
+ You can convert this description to the {\bf .vbe} file format using
+ {\bf VASY}~:
+@@ -492,7 +492,7 @@ first part of this Tutorial. The circuit will be describe in two
+ levels of hierarchy :
+
+ \begin{itemize}\itemsep=-.8ex
+-\item The first level will write the circuit like the instanciation of three blocks.
++\item The first level will write the circuit like the instantiation of three blocks.
+ \item The second level will write each of the three blocks in term
+ of elementary gates of the standard library.
+ \end{itemize}
+@@ -522,7 +522,7 @@ vectors more consequent (a hundred clock-edges).
+ However, the writing of the stimuli file directly is a tiresome work.
+ The tool {\bf genpat} enables you to undertake this work in a
+ procedural way. The language {\bf genpat} is a subset of " C " functions.
+-For more informations on genpat and the functions of the
++For more information on genpat and the functions of the
+ associated library do not hesitate to use the command:
+
+ \begin{commandline}
+@@ -581,7 +581,7 @@ Initially you must write the structural
+ description file of addaccu. This file will have the extension "
+ vst " which is the usual extension to indicate a { \bf VHDL }
+ structural file (Vhdl Structural view). This view will contain the
+-instanciation of three independent blocks:
++instantiation of three independent blocks:
+
+ \begin{description}\itemsep=-.8ex
+ \item[Block 1] : The 4 bits adder.
+@@ -633,7 +633,7 @@ adder by their structural views by modifying the {\bf CATAL} file
+ (by removing the component name ).
+
+ Each block (alu, accu, mux) must now be described like an
+-interconnection of elementary gates. The gates which are to instanciate will
++interconnection of elementary gates. The gates which are to instantiate will
+ be chosen among those available in the library of standard cells {
+ \bf SXLIB }. For the functionality of the various cells and their
+ interface, the sxlib man is available. The behavioral
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amd2901/amd2901_core.c b/alliance/src/documentation/tutorials/synthesis/src/amd2901/amd2901_core.c
+index b437b14..2487397 100644
+--- a/alliance/src/documentation/tutorials/synthesis/src/amd2901/amd2901_core.c
++++ b/alliance/src/documentation/tutorials/synthesis/src/amd2901/amd2901_core.c
+@@ -52,7 +52,7 @@ main()
+ GENLIB_LOCON("vss", IN ,"vss");
+
+
+- /* **************** Data-Path Instanciation ***************** */
++ /* **************** Data-Path Instantiation ***************** */
+
+
+ GENLIB_LOINSE("amd2901_dpt", "dpt",
+@@ -111,7 +111,7 @@ main()
+ "vss => vss", 0);
+
+
+- /* ***************** Control Instanciation ****************** */
++ /* ***************** Control Instantiation ****************** */
+
+
+ GENLIB_LOINSE("amd2901_ctl", "ctl",
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amd2901/circuit.c b/alliance/src/documentation/tutorials/synthesis/src/amd2901/circuit.c
+index 1901622..bd4943e 100644
+--- a/alliance/src/documentation/tutorials/synthesis/src/amd2901/circuit.c
++++ b/alliance/src/documentation/tutorials/synthesis/src/amd2901/circuit.c
+@@ -13,7 +13,7 @@ GENLIB_LOCON("s",OUT,"s1");
+ GENLIB_LOCON("vdd",IN,"vdd");
+ GENLIB_LOCON("vss",IN,"vss");
+
+-/* Instanciation of the logical doors */
++/* Instantiation of the logical doors */
+ GENLIB_LOINS("na2_x1","nand2","a1","c1","f1","vdd","vss",0);
+ GENLIB_LOINS("no2_x1","nor2","b1","e1","g1","vdd","vss",0);
+ GENLIB_LOINS("o2_x2","or2","d1","f1","h1","vdd","vss",0);
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amd2901/data_path.c b/alliance/src/documentation/tutorials/synthesis/src/amd2901/data_path.c
+index 7e0522a..0153a87 100644
+--- a/alliance/src/documentation/tutorials/synthesis/src/amd2901/data_path.c
++++ b/alliance/src/documentation/tutorials/synthesis/src/amd2901/data_path.c
+@@ -22,7 +22,7 @@ GENLIB_MACRO(DPGEN_NAND2, "model_nand2_4bits", F_PLACE, 4, 1);
+ GENLIB_MACRO(DPGEN_OR2, "model_or2_4bits", F_PLACE, 4);
+ GENLIB_MACRO(DPGEN_ADSB2F, "model_add2_4bits", F_PLACE, 4);
+
+-/* operators Instanciation */
++/* operators Instantiation */
+
+ GENLIB_LOINS("model_nand2_4bits", "model_nand2_4bits",
+ "v", "v", "v", "v",
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe
+index 4c4e50e..3c26c07 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe
+index a3d6482..db861c4 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe
+index 1b837e9..f1b943a 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe
+index 449ab3d..bb4ff99 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe
+index a8c5397..0be89fa 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe
+index fc3372c..d39b84a 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe
+index e25d69a..ab47b34 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe
+index 78f6d3e..275ba98 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe
+index fc95e72..6af736f 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe
+index 8a37405..bb8cac0 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe
+index 52038f5..0e1acc2 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe
+index 5ba1aab..a85ba8f 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe
+index 1ee35c3..204762e 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe
+index 671c883..0a3aceb 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe
+index 1b9901b..845ee16 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe
+index 81d04d3..a431fbb 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe
+@@ -345,7 +345,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe
+index ffd7688..6db8993 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe
+index 46b09b0..823c98b 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe
+index 4a34962..0f9ab07 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe
+index 70c302f..7bcb9c4 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe
+index 64b6028..449501d 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe
+index 0c19eae..af7520c 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe
+index c594330..323347f 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe
+index c313e4b..4e15501 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe
+index f760a47..6531ba8 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe
+index 5ba1aab..a85ba8f 100755
+--- a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe
++++ b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe
+@@ -344,7 +344,7 @@ BEGIN
+ END BLOCK;
+ --
+ --
+--- Writing RAM adress b
++-- Writing RAM address b
+ --
+
+ -- b="0000"
+diff --git a/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex b/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
+index bf2fdde..099caee 100755
+--- a/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
++++ b/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
+@@ -623,7 +623,7 @@ cell.
+ %-----------------------------------------------------
+ The netlist must be validated. For that, you have { \bf ASIMUT },
+ but also the tool { \bf PROOF } which proceeds to a formal comparison of two behavioral
+- descriptions ({ \bf vbe }). The tool { \bf FLATBEH } is usefull to obtain a
++ descriptions ({ \bf vbe }). The tool { \bf FLATBEH } is useful to obtain a
+ new behavioral file starting from a { \it netlist }
+ (given a {\bf vbe} file for each leave cells of the hierarchy).
+
+diff --git a/alliance/src/dreal/src/GRD_error.c b/alliance/src/dreal/src/GRD_error.c
+index 1a3a7d0..19d2107 100644
+--- a/alliance/src/dreal/src/GRD_error.c
++++ b/alliance/src/dreal/src/GRD_error.c
+@@ -214,11 +214,13 @@ void DrealInitializeErrorMessage( Debug )
+ sprintf( DrealAllFileName, "/tmp/%s_all_%d", PACKAGE, getpid() );
+
+ DrealStreamErr = freopen( DrealErrFileName, "w+", stderr);
++//DrealStreamErr = stderr;
+ DrealStreamAll = fopen ( DrealAllFileName, "w+" );
+
+ if ( DrealNormalMode )
+ {
+ DrealStreamOut = freopen( DrealOutFileName, "w+", stdout);
++ //DrealStreamOut = stdout;
+ }
+ else
+ {
+diff --git a/alliance/src/druc/man1/druc.1 b/alliance/src/druc/man1/druc.1
+index aa3628b..6e6179a 100644
+--- a/alliance/src/druc/man1/druc.1
++++ b/alliance/src/druc/man1/druc.1
+@@ -21,9 +21,9 @@ druc \- Design Rule Checker
+ This tool replace the \fBVERSATIL\fP tool that is not anymore supported.
+ .br
+ This manual presents the layout rules for tle \fBALLIANCE\fP symbolic layout approach.
+-The rules are described in a technology file defined by the environment variable \fB RDS_TECHNO_NAME\fP (see bellow).
++The rules are described in a technology file defined by the environment variable \fB RDS_TECHNO_NAME\fP (see below).
+ .br
+-The root cell and all the instanciated cells (except the intanciated libraries cells) must be in the current directory.
++The root cell and all the instantiated cells (except the intanciated libraries cells) must be in the current directory.
+ .br
+ The default mode of \fBDRuC\fP is (currently) full flat:
+ it first flatten all the hierarchy in order to obtain a flat, rectangle level description.
+@@ -464,7 +464,7 @@ This \fBgds\fP ro \fBcif\fp file contains only rectangles detected in violation.
+ .ti 8
+ - MBK_CATA_LIB - defines the catalog directory.
+ .HP
+-See the corresponding manual pages for further informations.
++See the corresponding manual pages for further information.
+ .SH EXAMPLE
+ druc register
+ .br
+diff --git a/alliance/src/exp/doc/exp.1 b/alliance/src/exp/doc/exp.1
+index 5293208..125c30e 100644
+--- a/alliance/src/exp/doc/exp.1
++++ b/alliance/src/exp/doc/exp.1
+@@ -6,8 +6,8 @@
+ .\" Main useful commands
+ .\" --------------------
+ .\" .TH Head and Foot of page
+-.\" .SH at the line begining is a Section Header
+-.\" .SS at the line begining is a Sub-Section Header
++.\" .SH at the line beginning is a Section Header
++.\" .SS at the line beginning is a Sub-Section Header
+ .\" .TP allows to present a list of items, the nextline is the title,
+ .\" the following lines is the corpus shifted of chars.
+ .\" if is omited, the default value is 7
+@@ -15,9 +15,9 @@
+ .\" \fB is for Bold font \fP is to return to Previous font
+ .\" \fI is to underlined or to change to Italic font
+ .\" .B .I can be used for Bold or Italic, if place a the line beginning
+-.\" .br at the line begining break the line, a blank line put a blank line
++.\" .br at the line beginning break the line, a blank line put a blank line
+ .\" .nf Begins a Non-Formatted zone where each line-break is put as-is
+-.\" .fi Returns to Formatted mode .nf/.fi is usefull for example to draw tables
++.\" .fi Returns to Formatted mode .nf/.fi is useful for example to draw tables
+ .\" ---------------------------------------------------------------------------
+
+ .SH EXP
+@@ -227,7 +227,7 @@ The minimum (resp. maximum) value of its arguments.
+ .IP \(bu 3
+ [min(3.0,12.1)] \fIprint\fP 3.000
+ .IP \(bu 3
+-[min('RW_ALU.*')] \fIprint\fP min value of all variables begining by RW_ALU
++[min('RW_ALU.*')] \fIprint\fP min value of all variables beginning by RW_ALU
+ .RE
+
+ .TP
+@@ -301,7 +301,7 @@ one is empty.
+ WITDH = 2;
+ LENGTH = 25 ;
+ ]
+-this message is unchanged but all expresions are computed
++this message is unchanged but all expressions are computed
+ length_div_2 = [LENGTH/2]
+ length_mul_2 = {LENGTH*2}
+ result = [max ('leng.*')]
+@@ -311,7 +311,7 @@ this message is unchanged but all expresions are computed
+ .nf
+ # this is a test file
+
+-this message is unchanged but all expresions are computed
++this message is unchanged but all expressions are computed
+ length_div_2 = 12.500
+ length_mul_2 = 50
+ result = 12.500
+diff --git a/alliance/src/exp/src/ht.c b/alliance/src/exp/src/ht.c
+index 8e647bd..3c610d6 100644
+--- a/alliance/src/exp/src/ht.c
++++ b/alliance/src/exp/src/ht.c
+@@ -22,13 +22,13 @@ htelt_t *eltadd (htelt_t * list, char *key)
+ }
+ else if ((new_elt = malloc (sizeof (htelt_t))) == NULL)
+ {
+- perror ("add elt in dictionnary");
++ perror ("add elt in dictionary");
+ exit (1);
+ }
+ if (key)
+ if ((new_elt->KEY = strdup (key)) == NULL)
+ {
+- perror ("add elt in dictionnary");
++ perror ("add elt in dictionary");
+ exit (1);
+ }
+ new_elt->NEXT = list;
+@@ -147,7 +147,7 @@ static long hash (ht_t * ht, char *key)
+
+ if (ht == NULL)
+ {
+- fprintf (stderr, "dictionnary not allocated\n");
++ fprintf (stderr, "dictionary not allocated\n");
+ exit (1);
+ }
+ if ((key == NULL) || (length == 0))
+diff --git a/alliance/src/fmi/man1/fmi.1 b/alliance/src/fmi/man1/fmi.1
+index df7670f..c66d870 100644
+--- a/alliance/src/fmi/man1/fmi.1
++++ b/alliance/src/fmi/man1/fmi.1
+@@ -11,7 +11,7 @@ fmi
+ .SH DESCRIPTION
+ .br
+ Made to run on FSM descriptions, \fBfmi\fP supports the same subset of VHDL as syf
+-(for further informations about this subset see SYF(1) and FSM(5)).
++(for further information about this subset see SYF(1) and FSM(5)).
+ \fBfmi\fP uses a Reduced Ordered Binary Decision Diagrams representation and
+ identifies equivalent states.
+ After this step, it drives a new FSM where all equivalent states are replaced
+@@ -29,7 +29,7 @@ The default value is the current directory.
+ .br
+ .HP
+ .ti 7
+-\fIMBK_CATA_LIB\fP gives some auxiliary pathes for the FSM descriptions.
++\fIMBK_CATA_LIB\fP gives some auxiliary paths for the FSM descriptions.
+ The default value is the current directory.
+ .SH OPTIONS
+ .ti 7
+diff --git a/alliance/src/fsm/man5/fsm.5 b/alliance/src/fsm/man5/fsm.5
+index e5f40ad..6ac0a21 100644
+--- a/alliance/src/fsm/man5/fsm.5
++++ b/alliance/src/fsm/man5/fsm.5
+@@ -36,7 +36,7 @@ For the scan-path, three more signals are required :
+ - scan_out: out bit
+ .RE
+ .br
+-For a ROM implementation, the vdd and vss signals must be explicitely declared as :
++For a ROM implementation, the vdd and vss signals must be explicitly declared as :
+ .RS
+ .br
+ - rom_vdd : in bit
+@@ -50,7 +50,7 @@ The '-P' option of \fBsyf\fP(1) allows scan-path implementation.
+ Pragmas :
+ .br
+ .RS
+-A pragma is a comment that gives necessary informations to the synthesis and formal
++A pragma is a comment that gives necessary information to the synthesis and formal
+ proof tools.
+ .br
+
+@@ -99,7 +99,7 @@ The last ones for ROM implementation
+ Two different processes are used : The first process, called state process,
+ allows to describe state transition and outputs generation.
+ It is not controlled by the clock.
+-The second process is controlled by the clock and descibes the state
++The second process is controlled by the clock and describes the state
+ register and stack registers modifications.
+ .br
+ State process sensitivity list contains inputs and CURRENT_STATE, it means
+@@ -236,7 +236,7 @@ end auto;
+ .SH MULTI FSM EXAMPLE
+ .br
+ It is possible to describe in the same description two or more FSM
+-communicating each others throw internal signals as shown bellow.
++communicating each others throw internal signals as shown below.
+ It is also possible to incorporate concurrent statements using VBE(5)
+ VHDL coding style.
+ .nf
+diff --git a/alliance/src/fsp/man1/fsp.1 b/alliance/src/fsp/man1/fsp.1
+index f7dcf93..704370f 100644
+--- a/alliance/src/fsp/man1/fsp.1
++++ b/alliance/src/fsp/man1/fsp.1
+@@ -11,7 +11,7 @@ fsp
+ .SH DESCRIPTION
+ .br
+ Made to run on FSM descriptions, \fBfsp\fP supports the same subset of VHDL as syf
+-(for further informations about this subset see SYF(1) and FSM(5)).
++(for further information about this subset see SYF(1) and FSM(5)).
+ \fBfsp\fP uses a Reduced Ordered Binary Decision Diagrams representation and
+ computes the product of the two FSM descriptions.
+ After this step, it explores the resulting FSM product and proves formally the equivalence
+@@ -27,7 +27,7 @@ The default value is the current directory.
+ .br
+ .HP
+ .ti 7
+-\fIMBK_CATA_LIB\fP gives some auxiliary pathes for the FSM descriptions.
++\fIMBK_CATA_LIB\fP gives some auxiliary paths for the FSM descriptions.
+ The default value is the current directory.
+ .SH OPTIONS
+ .ti 7
+diff --git a/alliance/src/genlib/doc/genlib/man_dpgen_nand2mask.html b/alliance/src/genlib/doc/genlib/man_dpgen_nand2mask.html
+index 9ce9235..172823e 100644
+--- a/alliance/src/genlib/doc/genlib/man_dpgen_nand2mask.html
++++ b/alliance/src/genlib/doc/genlib/man_dpgen_nand2mask.html
+@@ -191,7 +191,7 @@ CLASS="EMPHASIS"
+ CLASS="EMPHASIS"
+ >ANDed with the mask
+- (suplied by constVal).
+diff --git a/alliance/src/genlib/doc/genlib/man_dpgen_nor2mask.html b/alliance/src/genlib/doc/genlib/man_dpgen_nor2mask.html
+index ed42ff8..925b9a9 100644
+--- a/alliance/src/genlib/doc/genlib/man_dpgen_nor2mask.html
++++ b/alliance/src/genlib/doc/genlib/man_dpgen_nor2mask.html
+@@ -191,7 +191,7 @@ CLASS="EMPHASIS"
+ CLASS="EMPHASIS"
+ >ORed with the mask
+- (suplied by constVal).
+diff --git a/alliance/src/genlib/doc/genlib/man_dpgen_xnor2mask.html b/alliance/src/genlib/doc/genlib/man_dpgen_xnor2mask.html
+index 5755ff4..a969082 100644
+--- a/alliance/src/genlib/doc/genlib/man_dpgen_xnor2mask.html
++++ b/alliance/src/genlib/doc/genlib/man_dpgen_xnor2mask.html
+@@ -191,7 +191,7 @@ CLASS="EMPHASIS"
+ CLASS="EMPHASIS"
+ >XORed with the mask
+- (suplied by constVal).
+diff --git a/alliance/src/genlib/doc/genlib/man_genlib.html b/alliance/src/genlib/doc/genlib/man_genlib.html
+index 1da471e..f593896 100644
+--- a/alliance/src/genlib/doc/genlib/man_genlib.html
++++ b/alliance/src/genlib/doc/genlib/man_genlib.html
+@@ -331,7 +331,7 @@ CLASS="EMPHASIS"
+
The symbolic objects are segments (wires), vias (contacts),
+- connectors (I/Os), references and instances. For more informations,
++ connectors (I/Os), references and instances. For more information,
+ see
+
+
+- See the corresponding manual pages for further informations.
++ See the corresponding manual pages for further information.
+
In order to compile and execute a genlib source file.
+ The source file must have a .c extension, but the extension should
+- not be mentionned on the command line.
++ not be mentioned on the command line.
+
The names used in genlib, as arguments to genlib functions,
+@@ -1007,7 +1007,7 @@ CLASS="EMPHASIS"
+ > [--keep-log|-l] : do not erase the log file after a successfull
++> : do not erase the log file after a successful
+ completion (the log is keeped after a faulty run).
+
if the &cmd; signal is set to &one;, the mask IS
+ applied, the output is the complemented
+ result of the input value ANDed with the mask
+- (suplied by &constVal;).
++ (supplied by &constVal;).
+
+
+
+diff --git a/alliance/src/genlib/doc/man_dpgen_nor2mask.sgm b/alliance/src/genlib/doc/man_dpgen_nor2mask.sgm
+index c2d2efd..14341a7 100644
+--- a/alliance/src/genlib/doc/man_dpgen_nor2mask.sgm
++++ b/alliance/src/genlib/doc/man_dpgen_nor2mask.sgm
+@@ -45,7 +45,7 @@
+ if the &cmd; signal is set to &one;, the mask IS
+ applied, the output is the complemented
+ result of the input value ORed with the mask
+- (suplied by &constVal;).
++ (supplied by &constVal;).
+
+
+
+diff --git a/alliance/src/genlib/doc/man_dpgen_xnor2mask.sgm b/alliance/src/genlib/doc/man_dpgen_xnor2mask.sgm
+index e88a5e0..c623dd2 100644
+--- a/alliance/src/genlib/doc/man_dpgen_xnor2mask.sgm
++++ b/alliance/src/genlib/doc/man_dpgen_xnor2mask.sgm
+@@ -45,7 +45,7 @@
+ if the &cmd; signal is set to &one;, the mask IS
+ applied, the output is the complemented
+ result of the input value XORed with the mask
+- (suplied by &constVal;).
++ (supplied by &constVal;).
+
+
+
+diff --git a/alliance/src/genlib/doc/man_genlib.sgm b/alliance/src/genlib/doc/man_genlib.sgm
+index 8399e9d..5a1e112 100644
+--- a/alliance/src/genlib/doc/man_genlib.sgm
++++ b/alliance/src/genlib/doc/man_genlib.sgm
+@@ -145,7 +145,7 @@
+ compaction).
+
+ The symbolic objects are segments (wires), vias (contacts),
+- connectors (I/Os), references and instances. For more informations,
++ connectors (I/Os), references and instances. For more information,
+ see
+ phseg
+ 1,
+@@ -474,12 +474,12 @@
+
+
+ -->
+- See the corresponding manual pages for further informations.
++ See the corresponding manual pages for further information.
+
+ In order to compile and execute a &genlib; file, one has to
+ call &genlib; with one argument, that is the &genlib; source file.
+ The source file must have a .c extension, but the extension should
+- not be mentionned on the command line.
++ not be mentioned on the command line.
+
+ The names used in genlib, as arguments to genlib functions,
+ should be alphanumerical, including the underscore. They also are not
+@@ -534,7 +534,7 @@
+
+
+
+- &arg-keep-log; : do not erase the log file after a successfull
++ &arg-keep-log; : do not erase the log file after a successful
+ completion (the log is keeped after a faulty run).
+
+
+diff --git a/alliance/src/genlib/man1/genlib.1 b/alliance/src/genlib/man1/genlib.1
+index 7aa4156..5ba22e9 100644
+--- a/alliance/src/genlib/man1/genlib.1
++++ b/alliance/src/genlib/man1/genlib.1
+@@ -84,7 +84,7 @@ procedural layout. In order to provide some process independance,
+ compaction).
+ .PP
+ The symbolic objects are segments (wires), vias (contacts),
+-connectors (I/Os), references and instances. For more informations,
++connectors (I/Os), references and instances. For more information,
+ see
+ \fBphseg\fR(1),
+ \fBphvia\fR(1),
+@@ -241,12 +241,12 @@ default value : \&.
+ \(bu
+ \fBMBK_CATAL_NAME\fR(1),
+ default value : CATAL
+-See the corresponding manual pages for further informations.
++See the corresponding manual pages for further information.
+ .PP
+ In order to compile and execute a \fBgenlib\fR file, one has to
+ call \fBgenlib\fR with one argument, that is the \fBgenlib\fR source file.
+ The source file must have a .c extension, but the extension should
+-not be mentionned on the command line.
++not be mentioned on the command line.
+ .PP
+ The names used in genlib, as arguments to genlib functions,
+ should be alphanumerical, including the underscore. They also are not
+@@ -278,7 +278,7 @@ after execution.
+ \fBgenlib\fR run.
+ .TP 0.2i
+ \(bu
+-[--keep-log|-l] : do not erase the log file after a successfull
++[--keep-log|-l] : do not erase the log file after a successful
+ completion (the log is keeped after a faulty run).
+ .TP 0.2i
+ \(bu
+diff --git a/alliance/src/genlib/man3/DPGEN_NAND2MASK.3 b/alliance/src/genlib/man3/DPGEN_NAND2MASK.3
+index 354f295..04890c9 100644
+--- a/alliance/src/genlib/man3/DPGEN_NAND2MASK.3
++++ b/alliance/src/genlib/man3/DPGEN_NAND2MASK.3
+@@ -27,7 +27,7 @@ applied, so the whole operator behave like an inverter.
+ if the cmd signal is set to \&'1', the mask IS
+ applied, the output is the \fBcomplemented\fR
+ result of the input value \fBANDed\fR with the mask
+-(suplied by \fIconstVal\fR).
++(supplied by \fIconstVal\fR).
+ .PP
+ The constant \fIconstVal\fR is given to the macro-generator
+ call, therefore the value cannot be changed afterward : it's
+diff --git a/alliance/src/genlib/man3/DPGEN_NOR2MASK.3 b/alliance/src/genlib/man3/DPGEN_NOR2MASK.3
+index 8c551d4..87155ef 100644
+--- a/alliance/src/genlib/man3/DPGEN_NOR2MASK.3
++++ b/alliance/src/genlib/man3/DPGEN_NOR2MASK.3
+@@ -27,7 +27,7 @@ applied, so the whole operator behave like an inverter.
+ if the cmd signal is set to \&'1', the mask IS
+ applied, the output is the \fBcomplemented\fR
+ result of the input value \fBORed\fR with the mask
+-(suplied by \fIconstVal\fR).
++(supplied by \fIconstVal\fR).
+ .PP
+ The constant \fIconstVal\fR is given to the macro-generator
+ call, therefore the value cannot be changed afterward : it's
+diff --git a/alliance/src/genlib/man3/DPGEN_XNOR2MASK.3 b/alliance/src/genlib/man3/DPGEN_XNOR2MASK.3
+index 9c4e5e0..97081cd 100644
+--- a/alliance/src/genlib/man3/DPGEN_XNOR2MASK.3
++++ b/alliance/src/genlib/man3/DPGEN_XNOR2MASK.3
+@@ -27,7 +27,7 @@ applied, so the whole operator behave like an inverter.
+ if the cmd signal is set to \&'1', the mask IS
+ applied, the output is the \fBcomplemented\fR
+ result of the input value \fBXORed\fR with the mask
+-(suplied by \fIconstVal\fR).
++(supplied by \fIconstVal\fR).
+ .PP
+ The constant \fIconstVal\fR is given to the macro-generator
+ call, therefore the value cannot be changed afterward : it's
+diff --git a/alliance/src/genlib/man3/GENLIB_BUS.3 b/alliance/src/genlib/man3/GENLIB_BUS.3
+index bd458a5..242082c 100644
+--- a/alliance/src/genlib/man3/GENLIB_BUS.3
++++ b/alliance/src/genlib/man3/GENLIB_BUS.3
+@@ -9,7 +9,7 @@ GENLIB_BUS
+ .TH GENLIB_BUS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_BUS \- Creates a bus name for netlist
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -43,7 +43,7 @@ They are:
+ \fBLOCON\fP(3)
+ .RE
+ The \fIfrom, to\fP arguments give the boundaries of the bus to be created,
+-both of them beeing included in the set. The function allows increasing or
++both of them being included in the set. The function allows increasing or
+ decreasing order busses, as one could expect.
+ .br
+ This function has a constant equivalent, it means that if the \fIfrom, to\fP
+diff --git a/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_CON.3 b/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_CON.3
+index 0782744..3c05646 100644
+--- a/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_CON.3
++++ b/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_CON.3
+@@ -10,7 +10,7 @@ GENLIB_COPY_UP_ALL_CON
+ .SH NAME
+ GENLIB_COPY_UP_ALL_CON \- copy all physical connectors of an instance face in the
+ current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -32,7 +32,7 @@ Face of the instance
+ Name of the instance the connector belongs to
+ .TP
+ \fIconcatenate\fP
+-Indicates wheter or not to concatenate instance connectors names with instance
++Indicates whether or not to concatenate instance connectors names with instance
+ name
+ .SH DESCRIPTION
+ \fBCOPY_UP_ALL_CON\fP copies all instance connectors of the face \fIface\fP of
+diff --git a/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_REF.3 b/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_REF.3
+index 6dc5f22..f44bcdb 100644
+--- a/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_REF.3
++++ b/alliance/src/genlib/man3/GENLIB_COPY_UP_ALL_REF.3
+@@ -10,7 +10,7 @@ GENLIB_COPY_UP_ALL_REF
+ .SH NAME
+ GENLIB_COPY_UP_ALL_REF \- copy a several physical reference from an instance
+ in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_COPY_UP_CON.3 b/alliance/src/genlib/man3/GENLIB_COPY_UP_CON.3
+index bd921e7..f7cecc2 100644
+--- a/alliance/src/genlib/man3/GENLIB_COPY_UP_CON.3
++++ b/alliance/src/genlib/man3/GENLIB_COPY_UP_CON.3
+@@ -10,7 +10,7 @@ GENLIB_COPY_UP_CON
+ .SH NAME
+ GENLIB_COPY_UP_CON \- copy a physical connector from an instance in the
+ current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_COPY_UP_CON_FACE.3 b/alliance/src/genlib/man3/GENLIB_COPY_UP_CON_FACE.3
+index 4825199..2a43e84 100644
+--- a/alliance/src/genlib/man3/GENLIB_COPY_UP_CON_FACE.3
++++ b/alliance/src/genlib/man3/GENLIB_COPY_UP_CON_FACE.3
+@@ -10,7 +10,7 @@ GENLIB_COPY_UP_CON_FACE
+ .SH NAME
+ GENLIB_COPY_UP_CON_FACE \- copy a physical connector from an instance in the
+ current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_COPY_UP_REF.3 b/alliance/src/genlib/man3/GENLIB_COPY_UP_REF.3
+index 019afa6..83fd684 100644
+--- a/alliance/src/genlib/man3/GENLIB_COPY_UP_REF.3
++++ b/alliance/src/genlib/man3/GENLIB_COPY_UP_REF.3
+@@ -10,7 +10,7 @@ GENLIB_COPY_UP_REF
+ .SH NAME
+ GENLIB_COPY_UP_REF \- copy a physical reference from an instance in the current
+ figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_COPY_UP_SEG.3 b/alliance/src/genlib/man3/GENLIB_COPY_UP_SEG.3
+index 5379d87..eec17eb 100644
+--- a/alliance/src/genlib/man3/GENLIB_COPY_UP_SEG.3
++++ b/alliance/src/genlib/man3/GENLIB_COPY_UP_SEG.3
+@@ -10,7 +10,7 @@ GENLIB_COPY_UP_SEG
+ .SH NAME
+ GENLIB_COPY_UP_SEG \- copy a physical segment from an instance in the current
+ figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_DEF_AB.3 b/alliance/src/genlib/man3/GENLIB_DEF_AB.3
+index d448f85..756680a 100644
+--- a/alliance/src/genlib/man3/GENLIB_DEF_AB.3
++++ b/alliance/src/genlib/man3/GENLIB_DEF_AB.3
+@@ -9,7 +9,7 @@ GENLIB_DEF_AB
+ .TH GENLIB_DEF_AB.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_DEF_AB \- define a new \fIabutment box\fP to the current layout cell
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_DEF_LOFIG.3 b/alliance/src/genlib/man3/GENLIB_DEF_LOFIG.3
+index 3499343..6816a1e 100644
+--- a/alliance/src/genlib/man3/GENLIB_DEF_LOFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_DEF_LOFIG.3
+@@ -9,7 +9,7 @@ GENLIB_DEF_LOFIG
+ .TH GENLIB_DEF_LOFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_DEF_LOFIG \- open a netlist model as current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,7 +29,7 @@ Name of the cell which all futher calls to genlib logical functions will work on
+ \fBDEF_LOFIG\fP defines the current working structural figure by it's name,
+ the \fIcellname\fP argument. It can be use anywhere in the \fBgenlib\fP
+ program, but must appear at least once at the top of it, since it also
+-initalize the user's preferences through environment variables.
++initialize the user's preferences through environment variables.
+ .br
+ If the figure called cellname doesn't exists in memory, it is created.
+ If it already exists in memory, it makes it the current working figure.
+diff --git a/alliance/src/genlib/man3/GENLIB_DEF_PHFIG.3 b/alliance/src/genlib/man3/GENLIB_DEF_PHFIG.3
+index f5f9afb..915e093 100644
+--- a/alliance/src/genlib/man3/GENLIB_DEF_PHFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_DEF_PHFIG.3
+@@ -9,7 +9,7 @@ GENLIB_DEF_PHFIG
+ .TH GENLIB_DEF_PHFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_DEF_PHFIG \- open a layout model as current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,7 +29,7 @@ Name of the cell which all futher calls to genlib physical functions will work o
+ \fBDEF_PHFIG\fP defines the current physical working figure by it's name,
+ the \fIcellname\fP argument. It can be use anywhere in the \fBgenlib\fP
+ program, but must appear at least once at the top of it, since it also
+-initalize the user's preferences through environment variables.
++initialize the user's preferences through environment variables.
+ .br
+ If the figure called cellname doesn't exists in memory, it is created.
+ If it already exists in memory, it makes it the current working figure.
+diff --git a/alliance/src/genlib/man3/GENLIB_DEF_PHINS.3 b/alliance/src/genlib/man3/GENLIB_DEF_PHINS.3
+index 398e2e6..a7e7e30 100644
+--- a/alliance/src/genlib/man3/GENLIB_DEF_PHINS.3
++++ b/alliance/src/genlib/man3/GENLIB_DEF_PHINS.3
+@@ -9,7 +9,7 @@ GENLIB_DEF_PHINS
+ .TH GENLIB_DEF_PHINS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_DEF_PHINS \- define a new reference instance
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ Defines the instance called \fIinstancename\fP as the new "reference instance"
+ in the relative placement functions of genlib. It's regarding the \fBabutment
+ box\fP of the instance \fIinstancename\fP that the next instance is going to be
+ placed, if using the appropriate functions. Notice that the more recently
+-placed instance becomes automaticaly the "reference instance", if
++placed instance becomes automatically the "reference instance", if
+ \fBDEF_PHINS\fP isn't called.
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_DEF_PHSC.3 b/alliance/src/genlib/man3/GENLIB_DEF_PHSC.3
+index b5b18c3..608671e 100644
+--- a/alliance/src/genlib/man3/GENLIB_DEF_PHSC.3
++++ b/alliance/src/genlib/man3/GENLIB_DEF_PHSC.3
+@@ -9,7 +9,7 @@ GENLIB_DEF_PHSC
+ .TH GENLIB_DEF_PHSC.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_DEF_PHSC \- load a netlist and open a layout model as current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ futher physical placement.
+ the \fIcellname\fP argument, for layout and netlist operations.
+ It can be use anywhere in the \fBgenlib\fP
+ program, but must appear at least once at the top of it, since it also
+-initalize the user's preferences through environment variables.
++initialize the user's preferences through environment variables.
+ .br
+ \fBDEF_PHSC\fP looks for the netlist figure \fIcellname\fP in memory, and if
+ not found, on disk. If it fails, an error occurs and the process terminates.
+diff --git a/alliance/src/genlib/man3/GENLIB_ELM.3 b/alliance/src/genlib/man3/GENLIB_ELM.3
+index 74d3e76..9f714cd 100644
+--- a/alliance/src/genlib/man3/GENLIB_ELM.3
++++ b/alliance/src/genlib/man3/GENLIB_ELM.3
+@@ -9,7 +9,7 @@ GENLIB_ELM
+ .TH GENLIB_ELM.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_ELM \- Creates a single element bus name for netlist
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_LOINS.3 b/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_LOINS.3
+index 3325247..2e9a87f 100644
+--- a/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_LOINS.3
++++ b/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_LOINS.3
+@@ -9,7 +9,7 @@ GENLIB_FLATTEN_ALL_LOINS
+ .TH GENLIB_FLATTEN_ALL_LOINS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_FLATTEN_ALL_LOINS \- flatten all instances in the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ Indicate whether or not to look in the catalog file before flattening a cell
+ \fBFLATTEN_ALL_LOINS\fP inserts the contents of all the instances of the
+ current figure in the current figure.
+ All these instances are destroyed during the process, and therefore cannot be
+-refered to later in the netlist description.
++referred to later in the netlist description.
+ .br
+ The \fIconcat\fP parameter may take two values:
+ .TP
+diff --git a/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_PHINS.3 b/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_PHINS.3
+index 6329824..5b07968 100644
+--- a/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_PHINS.3
++++ b/alliance/src/genlib/man3/GENLIB_FLATTEN_ALL_PHINS.3
+@@ -9,7 +9,7 @@ GENLIB_FLATTEN_ALL_PHINS
+ .TH GENLIB_FLATTEN_ALL_PHINS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_FLATTEN_ALL_PHINS \- flatten all instances in the current layout figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -32,7 +32,7 @@ Indicate whether or not to look in the catalog file before flattening a cell
+ \fBFLATTEN_ALL_PHINS\fP inserts the contents of all the instances of the
+ current figure in the current figure.
+ All these instances are destroyed during the process, and therefore cannot be
+-refered to later in the layout description.
++referred to later in the layout description.
+ .br
+ The \fIconcat\fP parameter may take two values:
+ .TP
+diff --git a/alliance/src/genlib/man3/GENLIB_FLATTEN_LOFIG.3 b/alliance/src/genlib/man3/GENLIB_FLATTEN_LOFIG.3
+index 9d5bcd3..8c5a296 100644
+--- a/alliance/src/genlib/man3/GENLIB_FLATTEN_LOFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_FLATTEN_LOFIG.3
+@@ -9,7 +9,7 @@ GENLIB_FLATTEN_LOFIG
+ .TH GENLIB_FLATTEN_LOFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_FLATTEN_LOFIG \- flatten an instance in the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_FLATTEN_PHFIG.3 b/alliance/src/genlib/man3/GENLIB_FLATTEN_PHFIG.3
+index 3b14cea..e143332 100644
+--- a/alliance/src/genlib/man3/GENLIB_FLATTEN_PHFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_FLATTEN_PHFIG.3
+@@ -9,7 +9,7 @@ GENLIB_FLATTEN_PHFIG
+ .TH GENLIB_FLATTEN_PHFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_FLATTEN_PHFIG \- flatten an instance in the current layout figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_GET_CON_X.3 b/alliance/src/genlib/man3/GENLIB_GET_CON_X.3
+index c48c9ea..e5703cb 100644
+--- a/alliance/src/genlib/man3/GENLIB_GET_CON_X.3
++++ b/alliance/src/genlib/man3/GENLIB_GET_CON_X.3
+@@ -9,7 +9,7 @@ GENLIB_GET_CON_X
+ .TH GENLIB_GET_CON_X.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_GET_CON_X \- retrieve the x coordinate of an instance connector
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,7 +37,7 @@ the connector, \fIconname\fP, in the instance called \fIinsname\fP.
+ Then it computes its absolute coordinates in the figure, and gives back the
+ x coordinate.
+ .SH RETURN VALUE
+-The function returns a long int beeing the x position of the connector
++The function returns a long int being the x position of the connector
+ in the current figure
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_GET_CON_Y.3 b/alliance/src/genlib/man3/GENLIB_GET_CON_Y.3
+index 1920be5..c66d052 100644
+--- a/alliance/src/genlib/man3/GENLIB_GET_CON_Y.3
++++ b/alliance/src/genlib/man3/GENLIB_GET_CON_Y.3
+@@ -9,7 +9,7 @@ GENLIB_GET_CON_Y
+ .TH GENLIB_GET_CON_Y.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_GET_CON_Y \- retrieve the x coordinate of an instance connector
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,7 +37,7 @@ the connector, \fIconname\fP, in the instance called \fIinsname\fP.
+ Then it computes its absolute coordinates in the figure, and gives back the
+ y coordinate.
+ .SH RETURN VALUE
+-The function returns a long int beeing the y position of the connector
++The function returns a long int being the y position of the connector
+ in the current figure
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_GET_INS_X.3 b/alliance/src/genlib/man3/GENLIB_GET_INS_X.3
+index 373f3b9..fee9832 100644
+--- a/alliance/src/genlib/man3/GENLIB_GET_INS_X.3
++++ b/alliance/src/genlib/man3/GENLIB_GET_INS_X.3
+@@ -9,7 +9,7 @@ GENLIB_GET_INS_X
+ .TH GENLIB_GET_INS_X.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_GET_INS_X \- retrieve the x coordinate of an instance
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ the instance called \fIinsname\fP in the current figure.
+ Then it computes its absolute coordinates in the figure, and gives back its
+ x coordinate.
+ .SH RETURN VALUE
+-The function returns a long int beeing the x position of the instance
++The function returns a long int being the x position of the instance
+ in the current figure
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_GET_INS_Y.3 b/alliance/src/genlib/man3/GENLIB_GET_INS_Y.3
+index dbdb560..3a3cbe6 100644
+--- a/alliance/src/genlib/man3/GENLIB_GET_INS_Y.3
++++ b/alliance/src/genlib/man3/GENLIB_GET_INS_Y.3
+@@ -9,7 +9,7 @@ GENLIB_GET_INS_Y
+ .TH GENLIB_GET_INS_Y.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_GET_INS_Y \- retrieve the y coordinate of an instance
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ the instance called \fIinsname\fP in the current figure.
+ Then it computes its absolute coordinates in the figure, and gives back its
+ y coordinate.
+ .SH RETURN VALUE
+-The function returns a long int beeing the y position of the instance
++The function returns a long int being the y position of the instance
+ in the current figure
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_GET_REF_X.3 b/alliance/src/genlib/man3/GENLIB_GET_REF_X.3
+index e274b98..dfbc8ec 100644
+--- a/alliance/src/genlib/man3/GENLIB_GET_REF_X.3
++++ b/alliance/src/genlib/man3/GENLIB_GET_REF_X.3
+@@ -9,7 +9,7 @@ GENLIB_GET_REF_X
+ .TH GENLIB_GET_REF_X.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_GET_REF_X \- retrieve the x coordinate of an instance reference
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,11 +27,11 @@ Name of the instance in the which the reference is to be searched for
+ .TP
+ \fIrefname\fP
+ Name of the reference
+-SH DESCRIPTION
++.SH DESCRIPTION
+ \fBGET_REF_X\fP looks for
+ the reference, \fIrefname\fP, in the instance called \fIinsname\fP.
+ .SH RETURN VALUE
+-The function returns a long int beeing the x position of the reference
++The function returns a long int being the x position of the reference
+ in the current figure
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_GET_REF_Y.3 b/alliance/src/genlib/man3/GENLIB_GET_REF_Y.3
+index bfd43d6..f0c7549 100644
+--- a/alliance/src/genlib/man3/GENLIB_GET_REF_Y.3
++++ b/alliance/src/genlib/man3/GENLIB_GET_REF_Y.3
+@@ -9,7 +9,7 @@ GENLIB_GET_REF_Y
+ .TH GENLIB_GET_REF_Y.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_GET_REF_Y \- retrieve the y coordinate of an instance reference
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -33,7 +33,7 @@ the reference, \fIrefname\fP, in the instance called \fIinsname\fP.
+ Then it computes its absolute coordinates in the figure, and gives back the
+ y coordinate.
+ .SH RETURN VALUE
+-The function returns a long int beeing the y position of the reference
++The function returns a long int being the y position of the reference
+ in the current figure
+ .SH ERRORS
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_HEIGHT.3 b/alliance/src/genlib/man3/GENLIB_HEIGHT.3
+index 3af692b..9d23978 100644
+--- a/alliance/src/genlib/man3/GENLIB_HEIGHT.3
++++ b/alliance/src/genlib/man3/GENLIB_HEIGHT.3
+@@ -9,7 +9,7 @@ GENLIB_HEIGHT
+ .TH GENLIB_HEIGHT.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_HEIGHT \- compute the height of a model
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ Name of the cell which height is needed
+ disk. When found, the figure \fIabutment box\fP height is calculated, and
+ returned.
+ .SH RETURN VALUE
+-\fIHEIGHT\fP returns a long int beeing the cell \fIabutment box\fP height.
++\fIHEIGHT\fP returns a long int being the cell \fIabutment box\fP height.
+ .SH EXAMPLE
+ .nf
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_LOAD_LOFIG.3 b/alliance/src/genlib/man3/GENLIB_LOAD_LOFIG.3
+index 8bcaec0..d318b9a 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOAD_LOFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_LOAD_LOFIG.3
+@@ -9,7 +9,7 @@ GENLIB_LOAD_LOFIG
+ .TH GENLIB_LOAD_LOFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOAD_LOFIG \- loads a netlist form disk and opens it as current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_LOAD_PHFIG.3 b/alliance/src/genlib/man3/GENLIB_LOAD_PHFIG.3
+index a4f6872..0fbcfa4 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOAD_PHFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_LOAD_PHFIG.3
+@@ -9,7 +9,7 @@ GENLIB_LOAD_PHFIG
+ .TH GENLIB_LOAD_PHFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ \fBPHAD_PHFIG\fP \- loads a layout form disk and opens it as current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_LOCAP.3 b/alliance/src/genlib/man3/GENLIB_LOCAP.3
+index 9f67634..00281ad 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOCAP.3
++++ b/alliance/src/genlib/man3/GENLIB_LOCAP.3
+@@ -9,7 +9,7 @@ GENLIB_LOCAP
+ .TH GENLIB_LOCAP.3 "August 16, 2002" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOCAP \- add a logical capacitor to the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_LOCON.3 b/alliance/src/genlib/man3/GENLIB_LOCON.3
+index 8ce0561..f640aa6 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOCON.3
++++ b/alliance/src/genlib/man3/GENLIB_LOCON.3
+@@ -9,7 +9,7 @@ GENLIB_LOCON
+ .TH GENLIB_LOCON.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOCON \- adds a logical connector to the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -103,7 +103,7 @@ the busses are not equal. This is an obvious error, check it.
+ "Illegal addlocon. Connector connector already exist in figure figname"
+ .ft R
+ .RS
+-A connector name must be unique in a given figure at a given hierachy level.
++A connector name must be unique in a given figure at a given hierarchy level.
+ .RE
+ .SH DIAGNOSTICS
+ Due to the \fBvti\fP file format, the direction of connectors is lost if
+diff --git a/alliance/src/genlib/man3/GENLIB_LOINS.3 b/alliance/src/genlib/man3/GENLIB_LOINS.3
+index 5a3381d..d9f55a6 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOINS.3
++++ b/alliance/src/genlib/man3/GENLIB_LOINS.3
+@@ -9,7 +9,7 @@ GENLIB_LOINS
+ .TH GENLIB_LOINS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOINS \- add a logical instance to the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -25,7 +25,7 @@ char \(**sig1, \(**sig2, ..., \(**sign;
+ .SH PARAMETERS
+ .TP 20
+ \fImodel\fP
+-Name of the model to be logically instanciated
++Name of the model to be logically instantiated
+ .TP
+ \fIinstance\fP
+ Name to be given to the new instance
+@@ -37,7 +37,7 @@ List of signals to be linked to the implicit connector list of the instance
+ \fBLOINS\fP uses environment variables to
+ choose the file format and the path to the file.
+ .br
+-\fBMBK_IN_LO\fP set up the input file format, the valid ones beeing :
++\fBMBK_IN_LO\fP set up the input file format, the valid ones being :
+ .RS
+ .br
+ \fBhns
+@@ -92,7 +92,7 @@ A signal, described under a bus form, has an illegal syntax.
+ .ft R
+ .br
+ .RS
+-An instance name must be unique in a given figure at a given hierachy level.
++An instance name must be unique in a given figure at a given hierarchy level.
+ .RE
+ .br
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_LOINSE.3 b/alliance/src/genlib/man3/GENLIB_LOINSE.3
+index 2803801..90e96c6 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOINSE.3
++++ b/alliance/src/genlib/man3/GENLIB_LOINSE.3
+@@ -9,7 +9,7 @@ GENLIB_LOINSE
+ .TH GENLIB_LOINSE.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOINSE \- add a logical instance to the current figure, with explicit connections
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -25,7 +25,7 @@ char \(**couple1, \(**couple2, ..., \(**couplen;
+ .SH PARAMETERS
+ .TP 20
+ \fImodel\fP
+-Name of the model to be logically instanciated
++Name of the model to be logically instantiated
+ .TP
+ \fIinstance\fP
+ Name to be given to the new instance
+@@ -37,7 +37,7 @@ Explicit list of connections between connectors and signals.
+ \fBLOINSE\fP uses environment variables to
+ choose the file format and the path to the file.
+ .br
+-\fBMBK_IN_LO\fP set up the input file format, the valid ones beeing :
++\fBMBK_IN_LO\fP set up the input file format, the valid ones being :
+ .RS
+ .br
+ \fBhns
+@@ -97,7 +97,7 @@ A signal, described under a bus form, has an illegal syntax.
+ .ft R
+ .br
+ .RS
+-An instance name must be unique in a given figure at a given hierachy level.
++An instance name must be unique in a given figure at a given hierarchy level.
+ .RE
+ .br
+ .if n \{\
+diff --git a/alliance/src/genlib/man3/GENLIB_LORES.3 b/alliance/src/genlib/man3/GENLIB_LORES.3
+index 58d5c5f..459ac0c 100644
+--- a/alliance/src/genlib/man3/GENLIB_LORES.3
++++ b/alliance/src/genlib/man3/GENLIB_LORES.3
+@@ -9,7 +9,7 @@ GENLIB_LORES
+ .TH GENLIB_LORES.3 "August 16, 2002" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LORES \- add a logical resistor to the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_LOSELF.3 b/alliance/src/genlib/man3/GENLIB_LOSELF.3
+index b42cf82..fd9531a 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOSELF.3
++++ b/alliance/src/genlib/man3/GENLIB_LOSELF.3
+@@ -9,7 +9,7 @@ GENLIB_LOSELF
+ .TH GENLIB_LOSELF.3 "August 16, 2002" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOSELF \- add a logical inductor to the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_LOSIG.3 b/alliance/src/genlib/man3/GENLIB_LOSIG.3
+index 91ef2f9..875f7db 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOSIG.3
++++ b/alliance/src/genlib/man3/GENLIB_LOSIG.3
+@@ -10,7 +10,7 @@ GENLIB_LOSIG
+ .SH NAME
+ GENLIB_LOSIG \- declare an internal logical signal, or a vector of internal
+ logical signals
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ char \(**name;
+ Name of a signal to be declared
+ .SH DESCRIPTION
+ \fBLOSIG\fP creates the internal signal, or the set of internal signals
+-coresponding to a vector description, represented by \fIname\fP.
++corresponding to a vector description, represented by \fIname\fP.
+ See \fBBUS(3)\fP and \fBELM(3)\fP for more details on vectors.
+ .br
+ The need for declaring signal is mostly felt when one wants to create a
+diff --git a/alliance/src/genlib/man3/GENLIB_LOSIGMERGE.3 b/alliance/src/genlib/man3/GENLIB_LOSIGMERGE.3
+index d76e86c..e5a42d0 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOSIGMERGE.3
++++ b/alliance/src/genlib/man3/GENLIB_LOSIGMERGE.3
+@@ -9,7 +9,7 @@ GENLIB_LOSIGMERGE
+ .TH GENLIB_LOSIGMERGE.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOSIGMERGE \- merge two logical signals
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_LOTRS.3 b/alliance/src/genlib/man3/GENLIB_LOTRS.3
+index d49685d..a680a06 100644
+--- a/alliance/src/genlib/man3/GENLIB_LOTRS.3
++++ b/alliance/src/genlib/man3/GENLIB_LOTRS.3
+@@ -9,7 +9,7 @@ GENLIB_LOTRS
+ .TH GENLIB_LOTRS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_LOTRS \- adds a logical transistor to the current netlist figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_OUTLINE.3 b/alliance/src/genlib/man3/GENLIB_OUTLINE.3
+index d005ef1..0d9ec0a 100644
+--- a/alliance/src/genlib/man3/GENLIB_OUTLINE.3
++++ b/alliance/src/genlib/man3/GENLIB_OUTLINE.3
+@@ -9,7 +9,7 @@ GENLIB_OUTLINE
+ .TH GENLIB_OUTLINE.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_OUTLINE \- build an outline from the current layout cell
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_PHCON.3 b/alliance/src/genlib/man3/GENLIB_PHCON.3
+index 09e880c..56c6ffe 100644
+--- a/alliance/src/genlib/man3/GENLIB_PHCON.3
++++ b/alliance/src/genlib/man3/GENLIB_PHCON.3
+@@ -9,7 +9,7 @@ GENLIB_PHCON
+ .TH GENLIB_PHCON.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_PHCON \- place a physical connector in the current figure at absolute coordinates
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -85,7 +85,7 @@ In order to be able to do so, an \fIindex\fP is computed for each connector
+ that has an already existing name, following a topological order.
+ Each time a connector is created, the \fIindex\fP is updated, regarding the
+ name of the connector.
+-Since someone writting a tiler needs to know exactly what connector to access,
++Since someone writing a tiler needs to know exactly what connector to access,
+ the indexation algorithm must be known by the user.
+ .TP 20
+ Connectors with a unique name:
+@@ -98,7 +98,7 @@ If two connectors are on the same location, with the same name, then the
+ \fIlayer\fP decides which one is has the greater number, from lower level,
+ \fBNWELL\fP to upper level, \fBALU3\fP.
+ .LP
+-The \fIorient\fP paramater may take the following values:
++The \fIorient\fP parameter may take the following values:
+ .TP 20
+ \fBNORTH\fP
+ for a connector placed on the top of the cell.
+diff --git a/alliance/src/genlib/man3/GENLIB_PHREF.3 b/alliance/src/genlib/man3/GENLIB_PHREF.3
+index 3b7b734..f4f3d6a 100644
+--- a/alliance/src/genlib/man3/GENLIB_PHREF.3
++++ b/alliance/src/genlib/man3/GENLIB_PHREF.3
+@@ -10,7 +10,7 @@ GENLIB_PHREF
+ .SH NAME
+ GENLIB_PHREF \- place a physical reference in the current figure at absolute
+ coordinates
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_PHSEG.3 b/alliance/src/genlib/man3/GENLIB_PHSEG.3
+index 0260474..8120dfd 100644
+--- a/alliance/src/genlib/man3/GENLIB_PHSEG.3
++++ b/alliance/src/genlib/man3/GENLIB_PHSEG.3
+@@ -9,7 +9,7 @@ GENLIB_PHSEG
+ .TH GENLIB_PHSEG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_PHSEG \- place a physical segment in the current figure at absolute coordinates
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_PHVIA.3 b/alliance/src/genlib/man3/GENLIB_PHVIA.3
+index 5c0c934..73fd7ea 100644
+--- a/alliance/src/genlib/man3/GENLIB_PHVIA.3
++++ b/alliance/src/genlib/man3/GENLIB_PHVIA.3
+@@ -9,7 +9,7 @@ GENLIB_PHVIA
+ .TH GENLIB_PHVIA.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_PHVIA \- place a physical via in the current figure at absolute coordinates
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE.3 b/alliance/src/genlib/man3/GENLIB_PLACE.3
+index 134df9b..a4b1ff0 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE.3
+@@ -9,7 +9,7 @@ GENLIB_PLACE
+ .TH GENLIB_PLACE.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_PLACE \- place a physical instance in the current figure at absolute coordinates
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -26,20 +26,20 @@ long x,y;
+ .SH PARAMETERS
+ .TP 20
+ \fImodelname\fP
+-Name of the layout figure to be instanciated
++Name of the layout figure to be instantiated
+ .TP
+ \fIinsname\fP
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .TP
+ \fIx, y\fP
+ Coordinates of the lower left corner of the abutment box on the instance in
+ the current figure
+ .SH DESCRIPTION
+ \fBPLACE\fP add an instance in the current layout cell. The bottom left corner
+-of the instance of the model \fImodelname\fP is placed, after beeing
++of the instance of the model \fImodelname\fP is placed, after being
+ symetrized and/or rotated, at \fI(x, y)\fP coordinates.
+ The placed instance becomes the new "reference instance", used in
+ the relative placement functions.
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_BOTTOM.3 b/alliance/src/genlib/man3/GENLIB_PLACE_BOTTOM.3
+index 645b7f5..1af095b 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_BOTTOM.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_BOTTOM.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_BOTTOM
+ .SH NAME
+ GENLIB_PLACE_BOTTOM \- place a physical instance in the current figure under
+ the "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -26,18 +26,18 @@ char symetry;
+ .SH PARAMETERS
+ .TP 20
+ \fImodelname\fP
+-Name of the layout figure to be instanciated
++Name of the layout figure to be instantiated
+ .TP
+ \fIinsname\fP
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBPLACE_BOTTOM\fP add a instance of model \fImodelname\fP
+ in the current layout cell.
+ The bottom left corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the bottom left corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_CON_REF.3 b/alliance/src/genlib/man3/GENLIB_PLACE_CON_REF.3
+index 768eb65..cd50432 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_CON_REF.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_CON_REF.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_CON_REF
+ .SH NAME
+ GENLIB_PLACE_CON_REF \- put a connector on top of a reference belonging an
+ instance in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_LEFT.3 b/alliance/src/genlib/man3/GENLIB_PLACE_LEFT.3
+index 823c053..dd4808f 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_LEFT.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_LEFT.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_LEFT
+ .SH NAME
+ GENLIB_PLACE_LEFT \- place a physical instance in the current figure at the left of the
+ "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -26,18 +26,18 @@ char symetry;
+ .SH PARAMETERS
+ .TP 20
+ \fImodelname\fP
+-Name of the layout figure to be instanciated
++Name of the layout figure to be instantiated
+ .TP
+ \fIinsname\fP
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBPLACE_LEFT\fP add an instance of model \fImodelname\fP
+ in the current layout cell.
+ The bottom right corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the bottom left corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_ON.3 b/alliance/src/genlib/man3/GENLIB_PLACE_ON.3
+index 05064ca..d51a126 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_ON.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_ON.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_ON
+ .SH NAME
+ GENLIB_PLACE_ON \- place a physical instance in the current figure matching
+ connectors
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,7 +27,7 @@ long index1, index2;
+ .SH PARAMETERS
+ .TP 20
+ \fIfigname\fP
+-Name of the layout figure to be instanciated
++Name of the layout figure to be instantiated
+ .TP
+ \fIins1\fP
+ Name to be given to the instance in the model
+@@ -40,7 +40,7 @@ Index of the connector, or reference, \fIcon1\fP of the model to be used
+ for placement
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .TP
+ \fIins2\fP
+ Name of the instance to be used for relative placement
+@@ -54,7 +54,7 @@ Index of the connector \fIcon2\fP of the instance to be used for relative
+ placement
+ .SH DESCRIPTION
+ \fBPLACE_ON\fP add an instance in the current layout cell. The bottom left corner
+-of the instance of the model \fImodelname\fP is placed, after beeing
++of the instance of the model \fImodelname\fP is placed, after being
+ symetrized and/or rotated, at \fI(x, y)\fP coordinates.
+ The placed instance becomes the new "reference instance", used in
+ the relative placement functions.
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_RIGHT.3 b/alliance/src/genlib/man3/GENLIB_PLACE_RIGHT.3
+index f49c294..dbc885e 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_RIGHT.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_RIGHT.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_RIGHT
+ .SH NAME
+ GENLIB_PLACE_RIGHT \- place a physical instance in the current figure at
+ the right of the "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -26,18 +26,18 @@ char symetry;
+ .SH PARAMETERS
+ .TP 20
+ \fImodelname\fP
+-Name of the layout figure to be instanciated
++Name of the layout figure to be instantiated
+ .TP
+ \fIinsname\fP
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBPLACE_RIGHT\fP add an instance of model \fImodelname\fP
+ in the current layout cell.
+ The bottom left corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the bottom right corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_SEG_REF.3 b/alliance/src/genlib/man3/GENLIB_PLACE_SEG_REF.3
+index 676f884..0fdc975 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_SEG_REF.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_SEG_REF.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_SEG_REF
+ .SH NAME
+ GENLIB_PLACE_SEG_REF \- put a segment on a reference belonging an
+ instance in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_TOP.3 b/alliance/src/genlib/man3/GENLIB_PLACE_TOP.3
+index f489286..35f6993 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_TOP.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_TOP.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_TOP
+ .SH NAME
+ GENLIB_PLACE_TOP \- place a physical instance in the current figure on the top of the
+ "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -26,18 +26,18 @@ char symetry;
+ .SH PARAMETERS
+ .TP 20
+ \fImodelname\fP
+-Name of the layout figure to be instanciated
++Name of the layout figure to be instantiated
+ .TP
+ \fIinsname\fP
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBPLACE_TOP\fP add an instance of model \fImodelname\fP
+ in the current layout cell.
+ The bottom left corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the top left corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_PLACE_VIA_REF.3 b/alliance/src/genlib/man3/GENLIB_PLACE_VIA_REF.3
+index 3a69c3e..c252a14 100644
+--- a/alliance/src/genlib/man3/GENLIB_PLACE_VIA_REF.3
++++ b/alliance/src/genlib/man3/GENLIB_PLACE_VIA_REF.3
+@@ -10,7 +10,7 @@ GENLIB_PLACE_VIA_REF
+ .SH NAME
+ GENLIB_PLACE_VIA_REF \- put a via on top of a reference belonging to an instance
+ in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,7 +37,7 @@ Type of via to be placed
+ \fBPLACE_VIA_REF\fP places a via of type \fIviatype\fP on top of the specified
+ reference, \fIrefname\fP, in the instance called \fIinsname\fP.
+ This function may be used to generate many cells from a single one, in order
+-to "program" decoders for example, or in conjuction with \fBPLACE_SEG_REF\fP(3)
++to "program" decoders for example, or in conjunction with \fBPLACE_SEG_REF\fP(3)
+ or \fBPLACE_CON_REF\fP(3) to translate virtual connectors into fixed ones.
+ .br
+ The \fIviatype\fP argument may take the following legal values:
+diff --git a/alliance/src/genlib/man3/GENLIB_REVERSE_PHCON.3 b/alliance/src/genlib/man3/GENLIB_REVERSE_PHCON.3
+index 3f281cd..23c3b1f 100644
+--- a/alliance/src/genlib/man3/GENLIB_REVERSE_PHCON.3
++++ b/alliance/src/genlib/man3/GENLIB_REVERSE_PHCON.3
+@@ -9,7 +9,7 @@ GENLIB_REVERSE_PHCON
+ .TH GENLIB_REVERSE_PHCON.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_REVERSE_PHCON \- reverse the order of physical connectors on a bus.
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -33,7 +33,7 @@ virtual ones, done with \fBPHREF\fR(3), will be taken into account for
+ the reverse operation.
+ This function is mainly useful to implement the \fBmsb0\fR options of
+ the \fBAlliance\fR CAD system module generators, as the whole design can
+-be done with the designer choosen bit ordering, and modified on user
++be done with the designer chosen bit ordering, and modified on user
+ demand only before saving.
+ .SH EXAMPLE
+ .nf
+diff --git a/alliance/src/genlib/man3/GENLIB_SAVE_LOFIG.3 b/alliance/src/genlib/man3/GENLIB_SAVE_LOFIG.3
+index 9f085bf..3f87ad0 100644
+--- a/alliance/src/genlib/man3/GENLIB_SAVE_LOFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_SAVE_LOFIG.3
+@@ -9,7 +9,7 @@ GENLIB_SAVE_LOFIG
+ .TH GENLIB_SAVE_LOFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_SAVE_LOFIG \- save a netlist on disk
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -24,7 +24,7 @@ void GENLIB_SAVE_LOFIG();
+ \fBSAVE_LOFIG\fP saves the current working figure previously definded by
+ a \fBDEF_LOFIG\fP call. \fBSAVE_LOFIG\fP uses environment variables to
+ choose the file format and the path to the file.
+-\fBMBK_OUT_LO\fP set up the output file format, the valid ones beeing :
++\fBMBK_OUT_LO\fP set up the output file format, the valid ones being :
+ .RS
+ \fBhns
+ .br
+diff --git a/alliance/src/genlib/man3/GENLIB_SAVE_PHFIG.3 b/alliance/src/genlib/man3/GENLIB_SAVE_PHFIG.3
+index 83efde9..93685fd 100644
+--- a/alliance/src/genlib/man3/GENLIB_SAVE_PHFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_SAVE_PHFIG.3
+@@ -9,7 +9,7 @@ GENLIB_SAVE_PHFIG
+ .TH GENLIB_SAVE_PHFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_SAVE_PHFIG \- save a layout on disk
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -25,7 +25,7 @@ void GENLIB_SAVE_PHFIG();
+ a \fBDEF_PHFIG\fP call. \fBSAVE_PHFIG\fP uses environment variables to
+ choose the file format and the path to the file.
+ .br
+-\fBMBK_OUT_PH\fP set up the output file format, the valid ones beeing :
++\fBMBK_OUT_PH\fP set up the output file format, the valid ones being :
+ .RS
+ \fBcp
+ .br
+diff --git a/alliance/src/genlib/man3/GENLIB_SAVE_PHSC.3 b/alliance/src/genlib/man3/GENLIB_SAVE_PHSC.3
+index 4cdae33..4a6da40 100644
+--- a/alliance/src/genlib/man3/GENLIB_SAVE_PHSC.3
++++ b/alliance/src/genlib/man3/GENLIB_SAVE_PHSC.3
+@@ -9,7 +9,7 @@ GENLIB_SAVE_PHSC
+ .TH GENLIB_SAVE_PHSC.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_SAVE_PHSC \- save a layout on disk
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_SC_BOTTOM.3 b/alliance/src/genlib/man3/GENLIB_SC_BOTTOM.3
+index c95d398..d8fdd3b 100644
+--- a/alliance/src/genlib/man3/GENLIB_SC_BOTTOM.3
++++ b/alliance/src/genlib/man3/GENLIB_SC_BOTTOM.3
+@@ -10,7 +10,7 @@ GENLIB_SC_BOTTOM
+ .SH NAME
+ GENLIB_SC_BOTTOM \- place an instance in the current figure at the right of the
+ "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,10 +29,10 @@ char symetry;
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBSC_BOTTOM\fP add an instance in the current cell. The bottom left corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the bottom left corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_SC_LEFT.3 b/alliance/src/genlib/man3/GENLIB_SC_LEFT.3
+index 7e41829..a317781 100644
+--- a/alliance/src/genlib/man3/GENLIB_SC_LEFT.3
++++ b/alliance/src/genlib/man3/GENLIB_SC_LEFT.3
+@@ -10,7 +10,7 @@ GENLIB_SC_LEFT
+ .SH NAME
+ GENLIB_SC_LEFT \- place an instance in the current figure at the right of the
+ "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,10 +29,10 @@ char symetry;
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBSC_LEFT\fP add an instance in the current cell. The bottom right corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the bottom left corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_SC_PLACE.3 b/alliance/src/genlib/man3/GENLIB_SC_PLACE.3
+index edf581c..20b9e29 100644
+--- a/alliance/src/genlib/man3/GENLIB_SC_PLACE.3
++++ b/alliance/src/genlib/man3/GENLIB_SC_PLACE.3
+@@ -9,7 +9,7 @@ GENLIB_SC_PLACE
+ .TH GENLIB_SC_PLACE.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_SC_PLACE \- place an instance in the current figure at absolute coordinates
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,14 +29,14 @@ long x,y;
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .TP
+ \fIx, y\fP
+ Coordinates of the lower left corner of the abutment box of the model in
+ the current figure
+ .SH DESCRIPTION
+ \fISC_PLACE\fP add an instance in the current cell. The bottom left corner
+-of the instance is placed, after beeing symetrized and/or rotated,
++of the instance is placed, after being symetrized and/or rotated,
+ at \fI(x, y)\fP
+ coordinates. The placement takes place only if the netlist is up to day,
+ because the model of the instance is seeked there, in order to ensure
+diff --git a/alliance/src/genlib/man3/GENLIB_SC_RIGHT.3 b/alliance/src/genlib/man3/GENLIB_SC_RIGHT.3
+index ab1955c..a80cca9 100644
+--- a/alliance/src/genlib/man3/GENLIB_SC_RIGHT.3
++++ b/alliance/src/genlib/man3/GENLIB_SC_RIGHT.3
+@@ -10,7 +10,7 @@ GENLIB_SC_RIGHT
+ .SH NAME
+ GENLIB_SC_RIGHT \- place an instance in the current figure at the right of the
+ "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,10 +29,10 @@ char symetry;
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBSC_RIGHT\fP add an instance in the current cell. The bottom left corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the bottom right corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_SC_TOP.3 b/alliance/src/genlib/man3/GENLIB_SC_TOP.3
+index 34bba8d..1851286 100644
+--- a/alliance/src/genlib/man3/GENLIB_SC_TOP.3
++++ b/alliance/src/genlib/man3/GENLIB_SC_TOP.3
+@@ -10,7 +10,7 @@ GENLIB_SC_TOP
+ .SH NAME
+ GENLIB_SC_TOP \- place an instance in the current figure at the right of the
+ "reference instance"
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,10 +29,10 @@ char symetry;
+ Name to be given to the instance on the model
+ .TP
+ \fIsymetry\fP
+-Geometrical operation to be performed on the instance before beeing placed
++Geometrical operation to be performed on the instance before being placed
+ .SH DESCRIPTION
+ \fBSC_TOP\fP add an instance in the current cell. The bottom left corner
+-of the abutment box of the instance is placed, after beeing symetrized
++of the abutment box of the instance is placed, after being symetrized
+ and/or rotated,
+ toward the top left corner of the abutment box of the
+ "reference instance". The newly
+diff --git a/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3 b/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3
+index 0e03657..4e91e52 100644
+--- a/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3
++++ b/alliance/src/genlib/man3/GENLIB_SET_LOCAP.3
+@@ -14,7 +14,7 @@ GENLIB_SET_LOCAP
+ .SH NAME
+ GENLIB_SET_LOCAP \- set the capacitance value of a logical capacitor, after its creation.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_SET_LORES.3 b/alliance/src/genlib/man3/GENLIB_SET_LORES.3
+index 933b8ad..4b5be00 100644
+--- a/alliance/src/genlib/man3/GENLIB_SET_LORES.3
++++ b/alliance/src/genlib/man3/GENLIB_SET_LORES.3
+@@ -14,7 +14,7 @@ GENLIB_SET_LORES
+ .SH NAME
+ GENLIB_SET_LORES \- set the resistance value of a logical resistor, after its creation.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3 b/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3
+index 57d037c..550fd1d 100644
+--- a/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3
++++ b/alliance/src/genlib/man3/GENLIB_SET_LOSELF.3
+@@ -14,7 +14,7 @@ GENLIB_SET_LOSELF
+ .SH NAME
+ GENLIB_SET_LOSELF \- set the inductance value of a logical inductor, after its creation.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/genlib/man3/GENLIB_UNFLATTEN_LOFIG.3 b/alliance/src/genlib/man3/GENLIB_UNFLATTEN_LOFIG.3
+index 5373a91..a860c4e 100644
+--- a/alliance/src/genlib/man3/GENLIB_UNFLATTEN_LOFIG.3
++++ b/alliance/src/genlib/man3/GENLIB_UNFLATTEN_LOFIG.3
+@@ -9,7 +9,7 @@ GENLIB_UNFLATTEN_LOFIG
+ .TH GENLIB_UNFLATTEN_LOFIG.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ \fBUNFLATTEN_LOFIG\fP \- creates a hierarchy level from instances in the current logical figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,14 +29,14 @@ char \(**list_of_instances;
+ Name of the figure of the new hierarchy to be created
+ .TP
+ \fIinstancename\fP
+-Name to be given at the instanciation of \fIfigurename\fP into the current
++Name to be given at the instantiation of \fIfigurename\fP into the current
+ structual figure
+ .TP
+ \fIlist_of_instances\fP
+ List of strings representing the instances to be inserted into the new figure
+ .SH DESCRIPTION
+ \fBUNFLATTEN_LOFIG\fP creates a new level of hierarchy, whose model name will
+-be \fIfigurename\fP, and instanciate it under the name \fIinstancename\fP in
++be \fIfigurename\fP, and instantiate it under the name \fIinstancename\fP in
+ the current figure.
+ The instances whose name belong to the \fIlist_of_instances\fP parameters are
+ added in the new figure, and destroyed from the current figure.
+diff --git a/alliance/src/genlib/man3/GENLIB_WIRE1.3 b/alliance/src/genlib/man3/GENLIB_WIRE1.3
+index 755c3cf..d0bbfe1 100644
+--- a/alliance/src/genlib/man3/GENLIB_WIRE1.3
++++ b/alliance/src/genlib/man3/GENLIB_WIRE1.3
+@@ -9,7 +9,7 @@ GENLIB_WIRE1
+ .TH GENLIB_WIRE1.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_WIRE1 \- place a physical segment in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -45,8 +45,8 @@ Name of a connector, or reference, used as last endpoint of the wire
+ .SH DESCRIPTION
+ \fBWIRE1\fP adds a segment made of the \fIlayer\fP level in the current
+ layout cell, the starting point
+-beeing the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
+-the ending point beeing the connector, or reference, \fIcon2\fP of the instance
++being the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
++the ending point being the connector, or reference, \fIcon2\fP of the instance
+ \fIins1\fP. The segment is drawn between the coordinates of \fIcon1\fP in
+ the current figure and the
+ coordinates of \fIcon2\fP in the current figure.
+diff --git a/alliance/src/genlib/man3/GENLIB_WIRE2.3 b/alliance/src/genlib/man3/GENLIB_WIRE2.3
+index 68e7de7..d1d5a55 100644
+--- a/alliance/src/genlib/man3/GENLIB_WIRE2.3
++++ b/alliance/src/genlib/man3/GENLIB_WIRE2.3
+@@ -9,7 +9,7 @@ GENLIB_WIRE2
+ .TH GENLIB_WIRE2.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_WIRE2 \- place two physical segments in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -49,8 +49,8 @@ Coordinates of the segment's elbow in the current figure
+ .SH DESCRIPTION
+ \fBWIRE2\fP adds two segments made of the \fIlayer\fP level in the current
+ layout cell, the starting point
+-beeing the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
+-the ending point beeing the connector, or reference, \fIcon2\fP of the instance
++being the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
++the ending point being the connector, or reference, \fIcon2\fP of the instance
+ \fIins1\fP. The first segment is drawn between the coordinates of \fIcon1\fP in
+ the current figure and \fIx, y\fP, and the second one between \fIx, y\fP and the
+ coordinates of \fIcon2\fP in the current figure.
+diff --git a/alliance/src/genlib/man3/GENLIB_WIRE3.3 b/alliance/src/genlib/man3/GENLIB_WIRE3.3
+index 554089c..e4c6cd7 100644
+--- a/alliance/src/genlib/man3/GENLIB_WIRE3.3
++++ b/alliance/src/genlib/man3/GENLIB_WIRE3.3
+@@ -9,7 +9,7 @@ GENLIB_WIRE3
+ .TH GENLIB_WIRE3.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
+ .SH NAME
+ GENLIB_WIRE3 \- place three physical segments in the current figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -52,8 +52,8 @@ Coordinates of the segment's second elbow endpoint in the current figure
+ .SH DESCRIPTION
+ \fBWIRE3\fP adds three segments made of the \fIlayer\fP level in the current
+ layout cell, the starting point
+-beeing the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
+-the ending point beeing the connector, or reference, \fIcon2\fP of the instance
++being the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
++the ending point being the connector, or reference, \fIcon2\fP of the instance
+ \fIins1\fP. The first segment is drawn between the coordinates of \fIcon1\fP in
+ the current figure and \fIx1, y1\fP. The second one between \fIx1, y1\fP and
+ \fIx2, y2\fP, and the last, but not the least, between \fIx2, y2\fP and the
+diff --git a/alliance/src/genlib/src/dpgen_Shifter.c b/alliance/src/genlib/src/dpgen_Shifter.c
+index 968a772..6856c3c 100644
+--- a/alliance/src/genlib/src/dpgen_Shifter.c
++++ b/alliance/src/genlib/src/dpgen_Shifter.c
+@@ -33,7 +33,7 @@
+ buffer cells (inv_x4 etc ..) are too big and do not fit in the first column area.
+
+ Revision 1.9 2004/03/04 14:21:56 fred
+- Adding more powerfull cells for the signals controlling the shift.
++ Adding more powerful cells for the signals controlling the shift.
+
+ Revision 1.8 2003/01/31 15:53:39 fred
+ COPY_UP_SEG now copies all segments of a given name.
+@@ -375,7 +375,7 @@ extern void dpgen_Shifter(aFunction, aAL)
+ }
+
+ /* I've done my best with genlib, but I need to realign overlapping
+- * cells using some more powerfull tools, ...
++ * cells using some more powerful tools, ...
+ * This is done only for the last column, in order to keep the
+ * vertical alignement constraints. */
+ if (aFunction == DPGEN_SHROT) {
+diff --git a/alliance/src/genlib/src/genlib.c b/alliance/src/genlib/src/genlib.c
+index 66f32ae..33b1281 100644
+--- a/alliance/src/genlib/src/genlib.c
++++ b/alliance/src/genlib/src/genlib.c
+@@ -2437,7 +2437,7 @@ long x_ref, y_ref; /* return values, x_ref here for beauty */
+ /*******************************************************************************
+ * set of functions to reverse the `logical' ordering of a set of connectors
+ * This quite weird function is required by the custom block generators
+-* so to be able easilly to provide big and little endian bit ordering:
++* so to be able easily to provide big and little endian bit ordering:
+ * an option usually called -msb0
+ *******************************************************************************/
+ #define HARD_CONNECTOR 'H'
+@@ -3017,7 +3017,7 @@ chain_list *ptchain = NULL;
+ mbkfree(signame);
+ }
+
+- /* Put sigs and cons in dictionnary */
++ /* Put sigs and cons in dictionary */
+ for (pcon = consiglist; pcon; pcon = pcon->NEXT) {
+ pcon->TYPE = (long)namealloc((char *)pcon->TYPE);
+ pcon->DATA = (void *)namealloc((char *)pcon->DATA);
+@@ -3755,7 +3755,7 @@ chain_list *ilist = NULL;
+ };
+ while ((iname = va_arg(instancelist, char *)) != NULL)
+ ilist = addchain(ilist, (void *)getloins(WORK_LOFIG, iname));
+- /* this new hierachy level needs to be saved */
++ /* this new hierarchy level needs to be saved */
+ savelofig(unflattenlofig(WORK_LOFIG, modelname, instancename, ilist));
+ freechain(ilist);
+ va_end(instancelist);
+diff --git a/alliance/src/genlib/src/genlib.sh b/alliance/src/genlib/src/genlib.sh
+index 2b3ed93..0833bec 100755
+--- a/alliance/src/genlib/src/genlib.sh
++++ b/alliance/src/genlib/src/genlib.sh
+@@ -41,7 +41,7 @@
+ echo " [-k|--keep-exec] : Keep binary after execution."
+ echo " [-m|--keep-makefile] : Keep makefile after execution."
+ echo " [-n|--no-exec] : Do not execute the binary."
+- echo " [-v|--verbose] : Issue more informations."
++ echo " [-v|--verbose] : Issue more information."
+ echo " [-e [args]] : [args] are passed to the binary."
+ echo ""
+ }
+diff --git a/alliance/src/genpat/doc/man3/AFFECT.3 b/alliance/src/genpat/doc/man3/AFFECT.3
+index aa40f31..08b9567 100644
+--- a/alliance/src/genpat/doc/man3/AFFECT.3
++++ b/alliance/src/genpat/doc/man3/AFFECT.3
+@@ -46,7 +46,7 @@ added before the value (example : "?0x45f*" instead of "0x45f*").
+ "Affect" a value to a signal. This value will be apllied to the signal, at
+ the specified simulation date, until the end of the simulation or until a new
+ value is affected to the signal. Beware : Inputs have to be affected at the
+-begining of the simulation (first pattern at 0 ps). By default, signals
++beginning of the simulation (first pattern at 0 ps). By default, signals
+ (except Inputs) are affected with a "full star" value at the first pattern.
+
+ .PP
+diff --git a/alliance/src/genpat/doc/man3/ARRAY.3 b/alliance/src/genpat/doc/man3/ARRAY.3
+index 363dd0f..32d6030 100644
+--- a/alliance/src/genpat/doc/man3/ARRAY.3
++++ b/alliance/src/genpat/doc/man3/ARRAY.3
+@@ -7,7 +7,7 @@
+ \fBARRAY\fP, GENPAT Package
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ ARRAY ("ident", "ident", ..., ":nb_space", "format", type, option, "ident_group", 0);
+diff --git a/alliance/src/genpat/doc/man3/DECLAR.3 b/alliance/src/genpat/doc/man3/DECLAR.3
+index 9e45b5b..dbaacb4 100644
+--- a/alliance/src/genpat/doc/man3/DECLAR.3
++++ b/alliance/src/genpat/doc/man3/DECLAR.3
+@@ -7,7 +7,7 @@
+ \fBDECLAR\fP, GENPAT Package
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ DECLAR("ident",":nb_space","format",mode,size,option);
+diff --git a/alliance/src/genpat/doc/man3/DEF_GENPAT.3 b/alliance/src/genpat/doc/man3/DEF_GENPAT.3
+index a6c59a3..346e4da 100644
+--- a/alliance/src/genpat/doc/man3/DEF_GENPAT.3
++++ b/alliance/src/genpat/doc/man3/DEF_GENPAT.3
+@@ -7,7 +7,7 @@
+ \fBDEF_GENPAT\fP, GENPAT Package
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ DEF_GENPAT ("ident");
+diff --git a/alliance/src/genpat/doc/man3/LABEL.3 b/alliance/src/genpat/doc/man3/LABEL.3
+index 7573a60..ac383b6 100644
+--- a/alliance/src/genpat/doc/man3/LABEL.3
++++ b/alliance/src/genpat/doc/man3/LABEL.3
+@@ -7,7 +7,7 @@
+ \fBLABEL\fP, GENPAT Package
+
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ LABEL ("ident");
+diff --git a/alliance/src/genpat/doc/man3/SAVE.3 b/alliance/src/genpat/doc/man3/SAVE.3
+index 368fa2f..865c1c3 100644
+--- a/alliance/src/genpat/doc/man3/SAVE.3
++++ b/alliance/src/genpat/doc/man3/SAVE.3
+@@ -6,7 +6,7 @@
+ .PP
+ \fBSAVE\fP, GENPAT Package
+
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .PP
+ .nf
+ SAVE ();
+diff --git a/alliance/src/genpat/src/genpat.sh b/alliance/src/genpat/src/genpat.sh
+index a95883e..0e28114 100755
+--- a/alliance/src/genpat/src/genpat.sh
++++ b/alliance/src/genpat/src/genpat.sh
+@@ -8,7 +8,7 @@ help() {
+ echo "Syntax: `basename $0` [-vk] source-file (without extension)"
+ echo " -v : verbose mode"
+ echo " -k : keeps the executable (whith debugging"
+- echo " informations) along with the"
++ echo " information) along with the"
+ echo " compilation Makefile after completion"
+ exit 1
+ }
+diff --git a/alliance/src/graal/man1/graal.1 b/alliance/src/graal/man1/graal.1
+index 4fd193f..3b8b53e 100644
+--- a/alliance/src/graal/man1/graal.1
++++ b/alliance/src/graal/man1/graal.1
+@@ -145,10 +145,10 @@ indicates the file format to be used for the leaf cells.
+ .B MBK_OUT_PH
+ indicates the file format to be used for the generated figures.
+ .TP
+-.B GRAAL_TECHNO_NAME (optionnal)
++.B GRAAL_TECHNO_NAME (optional)
+ indicates the path to the techno name file used by Graal.
+ .TP
+-.B RDS_TECHNO_NAME (optionnal)
++.B RDS_TECHNO_NAME (optional)
+ indicates the path to the RDS configuration file used by Graal.
+
+ .SH SEE ALSO
+diff --git a/alliance/src/l2p/man1/l2p.1 b/alliance/src/l2p/man1/l2p.1
+index eb3719a..9e9ca63 100644
+--- a/alliance/src/l2p/man1/l2p.1
++++ b/alliance/src/l2p/man1/l2p.1
+@@ -49,8 +49,8 @@ used on any adequat \fBPostcript\fP printer.
+ .br
+ l2p will generate in the current directory, either a single file called
+ \fI.ps\fP, either several files suffixed by \fI-x.ps\fP,
+-depending on wether you've asked for a monopage plot or for a drawing
+-that will be splitted on several pages.
++depending on whether you've asked for a monopage plot or for a drawing
++that will be split on several pages.
+ If you do something like
+ \fIl2p -pages=2x1 cell\fP, it will generate two files called
+ \fIcell-1x1.ps\fP, and \fIcell-2x1.ps\fP.
+@@ -66,7 +66,7 @@ The default value gives a black and white \fBPostCript\fP file.
+ specifies the drawing area in centh of inch.
+ By default, wide = 725 and height = 1068 for french A4 paper. If
+ the drawing size is bigger than the paper area, then the
+-drawing will be splitted on several pages.
++drawing will be split on several pages.
+ .TP
+ \-fA3
+ The drawing is done on A3 format paper.
+@@ -78,14 +78,14 @@ The drawing is done on LETTER format paper.
+ The drawing is done on LEGAL format paper.
+ .TP
+ \-givebwdict
+-give the Black & White internal PostScript dictionnary.
++give the Black & White internal PostScript dictionary.
+ See below.
+ .TP
+ \-givecolordict
+ This option must be unique on the command line. When
+ used as in 'l2p -givebwdict', l2p then gives on the
+ standard output its Black & White internal Postscript
+-dictionnary. A PostScript dictionnary is a set of mac-
++dictionary. A PostScript dictionary is a set of mac-
+ ros that will be used during interpretation of your
+ PostScript file. The macros in the internal PostScript
+ dictionnaries of l2p allows you to control which layer
+@@ -175,18 +175,18 @@ the file : 'head n1_y-1x1.ps' will show you a PostScript comment beginning
+ by '%SCALE=3.78435' for example.
+ .TP
+ \-usedict=
+-The output Postcript file contains a Postcript dictionnary of macros.
++The output Postcript file contains a Postcript dictionary of macros.
+ .br
+ There are two standard dictionnaries used by l2p for black and white or color prints.
+-This allows you to use a PostScript dictionnary different from the two
++This allows you to use a PostScript dictionary different from the two
+ internally encoded into l2p. By modifying one of the standard l2p
+-dictionnary, you can choose which layer to output, how to fill the
++dictionary, you can choose which layer to output, how to fill the
+ rectangles (empty, hashed, filled), which color to choose, ... and
+ lots of other possibilities. The rest of the generated postscript file
+ is mainly orders of drawing rectangles. PostScript is a reverse polish
+-notation langage, that is easy to read for simple programs.
++notation language, that is easy to read for simple programs.
+ .br
+-If you use this functionnality, and think that your dictionnaries are
++If you use this functionality, and think that your dictionnaries are
+ worth it, please mail them to alliance\-users@asim.lip6.fr, in order to submit
+ them for inclusion in future version of l2p (Thanks).
+
+@@ -244,7 +244,7 @@ option that is not implemented yet.
+ The generated \fBPostScript\fP is Level 1 for black& white plots.
+ When you use color, it generates Level 1 with color extensions.
+ It may not run with strict Level 1 interpreters, although it runs here with
+-our Apple Personnal LaserWriter, Sun Sparcprinters, and Canon CLC-300-PS.
++our Apple Personal LaserWriter, Sun Sparcprinters, and Canon CLC-300-PS.
+ It follows the Adobe Document Structuring Conventions 1, and as there
+ is a fake bitmap image inside each generated files, you can re-use them in your
+ word-processors, or publishing software, because the PostScript is EPSF-1.2
+diff --git a/alliance/src/l2p/src/dict_bw.ps b/alliance/src/l2p/src/dict_bw.ps
+index c8a0eda..c561707 100644
+--- a/alliance/src/l2p/src/dict_bw.ps
++++ b/alliance/src/l2p/src/dict_bw.ps
+@@ -1,7 +1,7 @@
+ % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+-% This is the beginning of the l2p BLACK & WHITE PostScript dictionnary.
++% This is the beginning of the l2p BLACK & WHITE PostScript dictionary.
+ % (If you want to change patterns, this is THE place to do it.)
+-% (Remember that you can substitute another PostScript dictionnary.)
++% (Remember that you can substitute another PostScript dictionary.)
+ %%Pages: 1 1
+ %%EndComments
+ %%BeginPreview: 256 64 1 64
+@@ -331,5 +331,5 @@ pas x w add h add {
+ %- - - END OF LAYER TRADUCTION - - -
+ %%EndSetup
+
+-% This is the end of the l2p BLACK & WHITE PostScript dictionnary.
++% This is the end of the l2p BLACK & WHITE PostScript dictionary.
+ % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+diff --git a/alliance/src/l2p/src/dict_color.ps b/alliance/src/l2p/src/dict_color.ps
+index d71494e..1917478 100644
+--- a/alliance/src/l2p/src/dict_color.ps
++++ b/alliance/src/l2p/src/dict_color.ps
+@@ -1,7 +1,7 @@
+ % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+-% This is the beginning of the l2p COLOR PostScript dictionnary.
++% This is the beginning of the l2p COLOR PostScript dictionary.
+ % (If you want to change colors or patterns, this is THE place to do it.)
+-% (Remember that you can substitute another PostScript dictionnary.)
++% (Remember that you can substitute another PostScript dictionary.)
+ %%Pages: 1 1
+ %%EndComments
+ %%BeginPreview: 256 64 1 64
+@@ -363,5 +363,5 @@ pas x w add h add {
+ %- - - END OF LAYER TRADUCTION - - -
+ %%EndSetup
+
+-% This is the end of the l2p COLOR PostScript dictionnary.
++% This is the end of the l2p COLOR PostScript dictionary.
+ % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+diff --git a/alliance/src/l2p/src/drive_ps.c b/alliance/src/l2p/src/drive_ps.c
+index f9ddb7e..7cbbb5a 100644
+--- a/alliance/src/l2p/src/drive_ps.c
++++ b/alliance/src/l2p/src/drive_ps.c
+@@ -37,7 +37,7 @@
+ /* Modifie par : Gilles-Eric DESCAMPS le : 30/01/1994 */
+ /* 1.03 introduces -landscape, automating centering of cell in drawing, */
+ /* suppression of '-1x1' extension for monopages drawings, use of an */
+-/* external PostScript dictionnary, ability to give its own dictionnary, */
++/* external PostScript dictionary, ability to give its own dictionary, */
+ /* */
+ /* Modifie par : Etienne LACOUME le : 02/03/1995 */
+ /* 1.10 introduces a better quality in drawing,the capability to display */
+@@ -101,7 +101,7 @@ char *msg;
+ fprintf (stderr, "%s", msg);
+ break;
+ default :
+- fprintf (stderr, "Unknow internal error");
++ fprintf (stderr, "Unknown internal error");
+ };
+ fprintf (stderr,"\n");
+ fflush (stderr);
+diff --git a/alliance/src/l2p/src/tmp_dict.c b/alliance/src/l2p/src/tmp_dict.c
+index 9bcf15a..4b0608a 100644
+--- a/alliance/src/l2p/src/tmp_dict.c
++++ b/alliance/src/l2p/src/tmp_dict.c
+@@ -3,9 +3,9 @@ void rps_print_dict_bw (pg)
+ void *pg;
+ {
+ rps_put (pg,"% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =\n");
+- rps_put (pg,"% This is the beginning of the l2p BLACK & WHITE PostScript dictionnary.\n");
++ rps_put (pg,"% This is the beginning of the l2p BLACK & WHITE PostScript dictionary.\n");
+ rps_put (pg,"% (If you want to change patterns, this is THE place to do it.)\n");
+- rps_put (pg,"% (Remember that you can substitute another PostScript dictionnary.)\n");
++ rps_put (pg,"% (Remember that you can substitute another PostScript dictionary.)\n");
+ rps_put (pg,"%%Pages: 1 1\n");
+ rps_put (pg,"%%EndComments\n");
+ rps_put (pg,"%%BeginPreview: 256 64 1 64\n");
+@@ -410,7 +410,7 @@ void *pg;
+ rps_put (pg,"%- - - END OF LAYER TRADUCTION - - -\n");
+ rps_put (pg,"%%EndSetup\n");
+ rps_put (pg,"\n");
+- rps_put (pg,"% This is the end of the l2p BLACK & WHITE PostScript dictionnary.\n");
++ rps_put (pg,"% This is the end of the l2p BLACK & WHITE PostScript dictionary.\n");
+ rps_put (pg,"% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =\n");
+ }
+
+@@ -418,9 +418,9 @@ void rps_print_dict_color (pg)
+ void *pg;
+ {
+ rps_put (pg,"% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =\n");
+- rps_put (pg,"% This is the beginning of the l2p COLOR PostScript dictionnary.\n");
++ rps_put (pg,"% This is the beginning of the l2p COLOR PostScript dictionary.\n");
+ rps_put (pg,"% (If you want to change colors or patterns, this is THE place to do it.)\n");
+- rps_put (pg,"% (Remember that you can substitute another PostScript dictionnary.)\n");
++ rps_put (pg,"% (Remember that you can substitute another PostScript dictionary.)\n");
+ rps_put (pg,"%%Pages: 1 1\n");
+ rps_put (pg,"%%EndComments\n");
+ rps_put (pg,"%%BeginPreview: 256 64 1 64\n");
+@@ -846,6 +846,6 @@ void *pg;
+ rps_put (pg,"%- - - END OF LAYER TRADUCTION - - -\n");
+ rps_put (pg,"%%EndSetup\n");
+ rps_put (pg,"\n");
+- rps_put (pg,"% This is the end of the l2p COLOR PostScript dictionnary.\n");
++ rps_put (pg,"% This is the end of the l2p COLOR PostScript dictionary.\n");
+ rps_put (pg,"% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =\n");
+ }
+diff --git a/alliance/src/l2p/src/tmp_man.c b/alliance/src/l2p/src/tmp_man.c
+index 46bab05..610d075 100644
+--- a/alliance/src/l2p/src/tmp_man.c
++++ b/alliance/src/l2p/src/tmp_man.c
+@@ -39,8 +39,8 @@ void rps_print_man () {
+ puts (" be then used on any adequat PPoossttccrriipptt printer.");
+ puts (" l2p will generate in the current directory, either a sin-");
+ puts (" gle file called _<_c_e_l_l_n_a_m_e_>_._p_s, either several files suf-");
+- puts (" fixed by _-_<_x_>_x_<_y_>_._p_s, depending on wether you've asked for");
+- puts (" a monopage plot or for a drawing that will be splitted on");
++ puts (" fixed by _-_<_x_>_x_<_y_>_._p_s, depending on whether you've asked for");
++ puts (" a monopage plot or for a drawing that will be split on");
+ puts (" several pages. If you do something like _l_2_p _-_p_a_g_e_s_=_2_x_1");
+ puts (" _c_e_l_l, it will generate two files called _c_e_l_l_-_1_x_1_._p_s, and");
+ puts (" _c_e_l_l_-_2_x_1_._p_s.");
+@@ -58,7 +58,7 @@ void rps_print_man () {
+ puts (" specifies the drawing area in centh of inch. By");
+ puts (" default, wide = 725 and height = 1068 for french A4");
+ puts (" paper. If the drawing size is bigger than the paper");
+- puts (" area, then the drawing will be splitted on several");
++ puts (" area, then the drawing will be split on several");
+ puts (" pages.");
+ puts ("");
+ puts ("");
+@@ -89,8 +89,8 @@ void rps_print_man () {
+ puts (" This option must be unique on the command line.");
+ puts (" When used as in 'l2p -givebwdict', l2p then");
+ puts (" gives on the standard output its Black & White");
+- puts (" internal Postscript dictionnary. A PostScript");
+- puts (" dictionnary is a set of mac- ros that will be used");
++ puts (" internal Postscript dictionary. A PostScript");
++ puts (" dictionary is a set of mac- ros that will be used");
+ puts (" during interpretation of your PostScript file.");
+ puts (" The macros in the internal PostScript dictionnaries");
+ puts (" of l2p allows you to control which layer to out-");
+@@ -216,17 +216,17 @@ void rps_print_man () {
+ puts (" tionnary of macros.");
+ puts (" There are two standard dictionnaries used by l2p");
+ puts (" for black and white or color prints. This allows");
+- puts (" you to use a PostScript dictionnary different from");
++ puts (" you to use a PostScript dictionary different from");
+ puts (" the two internally encoded into l2p. By modifying");
+- puts (" one of the standard l2p dictionnary, you can choose");
++ puts (" one of the standard l2p dictionary, you can choose");
+ puts (" which layer to output, how to fill the rectangles");
+ puts (" (empty, hashed, filled), which color to choose, ...");
+ puts (" and lots of other possibilities. The rest of the");
+ puts (" generated postscript file is mainly orders of draw-");
+ puts (" ing rectangles. PostScript is a reverse polish");
+- puts (" notation langage, that is easy to read for simple");
++ puts (" notation language, that is easy to read for simple");
+ puts (" programs.");
+- puts (" If you use this functionnality, and think that your");
++ puts (" If you use this functionality, and think that your");
+ puts (" dictionnaries are worth it, please mail them to");
+ puts (" alliance-users@asim.lip6.fr, in order to submit");
+ puts (" them for inclusion in future version of l2p");
+diff --git a/alliance/src/log/man1/log.1 b/alliance/src/log/man1/log.1
+index eb4b57a..841f37a 100644
+--- a/alliance/src/log/man1/log.1
++++ b/alliance/src/log/man1/log.1
+@@ -23,7 +23,7 @@ HEADER = -I/labo/include
+ .br
+ LIB = -L/labo/lib -lMut -ltsh -labl -lbdd
+ .br
+-Each library can be called separatly. The "log.h" header file must be inserted in the files that use the functions or the structures defined in a library.
++Each library can be called separately. The "log.h" header file must be inserted in the files that use the functions or the structures defined in a library.
+ .br
+ .SH SEE ALSO
+ .BR mbk (1),
+diff --git a/alliance/src/log/man3/ablToBddCct.3 b/alliance/src/log/man3/ablToBddCct.3
+index 99bcbac..153c0d2 100644
+--- a/alliance/src/log/man3/ablToBddCct.3
++++ b/alliance/src/log/man3/ablToBddCct.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBablToBddCct\fP \- converts an ABL into a BDD within a circuit
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode ablToBddCct(pC,expr)
+diff --git a/alliance/src/log/man3/addListBdd.3 b/alliance/src/log/man3/addListBdd.3
+index 5068fd2..7b3ac17 100644
+--- a/alliance/src/log/man3/addListBdd.3
++++ b/alliance/src/log/man3/addListBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBaddListBdd\fP \- adds a BDD to a chained list of BDDs
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ chain_list *addListBdd(pt,pBdd)
+diff --git a/alliance/src/log/man3/applyBdd.3 b/alliance/src/log/man3/applyBdd.3
+index 5d063d7..b55c8b3 100644
+--- a/alliance/src/log/man3/applyBdd.3
++++ b/alliance/src/log/man3/applyBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBapplyBdd\fP \- applies an operator to a list of BDD.
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode applyBdd(oper,pt)
+diff --git a/alliance/src/log/man3/applyBinBdd.3 b/alliance/src/log/man3/applyBinBdd.3
+index ac58473..14e6d78 100644
+--- a/alliance/src/log/man3/applyBinBdd.3
++++ b/alliance/src/log/man3/applyBinBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBapplyBinBdd\fP \- applies an operator to two BDD.
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode applyBinBdd(oper,pBdd1,pBdd2)
+diff --git a/alliance/src/log/man3/bddToAblCct.3 b/alliance/src/log/man3/bddToAblCct.3
+index 222cd66..89516fa 100644
+--- a/alliance/src/log/man3/bddToAblCct.3
++++ b/alliance/src/log/man3/bddToAblCct.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBbddToAblCct\fP \- converts a BDD into an ABL within a circuit
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ chain_list *bddToAblCct(pC,pBdd)
+diff --git a/alliance/src/log/man3/composeBdd.3 b/alliance/src/log/man3/composeBdd.3
+index 803e238..390c641 100644
+--- a/alliance/src/log/man3/composeBdd.3
++++ b/alliance/src/log/man3/composeBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBcomposeBdd\fP \- substitutes an index by a BDD in another BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode composeBdd(pBdd1,pBdd2,index)
+@@ -15,7 +15,7 @@ short index;
+ .SH PARAMETERS
+ .TP 20
+ \fIpBdd1\fP
+-BDD in wich \fIindex\fP is substituted
++BDD in which \fIindex\fP is substituted
+ .TP 20
+ \fIpBdd2\fP
+ BDD that replaces \fIindex\fP
+diff --git a/alliance/src/log/man3/constraintBdd.3 b/alliance/src/log/man3/constraintBdd.3
+index 2208bdc..61fa125 100644
+--- a/alliance/src/log/man3/constraintBdd.3
++++ b/alliance/src/log/man3/constraintBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBconstraintBdd\fP \- restricts a BDD to another BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode constraintBdd(pBdd1,pBdd2)
+diff --git a/alliance/src/log/man3/createNodeTermBdd.3 b/alliance/src/log/man3/createNodeTermBdd.3
+index 76a35aa..56b9f2e 100644
+--- a/alliance/src/log/man3/createNodeTermBdd.3
++++ b/alliance/src/log/man3/createNodeTermBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBcreateNodeTermBdd\fP \- creates a terminal node of variable.
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode createNodeTermBdd(index)
+diff --git a/alliance/src/log/man3/destroyBdd.3 b/alliance/src/log/man3/destroyBdd.3
+index 7837981..1afc822 100644
+--- a/alliance/src/log/man3/destroyBdd.3
++++ b/alliance/src/log/man3/destroyBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBdestroyBdd\fP \- removes the BDDs system
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void destroyBdd(level)
+diff --git a/alliance/src/log/man3/displayBdd.3 b/alliance/src/log/man3/displayBdd.3
+index 264f314..2a3e062 100644
+--- a/alliance/src/log/man3/displayBdd.3
++++ b/alliance/src/log/man3/displayBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBdisplayBdd\fP \- displays a BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void displayBdd(pBdd,level)
+diff --git a/alliance/src/log/man3/gcNodeBdd.3 b/alliance/src/log/man3/gcNodeBdd.3
+index 418ed65..ce04e58 100644
+--- a/alliance/src/log/man3/gcNodeBdd.3
++++ b/alliance/src/log/man3/gcNodeBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBgcNodeBdd\fP \- does a garbage collection
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void gcNodeBdd(pt)
+diff --git a/alliance/src/log/man3/initializeBdd.3 b/alliance/src/log/man3/initializeBdd.3
+index aed7b17..71fcade 100644
+--- a/alliance/src/log/man3/initializeBdd.3
++++ b/alliance/src/log/man3/initializeBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBinitializeBdd\fP \- initializes the BDDs system
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void initializeBdd(size)
+diff --git a/alliance/src/log/man3/markAllBdd.3 b/alliance/src/log/man3/markAllBdd.3
+index 10ed21c..acec60e 100644
+--- a/alliance/src/log/man3/markAllBdd.3
++++ b/alliance/src/log/man3/markAllBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBmarkAllBdd\fP \- marks all the nodes of the BDDs system
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void markAllBdd(value)
+diff --git a/alliance/src/log/man3/markBdd.3 b/alliance/src/log/man3/markBdd.3
+index fce9f81..efb372b 100644
+--- a/alliance/src/log/man3/markBdd.3
++++ b/alliance/src/log/man3/markBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBmarkBdd\fP \- marks all nodes of a BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void markBdd(pBdd,value)
+diff --git a/alliance/src/log/man3/notBdd.3 b/alliance/src/log/man3/notBdd.3
+index a402dff6..64ab50f 100644
+--- a/alliance/src/log/man3/notBdd.3
++++ b/alliance/src/log/man3/notBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBnotBdd\fP \- complements a BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode notBdd(pBdd)
+diff --git a/alliance/src/log/man3/numberNodeAllBdd.3 b/alliance/src/log/man3/numberNodeAllBdd.3
+index 9e378f0..fd692ec 100644
+--- a/alliance/src/log/man3/numberNodeAllBdd.3
++++ b/alliance/src/log/man3/numberNodeAllBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBnumberNodeAllBdd\fP \- count the number of nodes used in the BDD system
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ int numberNodeAllBdd()
+diff --git a/alliance/src/log/man3/numberNodeBdd.3 b/alliance/src/log/man3/numberNodeBdd.3
+index 0c60d89..d2b2fda 100644
+--- a/alliance/src/log/man3/numberNodeBdd.3
++++ b/alliance/src/log/man3/numberNodeBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBnumberNodeBdd\fP \- computes the number of nodes used in a BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ int numberNodeBdd(pBdd)
+@@ -13,7 +13,7 @@ pNode pBdd;
+ .SH PARAMETER
+ .TP 20
+ \fIpBdd\fP
+-BDD on wich the compute does
++BDD on which the compute does
+ .SH DESCRIPTION
+ \fBnumberNodeBdd()\fP computes the number of reduced nodes that are used in \fIpBdd\fP.
+ .SH EXAMPLE
+diff --git a/alliance/src/log/man3/resetBdd.3 b/alliance/src/log/man3/resetBdd.3
+index 5f87566..6faf0a3 100644
+--- a/alliance/src/log/man3/resetBdd.3
++++ b/alliance/src/log/man3/resetBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBresetBdd\fP \- resets the BDDs system
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ void resetBdd()
+diff --git a/alliance/src/log/man3/simplifDcOneBdd.3 b/alliance/src/log/man3/simplifDcOneBdd.3
+index f20bcb5..4bb522a 100644
+--- a/alliance/src/log/man3/simplifDcOneBdd.3
++++ b/alliance/src/log/man3/simplifDcOneBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBsimplifDcOneBdd\fP \- simplifies a BDD with don't cares on its on-set part
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode simplifDcOneBdd(pBdd1,pBdd2)
+diff --git a/alliance/src/log/man3/simplifDcZeroBdd.3 b/alliance/src/log/man3/simplifDcZeroBdd.3
+index a1240d4..a4ed25c 100644
+--- a/alliance/src/log/man3/simplifDcZeroBdd.3
++++ b/alliance/src/log/man3/simplifDcZeroBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBsimplifDcZeroBdd\fP \- simplifies a BDD with don't cares on its off-set part
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode simplifDcZeroBdd(pBdd1,pBdd2)
+diff --git a/alliance/src/log/man3/supportChain_listBdd.3 b/alliance/src/log/man3/supportChain_listBdd.3
+index 3606db0..c2985be 100644
+--- a/alliance/src/log/man3/supportChain_listBdd.3
++++ b/alliance/src/log/man3/supportChain_listBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBsupportChain_listBdd\fP \- returns a chained list of nodes that are used in a given BDD.
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ chain_list *supportChain_listBdd(pBdd)
+@@ -15,7 +15,7 @@ pNode pBdd;
+ \fIpBdd\fP
+ BDD
+ .SH DESCRIPTION
+-\fBsupportChain_listBdd()\fP creates a chained list in wich all the nodes of \fIpBdd\fP are represented.
++\fBsupportChain_listBdd()\fP creates a chained list in which all the nodes of \fIpBdd\fP are represented.
+ .SH EXAMPLE
+ .nf
+ #include "mutnnn.h" /* mbk utilities */
+diff --git a/alliance/src/log/man3/upVarBdd.3 b/alliance/src/log/man3/upVarBdd.3
+index 3f4640b..13a1d9e 100644
+--- a/alliance/src/log/man3/upVarBdd.3
++++ b/alliance/src/log/man3/upVarBdd.3
+@@ -4,7 +4,7 @@
+ .so man1/alc_origin.1
+ .SH NAME
+ \fBupVarBdd\fP \- brings up an index in a BDD
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "logmmm.h"
+ pNode upVarBdd(pBdd,oldIndex,newIndex)
+@@ -14,7 +14,7 @@ short oldIndex,newIndex;
+ .SH PARAMETERS
+ .TP 20
+ \fIpBdd\fP
+-BDD in wich \fIindex\fP is came up
++BDD in which \fIindex\fP is came up
+ .TP 20
+ \fIoldIndex\fP
+ index to come up
+diff --git a/alliance/src/loon/doc/loon.1 b/alliance/src/loon/doc/loon.1
+index 3ba4e3f..0b78ffc 100644
+--- a/alliance/src/loon/doc/loon.1
++++ b/alliance/src/loon/doc/loon.1
+@@ -52,7 +52,7 @@ LooN \- Local optimizations of Nets.
+ gate netlist and also to optimize the delay.
+ The netlist can be hierarchical and is flattened if necessary.
+ \f4loon\fP runs in batch mode and a parameter file can be used
+-(see man \f4lax\fP) to parametrize optimization by adding informations
++(see man \f4lax\fP) to parametrize optimization by adding information
+ on outputs (fanin), inputs (fanout, delay) and by setting general
+ parameters such as optimization level.
+ \f4loon\fP permits to compute delays of gates in the netlist and gives
+@@ -95,7 +95,7 @@ Here is the default lax file (see the user's manual for further information abou
+ Help mode. Displays possible uses of \f4loon\fP.
+ .TP 10
+ \f4\-o input_file\fP
+-Overwrites the source file if no \fIoutput_file\fP is given. This can be usefull if you don't want several netlist files.
++Overwrites the source file if no \fIoutput_file\fP is given. This can be useful if you don't want several netlist files.
+ .TP 10
+ \f4\-m optim_mode\fP
+ Optimization mode. Can be defined in lax file, it's only a shortcut to define it on command line. This mode number has an array defined between \fI0\fP and \fI4\fP. It indicates the way of optimization the user wants. If \fI0\fP is chosen, the circuit area will be improved. On the other hand, \fI4\fP will improve circuit delays. \fI2\fP is a medium value for optimization.
+@@ -104,7 +104,7 @@ Optimization mode. Can be defined in lax file, it's only a shortcut to define it
+ Generate a '.xsc' file. It is a color map for each signals contained in \fIoutput_file\fP network. This file is used by \f4xsch\fP to view the netlist. By choosing level 0 or 1 for xsch_mode, you can color respectively the critical path or all signals with delay graduation.
+ .TP 10
+ \f4\-l lax_file\fP
+-Just another way to show explicitely the \f4LAX\fP parameter file name.
++Just another way to show explicitly the \f4LAX\fP parameter file name.
+ .br
+
+ .SH ENVIRONMENT VARIABLES
+diff --git a/alliance/src/loon/src/lon_lib_format.c b/alliance/src/loon/src/lon_lib_format.c
+index 4b74006..f80275e 100644
+--- a/alliance/src/loon/src/lon_lib_format.c
++++ b/alliance/src/loon/src/lon_lib_format.c
+@@ -228,7 +228,7 @@ extern int format_cell(befig_list* befig)
+ /*only one condition*/
+ if (!befig->BEREG->BIABL || befig->BEREG->BIABL->NEXT) return 0;
+ #endif
+- /*one ouput*/
++ /*one output*/
+ if (!befig->BEOUT || befig->BEOUT->NEXT) return 0;
+ /* forbid logic on output */
+ if (!ABL_ATOM(befig->BEOUT->ABL)) {
+@@ -251,7 +251,7 @@ extern int format_cell(befig_list* befig)
+ if (befig->BEBUS->NEXT || befig->BEREG || befig->BEBUX) return 0;
+ /*only one condition*/
+ if (!befig->BEBUS->BIABL || befig->BEBUS->BIABL->NEXT) return 0;
+- /*one ouput: bebus*/
++ /*one output: bebus*/
+ if (befig->BEOUT) return 0;
+ }
+
+@@ -260,7 +260,7 @@ extern int format_cell(befig_list* befig)
+ if (befig->BEBUX->NEXT || befig->BEREG || befig->BEBUS) return 0;
+ /*only one condition*/
+ if (!befig->BEBUX->BIABL || befig->BEBUX->BIABL->NEXT) return 0;
+- /*one ouput: beout*/
++ /*one output: beout*/
+ if (!befig->BEOUT || befig->BEOUT->NEXT) return 0;
+ /* forbid logic on output */
+ if (!ABL_ATOM(befig->BEOUT->ABL)) {
+@@ -287,7 +287,7 @@ extern int format_cell(befig_list* befig)
+ }
+
+ if (befig->BEOUT) {
+- /*one kind of ouput: beout*/
++ /*one kind of output: beout*/
+ if ( befig->BEBUS ) return 0;
+ }
+
+diff --git a/alliance/src/loon/src/lon_main.c b/alliance/src/loon/src/lon_main.c
+index 572be04..08ebe5e 100644
+--- a/alliance/src/loon/src/lon_main.c
++++ b/alliance/src/loon/src/lon_main.c
+@@ -459,7 +459,7 @@ extern int main (int argc, char* argv[])
+ }
+
+
+- /*colors and weight informations for xsch alliance displayer*/
++ /*colors and weight information for xsch alliance displayer*/
+ if (xsch_file) {
+ FILE* xsch_stream;
+ ptype_list* ptype;
+diff --git a/alliance/src/loon/src/lon_optim_capa.c b/alliance/src/loon/src/lon_optim_capa.c
+index e0ed104..7cdb6c8 100644
+--- a/alliance/src/loon/src/lon_optim_capa.c
++++ b/alliance/src/loon/src/lon_optim_capa.c
+@@ -90,7 +90,7 @@ static ptype_list* sort_capa(ptype_list* capa)
+
+ /***************************************************************************/
+ /* try to improve timing by changing cell impedance */
+-/* return 1 if replace is successfull */
++/* return 1 if replace is successful */
+ /***************************************************************************/
+ static int change_instance(loins_list* loins, losig_list* losig, lofig_list* lofig, int optim_level)
+ {
+diff --git a/alliance/src/loon/src/lon_signal_name.c b/alliance/src/loon/src/lon_signal_name.c
+index 6421824..6583c3e 100644
+--- a/alliance/src/loon/src/lon_signal_name.c
++++ b/alliance/src/loon/src/lon_signal_name.c
+@@ -56,7 +56,7 @@ extern void free_nameindex()
+
+
+ /***************************************************************************/
+-/* return name concatenated with an index and seperated by '_' */
++/* return name concatenated with an index and separated by '_' */
+ /* this index is : how many times I have sent this name to getnameindex() */
+ /* unicity is guaranteed until you run Put_index_to_zero() below */
+ /***************************************************************************/
+@@ -79,7 +79,7 @@ extern char* getnameindex(char* name)
+ return name; /*unchanged*/
+ }
+ else {
+- /*add an occurence*/
++ /*add an occurrence*/
+ elem->VALUE++;
+ memo_char=SEPAR; /*external value from MBK environment*/
+ SEPAR='_';
+diff --git a/alliance/src/loon/src/lon_signal_name.h b/alliance/src/loon/src/lon_signal_name.h
+index ab790e5..524fc22 100644
+--- a/alliance/src/loon/src/lon_signal_name.h
++++ b/alliance/src/loon/src/lon_signal_name.h
+@@ -52,7 +52,7 @@ extern void free_nameindex __P (());
+ extern char* output_name __P ((char* name));
+
+ /***************************************************************************/
+-/* return name concatenated with an index and seperated by '_' */
++/* return name concatenated with an index and separated by '_' */
+ /* this index is : how many times I have sent this name to getnameindex() */
+ /* unicity is guaranteed until you run Put_index_to_zero() below */
+ /***************************************************************************/
+diff --git a/alliance/src/loon/src/lon_signal_netlist.c b/alliance/src/loon/src/lon_signal_netlist.c
+index 3e59cbd..373eb34 100644
+--- a/alliance/src/loon/src/lon_signal_netlist.c
++++ b/alliance/src/loon/src/lon_signal_netlist.c
+@@ -22,7 +22,7 @@
+ */
+
+ /*
+- * Tool : LooN - special netlist for timing dependancies
++ * Tool : LooN - special netlist for timing dependencies
+ * Date : 2000
+ * Author : Francois Donnet
+ */
+@@ -139,7 +139,7 @@ extern double loins_max_T(loins_list* loins)
+ locon->NAME,loins->INSNAME);
+ autexit(1);
+ }
+- /*eval delay on input dependancy*/
++ /*eval delay on input dependency*/
+ if (isvdd(locon->NAME) || isvss(locon->NAME)) continue;
+ if (locon->DIRECTION==OUT || locon->DIRECTION==TRISTATE) continue;
+ /*only clock accepted for flip-flop*/
+@@ -219,7 +219,7 @@ extern double loins_max_RC(loins_list* loins, char* output)
+ locon->NAME,loins->INSNAME);
+ autexit(1);
+ }
+- /*eval delay on input dependancy*/
++ /*eval delay on input dependency*/
+ if (isvdd(locon->NAME) || isvss(locon->NAME)) continue;
+ if (locon->DIRECTION==OUT || locon->DIRECTION==TRISTATE) continue;
+ /*only clock accepted for flip-flop*/
+@@ -300,7 +300,7 @@ extern double loins_delay(loins_list* loins, char* output)
+ locon->NAME,loins->INSNAME);
+ autexit(1);
+ }
+- /*eval delay on input dependancy*/
++ /*eval delay on input dependency*/
+ if (isvdd(locon->NAME) || isvss(locon->NAME)) continue;
+ if (locon->DIRECTION==OUT || locon->DIRECTION==TRISTATE) continue;
+ /*only clock accepted for flip-flop*/
+diff --git a/alliance/src/lvx/src/lvx.c b/alliance/src/lvx/src/lvx.c
+index 32e49c6..5685bca 100644
+--- a/alliance/src/lvx/src/lvx.c
++++ b/alliance/src/lvx/src/lvx.c
+@@ -46,7 +46,7 @@
+ *
+ * Revision 1.4 2004/05/22 14:26:08 ludo
+ * Now, by default LVX does not check unassigned signals between the two input netlists.
+- * (this feature is usefull/mandatory with the new VST driver that adds sometimes unused
++ * (this feature is useful/mandatory with the new VST driver that adds sometimes unused
+ * signals to have consitent VHDL vectors declaration)
+ * The command line option '-u' permits to behave like it was before and then check
+ * also unassigned signals.
+@@ -456,7 +456,7 @@ unsigned char mark;
+ }
+
+ prev_mark = ptnode->MARK;
+- if (compar == -1) { /* two instances with same insname, but fignames differents */
++ if (compar == -1) { /* two instances with same insname, but fignames different */
+ if (prev_mark == mark) { /* the two instances are in the same figure */
+ error_count ++;
+ printf ("\n\nInstance '%s' repeated with different fignames in netlist %i:",
+@@ -792,7 +792,7 @@ ptype_list *ptype = NULL;
+ locon_list *locon;
+ unsigned char mark;
+
+-/* Searchs in the Tree of all connectors the node corresponding to the 'locon',
++/* Searches in the Tree of all connectors the node corresponding to the 'locon',
+ and returns the pointer to the locon in the opposite figure. 'mark' is the
+ mark of the figure for the given locon.
+ Returns NULL if not found.
+diff --git a/alliance/src/mbk/man1/MBK_CATAL_NAME.1 b/alliance/src/mbk/man1/MBK_CATAL_NAME.1
+index 81995c2..31650c3 100644
+--- a/alliance/src/mbk/man1/MBK_CATAL_NAME.1
++++ b/alliance/src/mbk/man1/MBK_CATAL_NAME.1
+@@ -9,7 +9,7 @@ MBK_CATAL_NAME
+ .TH MBK_CATAL_NAME 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_CATAL_NAME \- define the mbk catalog file
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_CATA_LIB.1 b/alliance/src/mbk/man1/MBK_CATA_LIB.1
+index 89610ed..59408f9 100644
+--- a/alliance/src/mbk/man1/MBK_CATA_LIB.1
++++ b/alliance/src/mbk/man1/MBK_CATA_LIB.1
+@@ -9,7 +9,7 @@ MBK_CATA_LIB
+ .TH MBK_CATA_LIB 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_CATA_LIB \- define the mbk catalog directory
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -22,15 +22,15 @@ setenv MBK_CATA_LIB path1:path2:path3:...:...:pathn
+ .so man1/alc_origin.1
+ .SH DESCRIPTION
+ \fBMBK_CATA_LIB\fP sets the directories that are to be searched thru for
+-reading. When instanciating a cell for example, the first cell that is found
++reading. When instantiating a cell for example, the first cell that is found
+ with the given name is loaded in memory.
+ .br
+-The seaching mecanism first look in
++The searching mechanism first look in
+ \fBMBK_WORK_LIB\fP(1), and then, in path1 thru pathn, in the order defined by the
+ user when typing the setenv command.
+ This directories are considered to be, from a mbk point of view, read only.
+ .br
+-The pathi arguments must be actually accessible pathes on your host machine.
++The pathi arguments must be actually accessible paths on your host machine.
+ .SH ERRORS
+ .if n \{\
+ .ft B \}
+@@ -39,7 +39,7 @@ The pathi arguments must be actually accessible pathes on your host machine.
+ "mbk_fopen : can't open file 'unix_path/file.xx' thru directories : path1, ..., pathn"
+ .ft R
+ .RS
+-This occurs when either the unix path is irrelevent, or when the file doesn't
++This occurs when either the unix path is irrelevant, or when the file doesn't
+ exist. This can also be a unix right problem if the file is not accessible for
+ reading, but this is seldom.
+ .SH EXAMPLE
+diff --git a/alliance/src/mbk/man1/MBK_CK.1 b/alliance/src/mbk/man1/MBK_CK.1
+index 84cc1da..8b058ff 100644
+--- a/alliance/src/mbk/man1/MBK_CK.1
++++ b/alliance/src/mbk/man1/MBK_CK.1
+@@ -9,7 +9,7 @@ MBK_CK
+ .TH MBK_CK 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_CK \- define the clock name pattern
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_IN_LO.1 b/alliance/src/mbk/man1/MBK_IN_LO.1
+index a6b7551..212be97 100644
+--- a/alliance/src/mbk/man1/MBK_IN_LO.1
++++ b/alliance/src/mbk/man1/MBK_IN_LO.1
+@@ -9,7 +9,7 @@ MBK_IN_LO
+ .TH MBK_IN_LO 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_IN_LO \- define the logical input format of mbk and genlib
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -22,12 +22,12 @@ setenv MBK_IN_LO format
+ .so man1/alc_origin.1
+ .SH DESCRIPTION
+ \fBMBK_IN_LO\fP sets the logical input format of the mbk database. The database
+-will be filled with informations found in the given format file.
++will be filled with information found in the given format file.
+ .TP
+ valid formats are :
+ \- \fBal\fP, \fBalx\fP, that are alliance logical formats
+ .br
+-\- \fBedi\fP, that is edif standart netlist format
++\- \fBedi\fP, that is edif standard netlist format
+ .br
+ \- \fBhns\fP, \fBfns\fP, \fBfne\fP, \fBfdn\fP, \fBhdn\fP, that are vti logical
+ formats
+diff --git a/alliance/src/mbk/man1/MBK_IN_PH.1 b/alliance/src/mbk/man1/MBK_IN_PH.1
+index b374d6a..8567e1a 100644
+--- a/alliance/src/mbk/man1/MBK_IN_PH.1
++++ b/alliance/src/mbk/man1/MBK_IN_PH.1
+@@ -9,7 +9,7 @@ MBK_IN_PH
+ .TH MBK_IN_PH 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_IN_PH \- define the physical input format of mbk and genlib
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -22,7 +22,7 @@ setenv MBK_IN_PH format
+ .so man1/alc_origin.1
+ .SH DESCRIPTION
+ \fBMBK_IN_PH\fP sets the physical input format of the mbk data structure.
+-The data structure will be filled with informations found in the given format
++The data structure will be filled with information found in the given format
+ file.
+ .TP
+ valid formats are :
+diff --git a/alliance/src/mbk/man1/MBK_OUT_FILTER.1 b/alliance/src/mbk/man1/MBK_OUT_FILTER.1
+index 655dbf4..fcd531d 100644
+--- a/alliance/src/mbk/man1/MBK_OUT_FILTER.1
++++ b/alliance/src/mbk/man1/MBK_OUT_FILTER.1
+@@ -8,7 +8,7 @@ MBK_OUT_FILTER \- define the input filter
+ .so man1/alc_origin.1
+
+ .SH DESCRIPTION
+-\fBMBK_OUT_FILTER\fP sets the output filter for writting compressed Alliance
++\fBMBK_OUT_FILTER\fP sets the output filter for writing compressed Alliance
+ files. Filter is typically a string containing filename and options. This filter
+ must read non compressed data flow on it standard input and write compressed
+ data flow on it standard output. If a non compressed version of a file exist in
+diff --git a/alliance/src/mbk/man1/MBK_OUT_LO.1 b/alliance/src/mbk/man1/MBK_OUT_LO.1
+index 4c414d5..56c18a6 100644
+--- a/alliance/src/mbk/man1/MBK_OUT_LO.1
++++ b/alliance/src/mbk/man1/MBK_OUT_LO.1
+@@ -9,7 +9,7 @@ MBK_OUT_LO
+ .TH MBK_OUT_LO 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_OUT_LO \- define the logical output format of mbk and genlib
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_OUT_PH.1 b/alliance/src/mbk/man1/MBK_OUT_PH.1
+index b193ac3..cd32013 100644
+--- a/alliance/src/mbk/man1/MBK_OUT_PH.1
++++ b/alliance/src/mbk/man1/MBK_OUT_PH.1
+@@ -9,7 +9,7 @@ MBK_OUT_PH
+ .TH MBK_OUT_PH 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_OUT_PH \- define the physical output format of mbk and genlib
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_SEPAR.1 b/alliance/src/mbk/man1/MBK_SEPAR.1
+index 0b4376f..9d5f60b 100644
+--- a/alliance/src/mbk/man1/MBK_SEPAR.1
++++ b/alliance/src/mbk/man1/MBK_SEPAR.1
+@@ -9,7 +9,7 @@ MBK_SEPAR
+ .TH MBK_SEPAR 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_SEPAR \- define the separator character for hierarchy
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_VDD.1 b/alliance/src/mbk/man1/MBK_VDD.1
+index 2d02d64..20db8fb 100644
+--- a/alliance/src/mbk/man1/MBK_VDD.1
++++ b/alliance/src/mbk/man1/MBK_VDD.1
+@@ -9,7 +9,7 @@ MBK_VDD
+ .TH MBK_VDD 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_VDD \- define the high level power name pattern
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_VSS.1 b/alliance/src/mbk/man1/MBK_VSS.1
+index 5a31ffc..7d08f71 100644
+--- a/alliance/src/mbk/man1/MBK_VSS.1
++++ b/alliance/src/mbk/man1/MBK_VSS.1
+@@ -9,7 +9,7 @@ MBK_VSS
+ .TH MBK_VSS 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_VSS \- define the ground power name pattern
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man1/MBK_WORK_LIB.1 b/alliance/src/mbk/man1/MBK_WORK_LIB.1
+index 9da8b73..1a0b5d3 100644
+--- a/alliance/src/mbk/man1/MBK_WORK_LIB.1
++++ b/alliance/src/mbk/man1/MBK_WORK_LIB.1
+@@ -9,7 +9,7 @@ MBK_WORK_LIB
+ .TH MBK_WORK_LIB 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
+ .SH NAME
+ MBK_WORK_LIB \- define the mbk working directory
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -38,7 +38,7 @@ The unix path argument must be a actually accessible path on your host machine.
+ "mbk_fopen : can't open file 'unix_path/file.xx'"
+ .ft R
+ .RS
+-This occurs when either the unix path is irrelevent, or when the file doesn't
++This occurs when either the unix path is irrelevant, or when the file doesn't
+ exist if it is open for reading, or when you don't have the right on the file
+ or directory while trying to write it.
+ .SH EXAMPLE
+diff --git a/alliance/src/mbk/man3/addcapa.3 b/alliance/src/mbk/man3/addcapa.3
+index 9b02274..120fd51 100644
+--- a/alliance/src/mbk/man3/addcapa.3
++++ b/alliance/src/mbk/man3/addcapa.3
+@@ -10,7 +10,7 @@ addcapa
+ .SH NAME
+ addcapa \- add a capacitance to a signal
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addchain.3 b/alliance/src/mbk/man3/addchain.3
+index 09543ff..d98ea03 100644
+--- a/alliance/src/mbk/man3/addchain.3
++++ b/alliance/src/mbk/man3/addchain.3
+@@ -14,7 +14,7 @@ addchain
+ .SH NAME
+ addchain \- create a \fBchain\fP and add it to a list
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addht.3 b/alliance/src/mbk/man3/addht.3
+index 5ad0679..7b2b8b7 100644
+--- a/alliance/src/mbk/man3/addht.3
++++ b/alliance/src/mbk/man3/addht.3
+@@ -15,7 +15,7 @@ addht
+ .SH NAME
+ addht \- create an hash table
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .if n \{\
+ .ft B \}
+ .if t \{\
+diff --git a/alliance/src/mbk/man3/addhtitem.3 b/alliance/src/mbk/man3/addhtitem.3
+index 7d64bf7..21a752c 100644
+--- a/alliance/src/mbk/man3/addhtitem.3
++++ b/alliance/src/mbk/man3/addhtitem.3
+@@ -15,7 +15,7 @@ addhtitem
+ .SH NAME
+ addhtitem \- adds a new item in a hash table.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .if n \{\
+ .ft B \}
+ .if t \{\
+diff --git a/alliance/src/mbk/man3/addlocap.3 b/alliance/src/mbk/man3/addlocap.3
+index 25143f2..55e341c 100644
+--- a/alliance/src/mbk/man3/addlocap.3
++++ b/alliance/src/mbk/man3/addlocap.3
+@@ -14,7 +14,7 @@ addlocap
+ .SH NAME
+ addlocap \- create a logical capacitor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addlocon.3 b/alliance/src/mbk/man3/addlocon.3
+index 4f78070..4686a91 100644
+--- a/alliance/src/mbk/man3/addlocon.3
++++ b/alliance/src/mbk/man3/addlocon.3
+@@ -14,7 +14,7 @@ addlocon
+ .SH NAME
+ addlocon \- create a logical connector
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -53,7 +53,7 @@ fields of the \fIlocon\fP structure. The name should be unique at a given
+ hierarchical level since it's the connector identifier.
+ .br
+ The field \fITYPE\fP is set to \fBEXTERNAL\fP since a cell connector is
+-beeing created. The instance connectors are builded up by the \fBaddloins\fP(3)
++being created. The instance connectors are builded up by the \fBaddloins\fP(3)
+ call. See \fBaddloins\fP(3) for details.
+ For a list of valid \fIdir\fP, see \fBlocon\fR(3).
+ .SH RETURN VALUE
+@@ -67,7 +67,7 @@ For a list of valid \fIdir\fP, see \fBlocon\fR(3).
+ connector \fIname\fP already exists in figure \fIptfig\->NAME\fP"
+ .ft R
+ .RS
+-The \fIname\fP beeing the logical connector idenfier, two connectors may not
++The \fIname\fP being the logical connector idenfier, two connectors may not
+ have the same name in a given figure.
+ .RE
+ .if n \{\
+diff --git a/alliance/src/mbk/man3/addlofig.3 b/alliance/src/mbk/man3/addlofig.3
+index aa4706cd..3c5a954 100644
+--- a/alliance/src/mbk/man3/addlofig.3
++++ b/alliance/src/mbk/man3/addlofig.3
+@@ -14,7 +14,7 @@ addlofig
+ .SH NAME
+ addlofig \- create a new structural cell model
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addloins.3 b/alliance/src/mbk/man3/addloins.3
+index 2a4c3e8..c1eb11c 100644
+--- a/alliance/src/mbk/man3/addloins.3
++++ b/alliance/src/mbk/man3/addloins.3
+@@ -14,7 +14,7 @@ addloins
+ .SH NAME
+ addloins \- create a logical instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -57,7 +57,7 @@ linked to each connector are the one given in the \fIsigchain\fP argument. See
+ .br
+ The matching is done in order, it means that the first connector is linked
+ to the first signal of the \fIsigchain\fP, and so on. Care must be taken when
+-instanciating in order to warranty the validity of the netlist.
++instantiating in order to warranty the validity of the netlist.
+ For details on the structure, see \fBloins\fR(3).
+ .SH RETURN VALUE
+ \fBaddloins\fP returns a pointer to the newly created instance.
+diff --git a/alliance/src/mbk/man3/addlomodel.3 b/alliance/src/mbk/man3/addlomodel.3
+index 70e00fe..caffc2f 100644
+--- a/alliance/src/mbk/man3/addlomodel.3
++++ b/alliance/src/mbk/man3/addlomodel.3
+@@ -14,7 +14,7 @@ addlomodel
+ .SH NAME
+ addlomodel \- create a tempotary logical model and add it to a list
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addlores.3 b/alliance/src/mbk/man3/addlores.3
+index 16c3992..43f5f97 100644
+--- a/alliance/src/mbk/man3/addlores.3
++++ b/alliance/src/mbk/man3/addlores.3
+@@ -14,7 +14,7 @@ addlores
+ .SH NAME
+ addlores \- create a logical resistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addloself.3 b/alliance/src/mbk/man3/addloself.3
+index 51fc805..3979221 100644
+--- a/alliance/src/mbk/man3/addloself.3
++++ b/alliance/src/mbk/man3/addloself.3
+@@ -14,7 +14,7 @@ addloself
+ .SH NAME
+ addloself \- create a logical inductor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addlosig.3 b/alliance/src/mbk/man3/addlosig.3
+index 71cc66e..b057a7b 100644
+--- a/alliance/src/mbk/man3/addlosig.3
++++ b/alliance/src/mbk/man3/addlosig.3
+@@ -14,7 +14,7 @@ addlosig
+ .SH NAME
+ addlosig \- create a logical signal
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addlotrs.3 b/alliance/src/mbk/man3/addlotrs.3
+index 8608514..da38924 100644
+--- a/alliance/src/mbk/man3/addlotrs.3
++++ b/alliance/src/mbk/man3/addlotrs.3
+@@ -14,7 +14,7 @@ addlotrs
+ .SH NAME
+ addlotrs \- create a logical transistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addnum.3 b/alliance/src/mbk/man3/addnum.3
+index fe89d68..d28ffc5 100644
+--- a/alliance/src/mbk/man3/addnum.3
++++ b/alliance/src/mbk/man3/addnum.3
+@@ -14,7 +14,7 @@ addnum
+ .SH NAME
+ addnum \- create a \fBnum\fP and add it to a list
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addphcon.3 b/alliance/src/mbk/man3/addphcon.3
+index 057f07b..8af59bd 100644
+--- a/alliance/src/mbk/man3/addphcon.3
++++ b/alliance/src/mbk/man3/addphcon.3
+@@ -14,7 +14,7 @@ addphcon
+ .SH NAME
+ addphcon \- create a physical connector
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -79,7 +79,7 @@ For a list of valid \fIorient\fP and \fIlayer\fPs, see
+ .ft B \}
+ .if t \{\
+ .ft CR \}
+-"\(**\(**\(** mbk error \(**\(**\(** illegal addphcon unknow layer \fIlayer\fP in \fIconname\fP"
++"\(**\(**\(** mbk error \(**\(**\(** illegal addphcon unknown layer \fIlayer\fP in \fIconname\fP"
+ .ft R
+ .RS
+ The \fIlayer\fP parameter is out of range, and does not represent a legal
+diff --git a/alliance/src/mbk/man3/addphfig.3 b/alliance/src/mbk/man3/addphfig.3
+index 1380597..edeceb4 100644
+--- a/alliance/src/mbk/man3/addphfig.3
++++ b/alliance/src/mbk/man3/addphfig.3
+@@ -14,7 +14,7 @@ addphfig
+ .SH NAME
+ addphfig \- create a new physical cell model
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addphins.3 b/alliance/src/mbk/man3/addphins.3
+index 5e452f4..b8d2d1b 100644
+--- a/alliance/src/mbk/man3/addphins.3
++++ b/alliance/src/mbk/man3/addphins.3
+@@ -14,7 +14,7 @@ addphins
+ .SH NAME
+ addphins \- create a physical instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -57,9 +57,9 @@ the \fIFIGNAME\fP, \fIINSNAME\fP, \fITRANSF\fP, \fIXINS\fP and \fIYINS\fP
+ fields of the \fIphins\fP structure.
+ .br
+ The \fBaddphins\fP function does not check in memory or on disk to see
+-if the instanciated model exists, since no informations on it are needed.
++if the instantiated model exists, since no information on it are needed.
+ .br
+-The coordinates are not transformation dependant. It means that the
++The coordinates are not transformation dependent. It means that the
+ transformation is performed before placing the instance at the given point.
+ For details on the structure, see \fBphins\fR(3).
+ .SH RETURN VALUE
+@@ -74,8 +74,8 @@ For details on the structure, see \fBphins\fR(3).
+ .ft R
+ .RS
+ The instance has for model name of the figure on the which it is to be added.
+-It's illegal and dangerous. This check is made at the actual hierachy level
+-only, not recursivly on the structure, so it still may happend.
++It's illegal and dangerous. This check is made at the actual hierarchy level
++only, not recursivly on the structure, so it still may happened.
+ .RE
+ .LP
+ .if n \{\
+diff --git a/alliance/src/mbk/man3/addphref.3 b/alliance/src/mbk/man3/addphref.3
+index 616c242..c4f20f7 100644
+--- a/alliance/src/mbk/man3/addphref.3
++++ b/alliance/src/mbk/man3/addphref.3
+@@ -14,7 +14,7 @@ addphref
+ .SH NAME
+ addphref \- create a physical reference
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addphseg.3 b/alliance/src/mbk/man3/addphseg.3
+index d404462..3a63a33 100644
+--- a/alliance/src/mbk/man3/addphseg.3
++++ b/alliance/src/mbk/man3/addphseg.3
+@@ -14,7 +14,7 @@ addphseg
+ .SH NAME
+ addphseg \- create a physical segment
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addphvia.3 b/alliance/src/mbk/man3/addphvia.3
+index 54618b9..ba222c5 100644
+--- a/alliance/src/mbk/man3/addphvia.3
++++ b/alliance/src/mbk/man3/addphvia.3
+@@ -14,7 +14,7 @@ addphvia
+ .SH NAME
+ addphvia \- create a physical via
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/addptype.3 b/alliance/src/mbk/man3/addptype.3
+index 93a745d..67fb81b 100644
+--- a/alliance/src/mbk/man3/addptype.3
++++ b/alliance/src/mbk/man3/addptype.3
+@@ -14,7 +14,7 @@ addptype
+ .SH NAME
+ addptype \- create a \fBptype\fP and add it to a \fBptype_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -48,7 +48,7 @@ The \fItype\fP argument indicates the pointer type, at the C type meaning,
+ for its owner.
+ .br
+ The \fItype\fPs allow to access the pointers with adequat cast, and for example
+-to share informations in the \fIUSER\fP fields of mbk structures.
++to share information in the \fIUSER\fP fields of mbk structures.
+ .br
+ The \fIptdata\fP points to any kind of list or may itself be a value, if proper
+ cast is performed at compilation time, and fills the \fIDATA\fP field of the
+diff --git a/alliance/src/mbk/man3/alliancebanner.3 b/alliance/src/mbk/man3/alliancebanner.3
+index 98129d5..d48fa8f 100644
+--- a/alliance/src/mbk/man3/alliancebanner.3
++++ b/alliance/src/mbk/man3/alliancebanner.3
+@@ -8,7 +8,7 @@
+ .SH NAME
+ alliancebanner \- display the standardized Alliance banner
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .ft 4
+ #include "mut.h"
+@@ -34,9 +34,9 @@ Copyright dates.
+ \f4av\fP
+ Alliance version.
+ .SH DESCRIPTION
+-\fBalliancebanner\fP ouputs on \f4stdout\fR a standardized banner with
++\fBalliancebanner\fP outputs on \f4stdout\fR a standardized banner with
+ the name of the tool in large letters, and a cartouche containing some
+-informations about the Alliance CAD system.
++information about the Alliance CAD system.
+ This function is to be used by all the Alliance tools, and expect a
+ display 80 columns wide.
+ .SH EXAMPLE
+diff --git a/alliance/src/mbk/man3/append.3 b/alliance/src/mbk/man3/append.3
+index 26182e4..a06a681 100644
+--- a/alliance/src/mbk/man3/append.3
++++ b/alliance/src/mbk/man3/append.3
+@@ -14,7 +14,7 @@ append
+ .SH NAME
+ append \- append a \fBchain_list\fP to an other \fBchain_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/bigvia.3 b/alliance/src/mbk/man3/bigvia.3
+index 0328c34..f9bdc1a 100644
+--- a/alliance/src/mbk/man3/bigvia.3
++++ b/alliance/src/mbk/man3/bigvia.3
+@@ -14,7 +14,7 @@ bigvia
+ .SH NAME
+ bigvia \- draws a non minimal via as a bunch of vias
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/chain.3 b/alliance/src/mbk/man3/chain.3
+index 1d49cc5..2e3a781 100644
+--- a/alliance/src/mbk/man3/chain.3
++++ b/alliance/src/mbk/man3/chain.3
+@@ -15,7 +15,7 @@ chain
+ chain \- mbk lisp-like service structure
+ .SH DESCRIPTION
+ The \fBchain\fP is used for any purpose, when a list of pointer is required.
+-The use of this structure is strongly recommanded, when such a need occurs.
++The use of this structure is strongly recommended, when such a need occurs.
+ .LP
+ The declarations needed to work on \fBchain\fP are available in the header file
+ \fI"/labo/include/mut315.h"\fP, where '\fI315\fP' is the actual mbk version.
+diff --git a/alliance/src/mbk/man3/checkloconorder.3 b/alliance/src/mbk/man3/checkloconorder.3
+index a57cd42..25ac04a 100644
+--- a/alliance/src/mbk/man3/checkloconorder.3
++++ b/alliance/src/mbk/man3/checkloconorder.3
+@@ -14,7 +14,7 @@ checkloconorder
+ .SH NAME
+ checkloconorder \- checks the consistency of a list of logical connectors
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/concatname.3 b/alliance/src/mbk/man3/concatname.3
+index 363fff5..9a7e731 100644
+--- a/alliance/src/mbk/man3/concatname.3
++++ b/alliance/src/mbk/man3/concatname.3
+@@ -14,7 +14,7 @@ concatname
+ .SH NAME
+ concatname \- concatenate two names with user separator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ Pointer to a string
+ .SH DESCRIPTION
+ The \fBconcatname\fP function adds the separator defined by \fBMBK_SEPAR\fP(1),
+ and then the string \fIt\fP at the end of string \fIs\fP. This is not like a
+-\fBstrcat\fP(3) of the standard library, because \fIs\fP is not beeing modified.
++\fBstrcat\fP(3) of the standard library, because \fIs\fP is not being modified.
+ The string returned has already been put in the names dictionary by
+ a call to \fBnamealloc\fP(3).
+ .SH RETURN VALUE
+diff --git a/alliance/src/mbk/man3/defab.3 b/alliance/src/mbk/man3/defab.3
+index e94d3dc..fae357a 100644
+--- a/alliance/src/mbk/man3/defab.3
++++ b/alliance/src/mbk/man3/defab.3
+@@ -10,7 +10,7 @@ defab
+ .SH NAME
+ defab \- defines the \fIabutment box\fP of a \fBphfig\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delchain.3 b/alliance/src/mbk/man3/delchain.3
+index 320c2df..6ab5b74 100644
+--- a/alliance/src/mbk/man3/delchain.3
++++ b/alliance/src/mbk/man3/delchain.3
+@@ -14,7 +14,7 @@ delchain
+ .SH NAME
+ delchain \- delete an element of a \fBchain_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delht.3 b/alliance/src/mbk/man3/delht.3
+index bc5594d..460dbfb 100644
+--- a/alliance/src/mbk/man3/delht.3
++++ b/alliance/src/mbk/man3/delht.3
+@@ -15,7 +15,7 @@ delht
+ .SH NAME
+ delht \- removes an hash table
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ #include "mut.h"
+ void delht(table)
+diff --git a/alliance/src/mbk/man3/delhtitem.3 b/alliance/src/mbk/man3/delhtitem.3
+index 5b27512..2183369 100644
+--- a/alliance/src/mbk/man3/delhtitem.3
++++ b/alliance/src/mbk/man3/delhtitem.3
+@@ -15,7 +15,7 @@ delhtitem
+ .SH NAME
+ delhtitem \- removes an item in an hash table
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .if n \{\
+ .ft B \}
+ .if t \{\
+diff --git a/alliance/src/mbk/man3/dellocap.3 b/alliance/src/mbk/man3/dellocap.3
+index 42e765b..fcd42b2 100644
+--- a/alliance/src/mbk/man3/dellocap.3
++++ b/alliance/src/mbk/man3/dellocap.3
+@@ -14,7 +14,7 @@ dellocap
+ .SH NAME
+ dellocap \- delete a logical capacitor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -38,7 +38,7 @@ Pointer to the capacitor to be deleted.
+ \fBdellocap\fP delete the capacitor pointed to by \fIptcap\fP in the figure
+ pointed to by \fIptfig\fP.
+ The list consistency is maintainded, and the space freed. The capacitor
+-connectors are also freed, since if the capacitor disapear,
++connectors are also freed, since if the capacitor disappear,
+ no more connections can occur on it.
+ .SH RETURN VALUE
+ \fBdellocap\fP returns \fB1\fP if the capacitor has been deleted, \fB0\fP
+diff --git a/alliance/src/mbk/man3/dellocon.3 b/alliance/src/mbk/man3/dellocon.3
+index fb9a829..805d639 100644
+--- a/alliance/src/mbk/man3/dellocon.3
++++ b/alliance/src/mbk/man3/dellocon.3
+@@ -14,7 +14,7 @@ dellocon
+ .SH NAME
+ dellocon \- delete a logical connector
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/dellofig.3 b/alliance/src/mbk/man3/dellofig.3
+index fc294b4..6662614 100644
+--- a/alliance/src/mbk/man3/dellofig.3
++++ b/alliance/src/mbk/man3/dellofig.3
+@@ -14,7 +14,7 @@ dellofig
+ .SH NAME
+ dellofig \- delete and free a logical figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delloins.3 b/alliance/src/mbk/man3/delloins.3
+index 25f003a..961af57 100644
+--- a/alliance/src/mbk/man3/delloins.3
++++ b/alliance/src/mbk/man3/delloins.3
+@@ -14,7 +14,7 @@ delloins
+ .SH NAME
+ delloins \- delete a logical instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -38,7 +38,7 @@ Name of the instance to be deleted.
+ pointed to by \fIptfig\fP. This instance is warrantied to be unique, because
+ its name is an identifier at the given hierarchical level.
+ The list consistency is maintainded, and the space freed. The instance
+-connectors are also freed, since if the instance disapear, no more connections
++connectors are also freed, since if the instance disappear, no more connections
+ can occur on it.
+ .SH RETURN VALUE
+ \fBdelloins\fP returns \fB1\fP if the instance has been deleted, \fB0\fP
+diff --git a/alliance/src/mbk/man3/dellores.3 b/alliance/src/mbk/man3/dellores.3
+index 53a8f07..fa5ef36 100644
+--- a/alliance/src/mbk/man3/dellores.3
++++ b/alliance/src/mbk/man3/dellores.3
+@@ -14,7 +14,7 @@ dellores
+ .SH NAME
+ dellores \- delete a logical resistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -38,7 +38,7 @@ Pointer to the resistor to be deleted.
+ \fBdellores\fP delete the resistor pointed to by \fIptres\fP in the figure
+ pointed to by \fIptfig\fP.
+ The list consistency is maintainded, and the space freed. The resistor
+-connectors are also freed, since if the resistor disapear,
++connectors are also freed, since if the resistor disappear,
+ no more connections can occur on it.
+ .SH RETURN VALUE
+ \fBdellores\fP returns \fB1\fP if the resistor has been deleted, \fB0\fP
+diff --git a/alliance/src/mbk/man3/delloself.3 b/alliance/src/mbk/man3/delloself.3
+index a6deddb..e4d702e 100644
+--- a/alliance/src/mbk/man3/delloself.3
++++ b/alliance/src/mbk/man3/delloself.3
+@@ -14,7 +14,7 @@ delloself
+ .SH NAME
+ delloself \- delete a logical inductor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -38,7 +38,7 @@ Pointer to the inductor to be deleted.
+ \fBdelloself\fP delete the inductor pointed to by \fIptself\fP in the figure
+ pointed to by \fIptfig\fP.
+ The list consistency is maintainded, and the space freed. The inductor
+-connectors are also freed, since if the inductor disapear,
++connectors are also freed, since if the inductor disappear,
+ no more connections can occur on it.
+ .SH RETURN VALUE
+ \fBdelloself\fP returns \fB1\fP if the inductor has been deleted, \fB0\fP
+diff --git a/alliance/src/mbk/man3/dellosig.3 b/alliance/src/mbk/man3/dellosig.3
+index 4296a01..2f7c836 100644
+--- a/alliance/src/mbk/man3/dellosig.3
++++ b/alliance/src/mbk/man3/dellosig.3
+@@ -14,7 +14,7 @@ dellosig
+ .SH NAME
+ dellosig \- delete a logical signal
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/dellotrs.3 b/alliance/src/mbk/man3/dellotrs.3
+index 78a8ff1..21cfb0f 100644
+--- a/alliance/src/mbk/man3/dellotrs.3
++++ b/alliance/src/mbk/man3/dellotrs.3
+@@ -14,7 +14,7 @@ dellotrs
+ .SH NAME
+ dellotrs \- delete a logical transistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,7 +37,7 @@ Pointer to the transistor to be deleted.
+ \fBdellotrs\fP delete the transistor pointed to by \fIpttrs\fP in the figure
+ pointed to by \fIptfig\fP.
+ The list consistency is maintainded, and the space freed. The transistor
+-connectors are also freed, since if the transistor disapear,
++connectors are also freed, since if the transistor disappear,
+ no more connections can occur on it.
+ .SH RETURN VALUE
+ \fBdellotrs\fP returns \fB1\fP if the transistor has been deleted, \fB0\fP
+diff --git a/alliance/src/mbk/man3/delnum.3 b/alliance/src/mbk/man3/delnum.3
+index 958870c..a944179 100644
+--- a/alliance/src/mbk/man3/delnum.3
++++ b/alliance/src/mbk/man3/delnum.3
+@@ -14,7 +14,7 @@ delnum
+ .SH NAME
+ delnum \- delete an element of a \fBnum_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delphcon.3 b/alliance/src/mbk/man3/delphcon.3
+index c241950..2d73169 100644
+--- a/alliance/src/mbk/man3/delphcon.3
++++ b/alliance/src/mbk/man3/delphcon.3
+@@ -14,7 +14,7 @@ delphcon
+ .SH NAME
+ delphcon \- delete a physical connector
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delphfig.3 b/alliance/src/mbk/man3/delphfig.3
+index c3a582e..1d44a43 100644
+--- a/alliance/src/mbk/man3/delphfig.3
++++ b/alliance/src/mbk/man3/delphfig.3
+@@ -14,7 +14,7 @@ delphfig
+ .SH NAME
+ delphfig \- delete and free a physical figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delphins.3 b/alliance/src/mbk/man3/delphins.3
+index e96c98d..e6fe912 100644
+--- a/alliance/src/mbk/man3/delphins.3
++++ b/alliance/src/mbk/man3/delphins.3
+@@ -14,7 +14,7 @@ delphins
+ .SH NAME
+ delphins \- delete a physical instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delphref.3 b/alliance/src/mbk/man3/delphref.3
+index 4dbd575..9641d7c 100644
+--- a/alliance/src/mbk/man3/delphref.3
++++ b/alliance/src/mbk/man3/delphref.3
+@@ -14,7 +14,7 @@ delphref
+ .SH NAME
+ delphref \- delete a physical reference
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delphseg.3 b/alliance/src/mbk/man3/delphseg.3
+index a09bffb..77a32e9 100644
+--- a/alliance/src/mbk/man3/delphseg.3
++++ b/alliance/src/mbk/man3/delphseg.3
+@@ -14,7 +14,7 @@ delphseg
+ .SH NAME
+ delphseg \- delete a physical segment
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delphvia.3 b/alliance/src/mbk/man3/delphvia.3
+index 6192ea7..ab6cfe8 100644
+--- a/alliance/src/mbk/man3/delphvia.3
++++ b/alliance/src/mbk/man3/delphvia.3
+@@ -14,7 +14,7 @@ delphvia
+ .SH NAME
+ delphvia \- delete a physical via
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/delptype.3 b/alliance/src/mbk/man3/delptype.3
+index 6ffb4e0..84dcbf9 100644
+--- a/alliance/src/mbk/man3/delptype.3
++++ b/alliance/src/mbk/man3/delptype.3
+@@ -14,7 +14,7 @@ delptype
+ .SH NAME
+ delptype \- delete an element of a \fBptype_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/downstr.3 b/alliance/src/mbk/man3/downstr.3
+index ed643e6..883c67e 100644
+--- a/alliance/src/mbk/man3/downstr.3
++++ b/alliance/src/mbk/man3/downstr.3
+@@ -14,7 +14,7 @@ downstr
+ .SH NAME
+ downstr \- convert a string to lower case
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/filepath.3 b/alliance/src/mbk/man3/filepath.3
+index fff02c0..1c88009 100644
+--- a/alliance/src/mbk/man3/filepath.3
++++ b/alliance/src/mbk/man3/filepath.3
+@@ -14,7 +14,7 @@ filepath
+ .SH NAME
+ filepath \- return the whole search path of a file
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -46,7 +46,7 @@ The file to be searched is called \fIname.extension\fP, if extension is not
+ \fB""\fP, then the file name will be \fIname.\fP\ .
+ .br
+ .SH RETURN VALUE
+-\fBfilepath\fP returns \fBNULL\fP on failure, ie the file is not in the pathes,
++\fBfilepath\fP returns \fBNULL\fP on failure, ie the file is not in the paths,
+ or the absolute path on success.
+ The value returned, when not \fBNULL\fP, is stored in a \fBstatic\fP buffer,
+ so this values is to use at return time or copied into a user buffer.
+diff --git a/alliance/src/mbk/man3/flattenlofig.3 b/alliance/src/mbk/man3/flattenlofig.3
+index 8980386..93b9fc6 100644
+--- a/alliance/src/mbk/man3/flattenlofig.3
++++ b/alliance/src/mbk/man3/flattenlofig.3
+@@ -14,7 +14,7 @@ flattenlofig
+ .SH NAME
+ flattenlofig \- flatten a instance in a logical figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -43,7 +43,7 @@ pointed to by \fIptfig\fP. Flattening means incorporating the
+ contents of the instance in the figure and removing it from its instance list.
+ .br
+ the \fIconcat\fP argument can take either the value \fBYES\fP in which case the
+-name of the objects comming from the instance are named
++name of the objects coming from the instance are named
+ \fIinsname'X'objectname\fP, where \fI'X'\fP is the caracter set int the
+ \fBMBK_SEPAR\fP(1) environment variable, or the value \fBNO\fP, and then the
+ object name remains inchanged. This is quite dangerous since name unicity is
+diff --git a/alliance/src/mbk/man3/flattenphfig.3 b/alliance/src/mbk/man3/flattenphfig.3
+index e3372b3..596af4c 100644
+--- a/alliance/src/mbk/man3/flattenphfig.3
++++ b/alliance/src/mbk/man3/flattenphfig.3
+@@ -14,7 +14,7 @@ flattenphfig
+ .SH NAME
+ flatenphfig \- flatten a instance in a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -43,7 +43,7 @@ pointed to by \fIptfig\fP. Flattening means incorporating the
+ contents of the instance in the figure and removing it from its instance list.
+ .br
+ the \fIconcat\fP argument can take either the value \fBYES\fP in which case the
+-name of the object comming from the instance are named
++name of the object coming from the instance are named
+ \fIinsname'X'objectname\fP, where \fI'X'\fP is the caracter set int the
+ \fBMBK_SEPAR\fP(1) environment variable, or the value \fBNO\fP, and then the
+ object name remains inchanged. This is quite dangerous since name unicity is
+diff --git a/alliance/src/mbk/man3/freechain.3 b/alliance/src/mbk/man3/freechain.3
+index 4d83c39..75b5b6a 100644
+--- a/alliance/src/mbk/man3/freechain.3
++++ b/alliance/src/mbk/man3/freechain.3
+@@ -14,7 +14,7 @@ freechain
+ .SH NAME
+ freechain \- free a \fBchain_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/freelomodel.3 b/alliance/src/mbk/man3/freelomodel.3
+index 6c82966..c5fd436 100644
+--- a/alliance/src/mbk/man3/freelomodel.3
++++ b/alliance/src/mbk/man3/freelomodel.3
+@@ -14,7 +14,7 @@ freelomodel
+ .SH NAME
+ freelomodel \- free a \fBlofig_list\fP for temporary models
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/freenum.3 b/alliance/src/mbk/man3/freenum.3
+index 73c9d59..dfa21de 100644
+--- a/alliance/src/mbk/man3/freenum.3
++++ b/alliance/src/mbk/man3/freenum.3
+@@ -14,7 +14,7 @@ freenum
+ .SH NAME
+ freenum \- free a \fBnum_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/freeptype.3 b/alliance/src/mbk/man3/freeptype.3
+index 992f4aa..28e2367 100644
+--- a/alliance/src/mbk/man3/freeptype.3
++++ b/alliance/src/mbk/man3/freeptype.3
+@@ -14,7 +14,7 @@ freeptype
+ .SH NAME
+ freeptype \- free a \fBptype_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/gethtitem.3 b/alliance/src/mbk/man3/gethtitem.3
+index 730c472..f1650a8 100644
+--- a/alliance/src/mbk/man3/gethtitem.3
++++ b/alliance/src/mbk/man3/gethtitem.3
+@@ -15,7 +15,7 @@ gethtitem
+ .SH NAME
+ gethtitem \- searches an item in a hash table
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .if n \{\
+ .ft B \}
+ .if t \{\
+diff --git a/alliance/src/mbk/man3/getlocap.3 b/alliance/src/mbk/man3/getlocap.3
+index 2a2d56a..20c1a14 100644
+--- a/alliance/src/mbk/man3/getlocap.3
++++ b/alliance/src/mbk/man3/getlocap.3
+@@ -14,7 +14,7 @@ getlocap
+ .SH NAME
+ getlocap \- retrieve a logical capacitor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getlocon.3 b/alliance/src/mbk/man3/getlocon.3
+index 1e8c551..5f3bb9a 100644
+--- a/alliance/src/mbk/man3/getlocon.3
++++ b/alliance/src/mbk/man3/getlocon.3
+@@ -14,7 +14,7 @@ getlocon
+ .SH NAME
+ getlocon \- retrieve a logical connector
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getlofig.3 b/alliance/src/mbk/man3/getlofig.3
+index d0f3ca9..2e37a27 100644
+--- a/alliance/src/mbk/man3/getlofig.3
++++ b/alliance/src/mbk/man3/getlofig.3
+@@ -14,7 +14,7 @@ getlofig
+ .SH NAME
+ getlofig \- give back a pointer to a \fIlofig\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -40,7 +40,7 @@ warranty that the expected information is present in memory.
+ If \fImode\fP is \fB'A'\fP then the figure has all its lists filled, else
+ the figure may either be complete or interface only.
+ .br
+-This function allows to completly mask disk access for applications
++This function allows to completely mask disk access for applications
+ programs. If the figure is in memory, with the specified \fImode\fP,
+ then the function returns the appropriate pointer. Else, the function performs
+ a call to the \fBloadlofig(3)\fP and returns a pointer to the loaded
+diff --git a/alliance/src/mbk/man3/getloins.3 b/alliance/src/mbk/man3/getloins.3
+index 0b8f485..28ea058 100644
+--- a/alliance/src/mbk/man3/getloins.3
++++ b/alliance/src/mbk/man3/getloins.3
+@@ -14,7 +14,7 @@ getloins
+ .SH NAME
+ getloins \- retrieve a logical instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getlomodel.3 b/alliance/src/mbk/man3/getlomodel.3
+index b861d4e..74e069d 100644
+--- a/alliance/src/mbk/man3/getlomodel.3
++++ b/alliance/src/mbk/man3/getlomodel.3
+@@ -14,7 +14,7 @@ getlomodel
+ .SH NAME
+ getlomodel \- retrieve a model from a \fBlofig_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getlores.3 b/alliance/src/mbk/man3/getlores.3
+index 54fa6bf..cb5389d 100644
+--- a/alliance/src/mbk/man3/getlores.3
++++ b/alliance/src/mbk/man3/getlores.3
+@@ -14,7 +14,7 @@ getlores
+ .SH NAME
+ getlores \- retrieve a logical resistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getloself.3 b/alliance/src/mbk/man3/getloself.3
+index afb4508..d915074 100644
+--- a/alliance/src/mbk/man3/getloself.3
++++ b/alliance/src/mbk/man3/getloself.3
+@@ -14,7 +14,7 @@ getloself
+ .SH NAME
+ getloself \- retrieve a logical inductor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getlosig.3 b/alliance/src/mbk/man3/getlosig.3
+index 84be2b4..d8692ee 100644
+--- a/alliance/src/mbk/man3/getlosig.3
++++ b/alliance/src/mbk/man3/getlosig.3
+@@ -14,7 +14,7 @@ getlosig
+ .SH NAME
+ getlosig \- retrieve a logical signal
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getlotrs.3 b/alliance/src/mbk/man3/getlotrs.3
+index 674a624..047352a 100644
+--- a/alliance/src/mbk/man3/getlotrs.3
++++ b/alliance/src/mbk/man3/getlotrs.3
+@@ -14,7 +14,7 @@ getlotrs
+ .SH NAME
+ getlotrs \- retrieve a logical transistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getphcon.3 b/alliance/src/mbk/man3/getphcon.3
+index b6758da..9d15023 100644
+--- a/alliance/src/mbk/man3/getphcon.3
++++ b/alliance/src/mbk/man3/getphcon.3
+@@ -14,7 +14,7 @@ getphcon
+ .SH NAME
+ getphcon \- retrieve a physical connector
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getphfig.3 b/alliance/src/mbk/man3/getphfig.3
+index dbabc93..580e810 100644
+--- a/alliance/src/mbk/man3/getphfig.3
++++ b/alliance/src/mbk/man3/getphfig.3
+@@ -14,7 +14,7 @@ getphfig
+ .SH NAME
+ getphfig \- give back a pointer to a \fIphfig\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -39,7 +39,7 @@ warranty that the expected information is present in memory.
+ If \fImode\fP is \fB'A'\fP then the figure has all its lists filled, else
+ the figure may either be complete or interface only.
+ .br
+-This function allows to completly mask disk access for applications
++This function allows to completely mask disk access for applications
+ programs. If the figure is in memory, with the specified \fImode\fP,
+ then the function returns the appropriate pointer. Else, the function performs
+ a call to the \fBloadphfig\fP(3) and returns a pointer to the loaded
+diff --git a/alliance/src/mbk/man3/getphins.3 b/alliance/src/mbk/man3/getphins.3
+index 4daafaf..daf9edc 100644
+--- a/alliance/src/mbk/man3/getphins.3
++++ b/alliance/src/mbk/man3/getphins.3
+@@ -14,7 +14,7 @@ getphins
+ .SH NAME
+ getphins \- retrieve a physical instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getphref.3 b/alliance/src/mbk/man3/getphref.3
+index 33320bf..593748a 100644
+--- a/alliance/src/mbk/man3/getphref.3
++++ b/alliance/src/mbk/man3/getphref.3
+@@ -14,7 +14,7 @@ getphref
+ .SH NAME
+ getphref \- retrieve a physical reference
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getptype.3 b/alliance/src/mbk/man3/getptype.3
+index db2b7a3..f9f314e 100644
+--- a/alliance/src/mbk/man3/getptype.3
++++ b/alliance/src/mbk/man3/getptype.3
+@@ -14,7 +14,7 @@ getptype
+ .SH NAME
+ getptype \- retrieve a \fBptype\fP from a \fBptype_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/getsigname.3 b/alliance/src/mbk/man3/getsigname.3
+index 6817bf0..e203806 100644
+--- a/alliance/src/mbk/man3/getsigname.3
++++ b/alliance/src/mbk/man3/getsigname.3
+@@ -10,7 +10,7 @@ getsigname
+ .SH NAME
+ getsigname \- choose a signal name in alias list
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -33,7 +33,7 @@ structure, and contains zero or more names corresponding to the signal.
+ Since the signal may result from a flatten, instance names may be concatenated
+ to the actual signal name.
+ .SH RETURN VALUE
+-\fBgetsigname\fP returns the higher hierachy level name, if
++\fBgetsigname\fP returns the higher hierarchy level name, if
+ \fIptsig\->NAMECHAIN\fP is not \fBNULL\fP, else a name constructed with
+ the signal \fBINDEX\fP is returned.
+ .SH EXAMPLE
+diff --git a/alliance/src/mbk/man3/givelosig.3 b/alliance/src/mbk/man3/givelosig.3
+index 6a3b07c..09b5c4c 100644
+--- a/alliance/src/mbk/man3/givelosig.3
++++ b/alliance/src/mbk/man3/givelosig.3
+@@ -14,7 +14,7 @@ givelosig
+ .SH NAME
+ givelosig \- give a logical signal
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/guessextdir.3 b/alliance/src/mbk/man3/guessextdir.3
+index 40528e9..3b321a5 100644
+--- a/alliance/src/mbk/man3/guessextdir.3
++++ b/alliance/src/mbk/man3/guessextdir.3
+@@ -15,7 +15,7 @@ guessextdir
+ .SH NAME
+ guessextdir \- guess external connectors directions from internal connectors directions
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/incatalog.3 b/alliance/src/mbk/man3/incatalog.3
+index 2f4d635..1fb8c70 100644
+--- a/alliance/src/mbk/man3/incatalog.3
++++ b/alliance/src/mbk/man3/incatalog.3
+@@ -14,7 +14,7 @@ incatalog
+ .SH NAME
+ incatalog \- test if cell belongs to the catalog file
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,10 +30,10 @@ char \(**figname;
+ \fIfigname\fP
+ Name of the cell to be checked
+ .SH DESCRIPTION
+-\fBincatalog\fP checks a cell represented by its \fIfigname\fP beeing
++\fBincatalog\fP checks a cell represented by its \fIfigname\fP being
+ present in the catalog file with the \fB'C'\fP attribut.
+ .br
+-This means that when flattening, the hierachy destruction stops when
++This means that when flattening, the hierarchy destruction stops when
+ encountering a cell belonging to the catalog.
+ This is meant for both logical and physical views, of course.
+ .br
+diff --git a/alliance/src/mbk/man3/incatalogdelete.3 b/alliance/src/mbk/man3/incatalogdelete.3
+index 2e41b1f..50de296 100644
+--- a/alliance/src/mbk/man3/incatalogdelete.3
++++ b/alliance/src/mbk/man3/incatalogdelete.3
+@@ -14,7 +14,7 @@ incatalogdelete
+ .SH NAME
+ incatalogdelete \- test if cell belongs to the catalog file
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ char \(**figname;
+ \fIfigname\fP
+ Name of the cell to be checked
+ .SH DESCRIPTION
+-\fBincatalogdelete\fP checks a cell represented by its \fIfigname\fP beeing
++\fBincatalogdelete\fP checks a cell represented by its \fIfigname\fP being
+ present in the catalog file with the \fB'D'\fP attribut.
+ This means that the cell is to be deleted from the catalog.
+ \fBincatalogdelete\fP returns \fB0\fP if the cell does not belong to the
+diff --git a/alliance/src/mbk/man3/incatalogfeed.3 b/alliance/src/mbk/man3/incatalogfeed.3
+index 5e202c4..c2f5373 100644
+--- a/alliance/src/mbk/man3/incatalogfeed.3
++++ b/alliance/src/mbk/man3/incatalogfeed.3
+@@ -14,7 +14,7 @@ incatalogfeed
+ .SH NAME
+ incatalogfeed \- test if cell belongs to the catalog file
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,10 +30,10 @@ char \(**figname;
+ \fIfigname\fP
+ Name of the cell to be checked
+ .SH DESCRIPTION
+-\fBincatalogfeed\fP checks a cell represented by its \fIfigname\fP beeing
++\fBincatalogfeed\fP checks a cell represented by its \fIfigname\fP being
+ present in the catalog file with the \fI'F'\fP attribut.
+ This means that the cell is a feed through, and does not have a logical
+-equivalent representation while beeing physicaly used.
++equivalent representation while being physicaly used.
+ .br
+ This information is mostly needed by routers, since \fI"logical feed through"\fP
+ has no design meaning.
+diff --git a/alliance/src/mbk/man3/incataloggds.3 b/alliance/src/mbk/man3/incataloggds.3
+index 2928c65..1df58a9 100644
+--- a/alliance/src/mbk/man3/incataloggds.3
++++ b/alliance/src/mbk/man3/incataloggds.3
+@@ -14,7 +14,7 @@ incataloggds
+ .SH NAME
+ incataloggds \- test if cell belongs to the catalog file
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ char \(**figname;
+ \fIfigname\fP
+ Name of the cell to be checked
+ .SH DESCRIPTION
+-\fBincataloggds\fP checks a cell represented by its \fIfigname\fP beeing
++\fBincataloggds\fP checks a cell represented by its \fIfigname\fP being
+ present in the catalog file with the \fB'G'\fP attribut.
+ This means that the cell is a phantom of a gds cell.
+ .br
+diff --git a/alliance/src/mbk/man3/instanceface.3 b/alliance/src/mbk/man3/instanceface.3
+index 7f75ec0..c246ccb 100644
+--- a/alliance/src/mbk/man3/instanceface.3
++++ b/alliance/src/mbk/man3/instanceface.3
+@@ -14,7 +14,7 @@ instanceface
+ .SH NAME
+ instanceface \- returns the face of a connector in a placed instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ char modelface, symmetry;
+ Face of a connector in its figure.
+ .TP 20
+ \fIsymmetry\fP
+-Geometrical operation applied to the instanciation of the figure.
++Geometrical operation applied to the instantiation of the figure.
+ .SH DESCRIPTION
+ \fBinstanceface\fP determines the orientation of a connector in an instance of
+ its model.
+diff --git a/alliance/src/mbk/man3/instr.3 b/alliance/src/mbk/man3/instr.3
+index 8c2a6db..babfc7e 100644
+--- a/alliance/src/mbk/man3/instr.3
++++ b/alliance/src/mbk/man3/instr.3
+@@ -12,10 +12,10 @@ instr
+ .XE4 \}
+ .TH INSTR 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
+ .SH NAME
+-instr \- find an occurence of a string in a string, starting at a
++instr \- find an occurrence of a string in a string, starting at a
+ specified character.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,15 +37,15 @@ Pointer to the string to be found, the pattern
+ \fIfrom\fP
+ Character to be searched backwards before searching for the pattern
+ .SH DESCRIPTION
+-\fBinstr\fP searches the first occurence of the string \fIfind\fP in the string
+-\fIs\fP, starting its search at the last occurence of the \fIfrom\fP character
++\fBinstr\fP searches the first occurrence of the string \fIfind\fP in the string
++\fIs\fP, starting its search at the last occurrence of the \fIfrom\fP character
+ in the string \fIs\fP.
+ .LP
+ If either \fIs\fP or \fIfind\fP is \fBNULL\fP, the function returns \fBNULL\fP.
+-If \fIfrom\fP is \fB(char)0\fP, the pattern is searched from the begining of
++If \fIfrom\fP is \fB(char)0\fP, the pattern is searched from the beginning of
+ \fIs\fP.
+ .br
+-This quite exotic behaviour is useful to search the occurence of a name in a
++This quite exotic behaviour is useful to search the occurrence of a name in a
+ string resulting from a flatten, when only a terminal object name is to be
+ taken into account.
+ .SH RETURN VALUES
+diff --git a/alliance/src/mbk/man3/isck.3 b/alliance/src/mbk/man3/isck.3
+index 78ec21d..8dd3253 100644
+--- a/alliance/src/mbk/man3/isck.3
++++ b/alliance/src/mbk/man3/isck.3
+@@ -14,7 +14,7 @@ isck
+ .SH NAME
+ isck \-tells if a name is the pattern defined by the user
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/isvdd.3 b/alliance/src/mbk/man3/isvdd.3
+index 7128b4b..8cfa1a4 100644
+--- a/alliance/src/mbk/man3/isvdd.3
++++ b/alliance/src/mbk/man3/isvdd.3
+@@ -14,7 +14,7 @@ isvdd
+ .SH NAME
+ isvdd \-tells if a name contains the pattern defined by the user
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ char \(**s;
+ \fIs\fP
+ Pointer to the string to be check as power high
+ .SH DESCRIPTION
+-\fBisvdd\fP searches an occurence of the string defined by the \fBMBK_VDD\fP(1)
++\fBisvdd\fP searches an occurrence of the string defined by the \fBMBK_VDD\fP(1)
+ environment variable in the string \fIs\fP.
+ If this string is not set by the user, its default value is "vdd".
+ .SH RETURN VALUE
+diff --git a/alliance/src/mbk/man3/isvss.3 b/alliance/src/mbk/man3/isvss.3
+index e00197f..37871bb 100644
+--- a/alliance/src/mbk/man3/isvss.3
++++ b/alliance/src/mbk/man3/isvss.3
+@@ -14,7 +14,7 @@ isvss
+ .SH NAME
+ isvss \-tells if a name contains the pattern defined by the user
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ char \(**s;
+ \fIs\fP
+ Pointer to the string to be check as power high
+ .SH DESCRIPTION
+-\fBisvss\fP searches an occurence of the string defined by the \fBMBK_VSS\fP(1)
++\fBisvss\fP searches an occurrence of the string defined by the \fBMBK_VSS\fP(1)
+ environment variable in the string \fIs\fP.
+ If this string is not set by the user, its default value is "vss".
+ .SH RETURN VALUE
+diff --git a/alliance/src/mbk/man3/loadlofig.3 b/alliance/src/mbk/man3/loadlofig.3
+index 780a2cc..7cd7529 100644
+--- a/alliance/src/mbk/man3/loadlofig.3
++++ b/alliance/src/mbk/man3/loadlofig.3
+@@ -14,7 +14,7 @@ loadlofig
+ .SH NAME
+ loadlofig \- load a new logical cell model from disk
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -45,7 +45,7 @@ connectors and extrernal signals are loaded in memory, or \fB'C'\fP, that
+ loads the "complement" of an already partially loaded cell in order to
+ keep the same pointer when accessing the same file.
+ .br
+-The \fBloadlofig\fP(3) function in fact performs a call to a parser, choosen
++The \fBloadlofig\fP(3) function in fact performs a call to a parser, chosen
+ by the \fBMBK_IN_LO\fP(1) environment variable. The directories searched for the
+ file are first the one sets by \fBMBK_WORK_LIB\fP(1) and then, in the described
+ order, the ones set by \fBMBK_CATA_LIB\fP(1).
+diff --git a/alliance/src/mbk/man3/loadphfig.3 b/alliance/src/mbk/man3/loadphfig.3
+index b4b882d..f37d265 100644
+--- a/alliance/src/mbk/man3/loadphfig.3
++++ b/alliance/src/mbk/man3/loadphfig.3
+@@ -14,7 +14,7 @@ loadphfig
+ .SH NAME
+ loadphfig \- load a new physical cell model from disk
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -46,8 +46,8 @@ finishes to fill an already loaded figure in \fB'P'\fP mode, in order to have
+ it all in memory. This last mode allows to keep the same \fIptfig\fP pointer
+ when reaccessing the same file.
+ .br
+-The \fBloadphfig\fP function in fact performs a call to a parser, choosen
+-by the \fBMBK_IN_PH\fP(1) environment variable. The directories seached for the
++The \fBloadphfig\fP function in fact performs a call to a parser, chosen
++by the \fBMBK_IN_PH\fP(1) environment variable. The directories searched for the
+ file are first the one set by \fBMBK_WORK_LIB\fP(1) and then, in the described
+ order, the ones set by \fBMBK_CATA_LIB\fP(1).
+ See \fBMBK_IN_PH\fP(1), \fBMBK_WORK_LIB\fP(1), \fBMBK_CATA_LIB\fP(1) and
+diff --git a/alliance/src/mbk/man3/locap.3 b/alliance/src/mbk/man3/locap.3
+index 482bd56..bc08696 100644
+--- a/alliance/src/mbk/man3/locap.3
++++ b/alliance/src/mbk/man3/locap.3
+@@ -77,8 +77,8 @@ capacitor type is technological dependent and is not available for any technolog
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details,
+ that is a general purpose
+-pointer used to share informations on the capacitor.
+-This field is used with the \fBLOCAP_INFO\fP(3) ptype to store physical informations.
++pointer used to share information on the capacitor.
++This field is used with the \fBLOCAP_INFO\fP(3) ptype to store physical information.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addlocap (3),
+diff --git a/alliance/src/mbk/man3/locon.3 b/alliance/src/mbk/man3/locon.3
+index 1ed7f0e..bf63018 100644
+--- a/alliance/src/mbk/man3/locon.3
++++ b/alliance/src/mbk/man3/locon.3
+@@ -95,14 +95,14 @@ for figure connectors
+ \fBINTERNAL\fP
+ for instance connectors
+ .LP
+-The \fITYPE\fP is needed to appropriatly cast the \fIROOT\fP field, and must
++The \fITYPE\fP is needed to appropriately cast the \fIROOT\fP field, and must
+ be approriatly filled by the parsers. A misuse of it may cause strange
+ behaviours.
+ .RE
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP for details, that is a general purpose
+-pointer used to share informations on the connector.
++pointer used to share information on the connector.
+ .SH SEE ALSO
+ .BR mbk(1),
+ .BR mbk(3),
+diff --git a/alliance/src/mbk/man3/lofig.3 b/alliance/src/mbk/man3/lofig.3
+index 3741d75..0834027 100644
+--- a/alliance/src/mbk/man3/lofig.3
++++ b/alliance/src/mbk/man3/lofig.3
+@@ -105,11 +105,11 @@ All other lists are empty.
+ .TP
+ \fIMODELCHAIN\fP
+ Pointer to a chain list, see \fBchain\fP(3) for details, of names. These are
+-the names of the models that are at least instanciated once in the figure.
++the names of the models that are at least instantiated once in the figure.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
+-purpose pointer used to share informations on the model.
++purpose pointer used to share information on the model.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addlofig (3),
+diff --git a/alliance/src/mbk/man3/lofigchain.3 b/alliance/src/mbk/man3/lofigchain.3
+index d431e8a..ceb6be8 100644
+--- a/alliance/src/mbk/man3/lofigchain.3
++++ b/alliance/src/mbk/man3/lofigchain.3
+@@ -14,7 +14,7 @@ lofigchain
+ .SH NAME
+ lofigchain \- creates a netlist in terms of connectors on signals
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -43,7 +43,7 @@ The information resulting of a call to \fBlofigchain\fP is present in the
+ \fIUSER\fP field of all signals of the figure, accessible through
+ \fIptfig\->LOSIG\fP. The \fIUSER\fP field has a \fBptype\fP typed
+ \fILOFIGCHAIN\fP, that points on a \fBchain_list\fP whose \fIDATA\fP points on
+-each \fBlocon\fP beeing connected to the given signal.
++each \fBlocon\fP being connected to the given signal.
+ .SH ERROR
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/log.3 b/alliance/src/mbk/man3/log.3
+index 815590d..5534dcf 100644
+--- a/alliance/src/mbk/man3/log.3
++++ b/alliance/src/mbk/man3/log.3
+@@ -21,7 +21,7 @@ HEADER = -I/labo/include
+ .br
+ LIB = -L/labo/lib -lMutnnn -ltshmmm -lablmmm -lbddmmm
+ .br
+-Each library can be called separatly. The "logmmm.h" header file must be inserted in the files that use the functions or the structures defined in a library.
++Each library can be called separately. The "logmmm.h" header file must be inserted in the files that use the functions or the structures defined in a library.
+ .br
+ .SH SEE ALSO
+ .BR mbk (1),
+diff --git a/alliance/src/mbk/man3/loins.3 b/alliance/src/mbk/man3/loins.3
+index 9c1aa47..fb28bd2 100644
+--- a/alliance/src/mbk/man3/loins.3
++++ b/alliance/src/mbk/man3/loins.3
+@@ -48,17 +48,17 @@ level, so it should unique. When working on both layout and netlist views of
+ a cell, instance names should be the same on each representation.
+ .TP
+ \fIFIGNAME\fP
+-Name of the model of the instanciated cell.
++Name of the model of the instantiated cell.
+ .TP
+ \fILOCON\fP
+ Pointer to the head of the list of connectors of the instance. Consistency
+ between the connectors of the instance and the connectors of its model on disk
+-is not ensured by the parsers, because a model local to the file beeing parsed
++is not ensured by the parsers, because a model local to the file being parsed
+ is used, not the possible model on disk. See \fBlocon\fP(3) for details.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general purpose
+-pointer used to share informations on the instance.
++pointer used to share information on the instance.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addloins (3),
+diff --git a/alliance/src/mbk/man3/lores.3 b/alliance/src/mbk/man3/lores.3
+index 2b9bddb..ee8664a 100644
+--- a/alliance/src/mbk/man3/lores.3
++++ b/alliance/src/mbk/man3/lores.3
+@@ -73,8 +73,8 @@ Metal resistor.
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details,
+ that is a general purpose
+-pointer used to share informations on the resistor.
+-This field is used with the \fBLORES_INFO\fP(3) ptype to store physical informations.
++pointer used to share information on the resistor.
++This field is used with the \fBLORES_INFO\fP(3) ptype to store physical information.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addlores (3),
+diff --git a/alliance/src/mbk/man3/loself.3 b/alliance/src/mbk/man3/loself.3
+index 52104e6..1540821 100644
+--- a/alliance/src/mbk/man3/loself.3
++++ b/alliance/src/mbk/man3/loself.3
+@@ -72,7 +72,7 @@ Metal inductor.
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details,
+ that is a general purpose
+-pointer used to share informations on the inductor.
++pointer used to share information on the inductor.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addloself (3),
+diff --git a/alliance/src/mbk/man3/losig.3 b/alliance/src/mbk/man3/losig.3
+index 6e0d14b..3950757 100644
+--- a/alliance/src/mbk/man3/losig.3
++++ b/alliance/src/mbk/man3/losig.3
+@@ -43,7 +43,7 @@ typedef struct losig {
+ Pointer to the next \fBlosig\fP of the list.
+ .TP
+ \fIINDEX\fP
+-Long integer beeing the signal identifier. It represents the net
++Long integer being the signal identifier. It represents the net
+ number at a given hierachical level, and must be unique.
+ .TP
+ \fINAMECHAIN\fP
+@@ -65,7 +65,7 @@ attached to it. See \fBlocon\fP(3) for detail.
+ .TP 20
+ \fBEXTERNAL\fP
+ The signal is connected at least to one external
+-connector, a connector of the figure beeing described.
++connector, a connector of the figure being described.
+ .TP
+ \fBINTERNAL\fP
+ The signal is connected only to instances or
+@@ -77,7 +77,7 @@ results may appear if the consistency with connectors is violated.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
+-purpose pointer used to share informations on the signal.
++purpose pointer used to share information on the signal.
+ .TP
+ Remark :
+ the netlist view is given in terms of connectors pointing to signals,
+diff --git a/alliance/src/mbk/man3/lotrs.3 b/alliance/src/mbk/man3/lotrs.3
+index e48ad33..5a951fa 100644
+--- a/alliance/src/mbk/man3/lotrs.3
++++ b/alliance/src/mbk/man3/lotrs.3
+@@ -71,12 +71,12 @@ of course unique. See \fBlocon\fP(3) for details.
+ Transistor instance name
+ .TP
+ \fIX, Y\fP
+-Coordinates of the transistor in a layout. These informations have sens only if
++Coordinates of the transistor in a layout. These information have sens only if
+ the transistor netlist is the result of a layout extraction. They are
+ otherwise set to zero.
+ These coordinates are given in micron times the scale factor \fBSCALE_X\fP,
+ since the extracted view is technology
+-dependant.
++dependent.
+ .TP
+ \fIWIDTH, LENGTH\fP
+ Respectivly width and length of the transistor grid.
+@@ -117,7 +117,7 @@ Low Leakage P type MOS transistor
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details,
+ that is a general purpose
+-pointer used to share informations on the transistor.
++pointer used to share information on the transistor.
+ .TP
+ Remark :
+ In integrated techniques, NMOS transistor bulk for digital circuits is always set to ground, and
+diff --git a/alliance/src/mbk/man3/mbkalloc.3 b/alliance/src/mbk/man3/mbkalloc.3
+index 85a6c57..eced9aa 100644
+--- a/alliance/src/mbk/man3/mbkalloc.3
++++ b/alliance/src/mbk/man3/mbkalloc.3
+@@ -14,7 +14,7 @@ mbkalloc
+ .SH NAME
+ mbkalloc \- mbk memory allocator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/mbkenv.3 b/alliance/src/mbk/man3/mbkenv.3
+index b2df87c..499664d 100644
+--- a/alliance/src/mbk/man3/mbkenv.3
++++ b/alliance/src/mbk/man3/mbkenv.3
+@@ -14,7 +14,7 @@ mbkenv
+ .SH NAME
+ mbkenv \- set user preferences
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -32,12 +32,12 @@ are used.
+ .TP 30
+ \fBMBK_WORK_LIB\fP
+ internally \fBchar \(**WORK_LIB\fP, sets the working directory for reading and
+-writting, result of a \fBsavephfig\fP for example. Its value is \fB"."\fP by
++writing, result of a \fBsavephfig\fP for example. Its value is \fB"."\fP by
+ default.
+ .TP
+ \fBMBK_CATA_LIB\fP
+ internally \fBchar \(**\(**CATA_LIB\fP, sets the working directories for reading only.
+-This is a set of pathes, like the unix \fBPATH\fP variable.
++This is a set of paths, like the unix \fBPATH\fP variable.
+ It is used in \fBloadlofig\fP for example. Its value is \fB"."\fP by default.
+ .TP
+ \fBMBK_CATAL_NAME\fP
+diff --git a/alliance/src/mbk/man3/mbkfopen.3 b/alliance/src/mbk/man3/mbkfopen.3
+index 6b25128..3e3c156 100644
+--- a/alliance/src/mbk/man3/mbkfopen.3
++++ b/alliance/src/mbk/man3/mbkfopen.3
+@@ -12,9 +12,9 @@ mbkfopen
+ .XE4 \}
+ .TH MBKFOPEN 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
+ .SH NAME
+-mbkfopen \- open a file with several search pathes
++mbkfopen \- open a file with several search paths
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -36,7 +36,7 @@ Extension to the file name
+ \fImodel\fP
+ File opening mode
+ .SH DESCRIPTION
+-\fBmbkfopen\fP opens a file, searching it through the pathes given in the
++\fBmbkfopen\fP opens a file, searching it through the paths given in the
+ environment variables \fBMBK_CATA_LIB\fP(1) and \fBMBK_WORK_LIB\fP(1).
+ Its main issue is to enable simple file access for any program that works
+ with mbk path environment variables.
+@@ -51,19 +51,19 @@ The legal values for \fImode\fP are
+ opens for reading
+ .TP
+ \fBWRITE_TEXT\fP
+-discards and opens for writting
++discards and opens for writing
+ .br
+ since disk access should be a straight forward operation knowing mbk's needs.
+ .LP
+ The search algorithm depends on the value of \fImode\fP.
+-If \fImode\fP is \fBWRITE_TEXT\fP, then the file is open for writting in
++If \fImode\fP is \fBWRITE_TEXT\fP, then the file is open for writing in
+ \fBMBK_WORK_LIB\fP(1). If \fImode\fP is \fBREAD_TEXT\fP then the file is first
+ searched through \fBMBK_WORK_LIB\fP(1), and if not found, through each directory
+ specified in \fBMBK_CATA_LIB\fP(1), in the order of declaration under unix.
+ No internal hash table is generated, in order to let the user choose its
+ directory priority.
+ As soon as the file is found, it is opened.
+-There is no check for redundant files in the specified pathes, since it is
++There is no check for redundant files in the specified paths, since it is
+ neither illegal nor bad to have many files with the same names.
+ .SH RETURN VALUE
+ \fBmbkfopen\fP returns a pointer to the opened file.
+diff --git a/alliance/src/mbk/man3/mbkfree.3 b/alliance/src/mbk/man3/mbkfree.3
+index 652b820..79c02a9 100644
+--- a/alliance/src/mbk/man3/mbkfree.3
++++ b/alliance/src/mbk/man3/mbkfree.3
+@@ -14,7 +14,7 @@ mbkfree
+ .SH NAME
+ mbkfree \- mbk memory allocator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/mbkps.3 b/alliance/src/mbk/man3/mbkps.3
+index ba2eb30..4414036 100644
+--- a/alliance/src/mbk/man3/mbkps.3
++++ b/alliance/src/mbk/man3/mbkps.3
+@@ -14,7 +14,7 @@ mbkps
+ .SH NAME
+ mbkps \- mbk process state
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -25,7 +25,7 @@ void mbkps()
+ .ft R
+ .fi
+ .SH DESCRIPTION
+-\fBmbkps\fP does some functions calls and gathers informations about
++\fBmbkps\fP does some functions calls and gathers information about
+ time and memory spend during a program run.
+ encouraged.
+ .SH EXAMPLE
+diff --git a/alliance/src/mbk/man3/mbkrealloc.3 b/alliance/src/mbk/man3/mbkrealloc.3
+index 0bc6dcb..44c488c 100644
+--- a/alliance/src/mbk/man3/mbkrealloc.3
++++ b/alliance/src/mbk/man3/mbkrealloc.3
+@@ -14,7 +14,7 @@ mbkrealloc
+ .SH NAME
+ mbkrealloc \- mbk memory reallocator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/mbksetautoackchld.3 b/alliance/src/mbk/man3/mbksetautoackchld.3
+index db3b5a7..390145d 100644
+--- a/alliance/src/mbk/man3/mbksetautoackchld.3
++++ b/alliance/src/mbk/man3/mbksetautoackchld.3
+@@ -14,7 +14,7 @@ mbkalloc
+ .SH NAME
+ mbksetautoackchld \- Tells Alliance to automatically handle terminaison of child process.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/mbkunlink.3 b/alliance/src/mbk/man3/mbkunlink.3
+index 0da1c8f..bc85c35 100644
+--- a/alliance/src/mbk/man3/mbkunlink.3
++++ b/alliance/src/mbk/man3/mbkunlink.3
+@@ -14,7 +14,7 @@ mbkunlink
+ .SH NAME
+ mbkunlink \- delete a file in the \fBWORK_LIB\P.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/mbkwaitpid.3 b/alliance/src/mbk/man3/mbkwaitpid.3
+index 013d638..7b0ee9f 100644
+--- a/alliance/src/mbk/man3/mbkwaitpid.3
++++ b/alliance/src/mbk/man3/mbkwaitpid.3
+@@ -14,7 +14,7 @@ mbkalloc
+ .SH NAME
+ mbkwaitpid \- wait for the end of a particular child process.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -34,7 +34,7 @@ Process number to wait.
+ .TP
+ \fImode\fP
+ If mode is set to 1, this function return only when the child process is
+-terminated. Otherwise, function return immediatly.
++terminated. Otherwise, function return immediately.
+ .TP
+ \fIstatus\fP
+ If not NULL, the exit status of terminated child process.
+diff --git a/alliance/src/mbk/man3/mlodebug.3 b/alliance/src/mbk/man3/mlodebug.3
+index 0693b8a..27971da 100644
+--- a/alliance/src/mbk/man3/mlodebug.3
++++ b/alliance/src/mbk/man3/mlodebug.3
+@@ -14,7 +14,7 @@ mlodebug
+ .SH NAME
+ mlodebug \- logical data structure contents debug function
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/mphdebug.3 b/alliance/src/mbk/man3/mphdebug.3
+index cbeec35..7fe59d6 100644
+--- a/alliance/src/mbk/man3/mphdebug.3
++++ b/alliance/src/mbk/man3/mphdebug.3
+@@ -14,7 +14,7 @@ mphdebug
+ .SH NAME
+ mphdebug \- physical data structure contents debug function
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/namealloc.3 b/alliance/src/mbk/man3/namealloc.3
+index b668d85..8cf30dc 100644
+--- a/alliance/src/mbk/man3/namealloc.3
++++ b/alliance/src/mbk/man3/namealloc.3
+@@ -14,7 +14,7 @@ namealloc
+ .SH NAME
+ namealloc \- hash table for strings
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,17 +30,17 @@ char \(**inputname;
+ \fIinputname\fP
+ Pointer to a string of characters
+ .SH DESCRIPTION
+-The \fBnamealloc\fP function creates a dictionnary of names in mbk.
++The \fBnamealloc\fP function creates a dictionary of names in mbk.
+ It warranties equality on characters string if the pointers to these
+ strings are equal, at \fBstrcmp\fP(3) meaning. This means also that there
+ is a single memory address for a given string.
+ .br
+ The case of the letters do not matter. All names are changed to lower case
+-before beeing introduced in the symbol table. This is needed because most
++before being introduced in the symbol table. This is needed because most
+ of the file format do not check case.
+ .br
+ \fBnamealloc\fP is used by all mbk utility function using names, so its use
+-should be needed only when directly filling or modifing the structure, or when
++should be needed only when directly filling or modifying the structure, or when
+ having to compare an external string to mbk internal ones. This should speed
+ up string comparisons.
+ .br
+diff --git a/alliance/src/mbk/man3/namefind.3 b/alliance/src/mbk/man3/namefind.3
+index f4219b5..fe59916 100644
+--- a/alliance/src/mbk/man3/namefind.3
++++ b/alliance/src/mbk/man3/namefind.3
+@@ -14,7 +14,7 @@ namefind
+ .SH NAME
+ namefind \- hash table for strings
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,16 +30,16 @@ char \(**inputname;
+ \fIinputname\fP
+ Pointer to a string of characters
+ .SH DESCRIPTION
+-The \fBnamefind\fP function search the mbk dictionnary of names.
+-If the string has already been inserted in the dictionnary, then a pointer
++The \fBnamefind\fP function search the mbk dictionary of names.
++If the string has already been inserted in the dictionary, then a pointer
+ to this string is return, else \fBnamefind\fP returns NULL.
+ .br
+ The case of the letters do not matter. All names are changed to lower case
+-before beeing searched in the symbol table. This is needed because most
++before being searched in the symbol table. This is needed because most
+ of the file format do not check case.
+ .br
+ \fBnamefind\fP is used by all mbk utility function using names, so its use
+-should be needed only when directly filling or modifing the structure, or when
++should be needed only when directly filling or modifying the structure, or when
+ having to compare an external string to mbk internal ones. This should speed
+ up string comparisons.
+ .br
+diff --git a/alliance/src/mbk/man3/nameindex.3 b/alliance/src/mbk/man3/nameindex.3
+index d11dc39..f3e5f6c 100644
+--- a/alliance/src/mbk/man3/nameindex.3
++++ b/alliance/src/mbk/man3/nameindex.3
+@@ -14,7 +14,7 @@ nameindex
+ .SH NAME
+ nameindex \- concatenate a name and index with user separator
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,7 +37,7 @@ Long integer
+ The \fBnameindex\fP function adds the separator defined by \fBMBK_SEPAR\fP(1),
+ and then the string version of \fIi\fP at the end of string \fIs\fP.
+ This is not like a \fBstrcat\fP(3) of the standard library, because \fIs\fP is
+-not beeing modified.
++not being modified.
+ .br
+ The string returned has already been put in the names dictionary by
+ a call to \fBnamealloc\fP(3).
+diff --git a/alliance/src/mbk/man3/naturalstrcmp.3 b/alliance/src/mbk/man3/naturalstrcmp.3
+index f413b2f..5a12f16 100644
+--- a/alliance/src/mbk/man3/naturalstrcmp.3
++++ b/alliance/src/mbk/man3/naturalstrcmp.3
+@@ -15,7 +15,7 @@ naturalstrcmp
+ naturalstrcmp \- compare string in alphabetical order for letters
+ and numerical for digits.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/phcon.3 b/alliance/src/mbk/man3/phcon.3
+index f3efa7a..bef65bc 100644
+--- a/alliance/src/mbk/man3/phcon.3
++++ b/alliance/src/mbk/man3/phcon.3
+@@ -134,11 +134,11 @@ third metal through route
+ .TP
+ \fIWIDTH\fP
+ Width of the connector. The physical extension, concerning the width, of a
+-connector is paralell to its face.
++connector is parallel to its face.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP for details, that is a general purpose
+-pointer used to share informations on the connector.
++pointer used to share information on the connector.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addphcon (3),
+diff --git a/alliance/src/mbk/man3/phfig.3 b/alliance/src/mbk/man3/phfig.3
+index 49838a4..fd7d3e9 100644
+--- a/alliance/src/mbk/man3/phfig.3
++++ b/alliance/src/mbk/man3/phfig.3
+@@ -82,7 +82,7 @@ See \fBphref\fP(3) for details.
+ \fIXAB1, YAB1, XAB2, YAB2\fP
+ Coordinates of the bottom left corner of the \fIabutment box\fP of the
+ figure. The \fIabutment box\fP of a model represents the external visibility of
+-a figure and is what reference is made to when instanciating the model.
++a figure and is what reference is made to when instantiating the model.
+ One should well distinguish the \fIabutment box\fP from the \fIbounding box\fP,
+ which is the smallest rectangle that includes all cell descriptors.
+ The size and position of the \fIabutment box\fP is a designer concern, and
+@@ -105,12 +105,12 @@ means connectors and the \fIabutment box\fP. All other lists are empty.
+ .TP
+ \fIMODELCHAIN\fP
+ Pointer to a chain list, see \fBchain\fP(3) for details, of names. These are the
+-names of the models that are at least instanciated once in the figure.
++names of the models that are at least instantiated once in the figure.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details,
+ that is a general purpose
+-pointer used to share informations on the model.
++pointer used to share information on the model.
+ .TP
+ Remark :
+ mbk's physical view of a cell is releted to it's logical view by means
+diff --git a/alliance/src/mbk/man3/phins.3 b/alliance/src/mbk/man3/phins.3
+index 34d60c9..b3459ae 100644
+--- a/alliance/src/mbk/man3/phins.3
++++ b/alliance/src/mbk/man3/phins.3
+@@ -45,7 +45,7 @@ Pointer to the next instance in the list.
+ .TP
+ \fIFIGNAME\fP
+ Model of the instance. This gives the name of the figure that is currently
+-beeing instanciated. The model may not be present in memory.
++being instantiated. The model may not be present in memory.
+ .TP
+ \fINAME\fP
+ Name of the instance. The instance is identified by its name, so it should be
+@@ -87,7 +87,7 @@ x becomes -x then rotates 90 degrees clockwise
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
+-purpose pointer used to share informations on the instance.
++purpose pointer used to share information on the instance.
+ .TP
+ Remark :
+ the \fBphins\fP structure does not contain any information about
+diff --git a/alliance/src/mbk/man3/phref.3 b/alliance/src/mbk/man3/phref.3
+index 33d1912..f753a67 100644
+--- a/alliance/src/mbk/man3/phref.3
++++ b/alliance/src/mbk/man3/phref.3
+@@ -59,15 +59,15 @@ for all other uses
+ .RE
+ .TP
+ \fINAME\fP
+-Name of the reference. The refence is identified by its name, so it should be
++Name of the reference. The reference is identified by its name, so it should be
+ unique at a given hierarchical level.
+ .TP
+ \fIXREF, YREF\fP
+-Coordinates of the point beeing referenced.
++Coordinates of the point being referenced.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
+-purpose pointer used to share informations on the reference.
++purpose pointer used to share information on the reference.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addphref (3),
+diff --git a/alliance/src/mbk/man3/phseg.3 b/alliance/src/mbk/man3/phseg.3
+index 99e9969..5d876e2 100644
+--- a/alliance/src/mbk/man3/phseg.3
++++ b/alliance/src/mbk/man3/phseg.3
+@@ -127,7 +127,7 @@ to its direction.
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP for details, that is a general purpose
+-pointer used to share informations on the segment.
++pointer used to share information on the segment.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addphseg (3),
+diff --git a/alliance/src/mbk/man3/phvia.3 b/alliance/src/mbk/man3/phvia.3
+index 1c03063..b370ba0 100644
+--- a/alliance/src/mbk/man3/phvia.3
++++ b/alliance/src/mbk/man3/phvia.3
+@@ -79,7 +79,7 @@ L shaped P transistor corner filling
+ .TP
+ \fIUSER\fP
+ Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
+-purpose pointer used to share informations on the via.
++purpose pointer used to share information on the via.
+ .SH SEE ALSO
+ .BR mbk (1),
+ .BR addphvia (3),
+diff --git a/alliance/src/mbk/man3/ptype.3 b/alliance/src/mbk/man3/ptype.3
+index c2b0bd9..400e06a 100644
+--- a/alliance/src/mbk/man3/ptype.3
++++ b/alliance/src/mbk/man3/ptype.3
+@@ -15,7 +15,7 @@ ptype
+ ptype \- mbk list of typed pointers
+ .SH DESCRIPTION
+ The \fBptype\fP is used to save typed pointers in a list.
+-The use of this structure is strongly recommanded, when such a need occurs.
++The use of this structure is strongly recommended, when such a need occurs.
+ It is the case in the \fIUSER\fP field of all mbk layout and netlist objects,
+ where data specific to different proccessing may be accessed through this
+ unique field. It is the charge of the user to give its pointers a type that
+diff --git a/alliance/src/mbk/man3/restorealldir.3 b/alliance/src/mbk/man3/restorealldir.3
+index c8dbca9..07bc1cb 100644
+--- a/alliance/src/mbk/man3/restorealldir.3
++++ b/alliance/src/mbk/man3/restorealldir.3
+@@ -15,7 +15,7 @@ restorealldir
+ .SH NAME
+ restorealldir \- restore all instances' connectors directions
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/restoredirvbe.3 b/alliance/src/mbk/man3/restoredirvbe.3
+index 41ca09e..ac10e22 100644
+--- a/alliance/src/mbk/man3/restoredirvbe.3
++++ b/alliance/src/mbk/man3/restoredirvbe.3
+@@ -15,7 +15,7 @@ restoredirvbe
+ .SH NAME
+ restoredirvbe \- restore connectors directions from behavioral view
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/reverse.3 b/alliance/src/mbk/man3/reverse.3
+index 48fcd9a..cd7a437 100644
+--- a/alliance/src/mbk/man3/reverse.3
++++ b/alliance/src/mbk/man3/reverse.3
+@@ -14,7 +14,7 @@ reverse
+ .SH NAME
+ reverse \- reverse a list of \fBchain\fPed elements
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/rflattenlofig.3 b/alliance/src/mbk/man3/rflattenlofig.3
+index ece6603..8df66f7 100644
+--- a/alliance/src/mbk/man3/rflattenlofig.3
++++ b/alliance/src/mbk/man3/rflattenlofig.3
+@@ -14,7 +14,7 @@ rflattenlofig
+ .SH NAME
+ rflattenlofig \- recursivly flatten a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -42,7 +42,7 @@ End level choice
+ pointed to by \fIptfig\fP.
+ .br
+ The \fIconcat\fP argument can take either the value \fBYES\fP in which case the
+-name of the objects comming from instances are named
++name of the objects coming from instances are named
+ \fIinsname'X'objectname\fP, where \fI'X'\fP is the caracter set int the
+ \fBMBK_SEPAR\fP(1) environment variable, or the value \fBNO\fP, and then the
+ object name remains inchanged. This is quite dangerous since name unicity is
+@@ -52,7 +52,7 @@ no more warrantied, and may cause the flatten to fail. See \fBMBK_SEPAR\fP(1),
+ The \fIcatal\fP argument may be set to \fBNO\fP, in which case flattening stops
+ at the transistor level, all hierachies and instances have desapeard, only
+ terminal elements remains. If set to \fBYES\fP, flattening stops when it
+-encounters an instance model beeing present in the catalog file, set by
++encounters an instance model being present in the catalog file, set by
+ the \fBMBK_CATAL_NAME\fP(1) environment variable.
+ See \fBMBK_CATAL_NAME\fP(1) and \fBincatalog\fP(3) for details.
+ .SH ERRORS
+diff --git a/alliance/src/mbk/man3/rflattenphfig.3 b/alliance/src/mbk/man3/rflattenphfig.3
+index 1e6a3f3..691954f 100644
+--- a/alliance/src/mbk/man3/rflattenphfig.3
++++ b/alliance/src/mbk/man3/rflattenphfig.3
+@@ -14,7 +14,7 @@ rflattenphfig
+ .SH NAME
+ rflattenphfig \- recursivly flatten a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -42,7 +42,7 @@ End level choice
+ pointed to by \fIptfig\fP.
+ .br
+ The \fIconcat\fP argument can take either the value \fBYES\fP in which case the
+-name of the objects comming from instances are named
++name of the objects coming from instances are named
+ \fIinsname'X'objectname\fP, where \fI'X'\fP is the caracter set int the
+ \fBMBK_SEPAR\fP(1) environment variable, or the value \fBNO\fP, and then the
+ object name remains inchanged. This is quite dangerous since name unicity is
+@@ -52,7 +52,7 @@ no more warrantied, and may cause the flatten to fail. See \fBMBK_SEPAR\fP(1),
+ The \fIcatal\fP argument may be set to \fBNO\fP, in which case flattening stops
+ at the transistor level, all hierachies and instances have desapeard, only
+ terminal elements remains. If set to \fBYES\fP, flattening stops when it
+-encounters an instance model beeing present in the catalog file, set by
++encounters an instance model being present in the catalog file, set by
+ the \fBMBK_CATAL_NAME\fP(1) environment variable. See \fBMBK_CATAL_NAME\fP(1) and
+ \fBincatalog\fP(3) for details.
+ .SH ERRORS
+diff --git a/alliance/src/mbk/man3/savelofig.3 b/alliance/src/mbk/man3/savelofig.3
+index 3352168..b84e36c 100644
+--- a/alliance/src/mbk/man3/savelofig.3
++++ b/alliance/src/mbk/man3/savelofig.3
+@@ -14,7 +14,7 @@ savelofig
+ .SH NAME
+ savelofig \- save a logical figure on disk
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -34,7 +34,7 @@ Pointer to the \fIlofig\fP to be written on disk
+ \fIptfig\fP. All the figure lists are ran through, and the appropriate objects
+ written, independently of the figure \fImode\fP.
+ .br
+-The \fBsavelofig\fP function in fact performs a call to a driver, choosen
++The \fBsavelofig\fP function in fact performs a call to a driver, chosen
+ by the \fBMBK_OUT_LO\fP(1) environment variable. The directory in which the file
+ is to be written is the one set by \fBMBK_WORK_LIB\fP(1).
+ See \fBMBK_OUT_LO\fP(1), \fBMBK_WORK_LIB\fP(1) and
+@@ -59,7 +59,7 @@ format.
+ .RS
+ Either the directory or the file are write protected, so it's not possible to
+ open \fIfigname.ext\fP, where \fIext\fP is the file format extension, for
+-writting.
++writing.
+ .RE
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/mbk/man3/savephfig.3 b/alliance/src/mbk/man3/savephfig.3
+index a435523..52795b8 100644
+--- a/alliance/src/mbk/man3/savephfig.3
++++ b/alliance/src/mbk/man3/savephfig.3
+@@ -14,7 +14,7 @@ savephfig
+ .SH NAME
+ savephfig \- save a physical figure on disk
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -34,7 +34,7 @@ Pointer to the \fIphfig\fP to write on disk
+ \fIptfig\fP. All the figure lists are ran through, and the appropriate objects
+ written, independently of the figure \fImode\fP.
+ .br
+-The \fBsavephfig\fP function in fact performs a call to a driver, choosen
++The \fBsavephfig\fP function in fact performs a call to a driver, chosen
+ by the \fIMBK_OUT_PH\fP(1) environment variable. The directory in which the file
+ is to be written is the one set by \fBMBK_WORK_LIB\fP(1).
+ See \fBMBK_OUT_PH\fP(1), \fBMBK_WORK_LIB\fP(1) and
+@@ -59,7 +59,7 @@ format.
+ .RS
+ Either the directory or the file are write protected, so it's not possible to
+ open \fIfigname.ext\fP, where \fIext\fP is the file format extension, for
+-writting.
++writing.
+ .RE
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/mbk/man3/sethtitem.3 b/alliance/src/mbk/man3/sethtitem.3
+index 8b6dd1e..6388783 100644
+--- a/alliance/src/mbk/man3/sethtitem.3
++++ b/alliance/src/mbk/man3/sethtitem.3
+@@ -15,7 +15,7 @@ sethtitem
+ .SH NAME
+ sethtitem \- test and set an item in an hash table.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .if n \{\
+ .ft B \}
+ .if t \{\
+@@ -38,7 +38,7 @@ Key used by the hash coding function to set an item
+ whether it existed or not, and returns an appropriate value.
+ This is kind of a \fItest and set\fP operator.
+ .SH RETURN VALUE
+-If the key exists, the funtion return 1,
++If the key exists, the function return 1,
+ if it doesn't, the item is stored and the function returns 0.
+ .SH EXAMPLE
+ .ta 3n 6n 9n 12n 15n 18n 21n
+diff --git a/alliance/src/mbk/man3/setlocap.3 b/alliance/src/mbk/man3/setlocap.3
+index 39ab770..4e0dd94 100644
+--- a/alliance/src/mbk/man3/setlocap.3
++++ b/alliance/src/mbk/man3/setlocap.3
+@@ -14,7 +14,7 @@ setlocap
+ .SH NAME
+ setlocap \- set the capacitance value of a logical capacitor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/setlores.3 b/alliance/src/mbk/man3/setlores.3
+index 4fa64d6..4404693 100644
+--- a/alliance/src/mbk/man3/setlores.3
++++ b/alliance/src/mbk/man3/setlores.3
+@@ -14,7 +14,7 @@ setlores
+ .SH NAME
+ setlores \- set the resistance value of a logical resistor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/setloself.3 b/alliance/src/mbk/man3/setloself.3
+index 82994c6..b6d3559 100644
+--- a/alliance/src/mbk/man3/setloself.3
++++ b/alliance/src/mbk/man3/setloself.3
+@@ -14,7 +14,7 @@ setloself
+ .SH NAME
+ setloself \- set the inductance value of a logical inductor
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/sortlocon.3 b/alliance/src/mbk/man3/sortlocon.3
+index a945479..5eda95e 100644
+--- a/alliance/src/mbk/man3/sortlocon.3
++++ b/alliance/src/mbk/man3/sortlocon.3
+@@ -14,7 +14,7 @@ sortlocon
+ .SH NAME
+ sortlocon \- sort the logical connectors of a figure by name
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ by \fI\(**connectors\fP.
+ The connectors are sorted by names, using a numerical comparison function
+ that ensures \fBx_12 > x_2\fP.
+ .br
+-The standart \fBqsort\fP(3) function library is called for sorting.
++The standard \fBqsort\fP(3) function library is called for sorting.
+ Therefore, a table the number of connectors wide is created.
+ This is not very memory consuming since the number of connectors in a circuit
+ interface is quite small, nor very time consuming since this algorithm runs
+diff --git a/alliance/src/mbk/man3/sortlosig.3 b/alliance/src/mbk/man3/sortlosig.3
+index f9981fa..37fd6ef 100644
+--- a/alliance/src/mbk/man3/sortlosig.3
++++ b/alliance/src/mbk/man3/sortlosig.3
+@@ -14,7 +14,7 @@ sortlosig
+ .SH NAME
+ sortlosig \- sort the logical signals of a figure by name
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -35,7 +35,7 @@ The signals are sorted by names, but since names are not the signals
+ identifier, the \fBgetsigname\fP(3) routine is called to retrieve a
+ signal name.
+ .br
+-The standart \fBqsort\fP(3) function library is called for sorting.
++The standard \fBqsort\fP(3) function library is called for sorting.
+ Therefore, a table the number of signal wide is created, requiring
+ a lot of memory with big circuits.
+ Also, even if \fBqsort\fP(3) runs in n log n time, \fBgetsigname\fP(3)
+diff --git a/alliance/src/mbk/man3/unflattenlofig.3 b/alliance/src/mbk/man3/unflattenlofig.3
+index 57fbf2c..57c2c0a 100644
+--- a/alliance/src/mbk/man3/unflattenlofig.3
++++ b/alliance/src/mbk/man3/unflattenlofig.3
+@@ -14,7 +14,7 @@ unflattenlofig
+ .SH NAME
+ unflattenlofig \- creates a hierarchy level from instances of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -50,7 +50,7 @@ All the terminals of the new figure are called using the name of the
+ corresponding signal if it exists, or with the name of a connector
+ connected to this signal.
+ The new name is suffixed with a number, obtained with an internal counter,
+-in order to ensure that names are differents.
++in order to ensure that names are different.
+ .SH ERRORS
+ No errors can directly result from a call to \fBunflattenlofig\fP, but since it
+ uses many other mbk functions, it may be a good error starting point.
+diff --git a/alliance/src/mbk/man3/upstr.3 b/alliance/src/mbk/man3/upstr.3
+index ab935ef..2514530 100644
+--- a/alliance/src/mbk/man3/upstr.3
++++ b/alliance/src/mbk/man3/upstr.3
+@@ -14,7 +14,7 @@ upstr
+ .SH NAME
+ upstr \- convert a string to upper case
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man3/viewht.3 b/alliance/src/mbk/man3/viewht.3
+index 177a832..e075491 100644
+--- a/alliance/src/mbk/man3/viewht.3
++++ b/alliance/src/mbk/man3/viewht.3
+@@ -15,7 +15,7 @@ viewht
+ .SH NAME
+ viewht \- displays a hash table contents
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .if n \{\
+ .ft B \}
+ .if t \{\
+diff --git a/alliance/src/mbk/man3/viewlo.3 b/alliance/src/mbk/man3/viewlo.3
+index 0db34ea..178c182 100644
+--- a/alliance/src/mbk/man3/viewlo.3
++++ b/alliance/src/mbk/man3/viewlo.3
+@@ -14,7 +14,7 @@ viewlo
+ .SH NAME
+ viewlo \- scan all \fBlofig_list\fPs and display their elements
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,7 +27,7 @@ void viewlo();
+ .SH DESCRIPTION
+ \fBviewlo\fP scans all the elements of the entire \fBlofig_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+-All the figures are treated, the first one beeing pointed to by
++All the figures are treated, the first one being pointed to by
+ \fBHEAD_LOFIG\fP, the global variable that points to the head of all
+ \fBlofig\fPs.
+ .br
+diff --git a/alliance/src/mbk/man3/viewlocap.3 b/alliance/src/mbk/man3/viewlocap.3
+index a6ef312..2f378f4 100644
+--- a/alliance/src/mbk/man3/viewlocap.3
++++ b/alliance/src/mbk/man3/viewlocap.3
+@@ -16,7 +16,7 @@ viewlocap
+ .SH NAME
+ viewlocap \- display elements of a \fBlocap_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ locap_list \(**ptcap ;
+ .SH PARAMETER
+ .TP 20
+ \fIptcap\fP
+-Pointer to the \fBlocap\fP to be scaned
++Pointer to the \fBlocap\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewlocap\fP scans all the primary elements of the \fBlocap_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewlofig.3 b/alliance/src/mbk/man3/viewlofig.3
+index f2eace9..5ea307c 100644
+--- a/alliance/src/mbk/man3/viewlofig.3
++++ b/alliance/src/mbk/man3/viewlofig.3
+@@ -14,7 +14,7 @@ viewlofig
+ .SH NAME
+ viewlofig \- display elements of a \fBlofig_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,11 +28,11 @@ lofig_list \(**ptfig;
+ .SH PARAMETER
+ .TP 20
+ \fIptfig\fP
+-Pointer to the \fBlofig\fP to be scaned
++Pointer to the \fBlofig\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewlofig\fP scans all the primary elements of the \fBlofig_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+-The \fILOINS\fP, \fILOCON\fP, \fILOSIG\fP and \fILOTRS\fP are scaned, and
++The \fILOINS\fP, \fILOCON\fP, \fILOSIG\fP and \fILOTRS\fP are scanned, and
+ their contents displayed.
+ .br
+ Its use is mostly for debugging purposes, and educational ones, since the
+diff --git a/alliance/src/mbk/man3/viewlofigcon.3 b/alliance/src/mbk/man3/viewlofigcon.3
+index 413f80f..cabb1c0 100644
+--- a/alliance/src/mbk/man3/viewlofigcon.3
++++ b/alliance/src/mbk/man3/viewlofigcon.3
+@@ -14,7 +14,7 @@ viewlofigcon
+ .SH NAME
+ viewlofigcon \- display elements of a \fBlocon_list\fP attached to a
+ figure
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ locon_list \(**ptcon;
+ .SH PARAMETER
+ .TP 20
+ \fIptcon\fP
+-Pointer to the \fBlocon\fP to be scaned
++Pointer to the \fBlocon\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewlofigcon\fP scans all the primary elements of the \fBlocon_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewloins.3 b/alliance/src/mbk/man3/viewloins.3
+index 821c8e0..dec3b79 100644
+--- a/alliance/src/mbk/man3/viewloins.3
++++ b/alliance/src/mbk/man3/viewloins.3
+@@ -14,7 +14,7 @@ viewloins
+ .SH NAME
+ viewloins \- display elements of a \fBloins_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,12 +28,12 @@ loins_list \(**pt;
+ .SH PARAMETER
+ .TP 20
+ \fIpt\fP
+-Pointer to the \fBloins\fP to be scaned
++Pointer to the \fBloins\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewloins\fP scans all the primary elements of the \fBloins_list\fP
+ pointed to by \fIpt\fP, and displays a textual output of the data strcuture
+ contents.
+-The \fILOCON\fP field is scaned, and its contents displayed.
++The \fILOCON\fP field is scanned, and its contents displayed.
+ .br
+ Its use is mostly for debugging purposes, and educational ones, since the
+ output is quite verbose, even if very easy to understand.
+diff --git a/alliance/src/mbk/man3/viewloinscon.3 b/alliance/src/mbk/man3/viewloinscon.3
+index 2df82a5..7d1c082 100644
+--- a/alliance/src/mbk/man3/viewloinscon.3
++++ b/alliance/src/mbk/man3/viewloinscon.3
+@@ -15,7 +15,7 @@ viewloinscon
+ \fBviewloinscon\fP \- display elements of a \fBlocon_list\fP attached to an
+ instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -29,7 +29,7 @@ locon_list \(**ptcon;
+ .SH PARAMETER
+ .TP 20
+ \fIptcon\fP
+-Pointer to the \fBlocon\fP to be scaned
++Pointer to the \fBlocon\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewloinscon\fP scans all the primary elements of the \fBlocon_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewlores.3 b/alliance/src/mbk/man3/viewlores.3
+index 5043a5a..d050168 100644
+--- a/alliance/src/mbk/man3/viewlores.3
++++ b/alliance/src/mbk/man3/viewlores.3
+@@ -16,7 +16,7 @@ viewlores
+ .SH NAME
+ viewlores \- display elements of a \fBlores_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ lores_list \(**ptres ;
+ .SH PARAMETER
+ .TP 20
+ \fIptres\fP
+-Pointer to the \fBlores\fP to be scaned
++Pointer to the \fBlores\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewlores\fP scans all the primary elements of the \fBlores_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewloself.3 b/alliance/src/mbk/man3/viewloself.3
+index f9d0b09..9b4ccbd 100644
+--- a/alliance/src/mbk/man3/viewloself.3
++++ b/alliance/src/mbk/man3/viewloself.3
+@@ -16,7 +16,7 @@ viewloself
+ .SH NAME
+ viewloself \- display elements of a \fBloself_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ loself_list \(**ptself ;
+ .SH PARAMETER
+ .TP 20
+ \fIptself\fP
+-Pointer to the \fBloself\fP to be scaned
++Pointer to the \fBloself\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewloself\fP scans all the primary elements of the \fBloself_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewlosig.3 b/alliance/src/mbk/man3/viewlosig.3
+index 4297440..421d2f6 100644
+--- a/alliance/src/mbk/man3/viewlosig.3
++++ b/alliance/src/mbk/man3/viewlosig.3
+@@ -14,7 +14,7 @@ viewlosig
+ .SH NAME
+ viewlosig \- display elements of a \fBlosig_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ losig_list \(**ptsig;
+ .SH PARAMETER
+ .TP 20
+ \fIptsig\fP
+-Pointer to the \fBlosig\fP to be scaned
++Pointer to the \fBlosig\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewlosig\fP scans all the primary elements of the \fBlosig_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewlotrs.3 b/alliance/src/mbk/man3/viewlotrs.3
+index 28a77dd..358aae5 100644
+--- a/alliance/src/mbk/man3/viewlotrs.3
++++ b/alliance/src/mbk/man3/viewlotrs.3
+@@ -16,7 +16,7 @@ viewlotrs
+ .SH NAME
+ viewlotrs \- display elements of a \fBlotrs_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ lotrs_list \(**pttrs;
+ .SH PARAMETER
+ .TP 20
+ \fIpttrs\fP
+-Pointer to the \fBlotrs\fP to be scaned
++Pointer to the \fBlotrs\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewlotrs\fP scans all the primary elements of the \fBlotrs_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+diff --git a/alliance/src/mbk/man3/viewph.3 b/alliance/src/mbk/man3/viewph.3
+index 4b0943c..10ac415 100644
+--- a/alliance/src/mbk/man3/viewph.3
++++ b/alliance/src/mbk/man3/viewph.3
+@@ -14,7 +14,7 @@ viewph
+ .SH NAME
+ viewph \- display all the \fBphfig_list\fPs and their elements
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,7 +27,7 @@ void viewph();
+ .SH DESCRIPTION
+ \fBviewph\fP scans all the elements of the entire \fBphfig_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+-All the figures are treated, the first one beeing pointed to by
++All the figures are treated, the first one being pointed to by
+ \fBHEAD_PHFIG\fP, the global variable that points to the head of all
+ \fBphfig\fPs.
+ .br
+diff --git a/alliance/src/mbk/man3/viewphcon.3 b/alliance/src/mbk/man3/viewphcon.3
+index 7a1f5ba..64a30e4 100644
+--- a/alliance/src/mbk/man3/viewphcon.3
++++ b/alliance/src/mbk/man3/viewphcon.3
+@@ -14,7 +14,7 @@ viewphcon
+ .SH NAME
+ viewphcon \- display elements of a \fBphcon_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ phcon_list \(**pt;
+ .SH PARAMETER
+ .TP 20
+ \fIpt\fP
+-Pointer to the \fBphcon\fP to be scaned
++Pointer to the \fBphcon\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewphcon\fP scans all the primary elements of the \fBphcon_list\fP
+ pointed to by \fIpt\fP, and displays a textual output of the data strcuture
+diff --git a/alliance/src/mbk/man3/viewphfig.3 b/alliance/src/mbk/man3/viewphfig.3
+index 1aa0842..cade2bf 100644
+--- a/alliance/src/mbk/man3/viewphfig.3
++++ b/alliance/src/mbk/man3/viewphfig.3
+@@ -13,7 +13,7 @@ viewphfig
+ .so man1/alc_origin.1
+ .SH NAME
+ viewphfig \- display elements of a \fBphfig_list\fP
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,12 +27,12 @@ phfig_list \(**ptfig;
+ .SH PARAMETER
+ .TP 20
+ \fIptfig\fP
+-Pointer to the \fBphfig\fP to be scaned
++Pointer to the \fBphfig\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewphfig\fP scans all the primary elements of the \fBphfig_list\fP
+ loaded in ram, and displays a textual output of the data strcuture contents.
+ The \fIPHINS\fP, \fIPHCON\fP, \fIPHSEG\fP, \fIPHVIA\fP and \fIPHREF\fP are
+-scaned, and their contents displayed.
++scanned, and their contents displayed.
+ .br
+ Its use is mostly for debugging purposes, and educational ones, since the
+ output is quite verbose, if very easy to understand.
+diff --git a/alliance/src/mbk/man3/viewphins.3 b/alliance/src/mbk/man3/viewphins.3
+index 79a3ce5..cda90c9 100644
+--- a/alliance/src/mbk/man3/viewphins.3
++++ b/alliance/src/mbk/man3/viewphins.3
+@@ -14,7 +14,7 @@ viewphins
+ .SH NAME
+ viewphins \- display elements of a \fBphins_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ phins_list \(**pt;
+ .SH PARAMETER
+ .TP 20
+ \fIpt\fP
+-Pointer to the \fBphins\fP to be scaned
++Pointer to the \fBphins\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewphins\fP scans all the primary elements of the \fBphins_list\fP
+ pointed to by \fIpt\fP, and displays a textual output of the data strcuture
+diff --git a/alliance/src/mbk/man3/viewphref.3 b/alliance/src/mbk/man3/viewphref.3
+index 78ba7f3..9314946 100644
+--- a/alliance/src/mbk/man3/viewphref.3
++++ b/alliance/src/mbk/man3/viewphref.3
+@@ -14,7 +14,7 @@ viewphref
+ .SH NAME
+ viewphref \- display elements of a \fBphref_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ phref_list \(**pt;
+ .SH PARAMETER
+ .TP 20
+ \fIpt\fP
+-Pointer to the \fBphref\fP to be scaned
++Pointer to the \fBphref\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewphref\fP scans all the primary elements of the \fBphref_list\fP
+ pointed to by \fIpt\fP, and displays a textual output of the data strcuture
+diff --git a/alliance/src/mbk/man3/viewphseg.3 b/alliance/src/mbk/man3/viewphseg.3
+index f9e2060..9381002 100644
+--- a/alliance/src/mbk/man3/viewphseg.3
++++ b/alliance/src/mbk/man3/viewphseg.3
+@@ -14,7 +14,7 @@ viewphseg
+ .SH NAME
+ viewphseg \- display elements of a \fBphseg_list\fP
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ phseg_list \(**pt;
+ .SH PARAMETER
+ .TP 20
+ \fIpt\fP
+-Pointer to the \fBphseg\fP to be scaned
++Pointer to the \fBphseg\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewphseg\fP scans all the primary elements of the \fBphseg_list\fP
+ pointed to by \fIpt\fP, and displays a textual output of the data strcuture
+diff --git a/alliance/src/mbk/man3/viewphvia.3 b/alliance/src/mbk/man3/viewphvia.3
+index 1d58e48..fb7050c 100644
+--- a/alliance/src/mbk/man3/viewphvia.3
++++ b/alliance/src/mbk/man3/viewphvia.3
+@@ -13,7 +13,7 @@ viewphvia
+ .so man1/alc_origin.1
+ .SH NAME
+ viewphvia \- display elements of a \fBphvia_list\fP
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -27,7 +27,7 @@ phvia_list \(**pt;
+ .SH PARAMETER
+ .TP 20
+ \fIpt\fP
+-Pointer to the \fBphvia\fP to be scaned
++Pointer to the \fBphvia\fP to be scanned
+ .SH DESCRIPTION
+ \fBviewphvia\fP scans all the primary elements of the \fBphvia_list\fP
+ pointed to by \fIpt\fP, and displays a textual output of the data strcuture
+diff --git a/alliance/src/mbk/man3/xyflat.3 b/alliance/src/mbk/man3/xyflat.3
+index a985e66..9dcd7ad 100644
+--- a/alliance/src/mbk/man3/xyflat.3
++++ b/alliance/src/mbk/man3/xyflat.3
+@@ -10,7 +10,7 @@ xyflat
+ .SH NAME
+ xyflat \- compute hierarchical coordinates
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/mbk/man5/ap.5 b/alliance/src/mbk/man5/ap.5
+index 7457df3..59a5d0a 100644
+--- a/alliance/src/mbk/man5/ap.5
++++ b/alliance/src/mbk/man5/ap.5
+@@ -25,7 +25,7 @@ header ::= 'H ' name ',' file_type ',' abindex ',' nb_desc
+ /* abindex : index of the abutment box */
+ /* nb_desc : number of descriptors */
+ /* date : saving file date */
+- /* index_beg : index of the begining of the linkage */
++ /* 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 */
+@@ -121,7 +121,7 @@ x ::= number
+ y ::= number
+
+ d ::= number
+- /* lenght */
++ /* length */
+
+ w ::= number
+ /* width */
+diff --git a/alliance/src/mbk/man5/prol.5 b/alliance/src/mbk/man5/prol.5
+index 9b905ba..1624c2e 100644
+--- a/alliance/src/mbk/man5/prol.5
++++ b/alliance/src/mbk/man5/prol.5
+@@ -6,7 +6,7 @@
+ .so man1/alc_origin.1
+ .SH DESCRIPTION
+ This file describes the rules used by the \fBmbk\fP(1) to \fBrds\fP translator.
+-In the following file, symbolic layout objects are refered as \fBmbk\fP(1)
++In the following file, symbolic layout objects are referred as \fBmbk\fP(1)
+ objects, \fBmbk\fP(1) being the internal data structure that supports
+ symbolic representation.
+ On the other hand, \fBrds\fP is a data structure describing mainly rectangles,
+@@ -16,7 +16,7 @@ Some syntaxic remarques on the way to write the file follow.
+ The case of identifiers is not significant, so NDIF is equivalent to NdiF.
+ Comments are allowed anywhere in the file, using the \fIsharp\fP (#) as start of
+ comment, and \fInewline\fP as end of comment.
+-A line begining with a \fIsharp\fP will be ignored, and a line containing a
++A line beginning with a \fIsharp\fP will be ignored, and a line containing a
+ \fIsharp\fP will be read up to the character preeceding it.
+ A \fInewline\fP can be escaped using the \fIbackslash\fP (\) followed by
+ the \fInewline\fP.
+@@ -34,7 +34,7 @@ Then, a set of tables is needed, to describe how to translate a symbolic
+ object, belonging to the \fBmbk\fP(1) world, and a set of layout rectangles,
+ in \fBrds\fP.
+ .br
+-Each table has a special meaning, and its parametrization exend beeing not
++Each table has a special meaning, and its parametrization exend being not
+ full, some borders are to be evocated.
+ Several type of table exists indeed.
+ Some are needed for object translation, others for post treatment
+@@ -279,7 +279,7 @@ PHYSICAL_GRID\fR.
+ .ft B \}
+ TABLE MBK_TO_RDS_SEGMENT\fR
+ .br
+-This table contains all the informations needed to translate a symbolic
++This table contains all the information needed to translate a symbolic
+ segment of a given layer onto one, two or three real rectangles of
+ specified layers.
+ An example of this table is given below, with values needed for a
+@@ -356,7 +356,7 @@ These parameters are meant regarding the symbolic segment.
+ .ft B \}
+ TABLE MBK_TO_RDS_CONNECTOR\fR
+ .br
+-This table contains all the informations needed to translate a symbolic
++This table contains all the information needed to translate a symbolic
+ connector of a given layer onto one \fIsingle\fP real rectangle.
+ .br
+ An example of this table is given below, with values needed for a
+@@ -407,7 +407,7 @@ designing.
+ .ft B \}
+ TABLE MBK_TO_RDS_VIA\fR
+ .br
+-This table contains all the informations needed to translate a symbolic
++This table contains all the information needed to translate a symbolic
+ via of a given layer onto one to four real rectangles of user
+ specified layers.
+ An example of this table is given below, with values needed for a
+@@ -465,7 +465,7 @@ TABLE S2R_OVERSIZE_DENOTCH\fR
+ .br
+ This table contains the oversize value needed to erase notches.
+ All the rectangles of the same \fBrds\fP layer are oversized by this value
+-and then merged alltogether and undersized by the same value.
++and then merged altogether and undersized by the same value.
+ An example of this table is given below.
+ .PP
+ .ie t \{\
+@@ -593,7 +593,7 @@ Precicely if a layer is only to be be translated, or translated
+ and then post-processed.
+ Translated means translate and fit from symbolic to real, and
+ postreated that it should also be merged with its neighbours.
+-For example, it's not necesary to merge cut layers such as RDS_CONT.
++For example, it's not necessary to merge cut layers such as RDS_CONT.
+ .PP
+ .ie t \{\
+ .ft CR \}
+diff --git a/alliance/src/mbk/man5/spi.5 b/alliance/src/mbk/man5/spi.5
+index e015b39..ab9e49f 100644
+--- a/alliance/src/mbk/man5/spi.5
++++ b/alliance/src/mbk/man5/spi.5
+@@ -127,7 +127,7 @@ If this variable is set, an RCN view is not created for a net containing only on
+
+ .B MBK_SPI_NO_AFF_UNK
+
+-Default behaviour of Spice parser is to display an error message when an unknown element is read in the input file. Setting this variable prevent this display. Usefull when file contain command for Spice simulator.
++Default behaviour of Spice parser is to display an error message when an unknown element is read in the input file. Setting this variable prevent this display. Useful when file contain command for Spice simulator.
+
+ .B MBK_SPI_NAMEDNODES
+
+diff --git a/alliance/src/mbk/man5/vbe.5 b/alliance/src/mbk/man5/vbe.5
+index 4bcf04e..fa6134b 100644
+--- a/alliance/src/mbk/man5/vbe.5
++++ b/alliance/src/mbk/man5/vbe.5
+@@ -45,7 +45,7 @@ is to be defined for \fBevery\fP value that the select expression can take).
+
+ .PP
+ The above constraint may be felt as a hard restriction when designing
+-distributed controled hardware (precharged line, distributed multiplexer,
++distributed controlled hardware (precharged line, distributed multiplexer,
+ etc ...). To hurdle this, VHDL uses a special feature: guarded-resolved signals.
+
+ .PP
+diff --git a/alliance/src/mbk/man5/vhdl.5 b/alliance/src/mbk/man5/vhdl.5
+index c7b39e2..4754deb 100644
+--- a/alliance/src/mbk/man5/vhdl.5
++++ b/alliance/src/mbk/man5/vhdl.5
+@@ -30,7 +30,7 @@ be simulated with any full-VHDL commercial compiler-simulator.
+ Here follows the main restrictions of the ALLIANCE subset.
+
+ .PP
+-The VHDL description of a circuit is made of two seperate parts: the external
++The VHDL description of a circuit is made of two separate parts: the external
+ view and the internal view.
+
+ .PP
+diff --git a/alliance/src/mbk/man5/vst.5 b/alliance/src/mbk/man5/vst.5
+index 48dd1cf..e5c882c 100644
+--- a/alliance/src/mbk/man5/vst.5
++++ b/alliance/src/mbk/man5/vst.5
+@@ -27,7 +27,7 @@ entity specification. This means that local ports are to be declared with the
+ same name, type and kind and in the same order.
+
+ .PP
+-A structural description is a set of component instanciation statements.
++A structural description is a set of component instantiation statements.
+ Instances' ports are connected to each other trough signals in a port map
+ specification. Both explicit and implicit port map specifications are supported
+ by the ALLIANCE VHDL subset.
+diff --git a/alliance/src/mbk/src/alc_driv_p.c b/alliance/src/mbk/src/alc_driv_p.c
+index 2a300e0..cb8a478 100644
+--- a/alliance/src/mbk/src/alc_driv_p.c
++++ b/alliance/src/mbk/src/alc_driv_p.c
+@@ -245,7 +245,7 @@ char *word;
+ case EOPEN :
+ fprintf( stderr, "can\'t open file : %s .\n", word); break;
+ case EREF :
+- fprintf( stderr, " inconsistant reference :%s.\n", word); break;
++ fprintf( stderr, " inconsistent reference :%s.\n", word); break;
+ case ECLOSE :
+ fprintf( stderr, "can\'t close file : %s.\n", word); break;
+ default : fprintf( stderr, "unknown error");
+diff --git a/alliance/src/mbk/src/alc_pars_p.c b/alliance/src/mbk/src/alc_pars_p.c
+index f65c6cb..b3065e7 100644
+--- a/alliance/src/mbk/src/alc_pars_p.c
++++ b/alliance/src/mbk/src/alc_pars_p.c
+@@ -63,28 +63,28 @@
+ #define MAXLBUFFER 256
+ #define MAXLBUFF 256
+
+-#define EVAL -2
+-#define EVER -3
+-#define EOPEN -4
+-#define ECLOSE -5
+-#define ESETUP -6
+-#define ELAYER -7
+-#define EOPGEO -8
+-#define ESYNTAX -9
+-#define EORIENT -10
+-#define EHEADER -11
+-#define EMISSEOF -12
+-#define ETYPESEG -13
+-#define ETYPEVIA -14
+-#define ENAMETRS -15
+-#define ENBFIELDS -16
+-#define EFILENAME -17
+-#define EFILETYPE -18
+-#define EBOUNDBOX -19
+-#define EABUTMBOX -20
+-#define EALLOCFIG -21
+-#define ECOMPONENT -22
+-#define ETRANSORIENT -23
++#define EVAL 2
++#define EVER 3
++#define EOPEN 4
++#define ECLOSE 5
++#define ESETUP 6
++#define ELAYER 7
++#define EOPGEO 8
++#define ESYNTAX 9
++#define EORIENT 10
++#define EHEADER 11
++#define EMISSEOF 12
++#define ETYPESEG 13
++#define ETYPEVIA 14
++#define ENAMETRS 15
++#define ENBFIELDS 16
++#define EFILENAME 17
++#define EFILETYPE 18
++#define EBOUNDBOX 19
++#define EABUTMBOX 20
++#define EALLOCFIG 21
++#define ECOMPONENT 22
++#define ETRANSORIENT 23
+
+
+ #define mc_nexttoken(p_head,p_next,error_code) \
+@@ -1072,12 +1072,12 @@ static void alc_printwarn(warn_code)
+ case EOPGEO :
+ fprintf( stderr, "invalid geometric operation"); break;
+ case EORIENT :
+- fprintf( stderr, "unknow orientation"); break;
++ fprintf( stderr, "unknown orientation"); break;
+ case ENAMETRS :
+ fprintf( stderr, "invalid transistor"); break;
+ case ETYPEVIA :
+ fprintf( stderr, "invalid via"); break;
+- default : fprintf( stderr, "unknow warning");
++ default : fprintf( stderr, "unknown warning");
+ }
+ fprintf( stderr, "\n( line %ld parsing %s )\n",
+ parser.curr_line,
+@@ -1108,7 +1108,7 @@ static void alc_printerror(error_code)
+ case ETYPESEG :
+ fprintf( stderr, "segment neither H nor V"); break;
+ case ETRANSORIENT:
+- fprintf( stderr, "Unknow transistor orientation"); break;
++ fprintf( stderr, "Unknown transistor orientation"); break;
+ case EHEADER :
+ fprintf( stderr, "unexpected header"); break;
+ case ENBFIELDS :
+@@ -1125,10 +1125,10 @@ static void alc_printerror(error_code)
+ fprintf( stderr, "ptfig not allocated"); break;
+ case ECOMPONENT :
+ fprintf( stderr, "invalid component"); break;
+- default : fprintf( stderr, "unknow error");
++ default : fprintf( stderr, "unknown error code %ld", error_code );
+ }
+ fprintf( stderr, "\n( line %ld parsing %s )\n",parser.curr_line,
+- parser.file_name ); EXIT( 1);
++ parser.file_name ); EXIT( 1);
+ }
+
+
+@@ -1158,7 +1158,7 @@ static void alc_polar(ptfig)
+
+ /* Transformation des segments PTIE et NTIE en PDIF et NDIF.
+ On memorise dans les listes LP_PDIF et LP_NDIF non seule-
+- ment les TIE mais aussi les NDIF et PDIF.
++ meant les TIE mais aussi les NDIF et PDIF.
+ ( en cas d'erreur de conception )
+ On en profite pour lister les segments NWELL. */
+ for( pseg=ptfig->PHSEG; pseg!=(phseg_list*)NULL;
+diff --git a/alliance/src/mbk/src/mbk_lo_util.c b/alliance/src/mbk/src/mbk_lo_util.c
+index cfed169..8335e0e 100644
+--- a/alliance/src/mbk/src/mbk_lo_util.c
++++ b/alliance/src/mbk/src/mbk_lo_util.c
+@@ -1675,7 +1675,7 @@ losig_list *ptsig;
+ Since the interface of the resulting figure is not supposed to be
+ used by humans, let's make simple names.
+ Hey Hey, this was true a while ago, but as always, now we want
+- humans to predict the ouput of the function. Fun, ain'it? */
++ humans to predict the output of the function. Fun, ain'it? */
+ /* !Franck
+ sprintf(loconname, "%s_%lu", loconname, newtermcount++);
+ */
+@@ -2416,7 +2416,7 @@ key[VHD_scon2DFN] = vhd_hash ("scon2");
+ }
+
+ /* ###------------------------------------------------------### */
+- /* _exit and _stop commands are allways available */
++ /* _exit and _stop commands are always available */
+ /* ###------------------------------------------------------### */
+
+ tab[VHD__XTDFN] = avail;
+diff --git a/alliance/src/mbk/src/mbk_ph_util.c b/alliance/src/mbk/src/mbk_ph_util.c
+index db74bac..2ce2328 100644
+--- a/alliance/src/mbk/src/mbk_ph_util.c
++++ b/alliance/src/mbk/src/mbk_ph_util.c
+@@ -22,7 +22,7 @@
+ */
+
+ /*
+- * Purpose : utilites functions for physical view
++ * Purpose : utilities functions for physical view
+ * Date : 06/03/92
+ * Author : Frederic Petrot
+ * Modified by Czo 1997,98
+@@ -835,7 +835,7 @@ char *stru_name;
+ }
+
+ /* ###------------------------------------------------------### */
+- /* _exit and _stop commands are allways available */
++ /* _exit and _stop commands are always available */
+ /* ###------------------------------------------------------### */
+
+ tab[VHD__XTDFN] = avail;
+diff --git a/alliance/src/mbk/src/mbk_sys.c b/alliance/src/mbk/src/mbk_sys.c
+index 390b80d..5a327eb 100644
+--- a/alliance/src/mbk/src/mbk_sys.c
++++ b/alliance/src/mbk/src/mbk_sys.c
+@@ -22,7 +22,7 @@
+ */
+
+ /*
+- * Purpose : system dependant functions
++ * Purpose : system dependent functions
+ * Date : 06/03/92
+ * Author : Frederic Petrot
+ * Modified by Czo 1997,98
+@@ -107,7 +107,7 @@ char *value;
+
+ /* file opening :
+ defines the strategy used for searching and opening file in the
+- mbk environement. */
++ mbk environment. */
+ FILE* mbkfopen(const char *name, const char *extension, const char *mode)
+ {
+ FILE *ptf;
+diff --git a/alliance/src/mbk/src/mbk_util.c b/alliance/src/mbk/src/mbk_util.c
+index 88ccfde..b8ac028 100644
+--- a/alliance/src/mbk/src/mbk_util.c
++++ b/alliance/src/mbk/src/mbk_util.c
+@@ -90,6 +90,15 @@ long MBK_TRACK_SPACING_ALU5 = 8;
+ long MBK_TRACK_SPACING_ALU6 = 8;
+ long MBK_TRACK_SPACING_ALU7 = 8;
+ long MBK_TRACK_SPACING_ALU8 = 0;
++unsigned long RING_WMIN_ALU1 = 2;
++unsigned long RING_WMIN_ALU2 = 2;
++unsigned long RING_DMIN_ALU1_ALU1 = 3;
++unsigned long RING_DMIN_ALU2_ALU2 = 3;
++unsigned long RING_WVIA_ALU1 = 2;
++unsigned long RING_WVIA_ALU2 = 3;
++unsigned long RING_EXTENSION_ALU2 = 1;
++unsigned long RING_BV_VIA_VIA = 4;
++unsigned long RING_WALIM = 60;
+ char PARSER_INFO[100] = "nothing yet"; /* version number, and so on */
+ char *VDD = NULL; /* user name for power high */
+ char *VSS = NULL; /* user name for power ground */
+@@ -302,6 +311,43 @@ static char MBK_RAND_SEED[] = { 0x62,
+ if (str != NULL)
+ MBK_TRACK_SPACING_ALU8 = (long)atoi(str);
+
++ str = mbkgetenv("RING_WMIN_ALU1");
++ if (str != NULL)
++ RING_WMIN_ALU1 = (long)atoi(str);
++
++ str = mbkgetenv("RING_WMIN_ALU2");
++ if (str != NULL)
++ RING_WMIN_ALU2 = (long)atoi(str);
++
++ str = mbkgetenv("RING_DMIN_ALU1_ALU1");
++ if (str != NULL)
++ RING_DMIN_ALU1_ALU1 = (long)atoi(str);
++
++ str = mbkgetenv("RING_DMIN_ALU2_ALU2");
++ if (str != NULL)
++ RING_DMIN_ALU2_ALU2 = (long)atoi(str);
++
++ str = mbkgetenv("RING_WVIA_ALU1");
++ if (str != NULL)
++ RING_WVIA_ALU1 = (long)atoi(str);
++
++ str = mbkgetenv("RING_WVIA_ALU2");
++ if (str != NULL)
++ RING_WVIA_ALU2 = (long)atoi(str);
++
++ str = mbkgetenv("RING_EXTENSION_ALU2");
++ if (str != NULL)
++ RING_EXTENSION_ALU2 = (long)atoi(str);
++
++ str = mbkgetenv("RING_BV_VIA_VIA");
++ if (str != NULL)
++ RING_BV_VIA_VIA = (long)atoi(str);
++
++ str = mbkgetenv("RING_WALIM");
++ if (str != NULL)
++ RING_WALIM = (long)atoi(str);
++
++
+ srand((unsigned int) MBK_RAND_SEED);
+
+ str = mbkgetenv("MBK_IN_LO");
+@@ -1084,7 +1130,7 @@ int i = 0;
+ chain_list *files = (chain_list *)NULL;
+ /* Tables for quick cell search :
+ The catalog file is read only once, and sorted for speed.
+- The later calls to loadcatalog only return the approriate table. */
++ The later calls to loadcatalog only return the appropriate table. */
+ static chain_list *cells[4];
+ static char **tabs[4];
+ static int sizes[4];
+@@ -1212,7 +1258,7 @@ int argc = 0;
+ if(str != NULL) {
+ s = (char *)mbkalloc((unsigned int)(strlen(str) + 1) * sizeof(char));
+ (void)strcpy(s, str);
+- str = s; /* let's not modify the environement values */
++ str = s; /* let's not modify the environment values */
+ stc = str; /* for counting purposes */
+ while (1) {
+ if ((c = strchr(stc, ':')) == NULL)
+diff --git a/alliance/src/mbk/src/mlo.h b/alliance/src/mbk/src/mlo.h
+index 3cf731e..a01143b 100644
+--- a/alliance/src/mbk/src/mlo.h
++++ b/alliance/src/mbk/src/mlo.h
+@@ -155,7 +155,7 @@ losig_list;
+ /************************* Analogical specific structures ***************************/
+ /************************************************************************************/
+
+-/********************** Complementary transitor informations ************************/
++/********************** Complementary transitor information ************************/
+
+ /* The structure is put in the USER field of the transistor */
+ /* with the LOTRS_INFO ptype */
+diff --git a/alliance/src/mbk/src/mut.h b/alliance/src/mbk/src/mut.h
+index 9e87261..11c2914 100644
+--- a/alliance/src/mbk/src/mut.h
++++ b/alliance/src/mbk/src/mut.h
+@@ -211,6 +211,17 @@ extern long MBK_TRACK_SPACING_ALU5;
+ extern long MBK_TRACK_SPACING_ALU6;
+ extern long MBK_TRACK_SPACING_ALU7;
+ extern long MBK_TRACK_SPACING_ALU8;
++
++extern unsigned long RING_WMIN_ALU1;
++extern unsigned long RING_WMIN_ALU2;
++extern unsigned long RING_DMIN_ALU1_ALU1;
++extern unsigned long RING_DMIN_ALU2_ALU2;
++extern unsigned long RING_WVIA_ALU1;
++extern unsigned long RING_WVIA_ALU2;
++extern unsigned long RING_EXTENSION_ALU2;
++extern unsigned long RING_BV_VIA_VIA;
++extern unsigned long RING_WALIM;
++
+ extern char PARSER_INFO[]; /* version number, and so on */
+ extern char *VDD; /* user name for power high */
+ extern char *VSS; /* user name for power ground */
+diff --git a/alliance/src/mbk/src/mvl_parse.c b/alliance/src/mbk/src/mvl_parse.c
+index cfdaa97..e5c77a9 100644
+--- a/alliance/src/mbk/src/mvl_parse.c
++++ b/alliance/src/mbk/src/mvl_parse.c
+@@ -125,7 +125,7 @@ char mode ;
+ EXIT(1);
+ }
+ /* ---------------------------------------------------------------- */
+- /* Now, with the new figure, we duplicate the new informations */
++ /* Now, with the new figure, we duplicate the new information */
+ /* to fill the old one. */
+ /* ---------------------------------------------------------------- */
+ pt_lofig = mvl_fill(pt_lofig_tmp, MVL_LOFPNT);
+diff --git a/alliance/src/mbk/src/parse_vti_l.c b/alliance/src/mbk/src/parse_vti_l.c
+index ad4cdcb..f60138f 100644
+--- a/alliance/src/mbk/src/parse_vti_l.c
++++ b/alliance/src/mbk/src/parse_vti_l.c
+@@ -48,7 +48,7 @@
+ * * gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
+ *
+ * * ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
+-* by alliance.m4 -> must be added explicitely in each
++* by alliance.m4 -> must be added explicitly in each
+ * Makefile.am
+ *
+ * * remove configure.in (generated by autostuff)
+@@ -515,7 +515,7 @@ losig_list *sigct1,*sigct2;
+ }
+ freelomodel(model);
+
+- /* successfull exit */
++ /* successful exit */
+ return 0;
+ }
+ case 'G' : /* G INT name ; */
+@@ -703,7 +703,7 @@ losig_list *sigct1,*sigct2;
+ t1 = strtok(line + 2, " \n\t\"@");
+ t2 = strtok((char *)NULL, " \n\t\"@");
+ (void)strcpy(s, t2);
+- t3 = strtok((char *)NULL, " \n\t\"@"); /* the seperator | */
++ t3 = strtok((char *)NULL, " \n\t\"@"); /* the separator | */
+
+ if (*t3 != '|')
+ hns_error((int)SYNTAX_ERROR, fname, (long)i, (char *)NULL, 0L);
+diff --git a/alliance/src/mbk/src/time.c b/alliance/src/mbk/src/time.c
+index 731ea00..403bc19 100644
+--- a/alliance/src/mbk/src/time.c
++++ b/alliance/src/mbk/src/time.c
+@@ -31,7 +31,7 @@
+ * * gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
+ *
+ * * ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
+- * by alliance.m4 -> must be added explicitely in each
++ * by alliance.m4 -> must be added explicitly in each
+ * Makefile.am
+ *
+ * * remove configure.in (generated by autostuff)
+diff --git a/alliance/src/mbk/src/vel_drive.c b/alliance/src/mbk/src/vel_drive.c
+index 8b26f57..e0e86fd 100644
+--- a/alliance/src/mbk/src/vel_drive.c
++++ b/alliance/src/mbk/src/vel_drive.c
+@@ -25,7 +25,7 @@
+ * generics.
+ *
+ * Revision 1.5 2002/12/10 11:39:05 fred
+- * Adding correct generation of uncomplete vectors.
++ * Adding correct generation of incomplete vectors.
+ *
+ * Revision 1.4 2002/12/06 09:56:05 fred
+ * Erasing a forgotten debug dump !
+@@ -449,7 +449,7 @@ int length, j;
+ }
+
+ /*
+- * Components instanciation
++ * Components instantiation
+ */
+ f->LOINS=(loins_list *)reverse((chain_list *)f->LOINS);
+ for (i=f->LOINS; i; i=i->NEXT) {
+@@ -621,7 +621,7 @@ int sigi = 0;
+
+ /* Ensure that connector and internal signal names are not
+ * identical, and correct this prior to build the velofig.
+- * This nice check is in O(nc * ns), because I dont feel like
++ * This nice check is in O(nc * ns), because I don't feel like
+ * building hash tables and all that stuff to speed up things.
+ * I may have to if this is really awful */
+
+diff --git a/alliance/src/mbk/src/vel_o.c b/alliance/src/mbk/src/vel_o.c
+index 1694784..9982783 100644
+--- a/alliance/src/mbk/src/vel_o.c
++++ b/alliance/src/mbk/src/vel_o.c
+@@ -14,7 +14,7 @@
+ * * gcc4 compatible : no cast like (Foo*)bar=foo; use bar=(Bar*)foo;
+ *
+ * * ALLIANCE_CFLAGS not added anymore to CFLAGS or CXXFLAGS
+- * by alliance.m4 -> must be added explicitely in each
++ * by alliance.m4 -> must be added explicitly in each
+ * Makefile.am
+ *
+ * * remove configure.in (generated by autostuff)
+diff --git a/alliance/src/nero/doc/man1/nero.1 b/alliance/src/nero/doc/man1/nero.1
+index e13b1ea..e3c76c9 100644
+--- a/alliance/src/nero/doc/man1/nero.1
++++ b/alliance/src/nero/doc/man1/nero.1
+@@ -19,7 +19,7 @@ contains nets which half perimeter is greater than 800 lambdas.
+ Global routing is used on big designs.
+ .PP
+ In nero, "global routing" means that
+-the longuests nets are completly routed in a first step with only
++the longuests nets are completely routed in a first step with only
+ routing layers numbers 3 & 4. Then the smaller nets are routed with all
+ avalaibles layers. This implies that when global routing is
+ used, the number of routing layers is forced to at least 4.
+@@ -31,7 +31,7 @@ nero mandatory arguments\ :
+ .TP 0.2i
+ \(bu
+ \fInetlist\fR\ : the name of
+-the design, whithout any extention. Please note that unless a
++the design, without any extention. Please note that unless a
+ \fB-p\fR \fIplacement\fR option
+ is given, the file holding the placement is expected to have the
+ same name as the netlist file (short of the extention).
+diff --git a/alliance/src/nero/doc/nero/man_nero.html b/alliance/src/nero/doc/nero/man_nero.html
+index 51907d7..788c7bb 100644
+--- a/alliance/src/nero/doc/nero/man_nero.html
++++ b/alliance/src/nero/doc/nero/man_nero.html
+@@ -131,7 +131,7 @@ CLASS="EMPHASIS"
+ CLASS="LITERAL"
+ >nero, "global routing" means that
+- the longuests nets are completly routed in a first step with only
++ the longuests nets are completely routed in a first step with only
+ routing layers numbers 3 & 4. Then the smaller nets are routed with all
+ avalaibles layers. This implies that when global routing is
+ used, the number of routing layers is forced to at least 4.
+@@ -161,7 +161,7 @@ CLASS="LITERAL"
+ CLASS="FILENAME"
+ >netlist : the name of
+- the design, whithout any extention. Please note that unless a
++ the design, without any extention. Please note that unless a
+ -pLOINS; pLoins != NULL; pLoins = pLoins->NEXT) {
+ instances[pLoins->INSNAME] = pLoins;
+ }
+@@ -523,13 +523,13 @@ void CLofig::rflatten (char concat, char catal)
+ cmess2 << " o Flattening netlist...\n";
+ rflattenlofig (fig, concat, catal);
+
+- // Rebuild the instances dictionnary (map).
++ // Rebuild the instances dictionary (map).
+ instances.clear ();
+ for (pLoins = fig->LOINS; pLoins != NULL; pLoins = pLoins->NEXT) {
+ instances[pLoins->INSNAME] = pLoins;
+ }
+
+- // Build the signal dictionnary.
++ // Build the signal dictionary.
+ // Load all name aliases.
+ for (pLosig = fig->LOSIG; pLosig != NULL; pLosig = pLosig->NEXT) {
+ //signals[getsigname(pLosig)] = pLosig;
+@@ -597,7 +597,7 @@ CPhfig::CPhfig (string &name)
+ cmess1 << " o Loading layout \"" << name << "\"...\n";
+ fig = getphfig ((char *)name.c_str (), 'A');
+
+- // Build the instances dictionnary (map).
++ // Build the instances dictionary (map).
+ for (pPhins = fig->PHINS; pPhins != NULL; pPhins = pPhins->NEXT) {
+ instances[pPhins->INSNAME] = pPhins;
+ }
+@@ -628,7 +628,7 @@ void CPhfig::rflatten (char concat, char catal)
+ cmess2 << " o Flattening layout...\n";
+ rflattenphfig (fig, concat, catal);
+
+- // Rebuild the instances dictionnary (map).
++ // Rebuild the instances dictionary (map).
+ instances.clear ();
+ for (pPhins = fig->PHINS; pPhins != NULL; pPhins = pPhins->NEXT) {
+ instances[pPhins->INSNAME] = pPhins;
+diff --git a/alliance/src/nero/src/MMBK.h b/alliance/src/nero/src/MMBK.h
+index 76b0491..24cb5fe 100644
+--- a/alliance/src/nero/src/MMBK.h
++++ b/alliance/src/nero/src/MMBK.h
+@@ -109,7 +109,7 @@ namespace MBK {
+ public: CRect rect; // Rectangle (MBK coordinates).
+ public: CRect grid; // Rectangle (routing grid units).
+
+- // Contructor.
++ // Constructor.
+ public: CXRect (CDRGrid* agrid);
+
+ // Predicate.
+diff --git a/alliance/src/nero/src/MPower.cpp b/alliance/src/nero/src/MPower.cpp
+index 9c5451b..13abdcc 100644
+--- a/alliance/src/nero/src/MPower.cpp
++++ b/alliance/src/nero/src/MPower.cpp
+@@ -139,7 +139,7 @@ CPowers::CPowers ( CFig *fig
+ cerr << " " << layer2a (layer) << " \"" << seg->NAME
+ <<"\" segment at ("
+ << UNSCALE (seg->X1) << ","
+- << UNSCALE (seg->Y1) << ") doesn't have the rigth witdth :"
++ << UNSCALE (seg->Y1) << ") doesn't have the right witdth :"
+ << UNSCALE (seg->WIDTH) << " instead of "
+ << UNSCALE (width) << ".\n";
+ cerr << " (instance \"" << ins->INSNAME << "\" of model \""
+diff --git a/alliance/src/nero/src/UDefs.h b/alliance/src/nero/src/UDefs.h
+index f756e26..042e705 100644
+--- a/alliance/src/nero/src/UDefs.h
++++ b/alliance/src/nero/src/UDefs.h
+@@ -38,7 +38,7 @@
+ # include
+ # include
+
+-# include
++//# include
+
+
+
+diff --git a/alliance/src/nero/src/UGrid.cpp b/alliance/src/nero/src/UGrid.cpp
+index 7d21f53..862a8c2 100644
+--- a/alliance/src/nero/src/UGrid.cpp
++++ b/alliance/src/nero/src/UGrid.cpp
+@@ -198,7 +198,7 @@ void CDRGrid::iterator::valid (bool validindex)
+ throw (e_matrix_iterator)
+ {
+ if (_drgrid == NULL) {
+- throw e_matrix_iterator ("Attempt to use an unitialized grid iterator.");
++ throw e_matrix_iterator ("Attempt to use an uninitialized grid iterator.");
+ }
+
+ if ( (validindex) && (_index == INT_MAX) )
+diff --git a/alliance/src/nero/src/UInter.cpp b/alliance/src/nero/src/UInter.cpp
+index 19130e8..6812946 100644
+--- a/alliance/src/nero/src/UInter.cpp
++++ b/alliance/src/nero/src/UInter.cpp
+@@ -166,11 +166,11 @@ void LInter::add (long lbound, long rbound)
+ mergeInter = itInter;
+ break;
+
+- // "itInter" is completly inside "element".
++ // "itInter" is completely inside "element".
+ // - If "element" has not been merged yet (mergeInter == endInter),
+ // resize "itInter" to fit element. "element" merged.
+ // - "element" is already merged : delete "itInter".
+- // Immediatly process the next element.
++ // Immediately process the next element.
+ case C_INTER_IN:
+ if (mergeInter == endInter) {
+ itInter->first = element.first;
+@@ -185,7 +185,7 @@ void LInter::add (long lbound, long rbound)
+ // The lower bound of "itInter" is inside "element" :
+ // - If "element" has not been merged yet (mergeInter == endInter),
+ // Update the lower bound of "itInter". "element" merged.
+- // - "element" is aleady merged : we have to update the upper
++ // - "element" is already merged : we have to update the upper
+ // bounds of "mergeInter" & "element" as it's used as the
+ // reference element for the next comparisons. Then delete
+ // "itInter".
+diff --git a/alliance/src/nero/src/UOpts.cpp b/alliance/src/nero/src/UOpts.cpp
+index 8fb4fd8..7423941 100644
+--- a/alliance/src/nero/src/UOpts.cpp
++++ b/alliance/src/nero/src/UOpts.cpp
+@@ -16,12 +16,10 @@
+
+
+
+-# include "unistd.h"
++# include
+ # include "UDefs.h"
+
+
+-
+-
+ // +----------------------------------------------------------------+
+ // | Methods Definitions |
+ // +----------------------------------------------------------------+
+@@ -95,7 +93,7 @@ void COpts::add ( string key_short
+ }
+
+
+- // Add to the option list & dictionnary.
++ // Add to the option list & dictionary.
+ tList.push_back (new COpt (arg, val));
+ key_index = tList.size() - 1;
+
+@@ -119,7 +117,7 @@ void COpts::getopts (int argc, char *argv[]) throw (except_done)
+ extern char *optarg;
+ int key;
+ long key_index;
+- string key_string;
++ string key_string;
+ const char *short_format;
+
+
+@@ -127,9 +125,9 @@ void COpts::getopts (int argc, char *argv[]) throw (except_done)
+
+ short_format = tShort.c_str();
+
+- // Loop over getopt.
++// Loop over getopt.
+ while (true) {
+- key = getopt (argc, argv, short_format);
++ key = ::getopt (argc, argv, short_format);
+
+ if (key == -1) break;
+
+@@ -146,7 +144,7 @@ void COpts::getopts (int argc, char *argv[]) throw (except_done)
+ key_index = (*this)(key_string);
+ tList[key_index]->parsed = true;
+
+- // Get any optionnal argument.
++ // Get any optional argument.
+ if (tList[key_index]->has_arg) {
+ tList[key_index]->value = optarg;
+ }
+diff --git a/alliance/src/nero/src/debug.cpp b/alliance/src/nero/src/debug.cpp
+index 0945750..b306464 100644
+--- a/alliance/src/nero/src/debug.cpp
++++ b/alliance/src/nero/src/debug.cpp
+@@ -366,7 +366,7 @@ void CDRGrid::iterator::valid (bool validindex)
+ throw (e_matrix_iterator)
+ {
+ if (_drgrid == NULL) {
+- throw e_matrix_iterator ("Attempt to use an unitialized grid iterator.");
++ throw e_matrix_iterator ("Attempt to use an uninitialized grid iterator.");
+ }
+
+ if ( (validindex) && (_index == INT_MAX) )
+@@ -843,7 +843,7 @@ __CNode__ &TMatrix<__CNode__>::add (int index)
+
+ // Overridables.
+ public: virtual const char* what () const {
+- return ((char*)"Unkown terminal.");
++ return ((char*)"Unknown terminal.");
+ }
+ };
+
+@@ -961,7 +961,7 @@ void CMatrixPri::findfree (int index)
+
+ for (i = cx - radius; i < cx + radius + 1; i++) {
+ for (j = cy - radius; j < cy + radius + 1; j++) {
+- // Proccess only nodes of the ring.
++ // Process only nodes of the ring.
+ // if ( (i > cx - radius) || (i < cx + radius) ) continue;
+ // if ( (j > cy - radius) || (j < cy + radius) ) continue;
+
+@@ -1050,7 +1050,7 @@ void CMatrixPri::load (CNet &net, bool global, int expand=0)
+ // That is, in the first step of the algorithm we fill both queue
+ // at the same time.
+ // In the case of the map of a global signal (i.e. using z=3&4 for
+- // the time beeing, set to one the map points above the terminal
++ // the time being, set to one the map points above the terminal
+ // in z=1&2, as they will not be set by the _bb loop.
+
+ for (id = 0; id < net.size; id++) {
+diff --git a/alliance/src/nero/src/nero.cpp b/alliance/src/nero/src/nero.cpp
+index d59566d..025240e 100644
+--- a/alliance/src/nero/src/nero.cpp
++++ b/alliance/src/nero/src/nero.cpp
+@@ -17,6 +17,11 @@
+
+
+ # include "RDefs.h"
++# ifdef __CYGWIN__
++extern "C" {
++ int getopt ( int argc, char * const argv[], const char *optstring );
++}
++# endif
+
+
+
+@@ -209,7 +214,7 @@ int main (int argc, char *argv[])
+ cout << "File: " << fileNetSet << endl;
+ FILE* file = fopen ( fileNetSet.c_str(), "r" );
+ if ( file ) {
+- cout << "File Sucessfully opened." << endl;
++ cout << "File Successfully opened." << endl;
+ netSet = new set();
+ char buffer[2048];
+ while ( !feof(file) ) {
+diff --git a/alliance/src/ocp/src/placer/PCon.cpp b/alliance/src/ocp/src/placer/PCon.cpp
+index e236e98..d69a635 100644
+--- a/alliance/src/ocp/src/placer/PCon.cpp
++++ b/alliance/src/ocp/src/placer/PCon.cpp
+@@ -60,7 +60,7 @@ PCon::Save(struct phfig *physicalfig, const double dx, const double dy) const {
+ , (int)(GetPosX() * PITCH + dx)
+ , (int)(GetPosY() * PITCH + dy)
+ , _orient==NORTH || _orient == SOUTH ? ALU2 : ALU3
+- , (_orient==NORTH || _orient == SOUTH ? 2 : 1) * (PITCH/MBK_X_GRID));
++ , (_orient==NORTH || _orient == SOUTH ? MBK_TRACK_WIDTH_ALU2:MBK_TRACK_WIDTH_ALU3)*SCALE_X);
+ } else {
+ #if 0
+ addphcon(physicalfig,
+@@ -89,7 +89,7 @@ PCon::RingSave(struct phfig *physicalfig, const double dx, const double dy) cons
+ (int)(GetPosX() * PITCH + dx),
+ (int)(GetPosY() * PITCH + dy),
+ ALU2,
+- 2 * (PITCH/MBK_X_GRID));
++ MBK_TRACK_WIDTH_ALU2*SCALE_X);
+ }
+
+ ostream&
+diff --git a/alliance/src/ocp/src/placer/iocscan.l b/alliance/src/ocp/src/placer/iocscan.l
+index db95f60..3279e05 100644
+--- a/alliance/src/ocp/src/placer/iocscan.l
++++ b/alliance/src/ocp/src/placer/iocscan.l
+@@ -1,6 +1,7 @@
+
+ %option noinput
+ %option nounput
++%option yylineno
+
+ /* This file is part of the Alliance Project.
+ Copyright (C) Laboratoire LIP6 - Departement ASIM
+diff --git a/alliance/src/pat/doc/pat.5 b/alliance/src/pat/doc/pat.5
+index 40d5365..d3bae2a 100644
+--- a/alliance/src/pat/doc/pat.5
++++ b/alliance/src/pat/doc/pat.5
+@@ -172,7 +172,7 @@ legal values for inputs are:
+ For each output the user can predict a value. This bring the simulator to make
+ a comparison between this value and the one calculated during the simulation.
+ Predicting a \'*\' (star) as an output value disables the comparison. Values
+-must be preceeded by a \'?\' (question mark). The \'?\' can be omitted when
++must be preceded by a \'?\' (question mark). The \'?\' can be omitted when
+ using a \'*\'. Depending on the format, legal values for outputs are :
+
+ .TP 10
+diff --git a/alliance/src/pat/src/pat_debug.c b/alliance/src/pat/src/pat_debug.c
+index 499c959..dc631f0 100644
+--- a/alliance/src/pat/src/pat_debug.c
++++ b/alliance/src/pat/src/pat_debug.c
+@@ -436,7 +436,7 @@ char **str ; /* recognized strings */
+ /* function : splitline */
+ /* description : read a line (the space must have been reserved by the */
+ /* caller - *words) from the standard input and split it */
+-/* into seperate words. Return the number of words read. */
++/* into separate words. Return the number of words read. */
+ /* called func. : none */
+ /* ###--------------------------------------------------------------### */
+
+diff --git a/alliance/src/pat/src/pat_desc_y.y b/alliance/src/pat/src/pat_desc_y.y
+index 403fc6f..14720db 100644
+--- a/alliance/src/pat/src/pat_desc_y.y
++++ b/alliance/src/pat/src/pat_desc_y.y
+@@ -1164,7 +1164,7 @@ unlabeled_pattern
+ else
+ {
+ /* ###----------------------------------------------### */
+- /* begining a new array or a new single bit */
++ /* beginning a new array or a new single bit */
+ /* ###----------------------------------------------### */
+
+ if (c == '?')
+@@ -1178,7 +1178,7 @@ unlabeled_pattern
+ cmpfl = 'F';
+
+ /* ###----------------------------------------------### */
+- /* if begining a new array */
++ /* if beginning a new array */
+ /* ###----------------------------------------------### */
+
+ if ((ptgrp != NULL) && (idx == ptgrp->FINDEX))
+@@ -1235,7 +1235,7 @@ unlabeled_pattern
+ else
+ {
+ /* ###----------------------------------------------### */
+- /* Begining a new single bit */
++ /* Beginning a new single bit */
+ /* ###----------------------------------------------### */
+
+ islegal (idx, c, cmpfl, 0);
+diff --git a/alliance/src/pat/src/pat_lodpaseq.c b/alliance/src/pat/src/pat_lodpaseq.c
+index 77073e2..62be954 100644
+--- a/alliance/src/pat/src/pat_lodpaseq.c
++++ b/alliance/src/pat/src/pat_lodpaseq.c
+@@ -104,7 +104,7 @@ unsigned char mode ; /* compiler mode */
+ {
+ /* ###------------------------------------------------------### */
+ /* parse the openned file. Close the file when the end is */
+- /* reached or if an error has occured. */
++ /* reached or if an error has occurred. */
+ /* ###------------------------------------------------------### */
+
+ ptseq = pat_prspat (fp, name, ptseq, maxpat, mode);
+diff --git a/alliance/src/rds/etc/Makefile.am b/alliance/src/rds/etc/Makefile.am
+index ab78e4e..d5cca76 100644
+--- a/alliance/src/rds/etc/Makefile.am
++++ b/alliance/src/rds/etc/Makefile.am
+@@ -1,8 +1,7 @@
+-# $Id: Makefile.am,v 1.5 2002/05/08 21:07:26 jpc Exp $
+
+ etcdir=$(prefix)/etc
+
+-etc_DATA=cmos.rds
++etc_DATA=cmos.rds scn6m_deep_09.rds
+
+ EXTRA_DIST=$(etc_DATA)
+
+diff --git a/alliance/src/rds/etc/cmos.rds b/alliance/src/rds/etc/cmos.rds
+index d1a6bed..b597366 100644
+--- a/alliance/src/rds/etc/cmos.rds
++++ b/alliance/src/rds/etc/cmos.rds
+@@ -396,6 +396,42 @@ TABLE S2R_MINIMUM_LAYER_WIDTH
+ END
+
+ ##-------------------------------------------------------------------
++# TABLE MBK_WIRESETTING :
++##-------------------------------------------------------------------
++#
++# This table is used by ocp, nero & ring. It supplies *symbolic*
++# information about the routing grid, the cell gauge and the power
++# wires.
++
++
++TABLE MBK_WIRESETTING
++
++ X_GRID 5
++ Y_GRID 5
++ Y_SLICE 50
++ WIDTH_VDD 6
++ WIDTH_VSS 6
++ TRACK_WIDTH_ALU8 0
++ TRACK_WIDTH_ALU7 2
++ TRACK_WIDTH_ALU6 2
++ TRACK_WIDTH_ALU5 2
++ TRACK_WIDTH_ALU4 2
++ TRACK_WIDTH_ALU3 2
++ TRACK_WIDTH_ALU2 2
++ TRACK_WIDTH_ALU1 2
++ TRACK_SPACING_ALU8 0
++ TRACK_SPACING_ALU7 8
++ TRACK_SPACING_ALU6 8
++ TRACK_SPACING_ALU5 3
++ TRACK_SPACING_ALU4 3
++ TRACK_SPACING_ALU3 3
++ TRACK_SPACING_ALU2 3
++ TRACK_SPACING_ALU1 3
++
++END
++
++
++##-------------------------------------------------------------------
+ # TABLE CIF_LAYER :
+ ##-------------------------------------------------------------------
+
+diff --git a/alliance/src/rds/etc/scn6m_deep_09.rds b/alliance/src/rds/etc/scn6m_deep_09.rds
+new file mode 100644
+index 0000000..29faf58
+--- /dev/null
++++ b/alliance/src/rds/etc/scn6m_deep_09.rds
+@@ -0,0 +1,2134 @@
++
++# ==================================================================
++# COPYRIGHT IS UNCERTAIN YET.
++#
++# This file is a derived from the Alliance cmos.rds, adapted by
++# Graham Petley for 0.13um and finally to MOSIS scn6m_deep by
++# Naohiko Shimizu. It is a 2lambdas rules.
++#
++# To be used with the msxlib and mpxlib libraries (the leading 'm'
++# standing for MOSIS).
++#
++# The design rules are listed (i) the 0.13um generic rule set;
++# (ii) the vsclib 2um rules scaled by the value of lambda (0.055);
++# (iii) the MOSIS SCMOS and (iv) DEEP rules scaled by 0.06;
++# (v) the vsclib 2um rules.
++#------------------------------------+-----+-----+-----+-----+-----+
++# DESIGN RULES | notes
++#------------------------------------+-----+-----+-----+-----+-----+
++# 0.13 vsclib MOSIS DEEP 2um
++#------------------------------------+-----+-----+-----+-----+-----+
++# 1.1 NWELL width 0.64 0.99 0.60 0.72 18.0
++# 1.1 PWELL width 0.64 0.99 0.60 0.72 18.0
++# 1.3 NWELL space 0.64 0.99 0.36 0.36 18.0
++# 1.3 PWELL space 0.64 0.99 0.36 0.36 18.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 2.1a PDIF/NDIF width 0.20 0.22 0.18 0.18 4.0
++# 2.1b PTIE/NTIE width 0.20 0.22 0.18 0.18 4.0
++# 2.2a PDIF space 0.20 0.22 0.18 0.18 4.0
++# 2.2a NDIF space 0.20 0.22 0.18 0.18 4.0
++# 2.2b PTIE space 0.20 0.22 0.18 0.18 4.0
++# 2.2b NTIE space 0.20 0.22 0.18 0.18 4.0
++# 2.3a NWELL to NDIF space 0.32 0.33 0.30 0.36 6.0
++# 2.3b NWELL overlap of PDIF 0.32 0.33 0.30 0.36 6.0
++# 2.4a NWELL to PTIE space 0.24 0.275 0.18 0.18 5.0
++# 2.4b NWELL overlap of NTIE 0.24 0.275 0.18 0.18 5.0
++# 2.5 NDIF to PTIE space 0.20 0.22 0.24 0.24 4.0
++# 2.5 PDIF to NTIE space 0.20 0.22 0.24 0.24 4.0
++# 2.8a PDIF to NDIF space 0.64 0.66 0.60 0.72 12.0
++# 2.8b PDIF to PTIE space 0.54 0.55 0.48 0.54 11.0
++# 2.8b NTIE to NDIF space 0.54 0.55 0.48 0.54 11.0
++# 2.8c NTIE to PTIE space 0.44 0.44 0.36 0.36 10.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 3.1 POLY width 0.12 0.11 0.12 0.12 2.0
++# 3.2 POLY space over field 0.20 0.22 0.12 0.18 4.0
++# 3.2a POLY space over diffusion 0.24 0.275 0.12 0.24 5.0
++# 3.3 POLY overlap of transistor 0.18 0.22 0.12 0.15 4.0
++# 3.4 Source/drain width 0.26 0.275 0.18 0.24 5.0
++# 3.5 PDIF or NDIF to POLY space 0.10 0.11 0.06 0.06 2.0
++# 3.5a POLY to CHANNEL space 0.10 0.165 0.06 0.06 3.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 4.1 SELECT to CHANNEL space 0.28 0.275 0.18 0.18 5.0
++# 4.2a SELECT overlap of PDIF or NDIF 0.18 0.165 0.12 0.12 3.0
++# 4.2b SELECT overlap of PTIE or NTIE 0.04 0.055 0.12 0.12 1.0
++# 4.4 SELECT width 0.24 0.22 0.12 0.24 4.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 5.1 Exact POLY CONTACT size 0.16 0.11 0.12 0.12 2.0
++# 5.2 POLY overlap of CONTACT 0.08 0.11 0.09 0.09 2.0
++# 5.3 CONTACT space 0.20 0.275 0.12 0.24 5.0
++# 5.4 POLY CONTACT to CHANNEL space 0.16 0.165 0.12 0.12 3.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 6.1 Exact PDIF or NDIF CONTACT size .16 0.11 0.12 0.12 2.0
++# 6.1 Exact PTIE or NTIE CONTACT size .16 0.11 0.12 0.12 2.0
++# 6.2a PDIF or NDIF overlap of CONTACT .08 0.11 0.09 0.09 2.0
++# 6.2b PTIE or NTIE overlap of CONTACT .08 0.11 0.09 0.09 2.0
++# 6.3 CONTACT space 0.20 0.275 0.12 0.24 5.0
++# 6.4 PDIF CONTACT to CHANNEL space 0.12 0.165 0.12 0.12 3.0
++# 6.4 NDIF CONTACT to CHANNEL space 0.12 0.165 0.12 0.12 3.0
++# 6.4a PTIE CONTACT to CHANNEL space 0.40 0.44 0.39 0.39 8.0
++# 6.4a NTIE CONTACT to CHANNEL space 0.40 0.44 0.39 0.39 8.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 7.1 Metal-1 width 0.18 0.22 0.18 0.18 4.0
++# 7.2 Metal-1 space 0.18 0.165 0.12 0.18 3.0
++# 7.3a Metal-1 side overlap of CONTACT .01 0.055 0.06 0.06 1.0 1
++# 7.3b Metal-1 end overlap of CONTACT 0.06 0.11 0.06 0.06 2.0
++#------------------------------------+-----+-----+-----+-----+-----+
++# 8.1 VIA1 width 0.20 0.11 0.12 0.18 2.0
++# 8.2 VIA1 space 0.24 0.33 0.18 0.18 6.0
++# 8.3a Metal-1 side overlap of VIA1 0.01 0.055 0.06 0.06 1.0 1
++# 8.3b Metal-1 end overlap of VIA1 0.06 0.11 0.06 0.06 2.0 2
++#------------------------------------+-----+-----+-----+-----+-----+
++# 9.x=Metal-2 15.x=Metal-3 22.x=Metal-4 26.x=Metal-5
++#------------------------------------+-----+-----+-----+-----+-----+
++# 9.1 Metal-2 width 0.22 0.22 0.18 0.18 4.0
++# 9.2 Metal-2 space 0.22 0.22 0.18 0.24 4.0
++# 9.3a Metal-2 side overlap of VIA1 0.01 0.055 0.06 0.06 1.0 1
++# 9.3b Metal-2 end overlap of VIA1 0.06 0.11 0.06 0.06 2.0 2
++#------------------------------------+-----+-----+-----+-----+-----+
++# 14.x=VIA2 21.x=VIA3 25.x=VIA4
++#------------------------------------+-----+-----+-----+-----+-----+
++# 14.1 VIA2 width 0.20 0.11 0.12 0.18 2.0
++# 14.2 VIA2 space 0.24 0.33 0.18 0.18 6.0
++# 14.3a Metal-2 side overlap of VIA2 0.01 0.055 0.06 0.06 1.0 1
++# 14.3b Metal-2 end overlap of VIA2 0.06 0.11 0.06 0.06 2.0 2
++#------------------------------------+-----+-----+-----+-----+-----+
++# 29.1 VIA5 width 0.40 0.22 0.18 0.24 2.0 3
++# 29.2 VIA5 space 0.48 0.66 0.24 0.24 14.0
++# 29.3a Metal-5 side overlap of VIA5 0.02 0.11 0.06 0.06 3.0 1
++# 29.3b Metal-5 end overlap of VIA5 0.06 0.165 0.06 0.06 4.0 2
++#------------------------------------+-----+-----+-----+-----+-----+
++# 30.1 Metal-6 width 0.44 0.44 0.30 0.30 8.0
++# 30.2 Metal-6 space 0.44 0.44 0.30 0.30 8.0
++# 30.3a Metal-6 side overlap of VIA5 0.13 0.22 0.06 0.12 3.0
++# 30.3b Metal-6 end overlap of VIA5 0.13 0.22 0.06 0.12 4.0
++#------------------------------------+-----+-----+-----+-----+-----+
++#
++#notes
++# 1. Metal overlap of CONTACT and VIA rules have been divided
++# into two. Modern technologies have one (small) side
++# overlap (1 in the drawing) and a
++# 1 larger end overlap (2 in the drawing).
++# |--| For metal-1, the vsclib uses 1.0 for (1)
++# +--------+ - and 2.0 for (2). The rule set has checks
++# |////////| | for these different values. The checks
++# |////////| | 2 for the higher metal overlap rules (934,
++# |//+--+//| + 1434, 1534, 2134, 2234, 2534, 2634,
++# |//| |//| 2934) are present. They have been
++# |//+--+//| commented (except for ALU6) in the vsc013x
++# |////////| RDS file.
++#
++# 2. The end overlap of metal over via should be 2 lambda, but
++# this isn't supported by NERO. For metal-1 the support is in the
++# cell layout. For the upper metal layers the end overlap must
++# be added by a script. Checks are made in vsc013.rds but not in
++# vsc013x.rds.
++# 3. Rules are for a 6 layer metal process. For fewer layers,
++# apply metal-6 to top metal and VIA5 to top via.
++#
++##-------------------------------------------------------------------
++# PHYSICAL_GRID :
++##-------------------------------------------------------------------
++
++DEFINE PHYSICAL_GRID 0.005
++
++##-------------------------------------------------------------------
++# LAMBDA :
++##-------------------------------------------------------------------
++
++DEFINE LAMBDA 0.09
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_SEGMENT :
++#
++# MBK RDS layer 1 RDS layer 2
++# name name TRANS DLR DWR OFFSET name TRANS DLR DWR OFFSET ...
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_SEGMENT
++
++ PWELL RDS_PWELL VW 0.36 0.0 0.0 ALL \
++ RDS_USER6 VW 0.36 0.0 0.0 DRC
++ NWELL RDS_NWELL VW 0.36 0.0 0.0 ALL \
++ RDS_USER3 VW 0.36 0.0 0.0 DRC
++
++# The NIMP/PIMP layers are not visualised in
++# Graal. If you want to see the layers, change
++# the keyword in the NIMP/PIMP entry from DRC to ALL.
++# TVIA3 and TVIA4 are replicas of PIMP and NIMP
++# to ensure geometries written to CIF and GDS.
++ NDIF RDS_NDIF VW 0.18 0.0 0.0 ALL \
++ RDS_ACTIV VW 0.18 0.0 0.0 DRC \
++ RDS_NIMP VW 0.36 0.36 0.0 DRC \
++ RDS_TVIA4 VW 0.36 0.36 0.0 DRC
++ PDIF RDS_PDIF VW 0.18 0.0 0.0 ALL \
++ RDS_ACTIV VW 0.18 0.0 0.0 DRC \
++ RDS_PIMP VW 0.36 0.36 0.0 DRC \
++ RDS_TVIA3 VW 0.36 0.36 0.0 DRC
++
++# RDS_NTIE EXT is for visualisation in Graal.
++# RDS_NTIE DRC makes a NIMP layer the same as RDS_NIMP.
++# The NTIE is used to make an implant layer because
++# s2r with the -i option uses NTIE to "cut" a hole in
++# the PIMP implant generated from NWELL. The real NTIE
++# layer is too small for this hole, so the layer is
++# redefined in DRC mode to give the right size hole.
++# RDS_ACTIV is the diffusion layer.
++# RDS_NIMP makes a second implant layer which is the same
++# as the RDS_NTIE. It is included so that the implant layer
++# can be seen in Graal if the DRC entry is changed to ALL.
++# RDS_TPOLY is used to write out an NTIE geometry to
++# CIF and GDS, and for design rule checks to the diffusion
++# layer. NTIE cannot be used for this because it must be
++# oversized to the implant layer.
++# s2r must be run twice to make a single correct
++# CIF or GDS file for cell fred.ap,
++# $ s2r -i fred
++# $ s2r -p fred
++# These should not be combined and must be run one after
++# the other.
++# Make sure old CIF files are removed before running s2r.
++# NTIE RDS_NTIE VW 0.495 0.54 0.0 EXT \
++# RDS_NTIE VW 0.495 0.54 0.0 DRC \
++# RDS_ACTIV VW 0.135 -0.09 0.0 DRC \
++# RDS_NIMP VW 0.495 0.54 0.0 DRC \
++# RDS_TPOLY VW 0.135 -0.09 0.0 DRC
++# PTIE RDS_PTIE VW 0.495 0.54 0.0 EXT \
++# RDS_PTIE VW 0.495 0.54 0.0 DRC \
++# RDS_ACTIV VW 0.135 -0.09 0.0 DRC \
++# RDS_PIMP VW 0.495 0.54 0.0 DRC \
++# RDS_VPOLY VW 0.135 -0.09 0.0 DRC
++
++ NTIE RDS_NTIE VW 0.045 -0.09 0.0 EXT \
++ RDS_NTIE VW 0.225 0.27 0.0 DRC \
++ RDS_ACTIV VW 0.045 -0.09 0.0 DRC \
++ RDS_NIMP VW 0.225 0.27 0.0 DRC \
++ RDS_TPOLY VW 0.045 -0.09 0.0 DRC
++ PTIE RDS_PTIE VW 0.045 -0.09 0.0 EXT \
++ RDS_PTIE VW 0.225 0.27 0.0 DRC \
++ RDS_ACTIV VW 0.045 -0.09 0.0 DRC \
++ RDS_PIMP VW 0.225 0.27 0.0 DRC \
++ RDS_VPOLY VW 0.045 -0.09 0.0 DRC
++
++# The GATE layer is the poly which makes the
++# transistor. It is used to measure the ENDCAP
++# value.
++ NTRANS RDS_POLY VW 0.27 0.00 0.0 ALL \
++ RDS_GATE VW 0.27 0.00 0.0 DRC \
++ RDS_NDIF LCW 0.0 0.27 0.0 EXT \
++ RDS_NDIF RCW 0.0 0.27 0.0 EXT \
++ RDS_NDIF VW 0.0 0.72 0.0 DRC \
++ RDS_ACTIV VW 0.0 0.72 0.0 ALL \
++ RDS_NIMP VW 0.18 1.26 0.0 DRC \
++ RDS_NIMP VW 0.18 1.26 0.0 DRC \
++ RDS_TVIA4 VW 0.18 1.26 0.0 DRC \
++ RDS_TVIA4 VW 0.18 1.26 0.0 DRC
++ PTRANS RDS_POLY VW 0.27 0.00 0.0 ALL \
++ RDS_GATE VW 0.27 0.00 0.0 DRC \
++ RDS_PDIF LCW 0.0 0.27 0.0 EXT \
++ RDS_PDIF RCW 0.0 0.27 0.0 EXT \
++ RDS_PDIF VW 0.0 0.72 0.0 DRC \
++ RDS_ACTIV VW 0.0 0.72 0.0 ALL \
++ RDS_PIMP VW 0.18 1.26 0.0 ALL \
++ RDS_PIMP VW 0.18 1.26 0.0 DRC \
++ RDS_TVIA3 VW 0.18 1.26 0.0 DRC \
++ RDS_TVIA3 VW 0.18 1.26 0.0 DRC
++ POLY RDS_POLY VW 0.09 0.00 0.0 ALL
++
++# POLY2 layer used to define metal-1 which
++# has a 7 lambda pitch. ALU1 layer is used for
++# metal-1 which has an 8 lambda pitch
++# Layer USER0 is used to check for the end overlap of
++# 2 lambda wide metal-1 to CONT. Layer USER1 checks 4 lambda
++# wide metal-1. Their DLR is
++# metal-1_DLR + lambda + CONT_width/2 + end_overlap
++# = 0.095 + 0.055 + 0.08 + 0.06 = 0.29
++# USER0 DWR is 0.0.
++# USER1 DWR set to size USER1 to CONT width (0.22-0.06=0.16).
++# Layer USER2 is used to check for the end overlap of
++# 4 lambda metal-1. Its DWR is
++# max(CONT+2*end_overlap,width of 4 lambda metal-1)-4
++# = max(0.16+2*0.06,0.22)-0.22 = max(0.28,0.22)-0.22 = 0.06
++# USER2 DLR is set to half CONT width (0.08)
++# USER4 and USER5 match USER1 and USER2 for VIA
++# POLY2 RDS_POLY2 VW 0.18 0.09 0.0 ALL \
++# RDS_USER0 VW 0.18 0.09 0.0 DRC \
++# RDS_USER1 VW 0.18 0.09 0.0 DRC \
++# RDS_USER2 VW 0.18 0.09 0.0 DRC \
++# RDS_USER4 VW 0.18 0.09 0.0 DRC \
++# RDS_USER5 VW 0.18 0.09 0.0 DRC
++
++ ALU1 RDS_ALU1 VW 0.18 0.09 0.0 ALL \
++ RDS_USER0 VW 0.18 0.09 0.0 DRC \
++ RDS_USER1 VW 0.18 0.09 0.0 DRC \
++ RDS_USER2 VW 0.18 0.09 0.0 DRC \
++ RDS_USER4 VW 0.18 0.09 0.0 DRC \
++ RDS_USER5 VW 0.18 0.09 0.0 DRC
++
++# Layers VALU2-VALU6 and TALU2-TALU6 are used to
++# check for the end overlap of the metal to via.
++ ALU2 RDS_ALU2 VW 0.135 0.00 0.0 ALL \
++ RDS_TALU2 VW 0.135 0.00 0.0 DRC \
++ RDS_VALU2 VW 0.135 0.00 0.0 DRC
++ ALU3 RDS_ALU3 VW 0.135 0.00 0.0 ALL \
++ RDS_TALU3 VW 0.135 0.00 0.0 DRC \
++ RDS_VALU3 VW 0.135 0.00 0.0 DRC
++ ALU4 RDS_ALU4 VW 0.135 0.00 0.0 ALL \
++ RDS_TALU4 VW 0.135 0.00 0.0 DRC \
++ RDS_VALU4 VW 0.135 0.00 0.0 DRC
++ ALU5 RDS_ALU5 VW 0.135 0.00 0.0 ALL \
++ RDS_TALU5 VW 0.135 0.00 0.0 DRC \
++ RDS_VALU5 VW 0.135 0.00 0.0 DRC
++ ALU6 RDS_ALU6 VW 0.225 0.00 0.0 ALL \
++ RDS_TALU6 VW 0.225 0.00 0.0 DRC \
++ RDS_VALU6 VW 0.225 0.00 0.0 DRC
++
++ CALU1 RDS_ALU1 VW 0.18 0.0 0.0 ALL
++ CALU2 RDS_ALU2 VW 0.135 0.0 0.0 ALL
++ CALU3 RDS_ALU3 VW 0.135 0.0 0.0 ALL
++ CALU4 RDS_ALU4 VW 0.135 0.0 0.0 ALL
++ CALU5 RDS_ALU5 VW 0.135 0.0 0.0 ALL
++ CALU6 RDS_ALU6 VW 0.225 0.0 0.0 ALL
++ TALU1 RDS_TALU1 VW 0.18 0.0 0.0 ALL
++ TALU2 RDS_TALU2 VW 0.135 0.0 0.0 ALL
++ TALU3 RDS_TALU3 VW 0.135 0.0 0.0 ALL
++ TALU4 RDS_TALU4 VW 0.135 0.0 0.0 ALL
++ TALU5 RDS_TALU5 VW 0.135 0.0 0.0 ALL
++ TALU6 RDS_TALU6 VW 0.225 0.0 0.0 ALL
++ TALU8 RDS_TALU8 VW 0.00 0.0 0.0 ALL
++
++END
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_CONNECTOR :
++#
++# MBK RDS layer
++# name name DER DWR
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_CONNECTOR
++
++ POLY RDS_POLY 0.00 0.00
++# POLY2 RDS_POLY2 0.00 0.00
++ ALU1 RDS_ALU1 0.00 0.00
++ ALU2 RDS_ALU2 0.00 0.00
++ ALU3 RDS_ALU3 0.00 0.00
++ ALU4 RDS_ALU4 0.00 0.00
++ ALU5 RDS_ALU5 0.00 0.00
++ ALU6 RDS_ALU6 0.00 0.00
++
++END
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_REFERENCE :
++#
++# MBK ref RDS layer
++# name name width
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_REFERENCE
++
++ REF_REF RDS_REF 0.27
++ REF_CON RDS_VALU1 0.27 RDS_TVIA1 0.27 RDS_TALU2 0.36
++
++END
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_VIA :
++#
++# MBK via RDS layer 1 RDS layer 2 RDS layer 3 RDS layer 4
++# name name width name width name width name width
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_VIA
++# The NIMP/PIMP layers are not visualised in Graal. If you want to
++# see the layers, change the keyword for NIMP/PIMP from DRC to ALL.
++
++ CONT_BODY_P\
++ RDS_PTIE 0.81 DRC\
++ RDS_PTIE 0.45 EXT\
++ RDS_VPOLY 0.45 DRC\
++ RDS_CONT 0.18 ALL\
++ RDS_ALU1 0.36 ALL\
++ RDS_ACTIV 0.45 DRC\
++ RDS_PIMP 0.81 DRC
++ CONT_BODY_N\
++ RDS_NTIE 0.81 DRC\
++ RDS_NTIE 0.45 EXT\
++ RDS_TPOLY 0.45 DRC\
++ RDS_CONT 0.18 ALL\
++ RDS_ALU1 0.36 ALL\
++ RDS_ACTIV 0.45 DRC\
++ RDS_NIMP 0.81 DRC
++ CONT_DIF_N\
++ RDS_NDIF 0.54 ALL\
++ RDS_CONT 0.18 ALL\
++ RDS_ALU1 0.36 ALL\
++ RDS_ACTIV 0.54 DRC\
++ RDS_NIMP 0.90 DRC\
++ RDS_TVIA4 0.90 DRC
++ CONT_DIF_P\
++ RDS_PDIF 0.54 ALL\
++ RDS_CONT 0.18 ALL\
++ RDS_ALU1 0.36 ALL\
++ RDS_ACTIV 0.54 DRC\
++ RDS_PIMP 0.90 DRC\
++ RDS_TVIA3 0.90 DRC
++ CONT_POLY\
++ RDS_POLY 0.54 ALL\
++ RDS_CONT 0.18 ALL\
++ RDS_ALU1 0.36 ALL
++ CONT_VIA\
++ RDS_ALU1 0.45 ALL\
++ RDS_VIA1 0.27 ALL\
++ RDS_ALU2 0.45 ALL
++ CONT_VIA2\
++ RDS_ALU2 0.45 ALL\
++ RDS_VIA2 0.27 ALL\
++ RDS_VALU3 0.45 ALL\
++ RDS_TALU3 0.45 ALL\
++ RDS_ALU3 0.45 ALL
++ CONT_VIA3\
++ RDS_ALU3 0.45 ALL\
++ RDS_VIA3 0.27 ALL\
++ RDS_VALU4 0.45 ALL\
++ RDS_TALU4 0.45 ALL\
++ RDS_ALU4 0.45 ALL
++ CONT_VIA4\
++ RDS_ALU4 0.45 ALL\
++ RDS_VIA4 0.27 ALL\
++ RDS_VALU5 0.45 ALL\
++ RDS_TALU5 0.45 ALL\
++ RDS_ALU5 0.45 ALL
++ CONT_VIA5\
++ RDS_ALU5 0.63 ALL\
++ RDS_VIA5 0.45 ALL\
++ RDS_VALU6 0.72 ALL\
++ RDS_TALU6 0.72 ALL\
++ RDS_ALU6 0.72 ALL
++ C_X_N\
++ RDS_POLY 0.36 ALL\
++ RDS_NDIF 0.55 ALL\
++ RDS_ACTIV 0.55 ALL
++ C_X_P\
++ RDS_POLY 0.36 ALL\
++ RDS_PDIF 0.55 ALL\
++ RDS_ACTIV 0.55 ALL
++END
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_BIGVIA_HOLE :
++#
++# MBK via RDS Hole
++# name name side step mode
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_BIGVIA_HOLE
++
++CONT_VIA RDS_VIA1 0.27 0.27 ALL
++CONT_VIA2 RDS_VIA2 0.27 0.27 ALL
++CONT_VIA3 RDS_VIA3 0.27 0.27 ALL
++CONT_VIA4 RDS_VIA4 0.27 0.27 ALL
++CONT_VIA5 RDS_VIA5 0.36 0.36 ALL
++
++END
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_BIGVIA_METAL :
++#
++# MBK via RDS layer 1 ...
++# name name delta-width overlap mode
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_BIGVIA_METAL
++
++CONT_VIA RDS_ALU1 0.0 0.09 ALL RDS_ALU2 0.0 0.09 ALL
++CONT_VIA2 RDS_ALU2 0.0 0.09 ALL RDS_ALU3 0.0 0.09 ALL
++CONT_VIA3 RDS_ALU3 0.0 0.09 ALL RDS_ALU4 0.0 0.09 ALL
++CONT_VIA4 RDS_ALU4 0.0 0.09 ALL RDS_ALU5 0.0 0.09 ALL
++CONT_VIA5 RDS_ALU5 0.0 0.09 ALL RDS_ALU6 0.0 0.18 ALL
++
++END
++
++##-------------------------------------------------------------------
++# TABLE MBK_TO_RDS_TURNVIA :
++#
++# MBK via RDS layer 1 ...
++# name name DWR MODE
++##-------------------------------------------------------------------
++
++TABLE MBK_TO_RDS_TURNVIA
++
++CONT_TURN1 RDS_ALU1 0.0 ALL
++CONT_TURN2 RDS_ALU2 0.0 ALL
++CONT_TURN3 RDS_ALU3 0.0 ALL
++CONT_TURN4 RDS_ALU4 0.0 ALL
++CONT_TURN5 RDS_ALU5 0.0 ALL
++CONT_TURN6 RDS_ALU6 0.0 ALL
++
++END
++
++TABLE MBK_WIRESETTING
++X_GRID 10
++Y_GRID 10
++Y_SLICE 100
++WIDTH_VDD 12
++WIDTH_VSS 12
++TRACK_WIDTH_ALU8 0
++TRACK_WIDTH_ALU7 4
++TRACK_WIDTH_ALU6 4
++TRACK_WIDTH_ALU5 4
++TRACK_WIDTH_ALU4 3
++TRACK_WIDTH_ALU3 3
++TRACK_WIDTH_ALU2 3
++TRACK_WIDTH_ALU1 3
++TRACK_SPACING_ALU8 0
++TRACK_SPACING_ALU7 4
++TRACK_SPACING_ALU6 4
++TRACK_SPACING_ALU5 4
++TRACK_SPACING_ALU4 4
++TRACK_SPACING_ALU3 4
++TRACK_SPACING_ALU2 4
++TRACK_SPACING_ALU1 3
++WMIN_ALU1 3
++WMIN_ALU2 3
++DMIN_ALU1_ALU1 5
++DMIN_ALU2_ALU2 5
++WVIA_ALU1 5
++WVIA_ALU2 5
++EXTENSION_ALU2 1
++BV_VIA_VIA 8
++WALIM 60
++END
++
++
++##-------------------------------------------------------------------
++# TABLE LYNX_GRAPH :
++#
++# RDS layer Rds layer 1 Rds layer 2 ...
++# name name name ...
++##-------------------------------------------------------------------
++
++TABLE LYNX_GRAPH
++
++##---------------------------
++
++ RDS_NDIF RDS_CONT RDS_NDIF
++ RDS_PDIF RDS_CONT RDS_PDIF
++ RDS_NTIE RDS_CONT RDS_TPOLY RDS_NTIE
++ RDS_PTIE RDS_CONT RDS_VPOLY RDS_PTIE
++
++ RDS_POLY RDS_CONT RDS_POLY
++ RDS_CONT RDS_PDIF RDS_NDIF RDS_POLY RDS_PTIE RDS_NTIE RDS_ALU1 RDS_POLY2 RDS_CONT
++ RDS_POLY2 RDS_CONT RDS_ALU1 RDS_POLY2
++ RDS_ALU1 RDS_CONT RDS_VIA1 RDS_POLY2 RDS_ALU1
++
++ RDS_VIA1 RDS_ALU1 RDS_ALU2 RDS_VIA1
++ RDS_VIA2 RDS_ALU2 RDS_ALU3 RDS_VIA2
++ RDS_VIA3 RDS_ALU3 RDS_ALU4 RDS_VIA3
++ RDS_VIA4 RDS_ALU4 RDS_ALU5 RDS_VIA4
++ RDS_VIA5 RDS_ALU5 RDS_ALU6 RDS_VIA5
++ RDS_ALU2 RDS_VIA1 RDS_VIA2 RDS_ALU2
++ RDS_ALU3 RDS_VIA2 RDS_VIA3 RDS_ALU3
++ RDS_ALU4 RDS_VIA3 RDS_VIA4 RDS_ALU4
++ RDS_ALU5 RDS_VIA4 RDS_VIA5 RDS_ALU5
++ RDS_ALU6 RDS_VIA5 RDS_ALU6
++
++END
++
++##-------------------------------------------------------------------
++# TABLE LYNX_CAPA :
++#
++# RDS layer Surface capacitance Perimetric capacitance
++# name piF / Micron^2 piF / Micron
++##-------------------------------------------------------------------
++
++TABLE LYNX_CAPA
++# poly alu0 alu1 alu2 alu3 alu4 alu5 alu6
++# pitch 7 14 14 16 16 16 16 36
++ RDS_POLY 10.10E-05 10.00e-05
++ RDS_POLY2 3.400e-05 5.300e-05
++ RDS_ALU1 3.400e-05 5.300e-05
++ RDS_ALU2 1.400e-05 3.600e-05
++ RDS_ALU3 0.900e-05 2.900e-05
++ RDS_ALU4 0.700e-05 2.400e-05
++ RDS_ALU5 0.500e-05 2.100e-05
++ RDS_ALU6 0.400e-05 1.900e-05
++
++END
++
++##-------------------------------------------------------------------
++# TABLE LYNX_RESISTOR :
++#
++# RDS layer Surface resistor
++# name Ohm / Micron^2
++##-------------------------------------------------------------------
++
++TABLE LYNX_RESISTOR
++
++ RDS_POLY 8.3
++ RDS_POLY2 0.08
++ RDS_ALU1 0.08
++ RDS_ALU2 0.08
++ RDS_ALU3 0.08
++ RDS_ALU4 0.08
++ RDS_ALU5 0.07
++ RDS_ALU6 0.01
++
++END
++
++##-------------------------------------------------------------------
++# TABLE LYNX_TRANSISTOR :
++#
++# MBK layer Transistor Type MBK via
++# name name name
++##-------------------------------------------------------------------
++
++TABLE LYNX_TRANSISTOR
++
++ NTRANS NTRANS C_X_N RDS_POLY RDS_NDIF RDS_NDIF RDS_PWELL
++ PTRANS PTRANS C_X_P RDS_POLY RDS_PDIF RDS_PDIF RDS_NWELL
++
++END
++
++##-------------------------------------------------------------------
++# TABLE LYNX_DIFFUSION :
++#
++# RDS layer RDS layer
++# name name
++##-------------------------------------------------------------------
++
++TABLE LYNX_DIFFUSION
++END
++
++##-------------------------------------------------------------------
++# TABLE LYNX_BULK_IMPLICIT :
++#
++# RDS layer Bulk type
++# name EXPLICIT/IMPLICIT
++##-------------------------------------------------------------------
++
++TABLE LYNX_BULK_IMPLICIT
++END
++
++
++
++##-------------------------------------------------------------------
++# TABLE S2R_OVERSIZE_DENOTCH :
++##-------------------------------------------------------------------
++
++TABLE S2R_OVERSIZE_DENOTCH
++ RDS_NWELL 1.075
++ RDS_PWELL 1.075
++ RDS_ACTIV 0.175
++ RDS_PDIF 0.265
++ RDS_NDIF 0.265
++ RDS_TPOLY 0.265
++ RDS_VPOLY 0.265
++ RDS_NTIE 0.265
++ RDS_PTIE 0.265
++# The NIMP and PIMP values are used to set the width of WELL and
++# IMPlant beyond the Abox. Values set equal to the NIMP/PIMP
++# overlap of TIE contact so that thin slivers of IMPlant are not
++# inserted between the TIE implant and well edge.
++ RDS_PIMP 0.355
++ RDS_NIMP 0.355
++# Denotch NIMP and PIMP with user layers allowing single implant
++# contact between two implant edges.
++# Width is (2.5+6.2a)*2+6.1=(0.20+0.08)*2+0.16=0.72. Denotch just below.
++ RDS_TVIA3 0.0
++ RDS_TVIA4 0.0
++ RDS_POLY 0.0
++ RDS_POLY2 0.0
++ RDS_ALU1 0.0
++ RDS_ALU2 0.0
++ RDS_ALU3 0.0
++ RDS_ALU4 0.0
++ RDS_ALU5 0.0
++ RDS_ALU6 0.0
++END
++
++##-------------------------------------------------------------------
++# TABLE S2R_BLOC_RING_WIDTH :
++##-------------------------------------------------------------------
++
++TABLE S2R_BLOC_RING_WIDTH
++END
++
++##-------------------------------------------------------------------
++# TABLE S2R_MINIMUM_LAYER_WIDTH :
++##-------------------------------------------------------------------
++
++TABLE S2R_MINIMUM_LAYER_WIDTH
++
++ RDS_NWELL 1.08
++ RDS_PWELL 1.08
++ RDS_NDIF 0.27
++ RDS_PDIF 0.27
++ RDS_NTIE 0.27
++ RDS_PTIE 0.27
++ RDS_TPOLY 0.27
++ RDS_VPOLY 0.27
++ RDS_PIMP 0.36
++ RDS_NIMP 0.36
++ RDS_POLY 0.18
++ RDS_CONT 0.18
++ RDS_POLY2 0.27
++ RDS_ALU1 0.27
++ RDS_TALU1 0.27
++ RDS_VIA1 0.27
++ RDS_ALU2 0.27
++ RDS_TALU2 0.27
++ RDS_VIA2 0.27
++ RDS_ALU3 0.27
++ RDS_TALU3 0.27
++ RDS_VIA3 0.27
++ RDS_ALU4 0.27
++ RDS_TALU4 0.27
++ RDS_VIA4 0.27
++ RDS_ALU5 0.27
++ RDS_TALU5 0.27
++ RDS_VIA5 0.27
++ RDS_ALU6 0.44
++ RDS_TALU6 0.44
++ RDS_REF 0.36
++ RDS_TALU8 3.96
++
++END
++
++##-------------------------------------------------------------------
++# TABLE CIF_LAYER :
++##-------------------------------------------------------------------
++
++TABLE CIF_LAYER
++# Layer definitions used by MOSIS
++#--------------------------------
++ RDS_NWELL CWN
++ RDS_PWELL CWP
++ RDS_USER3 CWN
++ RDS_USER6 CWP
++ RDS_NDIF CND
++ RDS_PDIF CPD
++ RDS_TPOLY CNS
++ RDS_VPOLY CPS
++# PTIE and NTIE actually provide the implants
++# around the cutouts for CONT_BODY_N and _P.
++ RDS_PTIE CSP
++ RDS_NTIE CSN
++ RDS_ACTIV CAA
++ RDS_PIMP CSP
++ RDS_NIMP CSN
++# If using 's2r -i' then the TVIA3 and TVIA4
++# lines should be commented. If using 's2r'
++# only then the lines should be uncommented.
++# RDS_TVIA3 CSP
++# RDS_TVIA4 CSN
++ RDS_POLY CPG
++ RDS_CONT CCC
++# RDS_POLY2 CM1
++ RDS_ALU1 CM1
++# RDS_TALU1 TM1
++ RDS_VIA1 CV1
++ RDS_ALU2 CM2
++# RDS_TALU2 TM2
++ RDS_VIA2 CV2
++ RDS_ALU3 CM3
++# RDS_TALU3 TM3
++ RDS_VIA3 CV3
++ RDS_ALU4 CM4
++# RDS_TALU4 TM4
++ RDS_VIA4 CV4
++ RDS_ALU5 CM5
++# RDS_TALU5 TM5
++ RDS_VIA5 CV5
++ RDS_ALU6 CM6
++# RDS_TALU6 TM6
++ RDS_REF REF
++ RDS_TALU8 AB
++
++# Layer definitions used by Alliance
++#-----------------------------------
++# RDS_NWELL LNWELL
++# RDS_PWELL LPWELL
++# RDS_NDIF LNDIF
++# RDS_PDIF LPDIF
++# RDS_TPOLY LTPOLY
++# RDS_VPOLY LVPOLY
++# RDS_NTIE LNTIE
++# RDS_PTIE LPTIE
++# RDS_PIMP LPIMP
++# RDS_NIMP LNIMP
++# RDS_POLY LPOLY
++# RDS_POLY2 LPOLY2
++# RDS_CONT LCONT
++# RDS_POLY2 LALU1
++# RDS_ALU1 LALU1
++# RDS_TALU1 LTALU1
++# RDS_VIA1 LVIA
++# RDS_ALU2 LALU2
++# RDS_TALU2 LTALU2
++# RDS_VIA2 LVIA2
++# RDS_ALU3 LALU3
++# RDS_TALU3 LTALU3
++# RDS_VIA3 LVIA3
++# RDS_ALU4 LALU4
++# RDS_TALU4 LTALU4
++# RDS_VIA4 LVIA4
++# RDS_ALU5 LALU5
++# RDS_TALU5 LTALU5
++# RDS_VIA5 LVIA5
++# RDS_ALU6 LALU6
++# RDS_TALU6 LTALU6
++# RDS_REF LREF
++END
++
++##-------------------------------------------------------------------
++# TABLE GDS_LAYER :
++##-------------------------------------------------------------------
++
++TABLE GDS_LAYER
++# Layer definitions used by MOSIS
++#--------------------------------
++ RDS_PWELL 41
++ RDS_NWELL 42
++ RDS_USER6 41
++ RDS_USER3 42
++ RDS_NDIF 43
++ RDS_PDIF 43
++ RDS_TPOLY 43
++ RDS_VPOLY 43
++ RDS_PTIE 44
++ RDS_NTIE 45
++ RDS_ACTIV 43
++ RDS_PIMP 44
++ RDS_NIMP 45
++# RDS_TVIA3 44
++# RDS_TVIA4 45
++ RDS_POLY 46 46
++ RDS_CONT 25
++# RDS_POLY2 49 49
++ RDS_ALU1 49 49
++# RDS_TALU1 13
++ RDS_VIA1 50
++ RDS_ALU2 51 51
++# RDS_TALU2 17
++ RDS_VIA2 61
++ RDS_ALU3 62 62
++# RDS_TALU3 20
++ RDS_VIA3 30
++ RDS_ALU4 31 31
++# RDS_TALU4 23
++ RDS_VIA4 32
++ RDS_ALU5 33 33
++# RDS_TALU5 27
++ RDS_VIA5 36
++ RDS_ALU6 37 37
++# RDS_TALU6 30
++# RDS_REF 24
++# RDS_TALU8 63
++
++# Layer definitions used by Alliance
++#-----------------------------------
++# RDS_NWELL 1
++# RDS_PWELL 2
++# RDS_NDIF 3
++# RDS_PDIF 4
++# RDS_NTIE 5
++# RDS_PTIE 6
++# RDS_POLY 7
++# RDS_POLY2 8
++# RDS_TPOLY 9
++# RDS_CONT 10
++# RDS_POLY2 11
++# RDS_ALU1 11
++# RDS_TALU1 13
++# RDS_VIA1 14
++# RDS_ALU2 16
++# RDS_TALU2 17
++# RDS_VIA2 18
++# RDS_ALU3 19
++# RDS_TALU3 20
++# RDS_VIA3 21
++# RDS_ALU4 22
++# RDS_TALU4 23
++# RDS_VIA4 25
++# RDS_ALU5 26
++# RDS_TALU5 27
++# RDS_VIA5 28
++# RDS_ALU6 29
++# RDS_TALU6 30
++# RDS_REF 24
++END
++
++##-------------------------------------------------------------------
++# TABLE S2R_POST_TREAT :
++##-------------------------------------------------------------------
++
++TABLE S2R_POST_TREAT
++
++ RDS_NWELL TREAT NULL
++ RDS_PWELL TREAT NULL
++ RDS_NDIF TREAT NULL
++ RDS_PDIF TREAT NULL
++ RDS_NTIE TREAT NULL
++ RDS_PTIE TREAT NULL
++ RDS_TPOLY TREAT NULL
++ RDS_VPOLY TREAT NULL
++ RDS_NIMP TREAT NULL
++ RDS_PIMP TREAT NULL
++ RDS_TVIA4 TREAT NULL
++ RDS_TVIA3 TREAT NULL
++ RDS_ACTIV TREAT NULL
++ RDS_POLY TREAT NULL
++ RDS_CONT NOTREAT NULL
++ RDS_VIA1 NOTREAT NULL
++ RDS_VIA2 NOTREAT NULL
++ RDS_VIA3 NOTREAT NULL
++ RDS_VIA4 NOTREAT NULL
++ RDS_VIA5 NOTREAT NULL
++ RDS_POLY2 TREAT NULL
++ RDS_ALU1 TREAT NULL
++ RDS_ALU2 TREAT NULL
++ RDS_ALU3 TREAT NULL
++ RDS_ALU4 TREAT NULL
++ RDS_ALU5 TREAT NULL
++ RDS_ALU6 TREAT NULL
++ RDS_TALU1 TREAT NULL
++ RDS_TALU2 TREAT NULL
++ RDS_TALU3 TREAT NULL
++ RDS_TALU4 TREAT NULL
++ RDS_TALU5 TREAT NULL
++ RDS_TALU6 TREAT NULL
++
++# Two RDS_TALU8 rectangles are written, one with no name and
++# one with the cell name. When merged, the name is lost.
++# It is preferred to have a single rectangle with no name rather
++# than two, one of which is named.
++ RDS_TALU8 TREAT NULL
++
++END
++
++##-------------------------------------------------------------------
++## All layers used in the regles must be listed here first.
++## Otherwise you get an error like :
++# DRUC ERR: Undefined RDS LAYER
++##-------------------------------------------------------------------
++DRC_RULES
++
++layer RDS_USER0 0.27;
++layer RDS_USER1 0.27;
++layer RDS_USER2 0.27;
++layer RDS_USER4 0.27;
++layer RDS_USER5 0.27;
++layer RDS_NWELL 1.08;
++layer RDS_PWELL 1.08;
++layer RDS_NTIE 0.27;
++layer RDS_PTIE 0.27;
++layer RDS_NDIF 0.27;
++layer RDS_PDIF 0.27;
++layer RDS_TPOLY 0.27;
++layer RDS_VPOLY 0.27;
++layer RDS_ACTIV 0.27;
++layer RDS_PIMP 0.45;
++layer RDS_NIMP 0.45;
++layer RDS_CONT 0.18;
++layer RDS_VIA1 0.27;
++layer RDS_VIA2 0.27;
++layer RDS_VIA3 0.27;
++layer RDS_VIA4 0.27;
++layer RDS_VIA5 0.36;
++layer RDS_POLY 0.18;
++layer RDS_GATE 0.18;
++layer RDS_ALU1 0.27;
++layer RDS_ALU2 0.27;
++layer RDS_ALU3 0.27;
++layer RDS_ALU4 0.27;
++layer RDS_ALU5 0.27;
++layer RDS_ALU6 0.45;
++
++layer RDS_REF 0.20;
++layer RDS_TALU1 0.27;
++layer RDS_TALU2 0.27;
++layer RDS_TALU3 0.27;
++layer RDS_TALU4 0.27;
++layer RDS_TALU5 0.27;
++layer RDS_TALU6 0.45;
++layer RDS_TALU8 3.96;
++layer RDS_POLY2 0.27;
++layer RDS_VALU2 0.27;
++layer RDS_VALU3 0.27;
++layer RDS_VALU4 0.27;
++layer RDS_VALU5 0.27;
++layer RDS_VALU6 0.45;
++
++regles
++
++# Note : ``min'' is different from ``>=''.
++# min is applied on polygons and >= is applied on rectangles.
++# There is the same difference between max and <=.
++# >= is faster than min, but min must be used where it is
++# required to consider polygons, for example distance of
++# two objects in the same layer
++#-----------------------------------------------------------
++# Check the NWELL shapes
++#-----------------------
++caracterise RDS_NWELL (
++ regle 110 : largeur >= 1.08 ;
++ regle 111 : longueur_inter min 1.08 ;
++ regle 130 : notch >= 1.08 ;
++);
++relation RDS_NWELL , RDS_NWELL (
++ regle 131 : distance axiale min 0.54 ;
++);
++
++# Check the PWELL shapes
++#-----------------------
++caracterise RDS_PWELL (
++ regle 112 : largeur >= 1.08 ;
++ regle 113 : longueur_inter min 1.08 ;
++ regle 132 : notch >= 1.08 ;
++);
++relation RDS_PWELL , RDS_PWELL (
++ regle 133 : distance axiale min 0.54 ;
++);
++
++define RDS_NWELL , RDS_PWELL intersection -> BOTH_WELLS;
++
++# Check no NWELL and PWELL overlap
++#---------------------------------
++# Won't work with PWELL made from symbolic NWELL
++caracterise BOTH_WELLS (
++ regle 140 : largeur max 0.0 ;
++);
++relation RDS_PWELL , RDS_NWELL (
++ regle 141 : distance axiale min 0.0 ;
++);
++
++undefine BOTH_WELLS;
++
++# Check the RDS_PDIF shapes
++#--------------------------
++caracterise RDS_PDIF (
++ regle 210 : largeur >= 0.27 ;
++ regle 211 : longueur_inter min 0.27 ;
++ regle 220 : notch >= 0.27 ;
++);
++relation RDS_PDIF , RDS_PDIF (
++ regle 221 : distance axiale min 0.27 ;
++);
++
++# Check the RDS_NDIF shapes
++#--------------------------
++caracterise RDS_NDIF (
++ regle 212 : largeur >= 0.27 ;
++ regle 213 : longueur_inter min 0.27 ;
++ regle 222 : notch >= 0.27 ;
++);
++relation RDS_NDIF , RDS_NDIF (
++ regle 223 : distance axiale min 0.27 ;
++);
++
++# define PSUB and NSUB layers for easier
++# understanding of design rules
++define RDS_VPOLY , RDS_PTIE intersection -> PSUB;
++define RDS_TPOLY , RDS_NTIE intersection -> NSUB;
++
++# Check the RDS_PTIE shapes
++#--------------------------
++caracterise PSUB (
++ regle 214 : largeur >= 0.27 ;
++ regle 215 : longueur_inter min 0.27 ;
++ regle 224 : notch >= 0.27 ;
++);
++relation PSUB , PSUB (
++ regle 225 : distance axiale min 0.27 ;
++);
++
++# Check the RDS_NTIE shapes
++#--------------------------
++caracterise NSUB (
++ regle 216 : largeur >= 0.27 ;
++ regle 217 : longueur_inter min 0.27 ;
++ regle 226 : notch >= 0.27 ;
++);
++relation NSUB , NSUB (
++ regle 227 : distance axiale min 0.27 ;
++);
++
++# Check RDS_NDIF is outside NWELL
++#--------------------------------
++relation RDS_NDIF , RDS_NWELL (
++ regle 230 : distance axiale >= 0.54 ;
++ regle 231 : enveloppe longueur_inter < 0.0 ;
++ regle 232 : croix longueur_inter < 0.0 ;
++ regle 233 : intersection longueur_inter < 0.0 ;
++ regle 234 : extension longueur_inter < 0.0 ;
++ regle 235 : inclusion longueur_inter < 0.0 ;
++);
++relation RDS_NWELL , RDS_NDIF (
++ regle 236 : marge longueur_inter < 0.0 ;
++);
++
++# Check RDS_PDIF is inside NWELL
++#-------------------------------
++relation RDS_NWELL , RDS_PDIF (
++ regle 237 : enveloppe inferieure min 0.54 ;
++);
++
++# Check RDS_PTIE is outside NWELL
++#--------------------------------
++relation PSUB , RDS_NWELL (
++ regle 240 : distance axiale >= 0.27 ;
++ regle 241 : enveloppe longueur_inter < 0.0 ;
++ regle 242 : croix longueur_inter < 0.0 ;
++ regle 243 : intersection longueur_inter < 0.0 ;
++ regle 244 : extension longueur_inter < 0.0 ;
++ regle 245 : inclusion longueur_inter < 0.0 ;
++);
++relation RDS_NWELL , PSUB (
++ regle 246 : marge longueur_inter < 0.0 ;
++);
++
++# Check RDS_NTIE is inside NWELL
++#-------------------------------
++relation RDS_NWELL , NSUB (
++ regle 247 : enveloppe inferieure min 0.27 ;
++);
++
++# Check NDIF and PDIF separation
++#-------------------------------
++relation RDS_NDIF , PSUB (
++ regle 250 : distance axiale min 0.36 ;
++ regle 251 : intersection longueur_inter < 0.0 ;
++ regle 252 : extension longueur_inter < 0.0 ;
++ regle 253 : inclusion longueur_inter < 0.0 ;
++);
++relation RDS_PDIF , NSUB (
++ regle 254 : distance axiale min 0.36 ;
++ regle 255 : intersection longueur_inter < 0.0 ;
++ regle 256 : extension longueur_inter < 0.0 ;
++ regle 257 : inclusion longueur_inter < 0.0 ;
++);
++
++# Check RDS_PDIF is outside PWELL
++#---------------------------------
++relation RDS_PDIF , RDS_PWELL (
++ regle 260 : distance axiale >= 0.54 ;
++ regle 261 : enveloppe longueur_inter < 0.0 ;
++ regle 262 : croix longueur_inter < 0.0 ;
++ regle 263 : intersection longueur_inter < 0.0 ;
++ regle 264 : extension longueur_inter < 0.0 ;
++ regle 265 : inclusion longueur_inter < 0.0 ;
++);
++relation RDS_PWELL , RDS_PDIF (
++ regle 266 : marge longueur_inter < 0.0 ;
++);
++
++# Check RDS_NDIF is inside PWELL
++#-------------------------------
++relation RDS_PWELL , RDS_NDIF (
++ regle 267 : enveloppe inferieure min 0.54 ;
++);
++
++# Check RDS_NTIE is outside PWELL
++#--------------------------------
++relation NSUB , RDS_PWELL (
++ regle 270 : distance axiale >= 0.27 ;
++ regle 271 : enveloppe longueur_inter < 0.0 ;
++ regle 272 : croix longueur_inter < 0.0 ;
++ regle 273 : intersection longueur_inter < 0.0 ;
++ regle 274 : extension longueur_inter < 0.0 ;
++ regle 275 : inclusion longueur_inter < 0.0 ;
++);
++relation RDS_PWELL , NSUB (
++ regle 276 : marge longueur_inter < 0.0 ;
++);
++
++# Check RDS_PTIE is inside PWELL
++#-------------------------------
++relation RDS_PWELL , PSUB (
++ regle 277 : enveloppe inferieure min 0.27 ;
++);
++
++# Check opposite implant diffusion spacings
++#------------------------------------------
++# These rules added to flag DRC errors even if
++# NWELL and PWELL are not visualised in Graal
++#---------------------------------------------
++relation RDS_PDIF , RDS_NDIF (
++# distance is nwell overlap pdif plus nwell space to ndif
++ regle 280 : distance axiale min 1.08 ;
++);
++relation RDS_PDIF , PSUB (
++# distance is nwell overlap pdif plus nwell space to ptie
++ regle 281 : distance axiale min 0.81 ;
++);
++relation NSUB , RDS_NDIF (
++# distance is nwell overlap ntie plus nwell space to ndif
++ regle 282 : distance axiale min 0.81 ;
++);
++# distance is nwell overlap ntie plus nwell space to ptie
++relation NSUB , PSUB (
++ regle 283 : distance axiale min 0.54 ;
++);
++
++define RDS_ACTIV , RDS_POLY intersection -> CHANNEL;
++
++# Check the RDS_POLY shapes
++#--------------------------
++caracterise RDS_POLY (
++ regle 310 : largeur >= 0.18 ;
++ regle 311 : longueur_inter >= 0.18 ;
++ regle 320 : notch >= 0.27 ;
++);
++relation RDS_POLY , RDS_POLY (
++ regle 321 : distance axiale min 0.27 ;
++);
++
++# Check the CHANNEL shapes
++#--------------------------
++caracterise CHANNEL (
++ regle 322 : notch >= 0.27 ;
++);
++relation CHANNEL , CHANNEL (
++ regle 323 : distance axiale min 0.27 ;
++);
++
++# Check POLY overlap of TRANSISTOR (ENDCAP)
++#------------------------------------------
++relation RDS_POLY , RDS_PDIF (
++ regle 330 : croix longueur_min min 0.225 ;
++);
++relation RDS_POLY , RDS_NDIF (
++ regle 331 : croix longueur_min min 0.225 ;
++);
++
++# Check SOURCE/DRAIN width
++#-------------------------
++relation RDS_PDIF , RDS_GATE (
++ regle 340 : croix longueur_min min 0.36 ;
++);
++relation RDS_NDIF , RDS_GATE (
++ regle 341 : croix longueur_min min 0.36 ;
++);
++
++# Check RDS_POLY separation to DIF
++#---------------------------------
++relation RDS_POLY , RDS_PDIF (
++ regle 350 : distance axiale min 0.09 ;
++);
++relation RDS_POLY , RDS_NDIF (
++ regle 351 : distance axiale min 0.09 ;
++);
++relation RDS_POLY , PSUB (
++ regle 352 : distance axiale min 0.09 ;
++);
++relation RDS_POLY , NSUB (
++ regle 353 : distance axiale min 0.09 ;
++);
++
++# Check RDS_POLY separation to TRANSISTOR CHANNEL
++#------------------------------------------------
++relation RDS_POLY , CHANNEL (
++ regle 354 : distance axiale >= 0.09 ;
++);
++
++undefine NSUB;
++undefine PSUB;
++define RDS_POLY , CHANNEL exclusion -> FIELD_POLY;
++define RDS_PDIF , RDS_POLY intersection -> PGATE;
++
++# Check RDS_POLY does not overlap PDIF
++#-------------------------------------
++relation PGATE , FIELD_POLY (
++ regle 355 : inclusion longueur_inter < 0.0 ;
++);
++relation FIELD_POLY , PGATE (
++ regle 356 : extension longueur_inter < 0.0 ;
++);
++
++undefine PGATE;
++define RDS_NDIF , RDS_POLY intersection -> NGATE;
++
++# Check RDS_POLY does not overlap NDIF
++#-------------------------------------
++relation NGATE , FIELD_POLY (
++ regle 357 : inclusion longueur_inter < 0.0 ;
++);
++relation FIELD_POLY , NGATE (
++ regle 358 : extension longueur_inter < 0.0 ;
++);
++
++undefine NGATE;
++define RDS_PDIF , CHANNEL intersection -> PTR;
++
++# N-select and P-select rules
++#----------------------------
++relation PTR , RDS_NIMP (
++ regle 410 : distance axiale min 0.27 ;
++);
++
++undefine PTR;
++define RDS_NDIF , CHANNEL intersection -> NTR;
++
++relation NTR , RDS_PIMP (
++ regle 411 : distance axiale min 0.27 ;
++);
++
++undefine NTR;
++undefine FIELD_POLY;
++define RDS_VPOLY , RDS_PTIE intersection -> PSUB;
++define RDS_TPOLY , RDS_NTIE intersection -> NSUB;
++
++relation RDS_PIMP , RDS_PDIF (
++ regle 420 : enveloppe inferieure min 0.18 ;
++);
++relation RDS_PIMP , PSUB (
++ regle 421 : enveloppe inferieure min 0.18 ;
++);
++relation RDS_NIMP , RDS_NDIF (
++ regle 422 : enveloppe inferieure min 0.18 ;
++);
++relation RDS_NIMP , NSUB (
++ regle 423 : enveloppe inferieure min 0.18 ;
++);
++
++undefine NSUB;
++undefine PSUB;
++define RDS_PIMP , RDS_PWELL intersection -> TIE_PIMP;
++define RDS_NIMP , RDS_NWELL intersection -> TIE_NIMP;
++
++# Check min SELECT widths for TIE implant
++#----------------------------------------
++caracterise TIE_PIMP (
++ regle 440 : largeur >= 0.36 ;
++ regle 441 : longueur_inter min 0.36 ;
++);
++# This is the min NIMP width rule
++relation TIE_PIMP , TIE_PIMP (
++ regle 444 : distance axiale min 0.36 ;
++);
++caracterise TIE_NIMP (
++ regle 442 : largeur >= 0.36 ;
++ regle 443 : longueur_inter min 0.36 ;
++);
++# This is the min PIMP width rule
++relation TIE_NIMP , TIE_NIMP (
++ regle 445 : distance axiale min 0.36 ;
++);
++
++undefine TIE_NIMP;
++undefine TIE_PIMP;
++define RDS_POLY , RDS_CONT intersection -> POLY_CONT;
++
++# Check CONT layer size, separation and overlaps
++#-----------------------------------------------
++caracterise POLY_CONT (
++ regle 510 : largeur max 0.185 ;
++ regle 511 : largeur min 0.18 ;
++);
++relation RDS_POLY , RDS_CONT (
++ regle 520 : enveloppe inferieure min 0.09 ;
++);
++relation RDS_CONT , RDS_CONT (
++ regle 530 : distance axiale min 0.36 ;
++);
++
++# Check POLY CONTACT separation from TRANSISTOR CHANNEL
++#------------------------------------------------------
++relation CHANNEL , POLY_CONT (
++ regle 540 : distance axiale >= 0.27 ;
++);
++
++undefine POLY_CONT;
++define RDS_CONT , CHANNEL intersection -> BAD_CONT;
++
++# CONTACT not allowed over TRANSISTOR
++#------------------------------------
++caracterise BAD_CONT (
++ regle 580 : largeur max 0.0 ;
++);
++
++undefine BAD_CONT;
++
++define RDS_PDIF , RDS_CONT intersection -> PDIF_CONT;
++caracterise PDIF_CONT (
++ regle 610 : longueur max 0.185 ;
++ regle 611 : longueur_inter min 0.18 ;
++);
++# Check PDIF CONTACT separation from TRANSISTOR CHANNEL
++#------------------------------------------------------
++relation CHANNEL , PDIF_CONT (
++ regle 640 : distance axiale >= 0.18 ;
++);
++
++undefine PDIF_CONT;
++define RDS_NDIF , RDS_CONT intersection -> NDIF_CONT;
++
++caracterise NDIF_CONT (
++ regle 612 : longueur max 0.185 ;
++ regle 613 : longueur_inter min 0.18 ;
++);
++# Check NDIF CONTACT separation from TRANSISTOR CHANNEL
++#------------------------------------------------------
++relation CHANNEL , NDIF_CONT (
++ regle 641 : distance axiale >= 0.18 ;
++);
++
++undefine NDIF_CONT;
++define RDS_PTIE , RDS_CONT intersection -> PTIE_CONT;
++caracterise PTIE_CONT (
++ regle 614 : longueur max 0.185 ;
++ regle 615 : longueur_inter min 0.18 ;
++);
++# Check PTIE CONTACT separation from TRANSISTOR CHANNEL
++#------------------------------------------------------
++relation CHANNEL , PTIE_CONT (
++ regle 642 : distance axiale >= 0.27 ;
++);
++
++undefine PTIE_CONT;
++define RDS_NTIE , RDS_CONT intersection -> NTIE_CONT;
++
++caracterise NTIE_CONT (
++ regle 616 : longueur max 0.185 ;
++ regle 617 : longueur_inter min 0.18 ;
++);
++# Check NTIE CONTACT separation from TRANSISTOR CHANNEL
++#------------------------------------------------------
++relation CHANNEL , NTIE_CONT (
++ regle 643 : distance axiale >= 0.27 ;
++);
++
++undefine NTIE_CONT;
++
++relation RDS_PDIF , RDS_CONT (
++ regle 620 : enveloppe inferieure min 0.09 ;
++);
++relation RDS_NDIF , RDS_CONT (
++ regle 621 : enveloppe inferieure min 0.09 ;
++);
++relation RDS_PTIE , RDS_CONT (
++ regle 622 : enveloppe inferieure min 0.09 ;
++);
++relation RDS_NTIE , RDS_CONT (
++ regle 623 : enveloppe inferieure min 0.09 ;
++);
++
++undefine CHANNEL;
++define RDS_ALU1 , RDS_POLY2 union -> ANY_ALU1;
++
++# Check RDS_ALU1 shapes
++#----------------------
++caracterise RDS_ALU1 (
++ regle 710 : largeur >= 0.27 ;
++ regle 711 : longueur_inter min 0.27 ;
++);
++caracterise ANY_ALU1 (
++ regle 720 : notch >= 0.27 ;
++);
++caracterise RDS_POLY2 (
++ regle 712 : largeur >= 0.27 ;
++ regle 713 : longueur_inter min 0.27 ;
++ regle 721 : notch >= 0.27 ;
++);
++caracterise RDS_TALU1 (
++ regle 714 : largeur >= 0.27 ;
++ regle 715 : longueur_inter min 0.27 ;
++ regle 722 : notch >= 0.27 ;
++);
++relation ANY_ALU1 , ANY_ALU1 (
++ regle 723 : distance axiale min 0.27 ;
++);
++relation RDS_ALU1 , RDS_ALU1 (
++ regle 724 : distance axiale min 0.27 ;
++);
++relation RDS_TALU1 , RDS_TALU1 (
++ regle 725 : distance axiale min 0.27 ;
++);
++
++# Check ALU1 side overlap of CONT
++#--------------------------------
++relation ANY_ALU1 , RDS_CONT (
++# Case where ALU1 overlap of CONT is positive but less than design rule
++ regle 730 : enveloppe inferieure min 0.09 ;
++);
++
++define ANY_ALU1 , RDS_USER2 union -> WIDE_ALU1;
++define WIDE_ALU1 , RDS_USER1 intersection -> THIN_ALU1;
++undefine WIDE_ALU1;
++
++relation THIN_ALU1 , RDS_CONT (
++# Case where ALU1 is 2 lambda wide
++# Side overlap rule used for end overlap
++ regle 733 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 734 : croix longueur_min min 0.09 ;
++);
++
++undefine THIN_ALU1;
++#define ANY_ALU1 , RDS_USER0 intersection -> THIN_ALU1;
++
++#relation THIN_ALU1 , RDS_CONT (
++# Case where ALU1 is 1 lambda wide
++# Side overlap rule used for end overlap
++# regle 735 : croix longueur_min min 0.01 ;
++# Optional larger value of end overlap
++# regle 736 : croix longueur_min min 0.06 ;
++#);
++
++#undefine THIN_ALU1;
++define ANY_ALU1 , RDS_USER5 union -> WIDE_ALU1;
++define WIDE_ALU1 , RDS_USER4 intersection -> THIN_ALU1;
++
++# Check REF size and RDS_ALU1 overlap of REF
++#-------------------------------------------
++#caracterise RDS_REF (
++# regle 750 : largeur max 0.205 ;
++# regle 751 : largeur min 0.20 ;
++#);
++#relation RDS_REF , RDS_REF (
++# regle 760 : distance axiale min 0.24 ;
++#);
++#relation RDS_REF , RDS_ALU1 (
++# regle 770 : intersection longueur_inter max 0.0 ;
++#);
++#relation RDS_REF ,RDS_TALU1 (
++# regle 772 : intersection longueur_inter max 0.0 ;
++#);
++#relation RDS_ALU1 , RDS_REF (
++# regle 773 : enveloppe inferieure min 0.01 ;
++# regle 774 : marge longueur_inter max 0.01 ;
++#);
++#relation RDS_TALU1 , RDS_REF (
++# regle 775 : enveloppe inferieure min 0.01 ;
++# regle 776 : marge longueur_inter max 0.01 ;
++#);
++#relation THIN_ALU1 , RDS_REF (
++# regle 780 : croix longueur_min min 0.01 ;
++# regle 781 : croix longueur_min min 0.06 ;
++#);
++
++# Check VIA layer size and separation
++#------------------------------------
++caracterise RDS_VIA1 (
++ regle 810 : largeur <= 0.275 ;
++ regle 811 : largeur >= 0.27 ;
++);
++relation RDS_VIA1 , RDS_VIA1 (
++ regle 820 : distance axiale min 0.27 ;
++);
++
++# Check ALU1 overlap of VIA1
++#---------------------------
++relation RDS_ALU1 , RDS_VIA1 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 830 : enveloppe inferieure min 0.09 ;
++ regle 831 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA1 , RDS_ALU1 (
++# regle 832 : intersection longueur_inter max 0.0 ;
++#);
++
++relation THIN_ALU1 , RDS_VIA1 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 833 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 834 : croix longueur_min min 0.09 ;
++);
++
++undefine WIDE_ALU1;
++undefine THIN_ALU1;
++undefine ANY_ALU1;
++
++# Check RDS_ALU2 shapes
++#----------------------
++caracterise RDS_ALU2 (
++ regle 910 : largeur >= 0.27 ;
++ regle 911 : longueur_inter min 0.27 ;
++ regle 920 : notch >= 0.36 ;
++);
++relation RDS_ALU2 , RDS_ALU2 (
++ regle 921 : distance axiale min 0.36 ;
++);
++# Check ALU2 overlap of VIA1
++#---------------------------
++relation RDS_ALU2 , RDS_VIA1 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 930 : enveloppe inferieure min 0.09 ;
++ regle 931 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA1 , RDS_ALU2 (
++# regle 932 : intersection longueur_inter max 0.0 ;
++#);
++
++define RDS_ALU2 , RDS_TALU2 union -> WIDE_ALU2;
++define WIDE_ALU2 , RDS_VALU2 intersection -> THIN_ALU2;
++
++relation THIN_ALU2 , RDS_VIA1 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 933 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 934 : croix longueur_min min 0.09 ;
++);
++
++# Check VIA2 layer size and separation
++#-------------------------------------
++caracterise RDS_VIA2 (
++ regle 1410 : largeur <= 0.275 ;
++ regle 1411 : largeur >= 0.27 ;
++);
++relation RDS_VIA2 , RDS_VIA2 (
++ regle 1420 : distance axiale min 0.27 ;
++);
++
++# Check ALU2 overlap of VIA2
++#---------------------------
++relation RDS_ALU2 , RDS_VIA2 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 1430 : enveloppe inferieure min 0.09 ;
++ regle 1431 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA2 , RDS_ALU2 (
++# regle 1432 : intersection longueur_inter max 0.0 ;
++#);
++
++relation THIN_ALU2 , RDS_VIA2 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 1433 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 1434 : croix longueur_min min 0.09 ;
++);
++
++undefine WIDE_ALU2;
++undefine THIN_ALU2;
++
++# Check RDS_ALU3 shapes
++#----------------------
++caracterise RDS_ALU3 (
++ regle 1510 : largeur >= 0.27 ;
++ regle 1511 : longueur_inter min 0.27 ;
++ regle 1520 : notch >= 0.36 ;
++);
++relation RDS_ALU3 , RDS_ALU3 (
++ regle 1521 : distance axiale min 0.27 ;
++);
++# Check ALU3 overlap of VIA2
++#---------------------------
++relation RDS_ALU3 , RDS_VIA2 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 1530 : enveloppe inferieure min 0.09 ;
++ regle 1531 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA2 , RDS_ALU3 (
++# regle 1532 : intersection longueur_inter max 0.0 ;
++#);
++
++define RDS_ALU3 , RDS_TALU3 union -> WIDE_ALU3;
++define WIDE_ALU3 , RDS_VALU3 intersection -> THIN_ALU3;
++
++relation THIN_ALU3 , RDS_VIA2 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 1533 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 1534 : croix longueur_min min 0.09 ;
++);
++
++# Check VIA3 layer size and separation
++#-------------------------------------
++caracterise RDS_VIA3 (
++ regle 2110 : largeur <= 0.275 ;
++ regle 2111 : largeur >= 0.27 ;
++);
++relation RDS_VIA3 , RDS_VIA3 (
++ regle 2120 : distance axiale min 0.27 ;
++);
++
++# Check ALU3 overlap of VIA3
++#---------------------------
++relation RDS_ALU3 , RDS_VIA3 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 2130 : enveloppe inferieure min 0.09 ;
++ regle 2131 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA3 , RDS_ALU3 (
++# regle 2132 : intersection longueur_inter max 0.0 ;
++#);
++
++relation THIN_ALU3 , RDS_VIA3 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 2133 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 2134 : croix longueur_min min 0.09 ;
++);
++
++undefine WIDE_ALU3;
++undefine THIN_ALU3;
++
++# Check RDS_ALU4 shapes
++#----------------------
++caracterise RDS_ALU4 (
++ regle 2210 : largeur >= 0.27 ;
++ regle 2211 : longueur_inter min 0.27 ;
++ regle 2220 : notch >= 0.36 ;
++);
++relation RDS_ALU4 , RDS_ALU4 (
++ regle 2221 : distance axiale min 0.36 ;
++);
++# Check ALU4 overlap of VIA3
++#---------------------------
++relation RDS_ALU4 , RDS_VIA3 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 2230 : enveloppe inferieure min 0.09 ;
++ regle 2231 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA3 , RDS_ALU4 (
++# regle 2232 : intersection longueur_inter max 0.0 ;
++#);
++
++define RDS_ALU4 , RDS_TALU4 union -> WIDE_ALU4;
++define WIDE_ALU4 , RDS_VALU4 intersection -> THIN_ALU4;
++
++relation THIN_ALU4 , RDS_VIA3 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 2233 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 2234 : croix longueur_min min 0.09 ;
++);
++
++# Check VIA4 layer size and separation
++#-------------------------------------
++caracterise RDS_VIA4 (
++ regle 2510 : largeur <= 0.275 ;
++ regle 2511 : largeur >= 0.27 ;
++);
++relation RDS_VIA4 , RDS_VIA4 (
++ regle 2520 : distance axiale min 0.27 ;
++);
++
++# Check ALU4 overlap of VIA4
++#---------------------------
++relation RDS_ALU4 , RDS_VIA4 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 2530 : enveloppe inferieure min 0.09 ;
++ regle 2531 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA4 , RDS_ALU4 (
++# regle 2532 : intersection longueur_inter max 0.0 ;
++#);
++
++relation THIN_ALU4 , RDS_VIA4 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 2533 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 2534 : croix longueur_min min 0.09 ;
++);
++
++undefine WIDE_ALU4;
++undefine THIN_ALU4;
++
++# Check RDS_ALU5 shapes
++#----------------------
++caracterise RDS_ALU5 (
++ regle 2610 : largeur >= 0.27 ;
++ regle 2611 : longueur_inter min 0.27 ;
++ regle 2620 : notch >= 0.36 ;
++);
++relation RDS_ALU5 , RDS_ALU5 (
++ regle 2621 : distance axiale min 0.36 ;
++);
++# Check ALU5 overlap of VIA4
++#---------------------------
++relation RDS_ALU5 , RDS_VIA4 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 2630 : enveloppe inferieure min 0.09 ;
++ regle 2631 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA4 , RDS_ALU5 (
++# regle 2632 : intersection longueur_inter max 0.0 ;
++#);
++
++define RDS_ALU5 , RDS_TALU5 union -> WIDE_ALU5;
++define WIDE_ALU5 , RDS_VALU5 intersection -> THIN_ALU5;
++
++relation THIN_ALU5 , RDS_VIA4 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 2633 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 2634 : croix longueur_min min 0.09 ;
++);
++
++# VIA5 and ALU6 width and spacings
++# larger than lower layers
++#-------------------------------------
++caracterise RDS_VIA5 (
++ regle 2910 : largeur <= 0.365 ;
++ regle 2911 : largeur >= 0.36 ;
++);
++relation RDS_VIA5 , RDS_VIA5 (
++ regle 2920 : distance axiale min 0.36 ;
++);
++
++# Check ALU5 overlap of VIA5
++#---------------------------
++relation RDS_ALU5 , RDS_VIA5 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 2930 : enveloppe inferieure min 0.09 ;
++ regle 2931 : marge longueur_inter max 0.09 ;
++);
++#relation RDS_VIA5 , RDS_ALU5 (
++# regle 2932 : intersection longueur_inter max 0.0 ;
++#);
++
++relation THIN_ALU5 , RDS_VIA5 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 2933 : croix longueur_min min 0.09 ;
++# Optional larger value of end overlap
++ regle 2934 : croix longueur_min min 0.09 ;
++);
++
++undefine WIDE_ALU5;
++undefine THIN_ALU5;
++
++# Check RDS_ALU6 shapes
++#----------------------
++caracterise RDS_ALU6 (
++ regle 3010 : largeur >= 0.45 ;
++ regle 3011 : longueur_inter min 0.45 ;
++ regle 3020 : notch >= 0.45 ;
++);
++relation RDS_ALU6 , RDS_ALU6 (
++ regle 3021 : distance axiale min 0.45 ;
++);
++# Check ALU6 overlap of VIA5
++#---------------------------
++relation RDS_ALU6 , RDS_VIA5 (
++# Case 1: side overlap
++# Basic side overlap checked on all sides
++ regle 3030 : enveloppe inferieure min 0.18 ;
++ regle 3031 : marge longueur_inter max 0.18 ;
++);
++#relation RDS_VIA5 , RDS_ALU6 (
++# regle 3032 : intersection longueur_inter max 0.0 ;
++#);
++
++define RDS_ALU6 , RDS_TALU6 union -> WIDE_ALU6;
++define WIDE_ALU6 , RDS_VALU6 intersection -> THIN_ALU6;
++
++relation THIN_ALU6 , RDS_VIA5 (
++# Case 2: end overlap
++# Side overlap rule used for end overlap
++ regle 3033 : croix longueur_min min 0.18 ;
++# Optional larger value of end overlap
++ regle 3034 : croix longueur_min min 0.18 ;
++);
++
++undefine WIDE_ALU6;
++undefine THIN_ALU6;
++define RDS_VPOLY , RDS_PTIE intersection -> PSUB;
++define RDS_TPOLY , RDS_NTIE intersection -> NSUB;
++
++# Rule only applies if an AB in TALU8 has been manually
++# drawn around the cell
++# Check all layers half design rule inside layer AB
++#--------------------------------------------------
++# Equals 4.4/2+4.2b = 0.24/2+0.04 = 0.16
++#relation RDS_TALU8 , PSUB (
++# regle 5010 : enveloppe inferieure min 0.16 ;
++#);
++#relation RDS_TALU8 , NSUB (
++# regle 5011 : enveloppe inferieure min 0.16 ;
++#);
++# Equals 2.2/2 = 0.20/2 = 0.10
++#relation RDS_TALU8 , RDS_PDIF (
++# regle 5020 : enveloppe inferieure min 0.10 ;
++#);
++#relation RDS_TALU8 , RDS_NDIF (
++# regle 5021 : enveloppe inferieure min 0.10 ;
++#);
++# Equals 3.2/2 = 0.20/2 = 0.10
++#relation RDS_TALU8 , RDS_POLY (
++# regle 5030 : enveloppe inferieure min 0.10 ;
++#);
++# Equals 7.2/2 = 0.22/2 = 0.11
++#relation RDS_TALU8 , RDS_ALU1 (
++# regle 5040 : enveloppe inferieure min 0.11 ;
++#);
++# Equals 7.2/2 = 0.18/2 = 0.09
++#relation RDS_TALU8 , RDS_POLY2 (
++# regle 5041 : enveloppe inferieure min 0.09 ;
++#);
++#relation RDS_TALU8 , RDS_REF (
++# regle 5050 : enveloppe inferieure min 0.12 ;
++#);
++
++undefine NSUB;
++undefine PSUB;
++
++fin regles
++DRC_COMMENT
++110 1.1 NWELL Width < 1.08um ( 12 lambda)
++111 1.1 NWELL Width < 1.08um ( 12 lambda)
++112 1.1 PWELL Width < 1.08um ( 12 lambda)
++113 1.1 PWELL Width < 1.08um ( 12 lambda)
++130 1.3 NWELL Notch < 0.54um ( 6 lambda)
++131 1.3 NWELL Space < 0.54um ( 6 lambda)
++132 1.3 PWELL Notch < 0.54um ( 6 lambda)
++133 1.3 PWELL Space < 0.54um ( 6 lambda)
++140 1.4 NWELL and PWELL must not overlap (misaligned NWELL?)
++141 1.4 NWELL and PWELL Space < 0um
++210 2.1a PDIF Width < 0.27um ( 3 lambda)
++211 2.1a PDIF Width < 0.27um ( 3 lambda)
++220 2.2a PDIF Notch < 0.27um ( 3 lambda)
++221 2.2a PDIF Space < 0.27um ( 3 lambda)
++212 2.1a NDIF Width < 0.27um ( 3 lambda)
++213 2.1a NDIF Width < 0.27um ( 3 lambda)
++222 2.2a NDIF Notch < 0.27um ( 3 lambda)
++223 2.2a NDIF Space < 0.27um ( 3 lambda)
++214 2.1b PTIE Width < 0.27um ( 3 lambda)
++215 2.1b PTIE Width < 0.27um ( 3 lambda)
++224 2.2b PTIE Notch < 0.27um ( 3 lambda)
++225 2.2b PTIE Space < 0.27um ( 3 lambda)
++216 2.1b NTIE Width < 0.27um ( 3 lambda)
++217 2.1b NTIE Width < 0.27um ( 3 lambda)
++226 2.2b NTIE Notch < 0.27um ( 3 lambda)
++227 2.2b NTIE Space < 0.27um ( 3 lambda)
++230 2.3a NWELL to NDIF Space < 0.54um ( 6 lambda)
++231 2.3a NDIF must not touch NWELL
++232 2.3a NDIF must not touch NWELL
++233 2.3a NDIF must not touch NWELL
++234 2.3a NDIF must not touch NWELL
++235 2.3a NDIF must not touch NWELL
++236 2.3a NDIF must not touch NWELL
++237 2.3b NWELL Overlap of PDIF < 0.54um ( 6 lambda)
++240 2.4a NWELL to PTIE Space < 0.27um (3 lambda)
++241 2.4a PTIE must not touch NWELL
++242 2.4a PTIE must not touch NWELL
++243 2.4a PTIE must not touch NWELL
++244 2.4a PTIE must not touch NWELL
++245 2.4a PTIE must not touch NWELL
++246 2.4a PTIE must not touch NWELL
++247 2.4b NWELL Overlap of NTIE < 0.27um (3 lambda)
++250 2.5 NDIF to PTIE Space < 0.36um (4 lambda)
++251 2.5 NDIF must not touch or overlap PTIE
++252 2.5 NDIF must not touch or overlap PTIE
++253 2.5 NDIF must not touch or overlap PTIE
++254 2.5 PDIF to NTIE Space < 0.36um (4 lambda)
++255 2.5 PDIF must not touch or overlap NTIE
++256 2.5 PDIF must not touch or overlap NTIE
++257 2.5 PDIF must not touch or overlap NTIE
++260 2.3b PWELL to PDIF Space < 0.54um (6 lambda)
++261 2.3b PDIF must not touch PWELL
++262 2.3b PDIF must not touch PWELL
++263 2.3b PDIF must not touch PWELL
++264 2.3b PDIF must not touch PWELL
++265 2.3b PDIF must not touch PWELL
++266 2.3b PDIF must not touch PWELL
++267 2.3a PWELL Overlap of NDIF 0.54um (6 lambda)
++270 2.4b PWELL to NTIE Space 0.27um (3 lambda)
++271 2.4b NTIE must not touch PWELL
++272 2.4b NTIE must not touch PWELL
++273 2.4b NTIE must not touch PWELL
++274 2.4b NTIE must not touch PWELL
++275 2.4b NTIE must not touch PWELL
++276 2.4b NTIE must not touch PWELL
++277 2.4a PWELL Overlap of PTIE < 0.27um (3 lambda)
++280 2.8a PDIF to NDIF Space < 1.08um (12 lambda)
++281 2.8b PDIF to PTIE Space < 0.81um (9 lambda)
++282 2.8b NTIE to NDIF Space < 0.81um (9 lambda)
++283 2.8c NTIE to PTIE Space < 0.54um (6 lambda)
++310 3.1 POLY Width < 0.18um (2 lambda)
++311 3.1 POLY Width < 0.18um (2 lambda)
++320 3.2 POLY Notch < 0.27um (3 lambda)
++321 3.2 POLY Space < 0.27um (3 lambda)
++322 3.2a CHANNEL Space < 0.36um (4 lambda)
++323 3.2a CHANNEL Space < 0.36um (4 lambda)
++330 3.3 POLY Overlap of P-TRANSISTOR < 0.225um (2.5 lambda)
++331 3.3 POLY Overlap of N-TRANSISTOR < 0.225um (2.5 lambda)
++340 3.4 P-TRANSISTOR SOURCE/DRAIN Width < 0.36um (4 lambda)
++341 3.4 N-TRANSISTOR SOURCE/DRAIN Width < 0.36um (4 lambda)
++350 3.5 PDIF to POLY Space < 0.09um (1 lambda)
++351 3.5 NDIF to POLY Space < 0.09um (1 lambda)
++352 3.5 PTIE to POLY Space < 0.09um (1 lambda)
++353 3.5 NTIE to POLY Space < 0.09um (1 lambda)
++354 3.5a POLY to GATE Space < 0.09um (1 lambda)
++355 3.5 POLY must not touch or overlap PDIF
++356 3.5 POLY must not touch or overlap PDIF
++357 3.5 POLY must not touch or overlap NDIF
++358 3.5 POLY must not touch or overlap NDIF
++410 4.1 NIMP to P-TRANSISTOR Space < 0.27um (3 lambda)
++411 4.1 PIMP to N-TRANSISTOR Space < 0.27um (3 lambda)
++420 4.2a PIMP Overlap of PDIF < 0.18um (2 lambda)
++421 4.2b PIMP Overlap of PTIE < 0.18um (2 lambda)
++422 4.2a NIMP Overlap of NDIF < 0.18um (2 lambda)
++423 4.2b NIMP Overlap of NTIE < 0.18um (2 lambda)
++440 4.4 PIMP in PWELL Width < 0.36um (4 lambda)
++441 4.4 PIMP in PWELL Width < 0.36um (4 lambda)
++442 4.4 NIMP in NWELL Width < 0.36um (4 lambda)
++443 4.4 NIMP in NWELL Width < 0.36um (4 lambda)
++444 4.4 NIMP in PWELL Width < 0.36um (4 lambda)
++445 4.4 PIMP in NWELL Width < 0.36um (4 lambda)
++510 5.1 POLY CONTACT Width > 0.18um (2 lambda)
++511 5.1 POLY CONTACT Width < 0.18um (2 lambda)
++520 5.2 POLY Overlap of CONTACT < 0.135um (1.5 lambda)
++530 5.3 CONTACT Space < 0.36um (4 lambda)
++540 5.4 POLY CONTACT to CHANNEL Space < 0.18um (2 lambda)
++580 5.8 CONTACT not allowed over TRANSISTOR
++610 6.1 PDIF CONTACT Width > 0.18um (2 lambda)
++611 6.1 PDIF CONTACT Width < 0.18um (2 lambda)
++612 6.1 NDIF CONTACT Width > 0.18um (2 lambda)
++613 6.1 NDIF CONTACT Width < 0.18um (2 lambda)
++614 6.1 PTIE CONTACT Width > 0.18um (2 lambda)
++615 6.1 PTIE CONTACT Width < 0.18um (2 lambda)
++616 6.1 NTIE CONTACT Width > 0.18um (2 lambda)
++617 6.1 NTIE CONTACT Width < 0.18um (2 lambda)
++620 6.2a PDIF Overlap of CONT < 0.135um (1.5 lambda)
++621 6.2a NDIF Overlap of CONT < 0.135um (1.5 lambda)
++622 6.2b PTIE Overlap of CONT < 0.135um (1.5 lambda)
++623 6.2b NTIE Overlap of CONT < 0.135um (1.5 lambda)
++640 6.4 PDIF CONTACT to CHANNEL Space < 0.18um (2 lambda)
++641 6.4 NDIF CONTACT to CHANNEL Space < 0.18um (2 lambda)
++642 4.1+4.2b+6.2b PTIE CONTACT to CHANNEL Space < 0.585um (6.5 lambda)
++643 4.1+4.2b+6.2b NTIE CONTACT to CHANNEL Space < 0.585um (6.5 lambda)
++710 7.1 ALU1 Width < 0.27um (3 lambda)
++711 7.1 ALU1 Width < 0.27um (3 lambda)
++720 7.2 ALU1 Notch < 0.27um (3 lambda)
++712 7.1 ALU0 Width < 0.27um (3 lambda)
++713 7.1 ALU0 Width < 0.27um (3 lambda)
++721 7.2 ALU0 Notch < 0.27um (3 lambda)
++714 7.1 TALU1 Width < 0.27um (3 lambda)
++715 7.1 TALU1 Width < 0.27um (3 lambda)
++722 7.2 TALU1 Notch < 0.27um (3 lambda)
++723 7.2 ALU0 Space < 0.27um (3 lambda)
++724 7.2 ALU1 Space < 0.27um (3 lambda)
++725 7.2 TALU1 Space < 0.27um (3 lambda)
++730 7.3a ALU1 side Overlap of CONTACT < 0.09um (1 lambda)
++731 7.3a ALU1 side Overlap of CONTACT < 0.09um (1 lambda)
++732 7.3b ALU1 end Overlap of CONTACT <= 0.09um (1 lambda)
++733 7.3b ALU1 end Overlap of CONTACT < 0.09um (small) (1 lambda)
++734 7.3b ALU1 end Overlap of CONTACT < 0.09um (big) (1 lambda)
++735 7.3b ALU1 end Overlap of CONTACT < 0.09um (small) (1 lambda)
++736 7.3b ALU1 end Overlap of CONTACT < 0.09um (big) (1 lambda)
++750 7.5 REF Width > 0.27um (3 lambda)
++751 7.5 REF Width < 0.27um (3 lambda)
++760 7.6 REF Space < 0.27um (3 lambda)
++770 7.7 ALU1 must not touch or intersect REF
++772 7.7 TALU1 must not touch or intersect REF
++773 7.7 ALU1 Overlap of REF < 0.09um (1 lambda)
++774 7.7 ALU1 Overlap of REF < 0.09um (1 lambda)
++775 7.7 TALU1 Overlap of REF < 0.09um (1 lambda)
++776 7.7 TALU1 Overlap of REF < 0.09um (1 lambda)
++780 7.8 ALU1 end Overlap of REF < 0.09um (small) (1 lambda)
++781 7.8 ALU1 end Overlap of REF < 0.09um (big) (1 lambda)
++810 8.1 VIA1 Width > 0.27um (3 lambda)
++811 8.1 VIA1 Width < 0.27um (3 lambda)
++820 8.2 VIA1 Space < 0.27um (3 lambda)
++830 8.3a ALU1 side Overlap of VIA1 < 0.09um (1 lambda)
++831 8.3a ALU1 side Overlap of VIA1 < 0.09um (1 lambda)
++832 8.3 ALU1 must not touch or intersect VIA1
++833 8.3b ALU1 end Overlap of VIA1 < 0.09um (small) (1 lambda)
++834 8.3b ALU1 end Overlap of VIA1 < 0.09um (big) (1 lambda)
++910 9.1 ALU2 Width < 0.27um (3 lambda)
++911 9.1 ALU2 Width < 0.27um (3 lambda)
++920 9.2 ALU2 Notch < 0.36um (4 lambda)
++921 9.2 ALU2 Space < 0.36um (4 lambda)
++930 9.3a ALU2 side Overlap of VIA1 < 0.09um (1 lambda)
++931 9.3a ALU2 side Overlap of VIA1 < 0.09um (1 lambda)
++932 9.3 ALU2 must not touch or intersect VIA1
++933 9.3b ALU2 end Overlap of VIA1 < 0.09um (small) (1 lambda)
++934 9.3b ALU2 end Overlap of VIA1 < 0.09um (big) (1 lambda)
++1410 14.1 VIA2 Width > 0.27um (3 lambda)
++1411 14.1 VIA2 Width < 0.27um (3 lambda)
++1420 14.2 VIA2 Space < 0.36um (4 lambda)
++1430 14.3a ALU2 side Overlap of VIA2 < 0.09um (1 lambda)
++1431 14.3a ALU2 side Overlap of VIA2 < 0.09um (1 lambda)
++1432 14.3 ALU2 must not touch or intersect VIA2
++1433 14.3b ALU2 end Overlap of VIA2 < 0.09um (small) (1 lambda)
++1434 14.3b ALU2 end Overlap of VIA2 < 0.09um (big) (1 lambda)
++1510 15.1 ALU3 Width < 0.27um (3 lambda)
++1511 15.1 ALU3 Width < 0.27um (3 lambda)
++1520 15.2 ALU3 Notch < 0.36um (4 lambda)
++1521 15.2 ALU3 Space < 0.36um (4 lambda)
++1530 15.3a ALU3 side Overlap of VIA2 < 0.09um (1 lambda)
++1531 15.3a ALU3 side Overlap of VIA2 < 0.09um (1 lambda)
++1532 15.3 ALU3 must not touch or intersect VIA2
++1533 15.3b ALU3 end Overlap of VIA2 < 0.09um (small) (1 lambda)
++1534 15.3b ALU3 end Overlap of VIA2 < 0.09um (big) (1 lambda)
++2110 21.1 VIA3 Width > 0.27um (3 lambda)
++2111 21.1 VIA3 Width < 0.27um (3 lambda)
++2120 21.2 VIA3 Space < 0.36um (4 lambda)
++2130 21.3a ALU3 side Overlap of VIA3 < 0.09um (1 lambda)
++2131 21.3a ALU3 side Overlap of VIA3 < 0.09um (1 lambda)
++2132 21.3 ALU3 must not touch or intersect VIA3
++2133 21.3b ALU3 end Overlap of VIA3 < 0.09um (small) (1 lambda)
++2134 21.3b ALU3 end Overlap of VIA3 < 0.09um (big) (1 lambda)
++2210 22.1 ALU4 Width < 0.27um (3 lambda)
++2211 22.1 ALU4 Width < 0.27um (3 lambda)
++2220 22.2 ALU4 Notch < 0.36um (4 lambda)
++2221 22.2 ALU4 Space < 0.36um (4 lambda)
++2230 22.3a ALU4 side Overlap of VIA3 < 0.09um (1 lambda)
++2231 22.3a ALU4 side Overlap of VIA3 < 0.09um (1 lambda)
++2232 22.3 ALU4 must not touch or intersect VIA3
++2233 22.3b ALU4 end Overlap of VIA3 < 0.09um (small) (1 lambda)
++2234 22.3b ALU4 end Overlap of VIA3 < 0.09um (big) (1 lambda)
++2510 25.1 VIA4 Width > 0.27um (3 lambda)
++2511 25.1 VIA4 Width < 0.27um (3 lambda)
++2520 25.2 VIA4 Space < 0.36um (4 lambda)
++2530 25.3a ALU4 side Overlap of VIA4 < 0.09um (1 lambda)
++2531 25.3a ALU4 side Overlap of VIA4 < 0.09um (1 lambda)
++2532 25.3 ALU4 must not touch or intersect VIA4
++2533 25.3b ALU4 end Overlap of VIA4 < 0.09um (small) (1 lambda)
++2534 25.3b ALU4 end Overlap of VIA4 < 0.09um (big) (1 lambda)
++2610 26.1 ALU5 Width < 0.27um (3 lambda)
++2611 26.1 ALU5 Width < 0.27um (3 lambda)
++2620 26.2 ALU5 Notch < 0.36um (4 lambda)
++2621 26.2 ALU5 Space < 0.36um (4 lambda)
++2630 26.3a ALU5 side Overlap of VIA4 < 0.09um (1 lambda)
++2631 26.3a ALU5 side Overlap of VIA4 < 0.09um (1 lambda)
++2632 26.3 ALU5 must not touch or intersect VIA4
++2633 26.3b ALU5 end Overlap of VIA4 < 0.09um (small) (1 lambda)
++2634 26.3b ALU5 end Overlap of VIA4 < 0.09um (big) (1 lambda)
++2910 29.1 VIA5 Width > 0.36um (4 lambda)
++2911 29.1 VIA5 Width < 0.36um (4 lambda)
++2920 29.2 VIA5 Space < 0.36um (4 lambda)
++2930 29.3a ALU5 side Overlap of VIA5 < 0.09um (1 lambda)
++2931 29.3a ALU5 side Overlap of VIA5 < 0.09um (1 lambda)
++2932 29.3 ALU5 must not touch or intersect VIA5
++2933 29.3b ALU5 end Overlap of VIA5 < 0.09um (small) (1 lambda)
++2934 29.3b ALU5 end Overlap of VIA5 < 0.09um (big) (1 lambda)
++3010 30.1 ALU6 Width < 0.45um (5 lambda)
++3011 30.1 ALU6 Width < 0.45um (5 lambda)
++3020 30.2 ALU6 Notch < 0.45um (5 lambda)
++3021 30.2 ALU6 Space < 0.45um (5 lambda)
++3030 30.3a ALU6 side Overlap of VIA5 < 0.18um (2 lambda)
++3031 30.3a ALU6 side Overlap of VIA5 < 0.18um (2 lambda)
++3032 30.3 ALU6 must not touch or intersect VIA5
++3033 30.3b ALU6 end Overlap of VIA5 < 0.18um (small) (2 lambda)
++3034 30.3b ALU6 end Overlap of VIA5 < 0.18um (big) (2 lambda)
++5010 50.1 AB Overlap of PTIE < 0.36um (4 lambda)
++5011 50.1 AB Overlap of NTIE < 0.36um (4 lambda)
++5020 50.2 AB Overlap of PDIF < 0.135um (1.5 lambda)
++5021 50.2 AB Overlap of NDIF < 0.135um (1.5 lambda)
++5030 50.3 AB Overlap of POLY < 0.135um (1.5 lambda)
++5040 50.4 AB Overlap of ALU1 < 0.135um (1.5 lambda)
++5041 50.4 AB Overlap of ALU0 < 0.135um (1.5 lambda)
++5050 50.5 AB Overlap of REF < 0.18um (2 lambda)
++END_DRC_COMMENT
++END_DRC_RULES
+diff --git a/alliance/src/rds/man3/addrdsfig.3 b/alliance/src/rds/man3/addrdsfig.3
+index e3b167f..90d1d68 100644
+--- a/alliance/src/rds/man3/addrdsfig.3
++++ b/alliance/src/rds/man3/addrdsfig.3
+@@ -14,7 +14,7 @@ addrdsfig
+ .SH NAME
+ addrdsfig \- adds a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/addrdsfigrec.3 b/alliance/src/rds/man3/addrdsfigrec.3
+index a57fb97..fd9bdbd 100644
+--- a/alliance/src/rds/man3/addrdsfigrec.3
++++ b/alliance/src/rds/man3/addrdsfigrec.3
+@@ -14,7 +14,7 @@ addrdsfigrec
+ .SH NAME
+ addrdsfigrec \- adds a rectangle to a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/addrdsins.3 b/alliance/src/rds/man3/addrdsins.3
+index eefb9e6..5fe8696 100644
+--- a/alliance/src/rds/man3/addrdsins.3
++++ b/alliance/src/rds/man3/addrdsins.3
+@@ -14,7 +14,7 @@ addrdsins
+ .SH NAME
+ addrdsins \- adds an instance to a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/addrdsinsrec.3 b/alliance/src/rds/man3/addrdsinsrec.3
+index 4f3a286..c3123f6 100644
+--- a/alliance/src/rds/man3/addrdsinsrec.3
++++ b/alliance/src/rds/man3/addrdsinsrec.3
+@@ -14,7 +14,7 @@ addrdsinsrec
+ .SH NAME
+ addrdsinsrec \- adds a rectangle to an instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/addrdsrecwindow.3 b/alliance/src/rds/man3/addrdsrecwindow.3
+index a88322b..d8b7062 100644
+--- a/alliance/src/rds/man3/addrdsrecwindow.3
++++ b/alliance/src/rds/man3/addrdsrecwindow.3
+@@ -14,7 +14,7 @@ addrdsrecwindow
+ .SH NAME
+ addrdsrecwindow \- adds a rectangle in the windowing of rds structure.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -34,7 +34,7 @@ The rectangle to add to the windowing.
+ \fIRdsWindow\fP
+ The head of the windowing which has to contain the rectangle.
+ .SH DESCRIPTION
+-The \fIaddrdsrecwindow\fP function inserts a rdsrec_list rectangle structure in the windowing of the rds structure. The rectangle is added in one or many windows of the table (it depends on his dimensions). The field \'USER\' of the rectangle is used to point to the list of windows which contains the rectangle. So, the field \'USER\' has to be saved in an added structure to the rdsrec_list structure if librfm functions are used because somes use the field \'USER\' to link rectangles (see librds about field \'USER\').
++The \fIaddrdsrecwindow\fP function inserts a rdsrec_list rectangle structure in the windowing of the rds structure. The rectangle is added in one or many windows of the table (it depends on his dimensions). The field \'USER\' of the rectangle is used to point to the list of windows which contains the rectangle. So, the field \'USER\' has to be saved in an added structure to the rdsrec_list structure if librfm functions are used because some use the field \'USER\' to link rectangles (see librds about field \'USER\').
+ .TP
+ \fINote\fP
+ If the rectangle is contained in only one window, then the field \'USER\' points to a "rdswin_list" window structure.
+diff --git a/alliance/src/rds/man3/allocrdsfig.3 b/alliance/src/rds/man3/allocrdsfig.3
+index afb5a7b..2771411 100644
+--- a/alliance/src/rds/man3/allocrdsfig.3
++++ b/alliance/src/rds/man3/allocrdsfig.3
+@@ -14,7 +14,7 @@ allocrdsfig
+ .SH NAME
+ allocrdsfig \- allocs memory for a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/allocrdsins.3 b/alliance/src/rds/man3/allocrdsins.3
+index 84fdffd..227fc41 100644
+--- a/alliance/src/rds/man3/allocrdsins.3
++++ b/alliance/src/rds/man3/allocrdsins.3
+@@ -14,7 +14,7 @@ allocrdsins
+ .SH NAME
+ allocrdsins \- allocates memory for an instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/allocrdsrec.3 b/alliance/src/rds/man3/allocrdsrec.3
+index 8332ddb..9f3401c 100644
+--- a/alliance/src/rds/man3/allocrdsrec.3
++++ b/alliance/src/rds/man3/allocrdsrec.3
+@@ -14,7 +14,7 @@ allocrdsrec
+ .SH NAME
+ allocrdsrec \- allocates memory for a rectangle
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/allocrdsrecwin.3 b/alliance/src/rds/man3/allocrdsrecwin.3
+index 3f612fd..3b01fb8 100644
+--- a/alliance/src/rds/man3/allocrdsrecwin.3
++++ b/alliance/src/rds/man3/allocrdsrecwin.3
+@@ -14,7 +14,7 @@ allocrdsrecwin
+ .SH NAME
+ allocrdsrecwin \- allocates a structure used to know windows which contains a rectangle.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/allocrdswin.3 b/alliance/src/rds/man3/allocrdswin.3
+index c0a2ded..c9aa1a8 100644
+--- a/alliance/src/rds/man3/allocrdswin.3
++++ b/alliance/src/rds/man3/allocrdswin.3
+@@ -14,7 +14,7 @@ allocrdswin
+ .SH NAME
+ allocrdswin \- allocates window's table
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/allocrdswindow.3 b/alliance/src/rds/man3/allocrdswindow.3
+index 1392d82..a4face0 100644
+--- a/alliance/src/rds/man3/allocrdswindow.3
++++ b/alliance/src/rds/man3/allocrdswindow.3
+@@ -14,7 +14,7 @@ allocrdswindow
+ .SH NAME
+ allocrdswindow \- allocates a window structure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/allocrdswinrec.3 b/alliance/src/rds/man3/allocrdswinrec.3
+index 52f1478..427f207 100644
+--- a/alliance/src/rds/man3/allocrdswinrec.3
++++ b/alliance/src/rds/man3/allocrdswinrec.3
+@@ -14,7 +14,7 @@ allocrdswinrec
+ .SH NAME
+ allocrdswinrec \- allocates a structure used to create a list of tables of rectangles.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/buildrdswindow.3 b/alliance/src/rds/man3/buildrdswindow.3
+index e4d88bd..f1f89ca 100644
+--- a/alliance/src/rds/man3/buildrdswindow.3
++++ b/alliance/src/rds/man3/buildrdswindow.3
+@@ -14,7 +14,7 @@ buildrdswindow
+ .SH NAME
+ buildrdswindow \- builds windowing of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/conmbkrds.3 b/alliance/src/rds/man3/conmbkrds.3
+index f44e272..583964b 100644
+--- a/alliance/src/rds/man3/conmbkrds.3
++++ b/alliance/src/rds/man3/conmbkrds.3
+@@ -14,7 +14,7 @@ conmbkrds
+ .SH NAME
+ conmbkrds \- converts MBK connector to RDS rectangle
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/delrdsfig.3 b/alliance/src/rds/man3/delrdsfig.3
+index 4e347bf..cc78b53 100644
+--- a/alliance/src/rds/man3/delrdsfig.3
++++ b/alliance/src/rds/man3/delrdsfig.3
+@@ -14,7 +14,7 @@ delrdsfig
+ .SH NAME
+ delrdsfig \- deletes a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/delrdsfigrec.3 b/alliance/src/rds/man3/delrdsfigrec.3
+index 1a87e76..9ea7eaf 100644
+--- a/alliance/src/rds/man3/delrdsfigrec.3
++++ b/alliance/src/rds/man3/delrdsfigrec.3
+@@ -14,7 +14,7 @@ delrdsfigrec
+ .SH NAME
+ delrdsfigrec \- deletes a rectangle of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/delrdsins.3 b/alliance/src/rds/man3/delrdsins.3
+index d1cf75b..6855558 100644
+--- a/alliance/src/rds/man3/delrdsins.3
++++ b/alliance/src/rds/man3/delrdsins.3
+@@ -14,7 +14,7 @@ delrdsins
+ .SH NAME
+ delrdsins \- deletes an instance of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/delrdsinsrec.3 b/alliance/src/rds/man3/delrdsinsrec.3
+index 577b255..c1dbd9f 100644
+--- a/alliance/src/rds/man3/delrdsinsrec.3
++++ b/alliance/src/rds/man3/delrdsinsrec.3
+@@ -14,7 +14,7 @@ delrdsinsrec
+ .SH NAME
+ delrdsinsrec \- deletes a rectangle of an instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/delrdsrecwindow.3 b/alliance/src/rds/man3/delrdsrecwindow.3
+index b3cee3f..a95e5e1 100644
+--- a/alliance/src/rds/man3/delrdsrecwindow.3
++++ b/alliance/src/rds/man3/delrdsrecwindow.3
+@@ -14,7 +14,7 @@ delrdsrecwindow
+ .SH NAME
+ delrdsrecwindow \- deletes a rectangle from the windowing of rds structure.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/destroyrdswindow.3 b/alliance/src/rds/man3/destroyrdswindow.3
+index bf55ddc..d929197 100644
+--- a/alliance/src/rds/man3/destroyrdswindow.3
++++ b/alliance/src/rds/man3/destroyrdswindow.3
+@@ -14,7 +14,7 @@ destroyrdswindow
+ .SH NAME
+ destroyrdswindow \- destroys windowing of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/figmbkrds.3 b/alliance/src/rds/man3/figmbkrds.3
+index 5e6816b..5584cf8 100644
+--- a/alliance/src/rds/man3/figmbkrds.3
++++ b/alliance/src/rds/man3/figmbkrds.3
+@@ -14,7 +14,7 @@ figmbkrds
+ .SH NAME
+ figmbkrds \- converts MBK figure to RDS figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/freerdsfig.3 b/alliance/src/rds/man3/freerdsfig.3
+index 95a9cb3..daae379 100644
+--- a/alliance/src/rds/man3/freerdsfig.3
++++ b/alliance/src/rds/man3/freerdsfig.3
+@@ -14,7 +14,7 @@ freerdsfig
+ .SH NAME
+ freerdsfig \- frees memory associated to a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/freerdsins.3 b/alliance/src/rds/man3/freerdsins.3
+index fe76b17..bff70d6 100644
+--- a/alliance/src/rds/man3/freerdsins.3
++++ b/alliance/src/rds/man3/freerdsins.3
+@@ -14,7 +14,7 @@ freerdsins
+ .SH NAME
+ freerdsins \- frees memory associated to an instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/freerdsrec.3 b/alliance/src/rds/man3/freerdsrec.3
+index 149a013..b83bdc7 100644
+--- a/alliance/src/rds/man3/freerdsrec.3
++++ b/alliance/src/rds/man3/freerdsrec.3
+@@ -14,7 +14,7 @@ freerdsrec
+ .SH NAME
+ freerdsrec \- free memory associated to a rectangle
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/getrdsmodellist.3 b/alliance/src/rds/man3/getrdsmodellist.3
+index 5df38e3..637e71c 100644
+--- a/alliance/src/rds/man3/getrdsmodellist.3
++++ b/alliance/src/rds/man3/getrdsmodellist.3
+@@ -14,7 +14,7 @@ getrdsmodellist
+ .SH NAME
+ getrdsmodellist \- gets model list of the instances of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/insconmbkrds.3 b/alliance/src/rds/man3/insconmbkrds.3
+index 3fa648a..d842245 100644
+--- a/alliance/src/rds/man3/insconmbkrds.3
++++ b/alliance/src/rds/man3/insconmbkrds.3
+@@ -14,7 +14,7 @@ insconmbkrds
+ .SH NAME
+ insconmbkrds \- adds in RDS instance all the connectors of MBK instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/insmbkrds.3 b/alliance/src/rds/man3/insmbkrds.3
+index d86de5c..138b26f 100644
+--- a/alliance/src/rds/man3/insmbkrds.3
++++ b/alliance/src/rds/man3/insmbkrds.3
+@@ -14,7 +14,7 @@ insmbkrds
+ .SH NAME
+ insmbkrds \- converts MBK figure to RDS figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -55,7 +55,7 @@ Flag used for the segment conversion. If the parameter Lynx is set to 0 then thi
+ s is the normal conversion mode. If the parameter Lynx is set to 1 then the rds
+ structure generated permits to extract equipotentials rectangles.
+ .SH DESCRIPTION
+-The \fIinsmbkrds\fP function creates in the RDS figure the RDS instance issue to the convertion of the MBK instance to RDS format. If the parameter \'Mode\' is set to \'A\' then all the instance is loaded, else if parameter \'Mode\' is set to \'P\' then connectors and abutment box and through routes are loaded (for more information, see getphfig and loadphfig MBK functions).
++The \fIinsmbkrds\fP function creates in the RDS figure the RDS instance issue to the conversion of the MBK instance to RDS format. If the parameter \'Mode\' is set to \'A\' then all the instance is loaded, else if parameter \'Mode\' is set to \'P\' then connectors and abutment box and through routes are loaded (for more information, see getphfig and loadphfig MBK functions).
+ .SH RETURN VALUE
+ A pointer to the newly created instance is returned.
+ .SH ERRORS
+diff --git a/alliance/src/rds/man3/insrefmbkrds.3 b/alliance/src/rds/man3/insrefmbkrds.3
+index 90f28cb..73e2a2c 100644
+--- a/alliance/src/rds/man3/insrefmbkrds.3
++++ b/alliance/src/rds/man3/insrefmbkrds.3
+@@ -14,7 +14,7 @@ insrefmbkrds
+ .SH NAME
+ insrefmbkrds \- adds in RDS instance all the references of MBK instance.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/inssegmbkrds.3 b/alliance/src/rds/man3/inssegmbkrds.3
+index 4a03c96..8eec53d 100644
+--- a/alliance/src/rds/man3/inssegmbkrds.3
++++ b/alliance/src/rds/man3/inssegmbkrds.3
+@@ -14,7 +14,7 @@ inssegmbkrds
+ .SH NAME
+ inssegmbkrds \- adds in RDS instance all the segments of MBK instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/instanceface.3 b/alliance/src/rds/man3/instanceface.3
+index 8416f56..e8d3ecb 100644
+--- a/alliance/src/rds/man3/instanceface.3
++++ b/alliance/src/rds/man3/instanceface.3
+@@ -14,7 +14,7 @@ instanceface
+ .SH NAME
+ instanceface \- returns the face of a connector in a placed instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -31,7 +31,7 @@ char modelface, symmetry;
+ Face of a connector in its figure.
+ .TP 20
+ \fIsymmetry\fP
+-Geometrical operation applied to the instanciation of the figure.
++Geometrical operation applied to the instantiation of the figure.
+ .SH DESCRIPTION
+ \fBinstanceface\fP determines the orientation of a connector in an instance of
+ its model.
+diff --git a/alliance/src/rds/man3/insviambkrds.3 b/alliance/src/rds/man3/insviambkrds.3
+index e368f7a..2b9b002 100644
+--- a/alliance/src/rds/man3/insviambkrds.3
++++ b/alliance/src/rds/man3/insviambkrds.3
+@@ -14,7 +14,7 @@ insviambkrds
+ .SH NAME
+ insviambkrds \- adds to RDS instance all the contacts from MBK instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/loadrdsfig.3 b/alliance/src/rds/man3/loadrdsfig.3
+index a5c5c96..beb2a67 100644
+--- a/alliance/src/rds/man3/loadrdsfig.3
++++ b/alliance/src/rds/man3/loadrdsfig.3
+@@ -14,7 +14,7 @@ loadrdsfig
+ .SH NAME
+ loadrdsfig \- give back a pointer to a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/loadrdsparam.3 b/alliance/src/rds/man3/loadrdsparam.3
+index 06c52a9..68305c6 100644
+--- a/alliance/src/rds/man3/loadrdsparam.3
++++ b/alliance/src/rds/man3/loadrdsparam.3
+@@ -14,7 +14,7 @@ loadrdsparam
+ .SH NAME
+ loadrdsparam \- load parameters from symbolic to real conversion.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -28,7 +28,7 @@ none
+ .SH DESCRIPTION
+ The \fIloadrdsparam\fP function loads parameters contained in a file with extention ".rds" which is the translation file from symbolic to real. Some of these files are contained in the path "/labo/etc".See them for more information.
+ .br
+-When programming, this function must be called before using the functions of the RFM library ( MBK to RDS convertion functions).
++When programming, this function must be called before using the functions of the RFM library ( MBK to RDS conversion functions).
+ .br
+ The name of the file "nnn.rds" is set with the environment variable of unix system "RDS_TECHNO_NAME". For more information about it, see the RTL library.
+ Before calling the loadrdsparam function, environment variables must be set by using the function \fIrdsenv\fP.
+diff --git a/alliance/src/rds/man3/modelmbkrds.3 b/alliance/src/rds/man3/modelmbkrds.3
+index c11752a..2cb4e5a 100644
+--- a/alliance/src/rds/man3/modelmbkrds.3
++++ b/alliance/src/rds/man3/modelmbkrds.3
+@@ -14,7 +14,7 @@ modelmbkrds
+ .SH NAME
+ modelmbkrds \- gets all models of instances contained in a figure.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/rdsalloc.3 b/alliance/src/rds/man3/rdsalloc.3
+index a95faba..216674d 100644
+--- a/alliance/src/rds/man3/rdsalloc.3
++++ b/alliance/src/rds/man3/rdsalloc.3
+@@ -14,7 +14,7 @@ rdsalloc
+ .SH NAME
+ rdsalloc \- memory allocation function
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -37,7 +37,7 @@ takes the values RDS_ALLOC_BLOCK or RDS_ALLOC_HEAP (two defined constants).
+ The \fIrdsalloc\fP function can do memory allocation by block or by heap. If the user wants to allocate by block, he sets the parameter Heap to the constant RDS_ALLOC_BLOCK else, he wants to allocate by heap so the parameter Heap is set to RDS_ALLOC_HEAP.
+ If rdsalloc is used with the constant RDS_ALLOC_BLOCK then rdsalloc is used as standard language C function malloc().
+ If the user allocates by heap then :
+-At the first allocation of the block of \fIsize\fP the parameter \'Size\', a heap of size multiple of the block Size is allocated. When another allocation of the same size is done then if the the heap isn't full then a pointer (of \fIsize\fP=\'Size\') is returned else a new heap is allocated and a pointer returned. Like this, the user does really one allocation (he has many pointers) to minimize fragmentation. Heap allocation is usefull if the user has to allocate many pointers of the same size (ex: rdsrec_list structure).
++At the first allocation of the block of \fIsize\fP the parameter \'Size\', a heap of size multiple of the block Size is allocated. When another allocation of the same size is done then if the the heap isn't full then a pointer (of \fIsize\fP=\'Size\') is returned else a new heap is allocated and a pointer returned. Like this, the user does really one allocation (he has many pointers) to minimize fragmentation. Heap allocation is useful if the user has to allocate many pointers of the same size (ex: rdsrec_list structure).
+ .TP
+ Note: Memory place allocated is set to NULL.
+ .SH RETURN VALUE
+diff --git a/alliance/src/rds/man3/rdsenv.3 b/alliance/src/rds/man3/rdsenv.3
+index 031d003..4c37a8b 100644
+--- a/alliance/src/rds/man3/rdsenv.3
++++ b/alliance/src/rds/man3/rdsenv.3
+@@ -14,7 +14,7 @@ rdsenv
+ .SH NAME
+ rdsenv \- set user preference
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/rdsfree.3 b/alliance/src/rds/man3/rdsfree.3
+index 60bb900..3fba18e 100644
+--- a/alliance/src/rds/man3/rdsfree.3
++++ b/alliance/src/rds/man3/rdsfree.3
+@@ -14,7 +14,7 @@ rdsfree
+ .SH NAME
+ rdsfree \- free memory place
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/refmbkrds.3 b/alliance/src/rds/man3/refmbkrds.3
+index 5f1e71e..f1e505c 100644
+--- a/alliance/src/rds/man3/refmbkrds.3
++++ b/alliance/src/rds/man3/refmbkrds.3
+@@ -14,7 +14,7 @@ refmbkrds
+ .SH NAME
+ refmbkrds \- adds to RDS figure a references from a MBK figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/roundrdsrec.3 b/alliance/src/rds/man3/roundrdsrec.3
+index bdc0518..b9dda64 100644
+--- a/alliance/src/rds/man3/roundrdsrec.3
++++ b/alliance/src/rds/man3/roundrdsrec.3
+@@ -14,7 +14,7 @@ roundrdsrec
+ .SH NAME
+ roundrdsrec \- adjusts a rectangle to lambda grid step
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/saverdsfig.3 b/alliance/src/rds/man3/saverdsfig.3
+index 02c59ed..bebe6f4 100644
+--- a/alliance/src/rds/man3/saverdsfig.3
++++ b/alliance/src/rds/man3/saverdsfig.3
+@@ -14,7 +14,7 @@ saverdsfig
+ .SH NAME
+ saverdsfig \- save a physical figure on disk.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ saverdsfig \- save a physical figure on disk.
+ \fIFigure\fP
+ Pointer to the RDS Figure to save.
+ .SH DESCRIPTION
+-The \fIsaverdsfig\fP function writes on disk the contents of the figure pointer to by rdsfig_list. The savephfig function in fact performs a call to a driver, choosen by the RDS_OUT environment variable.
++The \fIsaverdsfig\fP function writes on disk the contents of the figure pointer to by rdsfig_list. The savephfig function in fact performs a call to a driver, chosen by the RDS_OUT environment variable.
+ .SH RETURN VALUE
+ none
+ .SH ERRORS
+diff --git a/alliance/src/rds/man3/searchrdsfig.3 b/alliance/src/rds/man3/searchrdsfig.3
+index 4e93a88..7929459 100644
+--- a/alliance/src/rds/man3/searchrdsfig.3
++++ b/alliance/src/rds/man3/searchrdsfig.3
+@@ -12,9 +12,9 @@ searchrdsfig
+ .XE0 \}
+ .TH SEARCHRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
+ .SH NAME
+-searchrdsfig \- searchs by name a figure in the list of figures
++searchrdsfig \- searches by name a figure in the list of figures
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+@@ -30,7 +30,7 @@ searchrdsfig \- searchs by name a figure in the list of figures
+ \fIName\fP
+ Name of the figure to search.
+ .SH DESCRIPTION
+-The \fIsearchrdsfig\fP function searchs a figure by its name in the list of figures in memory.
++The \fIsearchrdsfig\fP function searches a figure by its name in the list of figures in memory.
+ .SH RETURN VALUE
+ Pointer to the figure searched. If the figure is not found then pointer NULL is returned.
+ .SH ERRORS
+diff --git a/alliance/src/rds/man3/segmbkrds.3 b/alliance/src/rds/man3/segmbkrds.3
+index 01dab99..eabe191 100644
+--- a/alliance/src/rds/man3/segmbkrds.3
++++ b/alliance/src/rds/man3/segmbkrds.3
+@@ -14,7 +14,7 @@ segmbkrds
+ .SH NAME
+ segmbkrds \- adds to RDS figure a segment from a MBK figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viambkrds.3 b/alliance/src/rds/man3/viambkrds.3
+index 99bd9aa..a7a1b38 100644
+--- a/alliance/src/rds/man3/viambkrds.3
++++ b/alliance/src/rds/man3/viambkrds.3
+@@ -14,7 +14,7 @@ viambkrds
+ .SH NAME
+ viambkrds \- adds to RDS figure a contact from a MBK figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrdsfig.3 b/alliance/src/rds/man3/viewrdsfig.3
+index 8ec7b6f..9f2250d 100644
+--- a/alliance/src/rds/man3/viewrdsfig.3
++++ b/alliance/src/rds/man3/viewrdsfig.3
+@@ -14,7 +14,7 @@ viewrdsfig
+ .SH NAME
+ viewrdsfig \- view caracteristics of a figure
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrdsins.3 b/alliance/src/rds/man3/viewrdsins.3
+index f461254..fc30553 100644
+--- a/alliance/src/rds/man3/viewrdsins.3
++++ b/alliance/src/rds/man3/viewrdsins.3
+@@ -14,7 +14,7 @@ viewrdsins
+ .SH NAME
+ viewrdsins \- Displays caracteristics of an instance
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrdsparam.3 b/alliance/src/rds/man3/viewrdsparam.3
+index 1d42b8a..a2797b6 100644
+--- a/alliance/src/rds/man3/viewrdsparam.3
++++ b/alliance/src/rds/man3/viewrdsparam.3
+@@ -14,7 +14,7 @@ viewrdsparam
+ .SH NAME
+ viewrdsparam \- displays tables in memory filled by loadrdsparam function.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrdsrec.3 b/alliance/src/rds/man3/viewrdsrec.3
+index 5577d5a..ed82bc0 100644
+--- a/alliance/src/rds/man3/viewrdsrec.3
++++ b/alliance/src/rds/man3/viewrdsrec.3
+@@ -14,7 +14,7 @@ viewrdsrec
+ .SH NAME
+ viewrdsrec \- Displays caracteristics of a rectangle
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrdswindow.3 b/alliance/src/rds/man3/viewrdswindow.3
+index 10db503..e4f7ea3 100644
+--- a/alliance/src/rds/man3/viewrdswindow.3
++++ b/alliance/src/rds/man3/viewrdswindow.3
+@@ -14,7 +14,7 @@ viewrdswindow
+ .SH NAME
+ viewrdswindow \- displays caracteristics of the windowing.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmcon.3 b/alliance/src/rds/man3/viewrfmcon.3
+index 64969bb..de70abe 100644
+--- a/alliance/src/rds/man3/viewrfmcon.3
++++ b/alliance/src/rds/man3/viewrfmcon.3
+@@ -14,7 +14,7 @@ viewrfmcon
+ .SH NAME
+ viewrfmcon \- displays connector caracteristics in MBK and RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmfig.3 b/alliance/src/rds/man3/viewrfmfig.3
+index bcdf192..00cdb2d 100644
+--- a/alliance/src/rds/man3/viewrfmfig.3
++++ b/alliance/src/rds/man3/viewrfmfig.3
+@@ -14,7 +14,7 @@ viewrfmfig
+ .SH NAME
+ viewrfmfig \- displays figure caracteristics in MBK and RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmins.3 b/alliance/src/rds/man3/viewrfmins.3
+index 7575c5f..537aadb 100644
+--- a/alliance/src/rds/man3/viewrfmins.3
++++ b/alliance/src/rds/man3/viewrfmins.3
+@@ -14,7 +14,7 @@ viewrfmins
+ .SH NAME
+ viewrfmins \- displays instance caracteristics in MBK and RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmrec.3 b/alliance/src/rds/man3/viewrfmrec.3
+index 4dde858..cd897d7 100644
+--- a/alliance/src/rds/man3/viewrfmrec.3
++++ b/alliance/src/rds/man3/viewrfmrec.3
+@@ -14,7 +14,7 @@ viewrfmrec
+ .SH NAME
+ viewrfmrec \- displays rectangle caracteristics in RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmref.3 b/alliance/src/rds/man3/viewrfmref.3
+index 0e8322e..5346c6d 100644
+--- a/alliance/src/rds/man3/viewrfmref.3
++++ b/alliance/src/rds/man3/viewrfmref.3
+@@ -14,7 +14,7 @@ viewrfmref
+ .SH NAME
+ viewrfmref \- displays reference caracteristics in MBK and RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmseg.3 b/alliance/src/rds/man3/viewrfmseg.3
+index fc77bce..f39e586 100644
+--- a/alliance/src/rds/man3/viewrfmseg.3
++++ b/alliance/src/rds/man3/viewrfmseg.3
+@@ -14,7 +14,7 @@ viewrfmseg
+ .SH NAME
+ viewrfmseg \- displays segment caracteristics in MBK and RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/man3/viewrfmvia.3 b/alliance/src/rds/man3/viewrfmvia.3
+index 29bb49d..f8f390b 100644
+--- a/alliance/src/rds/man3/viewrfmvia.3
++++ b/alliance/src/rds/man3/viewrfmvia.3
+@@ -14,7 +14,7 @@ viewrfmvia
+ .SH NAME
+ viewrfmvia \- displays contact caracteristics in MBK and RDS format.
+ .so man1/alc_origin.1
+-.SH SYNOPSYS
++.SH SYNOPSIS
+ .nf
+ .if n \{\
+ .ft B \}
+diff --git a/alliance/src/rds/src/cif_drive.c b/alliance/src/rds/src/cif_drive.c
+index 49cac86..5990608 100644
+--- a/alliance/src/rds/src/cif_drive.c
++++ b/alliance/src/rds/src/cif_drive.c
+@@ -518,7 +518,7 @@
+ /* why CIF_DS_A, CIF_DS_B ?
+ the simple of driving CIF would be to take both as 1, and have on
+ each coordinate a (x * CIF_UNIT)/rds_unit).
+- The interest here is to shorten the lenght of the numbers in the
++ The interest here is to shorten the length of the numbers in the
+ CIF output, and to be able to express a precision better that a
+ centh of a micron.
+ CIF_DS_A and CIF_DS_B are defined as follow :
+diff --git a/alliance/src/rds/src/gds_drive.c b/alliance/src/rds/src/gds_drive.c
+index b7106c1..db5a70b 100644
+--- a/alliance/src/rds/src/gds_drive.c
++++ b/alliance/src/rds/src/gds_drive.c
+@@ -490,18 +490,22 @@ FILE *fp;
+ }
+
+ entete(XY, sizeof(coord_t));
++ coord_t xy;
++ xy.X = inst->X;
++ xy.Y = inst->Y;
++
+ if (islittle()) {
+- long X = swapl(inst->X);
+- long Y = swapl(inst->Y);
++ xy.X = swapi(xy.X);
++ xy.Y = swapi(xy.Y);
+
+- numb = fwrite((char *)&X, sizeof(long), 1, fp);
++ numb = fwrite((char *)&xy.X, sizeof(int32_t), 1, fp);
+ controle(1);
+- numb = fwrite((char *)&Y, sizeof(long), 1, fp);
++ numb = fwrite((char *)&xy.Y, sizeof(int32_t), 1, fp);
+ controle(1);
+ } else {
+- numb = fwrite((char *)&inst->X, sizeof(long), 1, fp);
++ numb = fwrite((char *)&xy.X, sizeof(int32_t), 1, fp);
+ controle(1);
+- numb = fwrite((char *)&inst->Y, sizeof(long), 1, fp);
++ numb = fwrite((char *)&xy.Y, sizeof(int32_t), 1, fp);
+ controle(1);
+ }
+
+@@ -582,7 +586,20 @@ date_type *date;
+ if (modele->LAYERTAB[i]) {
+ rect = modele->LAYERTAB[i];
+ while (rect) {
+- if (pv_sauve_rectangle(rect, fp, i) < 0) return -1;
++ if (rect->DX == 0)
++ fprintf( stderr
++ , "*** GDS driver warning ***\n"
++ "In %s, rectangle with null width @(%il,%il) %i\n"
++ , modele->NAME, rect->X/RDS_LAMBDA, rect->Y/RDS_LAMBDA, i );
++ if (rect->DY == 0)
++ fprintf( stderr
++ , "** GDS driver warning ***\n"
++ "In %s, rectangle with null height @(%il,%il) %i\n"
++ , modele->NAME, rect->X/RDS_LAMBDA, rect->Y/RDS_LAMBDA, i );
++
++ if ((rect->DX != 0) && (rect->DY != 0)) {
++ if (pv_sauve_rectangle(rect, fp, i) < 0) return -1;
++ }
+ rect = rect->NEXT;
+ }
+ }
+diff --git a/alliance/src/rds/src/gds_error.h b/alliance/src/rds/src/gds_error.h
+index 1a4bfe5..1d9c40b 100644
+--- a/alliance/src/rds/src/gds_error.h
++++ b/alliance/src/rds/src/gds_error.h
+@@ -51,7 +51,7 @@
+ /* (GDS2, CIF...), dans la version avec laquelle on travaille, ce code etait envisage */
+ /* mais pas encore implemente. */
+ #define ELAYERUNDEF 103 /* There is no layer of this index in the technology. */
+-#define ENOTHER 255 /* Any other (wierd !) error. */
++#define ENOTHER 255 /* Any other (weird !) error. */
+
+ /*********
+ *
+diff --git a/alliance/src/rds/src/gds_parse.c b/alliance/src/rds/src/gds_parse.c
+index dfa2239..7505c08 100644
+--- a/alliance/src/rds/src/gds_parse.c
++++ b/alliance/src/rds/src/gds_parse.c
+@@ -832,7 +832,7 @@ char gds_real[sizeof(mag_type)];
+ short ref_x_axis, abs_mag, abs_ang;
+ ushort strans;
+ double mag, angle;
+-long x, y;
++int32_t x, y;
+ char sym;
+ char poubelle[TRASHSIZE];
+ int FLAG = 0;
+@@ -846,14 +846,14 @@ int FLAG = 0;
+ }
+ switch (infobuf.gdscode) {
+ case XY :
+- lecture1(&x, sizeof(long));
++ lecture1(&x, sizeof(int32_t));
+ if (islittle())
+ x = swapl(x);
+- x = (long)(pv_scale * (double)x);
+- lecture1(&y, sizeof(long));
++ x = (int32_t)(pv_scale * (double)x);
++ lecture1(&y, sizeof(int32_t));
+ if (islittle())
+ y = swapl(y);
+- y = (long)(pv_scale * (double)y);
++ y = (int32_t)(pv_scale * (double)y);
+ break;
+ case STRANS :
+ lecture1(&strans, sizeof(ushort));
+@@ -988,8 +988,8 @@ FILE *fp;
+ coord_tab[0].X = swapl(coord_tab[0].X);
+ coord_tab[0].Y = swapl(coord_tab[0].Y);
+ }
+- coord_tab[0].X = (long)(pv_scale * (double)coord_tab[0].X);
+- coord_tab[0].Y = (long)(pv_scale * (double)coord_tab[0].Y);
++ coord_tab[0].X = (int32_t)(pv_scale * (double)coord_tab[0].X);
++ coord_tab[0].Y = (int32_t)(pv_scale * (double)coord_tab[0].Y);
+ XYFLAG = 1;
+ break;
+ case TEXTTYPE :
+@@ -1036,17 +1036,16 @@ rdsfig_list *Figure;
+ char *Name;
+ char Mode;
+ {
+-register int retour;
+-hinfo_type infobuf;
+-FILE *fp;
+-int flag = 0;
+-int error = FALSE;
+-char poubelle[TRASHSIZE];
+-char gds_real[sizeof(unit_type)];
+-char nom_modele[33];
+-node_list *ScanNode;
+-rdsrec_list *Rec;
+-
++ register int retour;
++ hinfo_type infobuf;
++ FILE *fp;
++ int flag = 0;
++ int error = FALSE;
++ char poubelle[TRASHSIZE];
++ char gds_real[sizeof(unit_type)];
++ char nom_modele[33];
++ node_list *ScanNode;
++ rdsrec_list *Rec;
+
+ Figure->MODE = 'L';
+
+diff --git a/alliance/src/rds/src/rfmacces.c b/alliance/src/rds/src/rfmacces.c
+index 1c87652..74879af 100644
+--- a/alliance/src/rds/src/rfmacces.c
++++ b/alliance/src/rds/src/rfmacces.c
+@@ -478,8 +478,8 @@ rdsrec_list *viambkrds( Figure, Via, Lynx )
+ ( ( USE == RDS_USE_DRC ) && ( ! Lynx ) ) )
+ {
+ if ( SIDE_STEP == 0 ) break;
+- if ( WSX < (SIDE_STEP << 1) ) break;
+- if ( WSY < (SIDE_STEP << 1) ) break;
++ if ( WSX < SIDE+(SIDE>>1) ) break;
++ if ( WSY < SIDE+(SIDE>>1) ) break;
+
+ X1R = Xvia + OVERLAP - ( ( WSX + DWR ) >> 1 );
+ Y1R = Yvia + OVERLAP - ( ( WSY + DWR ) >> 1 );
+diff --git a/alliance/src/rds/src/rprparse.c b/alliance/src/rds/src/rprparse.c
+index 2f1e97b..da68e71 100644
+--- a/alliance/src/rds/src/rprparse.c
++++ b/alliance/src/rds/src/rprparse.c
+@@ -103,6 +103,10 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD,
+ MBK_TRACK_SPACING_ALU7, MBK_TRACK_SPACING_ALU8;
+ long *RDS_WIRESETTING_TABLE [ MBK_MAX_WIRESETTING ] =
+ {
++ &RING_BV_VIA_VIA,
++ &RING_DMIN_ALU1_ALU1,
++ &RING_DMIN_ALU2_ALU2,
++ &RING_EXTENSION_ALU2,
+ &MBK_TRACK_SPACING_ALU1, &MBK_TRACK_SPACING_ALU2,
+ &MBK_TRACK_SPACING_ALU3, &MBK_TRACK_SPACING_ALU4,
+ &MBK_TRACK_SPACING_ALU5, &MBK_TRACK_SPACING_ALU6,
+@@ -111,9 +115,15 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD,
+ &MBK_TRACK_WIDTH_ALU3, &MBK_TRACK_WIDTH_ALU4,
+ &MBK_TRACK_WIDTH_ALU5, &MBK_TRACK_WIDTH_ALU6,
+ &MBK_TRACK_WIDTH_ALU7, &MBK_TRACK_WIDTH_ALU8,
++ &RING_WALIM,
+ &MBK_WIDTH_VDD,
+ &MBK_WIDTH_VSS,
++ &RING_WMIN_ALU1,
++ &RING_WMIN_ALU2,
++ &RING_WVIA_ALU1,
++ &RING_WVIA_ALU2,
+ &MBK_X_GRID, &MBK_Y_GRID, &MBK_Y_SLICE
++
+ };
+ /*------------------------------------------------------------\
+ | |
+@@ -412,6 +422,10 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD,
+ char MBK_WIRESETTING_NAME [ MBK_MAX_WIRESETTING ][ MBK_MAX_WIRESETTING_TLEN ] =
+
+ {
++ "bv_via_via",
++ "dmin_alu1_alu1",
++ "dmin_alu2_alu2",
++ "extension_alu2",
+ "track_spacing_alu1",
+ "track_spacing_alu2",
+ "track_spacing_alu3",
+@@ -428,8 +442,13 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD,
+ "track_width_alu6",
+ "track_width_alu7",
+ "track_width_alu8",
++ "walim",
+ "width_vdd",
+ "width_vss",
++ "wmin_alu1",
++ "wmin_alu2",
++ "wvia_alu1",
++ "wvia_alu2",
+ "x_grid",
+ "y_grid",
+ "y_slice"
+diff --git a/alliance/src/rds/src/rprparse.h b/alliance/src/rds/src/rprparse.h
+index 03f35e3..dfb548e 100644
+--- a/alliance/src/rds/src/rprparse.h
++++ b/alliance/src/rds/src/rprparse.h
+@@ -33,7 +33,7 @@
+ # define RPR_MAX_BUFFER 512
+ # define RPR_MAX_KEYWORD 151
+
+-# define MBK_MAX_WIRESETTING 21
++# define MBK_MAX_WIRESETTING 30
+ # define RPR_SEPARATORS_STRING " \t\n"
+ # define RPR_COMMENT_CHAR '#'
+
+diff --git a/alliance/src/rds/src/rutpoly.c b/alliance/src/rds/src/rutpoly.c
+index c0f11f1..e376cc7 100644
+--- a/alliance/src/rds/src/rutpoly.c
++++ b/alliance/src/rds/src/rutpoly.c
+@@ -44,10 +44,10 @@
+ *
+ ***/
+ static void quicksort(tab, deb, fin)
+-long tab[];
++int32_t tab[];
+ unsigned deb, fin;
+ {
+-register long m, aux;
++register int32_t m, aux;
+ register unsigned i, j;
+
+ i = deb;
+@@ -95,7 +95,7 @@ register unsigned i, j;
+ *
+ ***/
+ static int simplification(tab, tab_lg)
+-long tab[];
++int32_t tab[];
+ unsigned tab_lg;
+ {
+ register int i, j; /* i indice de lecture, j celui d'ecriture */
+@@ -312,7 +312,7 @@ unsigned coord_numb;
+ {
+ rdsrec_list *Rec;
+ register unsigned int i, j;
+- register long x, y, dx, dy;
++ register int32_t x, y, dx, dy;
+
+ for (i = 0; i < coord_numb; i += 2) {
+ j = i + 1;
+@@ -366,7 +366,7 @@ unsigned coord_numb;
+ static coord_t *do_diagonale(rect_tab, nb_rect, xtab, ytab)
+ rect_t rect_tab[];
+ type_l nb_rect;
+-long xtab[], ytab[];
++int32_t xtab[], ytab[];
+ {
+ register int i, j;
+ register coord_t *tab;
+@@ -483,10 +483,10 @@ unsigned *new_coord_numb;
+ {
+ register int i, h, v; /* compteurs a tout faire */
+
+- long x1, y1, x2, y2; /* auxiliaires (de coordonnees) en tout genre */
++ int32_t x1, y1, x2, y2; /* auxiliaires (de coordonnees) en tout genre */
+
+- long *tab; /* pseudo-tableau auxiliaire */
+- long *xtab, *ytab; /* pseudo-tableaux des differentes coordonnees*/
++ int32_t *tab; /* pseudo-tableau auxiliaire */
++ int32_t *xtab, *ytab; /* pseudo-tableaux des differentes coordonnees*/
+ type_i nb_x, nb_y; /* tailles des 2 tableaux et egalement nombres d'abcisses et d'ordonnees significatives. */
+ type_c * col, *lig; /* pseudo-tableaux contenant respectivement les nombres d'aretes par ligne, par colonne. */
+ type_l * index_h, *index_v; /* pseudo-tableaux permettant d'indexer les tableaux contenant les positions des aretes. */
+@@ -503,6 +503,7 @@ unsigned *new_coord_numb;
+ /* */
+ /* On regarde d'abord si le polygone a decouper n'est pas deja un rectangle, auquel cas le probleme est vite resolu. */
+ /* */
++
+ if (coord_numb == 5) {
+ nct = (coord_t * )malloc(2 * sizeof(coord_t));
+ *new_coord_tab = nct;
+@@ -518,10 +519,10 @@ unsigned *new_coord_numb;
+ nct[1].X = coord_tab[2].X;
+ nct[1].Y = coord_tab[2].Y;
+ } else {
+- nct[0].X = (long)floor(((double)coord_tab[0].X * scale) + .5);
+- nct[0].Y = (long)floor(((double)coord_tab[0].Y * scale) + .5);
+- nct[1].X = (long)floor(((double)coord_tab[2].X * scale) + .5);
+- nct[1].Y = (long)floor(((double)coord_tab[2].Y * scale) + .5);
++ nct[0].X = (int32_t)floor(((double)coord_tab[0].X * scale) + .5);
++ nct[0].Y = (int32_t)floor(((double)coord_tab[0].Y * scale) + .5);
++ nct[1].X = (int32_t)floor(((double)coord_tab[2].X * scale) + .5);
++ nct[1].Y = (int32_t)floor(((double)coord_tab[2].Y * scale) + .5);
+ }
+ }
+
+@@ -538,16 +539,16 @@ unsigned *new_coord_numb;
+ }
+ bool = 1; /* On vient d'allouer une nouvelle zone pour coordonnees*/
+ for (i = 0; i < coord_numb; i++) { /* On recopie les valeurs du tableau passe en parametre */
+- coordonnees[i].X = (long)floor(((double)coord_tab[i].X * scale) + .5); /* en les mettant a l'echelle de la base RDS. */
+- coordonnees[i].Y = (long)floor(((double)coord_tab[i].Y * scale) + .5);
++ coordonnees[i].X = (int32_t)floor(((double)coord_tab[i].X * scale) + .5); /* en les mettant a l'echelle de la base RDS. */
++ coordonnees[i].Y = (int32_t)floor(((double)coord_tab[i].Y * scale) + .5);
+ }
+ }
+
+ /* */
+ /* On extrait de la liste des coordonnees toutes les valeurs significatives */
+ /* */
+- tab = (long *)malloc(coord_numb * sizeof(long)); /* on alloue un tableau auxiliaire pour y stocker */
+- if (tab == (long *)NULL) { /* temporairement les abcisses et les ordonnees. */
++ tab = (int32_t *)malloc(coord_numb * sizeof(int32_t)); /* on alloue un tableau auxiliaire pour y stocker */
++ if (tab == (int32_t *)NULL) { /* temporairement les abcisses et les ordonnees. */
+ ruterror( RDS_NOT_ENOUGH_MEMORY, "p2d(tab)");
+ if (bool)
+ free((char *)coordonnees);
+@@ -559,8 +560,8 @@ unsigned *new_coord_numb;
+
+ quicksort(tab, 0, coord_numb - 1); /* On les trie */
+ nb_x = simplification(tab, coord_numb); /* On ne garde que les valeurs significatives */
+- xtab = (long *)malloc(nb_x * sizeof(long)); /* On alloue un pseudo-tableau pour y ranger les valeurs definitives */
+- if (xtab == (long *)NULL) {
++ xtab = (int32_t *)malloc(nb_x * sizeof(int32_t)); /* On alloue un pseudo-tableau pour y ranger les valeurs definitives */
++ if (xtab == (int32_t *)NULL) {
+ ruterror( RDS_NOT_ENOUGH_MEMORY, "p2d(xtab)");
+ if (bool)
+ free((char *)coordonnees); /* traine pas d'imprecision : si la techno employee n'est pas assez */
+@@ -568,7 +569,7 @@ unsigned *new_coord_numb;
+ EXIT(1);
+ }
+ /* On recopie ces valeurs definitives dans le nouveau tableau */
+- (void)memcpy((char *)xtab, (char *)tab, (size_t)nb_x * sizeof(long));
++ (void)memcpy((char *)xtab, (char *)tab, (size_t)nb_x * sizeof(int32_t));
+
+
+ for (i = 0; i < coord_numb; i++) /* Puis on s'occupe des ordonnees de la meme facon */
+@@ -576,8 +577,8 @@ unsigned *new_coord_numb;
+
+ quicksort(tab, 0, coord_numb - 1);
+ nb_y = simplification(tab, coord_numb);
+- ytab = (long *)malloc(nb_y * sizeof(long));
+- if (ytab == (long *)NULL) {
++ ytab = (int32_t *)malloc(nb_y * sizeof(int32_t));
++ if (ytab == (int32_t *)NULL) {
+ ruterror( RDS_NOT_ENOUGH_MEMORY, "p2d(ytab)");
+ if (bool)
+ free((char *)coordonnees);
+@@ -586,7 +587,7 @@ unsigned *new_coord_numb;
+ EXIT(1);
+ }
+ /* On recopie ces valeurs definitives dans le nouveau tableau */
+- (void)memcpy((char *)ytab, (char *)tab, (int)nb_y * sizeof(long));
++ (void)memcpy((char *)ytab, (char *)tab, (int)nb_y * sizeof(int32_t));
+
+ free((char * )tab);
+
+diff --git a/alliance/src/ring/src/Makefile.am b/alliance/src/ring/src/Makefile.am
+index e630fc7..65e1653 100644
+--- a/alliance/src/ring/src/Makefile.am
++++ b/alliance/src/ring/src/Makefile.am
+@@ -11,7 +11,8 @@ bin_PROGRAMS = ring
+ ring_LDADD = @ALLIANCE_LIBS@ \
+ -L$(top_builddir)/genlib/src \
+ -L$(top_builddir)/mbk/src \
+- -lMgn -lMpu -lMlu -lMlo -lMph -lMut -lRcn
++ -L$(top_builddir)/rds/src \
++ -lMgn -lMpu -lMlu -lMlo -lMph -lMut -lRcn -lRds
+
+ ring_SOURCES = bigvia.c bigvia.h \
+ compress.c compress.h \
+diff --git a/alliance/src/ring/src/param.c b/alliance/src/ring/src/param.c
+index ecd3af1..52589e6 100644
+--- a/alliance/src/ring/src/param.c
++++ b/alliance/src/ring/src/param.c
+@@ -126,11 +126,22 @@ void lecture_param(int nbarg, char** tab, char** nom_circuit_lo,
+ /* arguments de mbk */
+ /* ---------------- */
+
++ rdsenv();
++ loadrdsparam();
++
+ mbkenv(); /* choix de l'utilisateur mis dans des variables UNIX */
+ /* on recupere (long) SCALE_X */
+
+- if (mode_debug)
++ if (mode_debug) {
+ printf("CATALNAME is %s\n", CATAL);
++ printf("WMIN_ALU1 is %ld\n", WMIN_ALU1);
++ printf("WVIA_ALU1 is %ld\n", WVIA_ALU1);
++ printf("WMIN_ALU2 is %ld\n", WMIN_ALU2);
++ printf("WVIA_ALU2 is %ld\n", WVIA_ALU2);
++ printf("DMIN_ALU1_ALU1 is %ld\n", DMIN_ALU1_ALU1);
++ printf("DMIN_ALU2_ALU2 is %ld\n", DMIN_ALU2_ALU2);
++ printf("BV_VIA_VIA is %ld\n", BV_VIA_VIA);
++ }
+
+ if (NULL == (f_catal = mbkfopen(CATAL, NULL, READ_TEXT)))
+ ringerreur(ERR_CATAL, CATAL, NULL);
+diff --git a/alliance/src/ring/src/sesame.c b/alliance/src/ring/src/sesame.c
+index 9b48fc2..7ac61ea 100644
+--- a/alliance/src/ring/src/sesame.c
++++ b/alliance/src/ring/src/sesame.c
+@@ -51,6 +51,13 @@
+
+ void ringerreur(int code, void *pt_liste, void *pt_liste2)
+ {
++ fprintf( stderr, "WMIN_ALU1: %d\n", (int)WMIN_ALU1 );
++ fprintf( stderr, "WMIN_ALU2: %d\n", (int)WMIN_ALU2 );
++ fprintf( stderr, "DMIN_ALU1_ALU1: %d\n", (int)DMIN_ALU1_ALU1 );
++ fprintf( stderr, "DMIN_ALU2_ALU2: %d\n", (int)DMIN_ALU2_ALU2 );
++ fprintf( stderr, "WVIA_ALU1: %d\n", (int)WVIA_ALU1 );
++ fprintf( stderr, "WVIA_ALU2: %d\n", (int)WVIA_ALU2 );
++
+ loins_list * circuit_inst, *liste_inst;
+ locon_list * con_lo;
+ chain_list * liste;
+diff --git a/alliance/src/ring/src/struct.h b/alliance/src/ring/src/struct.h
+index 8b46130..0d54a94 100644
+--- a/alliance/src/ring/src/struct.h
++++ b/alliance/src/ring/src/struct.h
+@@ -77,19 +77,20 @@
+ #define OUEST 2
+ #define EST 3
+ /* Nombres entiers obligatoires ! */
+-#define WMIN_ALU1 2 /* largeur minimum de l'alu1,l'alu2,dist mini alu1<->alu2 */
+-#define WMIN_ALU2 2 /* et largeur du via */
+-#define DMIN_ALU1_ALU1 3 /* dmin en a1 a1 2.5 arrondi a 3 */
+-#define DMIN_ALU2_ALU2 3
+-#define WVIA_ALU1 2 /* largeur du via pour l'alu1 */
+-#define WVIA_ALU2 3 /* largeur du via pour l'alu2 */
++#define WMIN_ALU1 RING_WMIN_ALU1
++#define WMIN_ALU2 RING_WMIN_ALU2
++#define DMIN_ALU1_ALU1 RING_DMIN_ALU1_ALU1
++#define DMIN_ALU2_ALU2 RING_DMIN_ALU2_ALU2
++#define WVIA_ALU1 RING_WVIA_ALU1
+
+-#define EXTENSION_ALU2 1 /* extension alu2 pour fignoler coin couronne */
++#define WVIA_ALU2 RING_WVIA_ALU2 /* largeur du via pour l'alu2 */
+
+-#define BV_VIA_VIA 4 /* must be even, whatever! */
++#define EXTENSION_ALU2 RING_EXTENSION_ALU2 /* pour fignoler coin couronne */
++
++#define BV_VIA_VIA RING_BV_VIA_VIA /* must be even, whatever! */
+ #define BV_VIASIZE WVIA_ALU2 /* design rule for equipotential vias */
+
+-#define WALIM 60 /* largeur prdefinie des alim */
++#define WALIM RING_WALIM /* largeur prdefinie des alim */
+
+ /*#define PISTE_DEP_ALIMPLOT 10 Nombre de piste a considerer pour une deport alim plot */
+ /* code des ringerreurs traitees par ringerreur(code) */
+diff --git a/alliance/src/s2r/doc/s2r.1 b/alliance/src/s2r/doc/s2r.1
+index 8cc9e3c..3287b7a 100644
+--- a/alliance/src/s2r/doc/s2r.1
++++ b/alliance/src/s2r/doc/s2r.1
+@@ -28,7 +28,7 @@ the abutment box lower left corner at coordinate (0,0)
+ The name of cells to be replaced are written in the catalog file with the
+ G attribute, see \fBcatal\fP(5) for details on that file.
+ See also \fBring\fP(1) for more on pads.
+-Ouput can be generated in either cif or gds formats, to fit the manufacturer
++Output can be generated in either cif or gds formats, to fit the manufacturer
+ requirements.
+ .br
+ .LP
+@@ -60,7 +60,7 @@ See \fBMBK_IN_PH\fP(1) for details.
+ .TP
+ MBK_CATA_LIB
+ Sets the directories that are to be searched thru for reading files.
+-The seaching mecanism first look in MBK_WORK_LIB(1)
++The searching mechanism first look in MBK_WORK_LIB(1)
+ MBK_WORK_LIB
+ defines the path where the generated file is saved.
+ Make sure the write permissions are set up correctly, otherwise no save
+@@ -125,7 +125,7 @@ verbose mode on.
+ .RS
+ You should first have a correct execution environment :
+ .br
+-It is recommanded to put it in the ``.cshrc'' file if in c shell, as in the
++It is recommended to put it in the ``.cshrc'' file if in c shell, as in the
+ example below.
+ .RE
+ .br
+@@ -141,7 +141,7 @@ example below.
+ setenv RDS_TECHNO_NAME /labo/etc/prol15.rds
+ setenv RDS_IN gds
+ setenv RDS_OUT gds
+- s2r -c na2_y
++ s2r \-c na2_y
+ .fi
+ .ft R
+ .RS
+diff --git a/alliance/src/s2r/src/main.c b/alliance/src/s2r/src/main.c
+index 8e2d8e0..5dd8c42 100644
+--- a/alliance/src/s2r/src/main.c
++++ b/alliance/src/s2r/src/main.c
+@@ -64,7 +64,7 @@ void Usage (Name)
+ fprintf (stderr, "\t\t to translate to real layout\n");
+ fprintf (stderr, "\tresult\t: result filename of real layout circuit\n");
+ fprintf (stderr, "\t\t source name is used, if result is absent\n\n");
+- fprintf (stderr, "\toptionnal options (any order, any occurence) :\n");
++ fprintf (stderr, "\toptionnal options (any order, any occurrence) :\n");
+ fprintf (stderr, "\t-1\t: only (1) level is translated, all otherwise.\n");
+ fprintf (stderr, "\t-c\t: deletes top-level (c)onnectors, keeps all others\n");
+ fprintf (stderr, "\t-C\t: keeps top-level (c)onnectors, deletes all others\n");
+@@ -196,7 +196,7 @@ int main (argc, argv)
+ }
+
+ /*\
+- * setting environement
++ * setting environment
+ * MBK_CATAL_NAME : file where file name to be replaced are put
+ * MBK_CATA_LIB : where cells, catal file and techno file are
+ * MBK_WORK_LIB : where result file is written or where techno file is
+diff --git a/alliance/src/s2r/src/merge.c b/alliance/src/s2r/src/merge.c
+index 1aa2a0c..ec50e17 100644
+--- a/alliance/src/s2r/src/merge.c
++++ b/alliance/src/s2r/src/merge.c
+@@ -62,7 +62,7 @@ static char *name_transfert (desc1, desc2)
+ return desc2->NAME;
+ /*\
+ * some segments in different chanels made by scr(1) bloc has
+- * different name but are linked together throught cells, s2r
++ * different name but are linked together through cells, s2r
+ * merged then, but can't say it's a error!
+ *
+ * if (desc1->u_rec.name != desc2->u_rec.name)
+diff --git a/alliance/src/s2r/src/rdsacces.h b/alliance/src/s2r/src/rdsacces.h
+index 7f28c9c..d5a0d7c 100644
+--- a/alliance/src/s2r/src/rdsacces.h
++++ b/alliance/src/s2r/src/rdsacces.h
+@@ -64,7 +64,7 @@ typedef rdsrec_list *rds_rectanglep_typ;
+ /*****************************************************************************
+ * Instances :
+ * The coordinates and symetry semantics are the gds & cif 's one, that's
+- * completly different from mbk's
++ * completely different from mbk's
+ *****************************************************************************/
+
+ /* Models */
+diff --git a/alliance/src/s2r/src/rdsx2y.c b/alliance/src/s2r/src/rdsx2y.c
+index 9b632e1..e8c0ff5 100644
+--- a/alliance/src/s2r/src/rdsx2y.c
++++ b/alliance/src/s2r/src/rdsx2y.c
+@@ -76,7 +76,7 @@ main (argc, argv)
+ getarg (argc, argv, &model_name);
+
+ /*\
+- * setting environement
++ * setting environment
+ * MBK_CATAL_NAME : file where file name to be replaced are put
+ * MBK_CATA_LIB : where cells, catal file and techno file are
+ * MBK_WORK_LIB : where result file is written or where techno file is
+diff --git a/alliance/src/s2r/src/statistics.c b/alliance/src/s2r/src/statistics.c
+index b23c288..be86274 100644
+--- a/alliance/src/s2r/src/statistics.c
++++ b/alliance/src/s2r/src/statistics.c
+@@ -54,7 +54,7 @@ extern long mbkalloc_stat; /* memory allocated by mbk */
+ void print_statistics (scotch_on_flag)
+ int scotch_on_flag;
+ {
+- printf ("\to memory allocation informations\n");
++ printf ("\to memory allocation information\n");
+ printf ("\t--> required rectangles = %ld ", STAT_RECT_REQRD);
+ printf (" really allocated = %ld\n", STAT_RECT_ALLOC);
+ if (scotch_on_flag)
+diff --git a/alliance/src/scapin/src/scan_insert.c b/alliance/src/scapin/src/scan_insert.c
+index e812be4..b80e061 100644
+--- a/alliance/src/scapin/src/scan_insert.c
++++ b/alliance/src/scapin/src/scan_insert.c
+@@ -341,7 +341,7 @@ void ScanInsertScanPath( LoFigure, ScanParam, PathParam,
+ }
+
+ /*
+-** Create all usefull hash tables (Instance/Reg/Reg Mux etc)
++** Create all useful hash tables (Instance/Reg/Reg Mux etc)
+ */
+ RegHashTable = createauthtable( 100 );
+
+diff --git a/alliance/src/sea/src/sea.sh b/alliance/src/sea/src/sea.sh
+index 57c2f84..334c5e1 100644
+--- a/alliance/src/sea/src/sea.sh
++++ b/alliance/src/sea/src/sea.sh
+@@ -387,7 +387,7 @@
+ ALLIANCE_TOP="/users/cao/jpc/alliance/Solaris"
+
+ echo "WARNING:"
+- echo "WARNING: You are using the developement version."
++ echo "WARNING: You are using the development version."
+ echo "WARNING: Resetting \$ALLIANCE_TOP to \"$ALLIANCE_TOP\"."
+ echo "WARNING:"
+ echo ""
+diff --git a/alliance/src/sea/src/util_MBK.c b/alliance/src/sea/src/util_MBK.c
+index 7526d87..6402d16 100644
+--- a/alliance/src/sea/src/util_MBK.c
++++ b/alliance/src/sea/src/util_MBK.c
+@@ -1151,7 +1151,7 @@ extern void splitPowerNet(apLoFig, asPower)
+
+ if (powerType == C_POWER_UNKNOWN) {
+ eprinth((char*)NULL);
+- eprintf("\n Only \"vdd\" and \"vss\" can be splitted (%s).\n", asPower);
++ eprintf("\n Only \"vdd\" and \"vss\" can be split (%s).\n", asPower);
+ EXIT (1);
+ }
+
+@@ -1160,7 +1160,7 @@ extern void splitPowerNet(apLoFig, asPower)
+ pSigPower = addlosig(apLoFig, NEWSIGINDEX, pChain, INTERNAL);
+
+
+- /* Find the power net to be splitted. */
++ /* Find the power net to be split. */
+ for(pSig = apLoFig->LOSIG; pSig != (losig_list*)NULL; pSig = pSig->NEXT)
+ if (cmpSigName(pSig, sPOW)) break;
+
+@@ -1383,7 +1383,7 @@ extern loins_list *addloins_noSig(apFig, asIns, apModel)
+ pInsCon->NAME = pCon->NAME;
+ pInsCon->DIRECTION = pCon->DIRECTION;
+ pInsCon->TYPE = 'I';
+- /* We do not known the signals for the time beeing. */
++ /* We do not known the signals for the time being. */
+ pInsCon->SIG = NULL;
+ pInsCon->ROOT = (void *)pIns;
+ pInsCon->USER = NULL;
+diff --git a/alliance/src/syf/src/syf_env.c b/alliance/src/syf/src/syf_env.c
+index d7976d4..68c01a8 100644
+--- a/alliance/src/syf/src/syf_env.c
++++ b/alliance/src/syf/src/syf_env.c
+@@ -155,7 +155,7 @@ void SyfEnv( Trace )
+
+ if ( Trace )
+ {
+- fprintf( stdout, "\t\t--> Bdd environement\n\n" );
++ fprintf( stdout, "\t\t--> Bdd environment\n\n" );
+ fprintf( stdout, "\t\t\tSYF_BDD_VAR_NODE : %ld\n", SYF_BDD_VAR_NODE );
+ fprintf( stdout, "\t\t\tSYF_BDD_MAX_NODE : %ld\n", SYF_BDD_MAX_NODE );
+ fprintf( stdout, "\t\t\tSYF_BDD_OPER_NODE : %ld\n", SYF_BDD_OPER_NODE );
+@@ -163,7 +163,7 @@ void SyfEnv( Trace )
+ fprintf( stdout, "\t\t\tSYF_BDD_REORDER_RATIO : %ld\n", SYF_BDD_REORDER_RATIO );
+ fprintf( stdout, "\t\t\tSYF_BDD_REORDER_FUNC : %c\n", ReorderFunc );
+
+- fprintf( stdout, "\n\t\t--> Mustang and Jedi environement\n\n" );
++ fprintf( stdout, "\n\t\t--> Mustang and Jedi environment\n\n" );
+ fprintf( stdout, "\t\t\tSYF_MUSTANG_JEDI_ATOM : %d\n", SYF_MUSTANG_JEDI_ATOM );
+ fprintf( stdout, "\n" );
+ }
+diff --git a/alliance/src/vasy/man1/vasy.1 b/alliance/src/vasy/man1/vasy.1
+index bfba804..8b644f3 100644
+--- a/alliance/src/vasy/man1/vasy.1
++++ b/alliance/src/vasy/man1/vasy.1
+@@ -72,7 +72,7 @@ The leaves cells are defined by a file called CATAL (see catal(5) for details).
+ Authorizes to overwrite existing files.
+ .TP 10
+ \f4\-p\fP
+-Adds power supply connectors (vdd and vss). Usefull option to enter in Alliance.
++Adds power supply connectors (vdd and vss). Useful option to enter in Alliance.
+ .TP 10
+ \f4\-C num\fP
+ When the size of the adder is greater or equal to \fBnum\fP a Carry Look Ahead
+diff --git a/alliance/src/vasy/man5/vasy.5 b/alliance/src/vasy/man5/vasy.5
+index 4b1a380..a0a9998 100644
+--- a/alliance/src/vasy/man5/vasy.5
++++ b/alliance/src/vasy/man5/vasy.5
+@@ -41,13 +41,13 @@ variable assignment are supported.
+ .PP
+ \fBTYPE\fP
+ .br
+-All types usefull for synthesis are accepted (IEEE-1164 and IEEE-1076.3), and
++All types useful for synthesis are accepted (IEEE-1164 and IEEE-1076.3), and
+ all types defined in the VHDL Alliance subset (see vbe(5) for more details).
+
+ .PP
+ \fBOPERATORS\fP
+ .br
+-All operators usefull for synthesis are accepted, such as arithmetic, logical and relationnal operators (IEEE-1164 and IEEE-1076.3), and those defined in the VHDL Alliance subset
++All operators useful for synthesis are accepted, such as arithmetic, logical and relationnal operators (IEEE-1164 and IEEE-1076.3), and those defined in the VHDL Alliance subset
+ (see vbe(5) for more details).
+
+ .PP
+diff --git a/alliance/src/vasy/src/vasy_drvalc.c b/alliance/src/vasy/src/vasy_drvalc.c
+index 8def963..eb2abb6 100644
+--- a/alliance/src/vasy/src/vasy_drvalc.c
++++ b/alliance/src/vasy/src/vasy_drvalc.c
+@@ -1596,7 +1596,7 @@ static void VasyDriveAllianceTreatDeclar( RtlFigure )
+ else
+ {
+ #if 1 /** Francois Donnet: 16/01/2003: do not initialize by default
+- *** because someone else could do it in an upper hierachy.
++ *** because someone else could do it in an upper hierarchy.
+ *** It's better not to correct description and to let user
+ *** with it's own error than to build some...
+ **/
+@@ -2842,7 +2842,7 @@ void VasyDriveAllianceRtlFig( RtlFigure, FileName )
+ }
+ else
+ {
+- VasyPrintf( stdout, "ERROR unable to open file %s.vbe for writting\n",
++ VasyPrintf( stdout, "ERROR unable to open file %s.vbe for writing\n",
+ RtlFigureVbe->NAME );
+ autexit( 1 );
+ }
+@@ -2873,7 +2873,7 @@ void VasyDriveAllianceRtlFig( RtlFigure, FileName )
+
+ if ( VasyLaxFile == (FILE *)0 )
+ {
+- VasyPrintf( stdout, "ERROR unable to open file %s.lax for writting\n",
++ VasyPrintf( stdout, "ERROR unable to open file %s.lax for writing\n",
+ RtlFigureVbe->NAME );
+ autexit( 1 );
+ }
+@@ -2912,7 +2912,7 @@ void VasyDriveAllianceRtlFig( RtlFigure, FileName )
+
+ if ( VasyBoomFile == (FILE *)0 )
+ {
+- VasyPrintf( stdout, "ERROR unable to open file %s.boom for writting\n",
++ VasyPrintf( stdout, "ERROR unable to open file %s.boom for writing\n",
+ RtlFigureVbe->NAME );
+ autexit( 1 );
+ }
+@@ -2965,7 +2965,7 @@ void VasyDriveAllianceRtlFig( RtlFigure, FileName )
+ }
+ else
+ {
+- VasyPrintf( stdout, "ERROR unable to open file %s.vst for writting\n",
++ VasyPrintf( stdout, "ERROR unable to open file %s.vst for writing\n",
+ RtlFigureVst->NAME );
+ autexit( 1 );
+ }
+diff --git a/alliance/src/vasy/src/vasy_onewait.c b/alliance/src/vasy/src/vasy_onewait.c
+index 387f1bf..dfd5b92 100644
+--- a/alliance/src/vasy/src/vasy_onewait.c
++++ b/alliance/src/vasy/src/vasy_onewait.c
+@@ -1000,7 +1000,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+
+ freechain( SupportBdd );
+ /*
+-** Search all asynchronous informations
++** Search all asynchronous information
+ */
+ BddNode = applybddnode( (bddsystem *)0, ABL_AND, BddCAsync, BddFAsync );
+ decbddrefext( BddNode );
+@@ -1028,7 +1028,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+
+ BddDataAsync = BddNode;
+ /*
+-** Verify the correctness of asynchronous informations
++** Verify the correctness of asynchronous information
+ */
+ BddNode = applybddnode( (bddsystem *)0, ABL_AND, BddCWriteAsync, BddDataAsync );
+ decbddrefext( BddNode );
+@@ -1069,7 +1069,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+ BddDataAsync = incbddrefext( BddData );
+ }
+ /*
+-** Add asynchronous informations to symbol
++** Add asynchronous information to symbol
+ */
+ {
+ if ( BddCSetAsync != BddSystem->ZERO )
+@@ -1149,7 +1149,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+ decbddrefext( BddCWriteAsync );
+ decbddrefext( BddDataAsync );
+ /*
+-** Search all synchronous informations
++** Search all synchronous information
+ */
+ if ( EventSymbol != (vpnsym *)0 )
+ {
+@@ -1246,7 +1246,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+
+ freechain( SupportBdd );
+ /*
+-** Search all synchronous informations
++** Search all synchronous information
+ */
+ BddNode = applybddnode( (bddsystem *)0, ABL_AND, BddCSync, BddFSync );
+ decbddrefext( BddNode );
+@@ -1305,7 +1305,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+ BddDataSync = incbddrefext( BddFSync );
+ }
+ /*
+-** Verify the correctness of synchronous informations
++** Verify the correctness of synchronous information
+ */
+ BddNode = applybddnode( (bddsystem *)0, ABL_AND, BddCWriteSync, BddDataSync );
+ decbddrefext( BddNode );
+@@ -1319,7 +1319,7 @@ static void VasyOneWaitAssignVpnSymbol( VpnFigure, VpnProc , VpnTrans,
+ VasyPrintf( stdout, "Illegal synchronous conditions %s\n", AsgSymbol->NAME );
+ }
+ /*
+-** Add synchronous informations to symbol
++** Add synchronous information to symbol
+ */
+ if ( BddCEdge != BddSystem->ZERO )
+ {
+diff --git a/alliance/src/vasy/src/vasy_redinst.c b/alliance/src/vasy/src/vasy_redinst.c
+index 8e7619b..3d5a283 100644
+--- a/alliance/src/vasy/src/vasy_redinst.c
++++ b/alliance/src/vasy/src/vasy_redinst.c
+@@ -538,7 +538,7 @@ static void VasyRedInstLateralVpnAct( BeginPlace )
+ AsgSymbol = getvpnsymdecl( AsgDeclar, AsgIndex );
+ Element = searchauth2elem( VasyHash2BitVecAsg, (char*)VpnTrans2, (char*)AsgSymbol );
+ /*
+-** Assign to symbol V appears in transistion VpnTrans2 !
++** Assign to symbol V appears in transition VpnTrans2 !
+ */
+ if ( Element != (auth2elem *)0 )
+ {
+@@ -844,7 +844,7 @@ static int VasyRedInstLateral( BeginPlace, EndPlace, KeepGuard )
+ VasyHash2BitVecAsg = createauth2table( 100 );
+ }
+ /*
+-** Make only disjunct assigment for all ASGi in Ti
++** Make only disjunct assignment for all ASGi in Ti
+ */
+ VasyRedInstLateralVpnAct( BeginPlace );
+ /*
+@@ -1905,7 +1905,7 @@ void VasyRedInstVpnProc( VpnFigure, VpnProc )
+ }
+
+ /*
+-** Only one assigment to each symbols for all actions
++** Only one assignment to each symbols for all actions
+ */
+ for ( ScanTrans = VpnProc->TRANS;
+ ScanTrans != (vpntrans_list *)0;
+diff --git a/alliance/src/vasy/src/vasy_simul.c b/alliance/src/vasy/src/vasy_simul.c
+index 5fe47b5..9dc1b37 100644
+--- a/alliance/src/vasy/src/vasy_simul.c
++++ b/alliance/src/vasy/src/vasy_simul.c
+@@ -1472,7 +1472,7 @@ static vexexpr *VasySimulateGetVpnActAtom( VpnFigure, VpnAction )
+
+ if ( ! IsVexNodeOper( VexExpr ) )
+ {
+- VasyErrorLine( VASY_ERROR_IN_SIMULATION, VpnAction->LINE, "bad assigment" );
++ VasyErrorLine( VASY_ERROR_IN_SIMULATION, VpnAction->LINE, "bad assignment" );
+ }
+
+ Oper = GetVexOperValue( VexExpr );
+@@ -1481,7 +1481,7 @@ static vexexpr *VasySimulateGetVpnActAtom( VpnFigure, VpnAction )
+ ( Oper != VEX_DOWNTO ) &&
+ ( Oper != VEX_TO ) )
+ {
+- VasyErrorLine( VASY_ERROR_IN_SIMULATION, VpnAction->LINE, "bad assigment" );
++ VasyErrorLine( VASY_ERROR_IN_SIMULATION, VpnAction->LINE, "bad assignment" );
+ }
+
+ VasyFigure = VpnFigure;
+diff --git a/alliance/src/vasy/src/vasy_support.c b/alliance/src/vasy/src/vasy_support.c
+index d80ea4c..b3002b4 100644
+--- a/alliance/src/vasy/src/vasy_support.c
++++ b/alliance/src/vasy/src/vasy_support.c
+@@ -1773,7 +1773,7 @@ void VasySupportVpnTrans( VpnFigure, VpnProc, VpnTrans, CheckVar )
+ }
+ }
+ /*
+-** Verify that no previous signal or variable assigment use this variable !
++** Verify that no previous signal or variable assignment use this variable !
+ */
+ for ( VpnAction2 = VpnTrans->ACT;
+ VpnAction2 != (vpnact_list *)0;
+diff --git a/alliance/src/vbh/src/vhdl.yac b/alliance/src/vbh/src/vhdl.yac
+index e76aa73..7c70c2d 100644
+--- a/alliance/src/vbh/src/vhdl.yac
++++ b/alliance/src/vbh/src/vhdl.yac
+@@ -1294,7 +1294,7 @@ element_declaration
+ ;
+
+ /*
+-** identifier_list is used consistantly in definitions of new Identifiers,
++** identifier_list is used consistently in definitions of new Identifiers,
+ ** with one exception--IMPORT_DIRECTIVE. The IMPORT_DIRECTIVE expects to
+ ** find all Identifiers declared at the local scope and it is an error if
+ ** they are not. In all other cases, it is an error to have two Identifiers
+diff --git a/alliance/src/xpat/man1/xpat.1 b/alliance/src/xpat/man1/xpat.1
+index da44a8b..d8f8e8f 100644
+--- a/alliance/src/xpat/man1/xpat.1
++++ b/alliance/src/xpat/man1/xpat.1
+@@ -79,7 +79,7 @@ Switch to a private color map.
+ .B MBK_WORK_LIB
+ indicates the path to the read directory for the session.
+ .TP
+-.B XPAT_PARAM_NAME (optionnal)
++.B XPAT_PARAM_NAME (optional)
+ indicates the path to the parameter file used by Xpat.
+ .TP
+
+diff --git a/alliance/src/xsch/man1/xsch.1 b/alliance/src/xsch/man1/xsch.1
+index d355519..0724036 100644
+--- a/alliance/src/xsch/man1/xsch.1
++++ b/alliance/src/xsch/man1/xsch.1
+@@ -123,7 +123,7 @@ indicates the path to the read directory for the session.
+ .B MBK_IN_LO
+ indicates the file format to be used.
+ .TP
+-.B XSCH_PARAM_NAME (optionnal)
++.B XSCH_PARAM_NAME (optional)
+ indicates the path to the parameter file used by Xsch.
+ .TP
+
diff --git a/0001-Remove-stray-files.patch b/0001-Remove-stray-files.patch
new file mode 100644
index 0000000..20eeef7
--- /dev/null
+++ b/0001-Remove-stray-files.patch
@@ -0,0 +1,1475 @@
+From fad51c8b32248c47cee6ed5ace1620551ed382aa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Sun, 28 Feb 2016 13:12:16 +0100
+Subject: [PATCH 01/10] Remove stray files.
+
+---
+ alliance/src/elp/src/Makefile | 719 --------------------------------------
+ alliance/src/genpat/src/Makefile | 729 ---------------------------------------
+ 2 files changed, 1448 deletions(-)
+ delete mode 100644 alliance/src/elp/src/Makefile
+ delete mode 100644 alliance/src/genpat/src/Makefile
+
+diff --git a/alliance/src/elp/src/Makefile b/alliance/src/elp/src/Makefile
+deleted file mode 100644
+index 79ed72d..0000000
+--- a/alliance/src/elp/src/Makefile
++++ /dev/null
+@@ -1,719 +0,0 @@
+-# Makefile.in generated by automake 1.8.5 from Makefile.am.
+-# elp/src/Makefile. Generated from Makefile.in by configure.
+-
+-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004 Free Software Foundation, Inc.
+-# This Makefile.in is free software; the Free Software Foundation
+-# gives unlimited permission to copy and/or distribute it,
+-# with or without modifications, as long as this notice is preserved.
+-
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+-# PARTICULAR PURPOSE.
+-
+-
+-
+-
+-SOURCES = $(libElp_la_SOURCES)
+-
+-srcdir = .
+-top_srcdir = ../..
+-
+-pkgdatadir = $(datadir)/alliance
+-pkglibdir = $(libdir)/alliance
+-pkgincludedir = $(includedir)/alliance
+-top_builddir = ../..
+-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = /usr/bin/install -c
+-install_sh_DATA = $(install_sh) -c -m 644
+-install_sh_PROGRAM = $(install_sh) -c
+-install_sh_SCRIPT = $(install_sh) -c
+-INSTALL_HEADER = $(INSTALL_DATA)
+-transform = $(program_transform_name)
+-NORMAL_INSTALL = :
+-PRE_INSTALL = :
+-POST_INSTALL = :
+-NORMAL_UNINSTALL = :
+-PRE_UNINSTALL = :
+-POST_UNINSTALL = :
+-host_triplet = i686-pc-linux-gnu
+-subdir = elp/src
+-DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in elp_l.c elp_y.c
+-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/./alliance.m4 \
+- $(top_srcdir)/./motif.m4 $(top_srcdir)/./xpm.m4 \
+- $(top_srcdir)/configure.in
+-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+- $(ACLOCAL_M4)
+-mkinstalldirs = $(mkdir_p)
+-CONFIG_CLEAN_FILES =
+-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
+-libLTLIBRARIES_INSTALL = $(INSTALL)
+-LTLIBRARIES = $(lib_LTLIBRARIES)
+-libElp_la_LIBADD =
+-am_libElp_la_OBJECTS = elp_y.lo elp_l.lo elp.lo elperror.lo
+-libElp_la_OBJECTS = $(am_libElp_la_OBJECTS)
+-DEFAULT_INCLUDES = -I. -I$(srcdir)
+-depcomp = $(SHELL) $(top_srcdir)/depcomp
+-am__depfiles_maybe = depfiles
+-DEP_FILES = ./$(DEPDIR)/elp.Plo ./$(DEPDIR)/elp_l.Plo \
+- ./$(DEPDIR)/elp_y.Plo ./$(DEPDIR)/elperror.Plo
+-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+-CCLD = $(CC)
+-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
+-LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
+-YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
+-LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \
+- $(AM_YFLAGS)
+-SOURCES = $(libElp_la_SOURCES)
+-DIST_SOURCES = $(libElp_la_SOURCES)
+-includeHEADERS_INSTALL = $(INSTALL_HEADER)
+-HEADERS = $(include_HEADERS)
+-ETAGS = etags
+-CTAGS = ctags
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-ABE_DLL_VERSION = 2:1:0
+-ABL_DLL_VERSION = 1:3:0
+-ABT_DLL_VERSION = 2:1:0
+-ABV_DLL_VERSION = 2:1:0
+-ACLOCAL = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run aclocal-1.8
+-ALCBANNER_MAJOR_VERSION = 1
+-ALCBANNER_MINOR_VERSION = 1
+-ALCBANNER_VERSION = 1.1
+-ALLIANCE_BUILD_FALSE = #
+-ALLIANCE_BUILD_TRUE =
+-ALLIANCE_CFLAGS = -I/users/outil/alliance/Linux.FC2/include
+-ALLIANCE_LIBS = -L/users/outil/alliance/Linux.FC2/lib
+-ALLIANCE_TOP = /users/outil/alliance/Linux.FC2
+-AMDEP_FALSE = #
+-AMDEP_TRUE =
+-AMTAR = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run tar
+-AR = ar
+-ATTILA_MAJOR_VERSION = 0
+-ATTILA_MINOR_VERSION = 1
+-ATTILA_VERSION = 0.1
+-AUTOCONF = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run autoconf
+-AUTOHEADER = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run autoheader
+-AUTOMAKE = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run automake-1.8
+-AUT_DLL_VERSION = 1:3:0
+-AWK = gawk
+-B2F_MAJOR_VERSION = 1
+-B2F_MINOR_VERSION = 2
+-B2F_VERSION = 1.2
+-BDD_DLL_VERSION = 1:5:0
+-BEH_DLL_VERSION = 1:11:0
+-BHL_DLL_VERSION = 1:11:0
+-BOOG_MAJOR_VERSION = 1
+-BOOG_MINOR_VERSION = 7
+-BOOG_VERSION = 1.7
+-BOOM_MAJOR_VERSION = 1
+-BOOM_MINOR_VERSION = 2
+-BOOM_VERSION = 1.2
+-BTR_DLL_VERSION = 1:3:0
+-BVL_DLL_VERSION = 1:14:0
+-CC = gcc
+-CCDEPMODE = depmode=gcc3
+-CFLAGS = -I/users/outil/alliance/Linux.FC2/include -g -O2
+-CPP = gcc -E
+-CPPFLAGS =
+-CST_DLL_VERSION = 3:2:0
+-CTL_DLL_VERSION = 1:1:0
+-CTP_DLL_VERSION = 1:1:0
+-CXX = g++
+-CXXCPP = g++ -E
+-CXXDEPMODE = depmode=gcc3
+-CXXFLAGS = -g -O2
+-CYGPATH_W = echo
+-DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"alliance\" -DVERSION=\"5.0\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FCNTL_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRINGS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIBIBERTY=1 -DHAVE_LIBM=1 -DHAVE_LIBM=1 -DHAVE_LIBM=1 -DHAVE_LIBM=1 -DHAVE_UNISTD_H=1 -DHAVE_FORK=1 -DHAVE_VFORK=1 -DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DRETSIGTYPE=void -DHAVE_MOTIF=1 -DHAVE_XPM=1 -DHAVE_XPM=1 -DHAVE_X11_XPM_H=1 -DHAVE_XP=1 -DHAVE_MOTIF=1 -DHAVE_XMUSEVERSION=1 -DHAVE_XMINSTALLIMAGE=1 -DALLIANCE_VERSION=\"5.0\" -DALLIANCE_TOP=\"/users/outil/alliance/Linux.FC2\" -DHAVE_LIBIBERTY=1
+-DEPDIR = .deps
+-DOC_MAJOR_VERSION = 1
+-DOC_MINOR_VERSION = 0
+-DOC_VERSION = 1.0
+-DREAL_MAJOR_VERSION = 1
+-DREAL_MINOR_VERSION = 14
+-DREAL_VERSION = 1.14
+-ECHO = echo
+-ECHO_C =
+-ECHO_N = -n
+-ECHO_T =
+-EGREP = grep -E
+-ELP_DLL_VERSION = 1:5:0
+-EMULBS_MAJOR_VERSION = 3
+-EMULBS_MINOR_VERSION = 2
+-EMULBS_VERSION = 3.2
+-EXEEXT =
+-EXP_MAJOR_VERSION = 1
+-EXP_MINOR_VERSION = 0
+-EXP_VERSION = 1.0
+-F77 = g77
+-FFLAGS = -g -O2
+-FKS_DLL_VERSION = 1:4:0
+-FLATBEH_MAJOR_VERSION = 1
+-FLATBEH_MINOR_VERSION = 1
+-FLATBEH_VERSION = 1.1
+-FMI_MAJOR_VERSION = 1
+-FMI_MINOR_VERSION = 1
+-FMI_VERSION = 1.1
+-FSM_DLL_VERSION = 1:4:0
+-FSP_MAJOR_VERSION = 1
+-FSP_MINOR_VERSION = 1
+-FSP_VERSION = 1.1
+-FTL_DLL_VERSION = 1:4:0
+-FVH_DLL_VERSION = 1:4:0
+-GRAAL_MAJOR_VERSION = 1
+-GRAAL_MINOR_VERSION = 27
+-GRAAL_VERSION = 1.27
+-GROWSTK_MAJOR_VERSION = 1
+-GROWSTK_MINOR_VERSION = 5
+-GROWSTK_VERSION = 1.5
+-INCLUDE_MOTIF =
+-INSTALL_DATA = ${INSTALL} -m 664
+-INSTALL_PROGRAM = ${INSTALL} -m 775
+-INSTALL_SCRIPT = ${INSTALL}
+-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+-K2F_MAJOR_VERSION = 1
+-K2F_MINOR_VERSION = 1
+-K2F_VERSION = 1.1
+-L2P_MAJOR_VERSION = 1
+-L2P_MINOR_VERSION = 12
+-L2P_VERSION = 1.12
+-LDFLAGS = -static -L/users/outil/alliance/Linux.FC2/lib
+-LEX = flex
+-LEXLIB = -lfl
+-LEX_OUTPUT_ROOT = lex.yy
+-LIBOBJS =
+-LIBS = -liberty -lm -lm -lm -lm -liberty
+-LIBTOOL = $(SHELL) $(top_builddir)/libtool
+-LINK_MOTIF = -lXm
+-LINK_XPM = -lXpm
+-LN_S = ln -s
+-LOG_DLL_VERSION = 2:1:0
+-LOON_MAJOR_VERSION = 1
+-LOON_MINOR_VERSION = 7
+-LOON_VERSION = 1.7
+-LTLIBOBJS =
+-LVX_MAJOR_VERSION = 1
+-LVX_MINOR_VERSION = 2
+-LVX_VERSION = 1.2
+-LYNX_MAJOR_VERSION = 1
+-LYNX_MINOR_VERSION = 21
+-LYNX_VERSION = 1.21
+-M2E_MAJOR_VERSION = 1
+-M2E_MINOR_VERSION = 0
+-M2E_VERSION = 1.0
+-MAKEINFO = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run makeinfo
+-MAL_DLL_VERSION = 6:0:0
+-MAP_DLL_VERSION = 6:0:0
+-MBK_CUR = 4
+-MBK_DLL_VERSION = 4:2:0
+-MBK_REL = 0
+-MBK_REV = 2
+-MBK_VERSION = 4.2
+-MCL_DLL_VERSION = 4:9:0
+-MCP_DLL_VERSION = 4:9:0
+-MEL_DLL_VERSION = 4:9:0
+-MGL_DLL_VERSION = 0:8:0
+-MGN_DLL_VERSION = 3:3:0
+-MHL_DLL_VERSION = 2:1:0
+-MIPS_ASM_MAJOR_VERSION = 1
+-MIPS_ASM_MINOR_VERSION = 0
+-MIPS_ASM_VERSION = 1.0
+-MMG_DLL_VERSION = 1:0:0
+-MOCHA_MAJOR_VERSION = 1
+-MOCHA_MINOR_VERSION = 1
+-MOCHA_VERSION = 1.1
+-MSL_DLL_VERSION = 7:0:0
+-MVG_DLL_VERSION = 4:1:0
+-MVL_DLL_VERSION = 4:1:0
+-NERO_MAJOR_VERSION = 1
+-NERO_MINOR_VERSION = 0
+-NERO_VERSION = 1.0
+-OBJEXT = o
+-OCP_MAJOR_VERSION = 1
+-OCP_MINOR_VERSION = 0
+-OCP_VERSION = 1.0
+-OCR_MAJOR_VERSION = 1
+-OCR_MINOR_VERSION = 0
+-OCR_VERSION = 1.0
+-PACKAGE = alliance
+-PACKAGE_BUGREPORT =
+-PACKAGE_NAME =
+-PACKAGE_STRING =
+-PACKAGE_TARNAME =
+-PACKAGE_VERSION =
+-PAT2SPI_MAJOR_VERSION = 1
+-PAT2SPI_MINOR_VERSION = 1
+-PAT2SPI_VERSION = 1.1
+-PATH_SEPARATOR = :
+-PAT_DLL_VERSION = 1:9:0
+-PCBS_MAJOR_VERSION = 2
+-PCBS_MINOR_VERSION = 1
+-PCBS_VERSION = 2.1
+-PGN_DLL_VERSION = 3:3:0
+-PHL_DLL_VERSION = 1:9:0
+-PPT_DLL_VERSION = 1:9:0
+-PROOF_MAJOR_VERSION = 4
+-PROOF_MINOR_VERSION = 9
+-PROOF_VERSION = 4.9
+-RANLIB = ranlib
+-RCF_DLL_VERSION = 2:1:0
+-RDS_DLL_VERSION = 2:1:0
+-RFM_DLL_VERSION = 2:1:0
+-RGS_DLL_VERSION = 2:1:0
+-RING_MAJOR_VERSION = 3
+-RING_MINOR_VERSION = 0
+-RING_VERSION = 3.0
+-RPR_DLL_VERSION = 2:1:0
+-RTD_DLL_VERSION = 1:1:0
+-RTL_DLL_VERSION = 2:1:0
+-RTN_DLL_VERSION = 1:1:0
+-RUT_DLL_VERSION = 2:1:0
+-RWI_DLL_VERSION = 2:1:0
+-S2R_MAJOR_VERSION = 4
+-S2R_MINOR_VERSION = 4
+-S2R_VERSION = 4.4
+-SCAPIN_MAJOR_VERSION = 1
+-SCAPIN_MINOR_VERSION = 1
+-SCAPIN_VERSION = 1.1
+-SCH_DLL_VERSION = 3:2:0
+-SCL_DLL_VERSION = 1:5:0
+-SEA_MAJOR_VERSION = 1
+-SEA_MINOR_VERSION = 0
+-SEA_VERSION = 1.0
+-SED = /bin/sed
+-SET_MAKE =
+-SHELL = /bin/sh
+-STRIP = strip
+-SYF_MAJOR_VERSION = 3
+-SYF_MINOR_VERSION = 6
+-SYF_VERSION = 3.6
+-TOOLSDIRS = mbk mbkal mbkap mbkedif mbkhilo mbkmg mbkspice mbkvhdl mbkvrlog mbkvti mbkvhdlg aut rds rdscif rdsgds elp abl bdd log btr vex ctl ctp abe abt abv fsm fks fvh ftl rtn rtd scl vbh vbl vpn vpd vvh vtl pat ppt phl gcp druc beh bhl bvl alcban asimut attila b2f boog boom cells distrib dreal exp flatbeh flatlo flatph fmi fsp genlib genpat graal k2f l2p loon lvx lynx m2e mips_asm mocha nero ocp pat2spi proof ring s2r scapin sea syf vasy vst2xnf x2y xfsm xpat xsch xvpn documentation
+-VASY_MAJOR_VERSION = 1
+-VASY_MINOR_VERSION = 5
+-VASY_VERSION = 1.5
+-VBH_DLL_VERSION = 1:4:0
+-VBL_DLL_VERSION = 1:4:0
+-VERSION = 5.0
+-VEX_DLL_VERSION = 1:3:0
+-VPD_DLL_VERSION = 1:5:0
+-VPN_DLL_VERSION = 1:5:0
+-VRD_DLL_VERSION = 3:4:0
+-VST2XNF_MAJOR_VERSION = 1
+-VST2XNF_MINOR_VERSION = 0
+-VST2XNF_VERSION = 1.0
+-VTL_DLL_VERSION = 1:5:0
+-VVH_DLL_VERSION = 1:5:0
+-X11_LIBS = -lX11
+-XEXT_LIBS = -lXext
+-XFSM_MAJOR_VERSION = 1
+-XFSM_MINOR_VERSION = 4
+-XFSM_VERSION = 1.4
+-XM_LIBS = -lXm
+-XPAT_MAJOR_VERSION = 1
+-XPAT_MINOR_VERSION = 4
+-XPAT_VERSION = 1.4
+-XPM_LIBS = -lXpm
+-XP_LIBS = -lXp
+-XSCH_MAJOR_VERSION = 1
+-XSCH_MINOR_VERSION = 4
+-XSCH_VERSION = 1.4
+-XT_LIBS = -lXt
+-XVPN_MAJOR_VERSION = 1
+-XVPN_MINOR_VERSION = 5
+-XVPN_VERSION = 1.5
+-X_CFLAGS = -I/usr/X11R6/include
+-X_EXTRA_LIBS =
+-X_LIBS = -L/usr/X11R6/lib
+-X_PRE_LIBS = -lSM -lICE
+-YACC = bison -y
+-ac_ct_AR = ar
+-ac_ct_CC = gcc
+-ac_ct_CXX = g++
+-ac_ct_F77 = g77
+-ac_ct_RANLIB = ranlib
+-ac_ct_STRIP = strip
+-am__fastdepCC_FALSE = #
+-am__fastdepCC_TRUE =
+-am__fastdepCXX_FALSE = #
+-am__fastdepCXX_TRUE =
+-am__include = include
+-am__leading_dot = .
+-am__quote =
+-bindir = ${exec_prefix}/bin
+-build = i686-pc-linux-gnu
+-build_alias =
+-build_cpu = i686
+-build_os = linux-gnu
+-build_vendor = pc
+-datadir = ${prefix}/share
+-exec_prefix = ${prefix}
+-host = i686-pc-linux-gnu
+-host_alias =
+-host_cpu = i686
+-host_os = linux-gnu
+-host_vendor = pc
+-includedir = ${prefix}/include
+-infodir = ${prefix}/info
+-install_sh = /dsk/l1/misc/hcl/alliance/src/install-sh
+-libdir = ${exec_prefix}/lib
+-libexecdir = ${exec_prefix}/libexec
+-localstatedir = ${prefix}/var
+-mandir = ${prefix}/man
+-mkdir_p = mkdir -p -- .
+-oldincludedir = /usr/include
+-prefix = /dsk/l1/misc/hcl/altest
+-program_transform_name = s,x,x,
+-sbindir = ${exec_prefix}/sbin
+-sharedstatedir = ${prefix}/com
+-sysconfdir = ${prefix}/etc
+-target_alias =
+-AM_CFLAGS = -DTECHNOLOGY=\"etc/prol.elp\" -I$(top_srcdir)/mbk/src
+-lib_LTLIBRARIES = libElp.la
+-include_HEADERS = elp.h
+-libElp_la_SOURCES = elp_y.y elp_l.l \
+-elp.c elperror.c elp.h
+-
+-libElp_la_LDFLAGS = -version-info 1:5:0
+-CLEANFILES = elp_y.c elp_y.h elp_l.c
+-all: all-am
+-
+-.SUFFIXES:
+-.SUFFIXES: .c .l .lo .o .obj .y
+-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+- @for dep in $?; do \
+- case '$(am__configure_deps)' in \
+- *$$dep*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+- && exit 0; \
+- exit 1;; \
+- esac; \
+- done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign elp/src/Makefile'; \
+- cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign elp/src/Makefile
+-.PRECIOUS: Makefile
+-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+- @case '$?' in \
+- *config.status*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+- *) \
+- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+- esac;
+-
+-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-
+-$(top_srcdir)/configure: $(am__configure_deps)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+- @$(NORMAL_INSTALL)
+- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+- if test -f $$p; then \
+- f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+- else :; fi; \
+- done
+-
+-uninstall-libLTLIBRARIES:
+- @$(NORMAL_UNINSTALL)
+- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+- p="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+- done
+-
+-clean-libLTLIBRARIES:
+- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+- test "$$dir" != "$$p" || dir=.; \
+- echo "rm -f \"$${dir}/so_locations\""; \
+- rm -f "$${dir}/so_locations"; \
+- done
+-libElp.la: $(libElp_la_OBJECTS) $(libElp_la_DEPENDENCIES)
+- $(LINK) -rpath $(libdir) $(libElp_la_LDFLAGS) $(libElp_la_OBJECTS) $(libElp_la_LIBADD) $(LIBS)
+-
+-mostlyclean-compile:
+- -rm -f *.$(OBJEXT)
+-
+-distclean-compile:
+- -rm -f *.tab.c
+-
+-include ./$(DEPDIR)/elp.Plo
+-include ./$(DEPDIR)/elp_l.Plo
+-include ./$(DEPDIR)/elp_y.Plo
+-include ./$(DEPDIR)/elperror.Plo
+-
+-.c.o:
+- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-# source='$<' object='$@' libtool=no \
+-# depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
+-# $(CCDEPMODE) $(depcomp) \
+-# $(COMPILE) -c $<
+-
+-.c.obj:
+- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-# source='$<' object='$@' libtool=no \
+-# depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
+-# $(CCDEPMODE) $(depcomp) \
+-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
+-
+-.c.lo:
+- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-# source='$<' object='$@' libtool=yes \
+-# depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' \
+-# $(CCDEPMODE) $(depcomp) \
+-# $(LTCOMPILE) -c -o $@ $<
+-
+-.l.c:
+- $(LEXCOMPILE) $<
+- sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@
+- rm -f $(LEX_OUTPUT_ROOT).c
+-
+-.y.c:
+- $(YACCCOMPILE) $<
+- if test -f y.tab.h; then \
+- to=`echo "$*_H" | sed \
+- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
+- -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
+- sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >$*.ht; \
+- rm -f y.tab.h; \
+- if cmp -s $*.ht $*.h; then \
+- rm -f $*.ht ;\
+- else \
+- mv $*.ht $*.h; \
+- fi; \
+- fi
+- if test -f y.output; then \
+- mv y.output $*.output; \
+- fi
+- sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@
+- rm -f y.tab.c
+-
+-mostlyclean-libtool:
+- -rm -f *.lo
+-
+-clean-libtool:
+- -rm -rf .libs _libs
+-
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-install-includeHEADERS: $(include_HEADERS)
+- @$(NORMAL_INSTALL)
+- test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
+- @list='$(include_HEADERS)'; for p in $$list; do \
+- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+- f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+- done
+-
+-uninstall-includeHEADERS:
+- @$(NORMAL_UNINSTALL)
+- @list='$(include_HEADERS)'; for p in $$list; do \
+- f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+- rm -f "$(DESTDIR)$(includedir)/$$f"; \
+- done
+-
+-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- mkid -fID $$unique
+-tags: TAGS
+-
+-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+- $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+- test -n "$$unique" || unique=$$empty_fix; \
+- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+- $$tags $$unique; \
+- fi
+-ctags: CTAGS
+-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+- $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+- $$tags $$unique
+-
+-GTAGS:
+- here=`$(am__cd) $(top_builddir) && pwd` \
+- && cd $(top_srcdir) \
+- && gtags -i $(GTAGS_ARGS) $$here
+-
+-distclean-tags:
+- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+-check-am: all-am
+-check: check-am
+-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+-installdirs:
+- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+- done
+-install: install-am
+-install-exec: install-exec-am
+-install-data: install-data-am
+-uninstall: uninstall-am
+-
+-install-am: all-am
+- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+-
+-installcheck: installcheck-am
+-install-strip:
+- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+- `test -z '$(STRIP)' || \
+- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+-mostlyclean-generic:
+-
+-clean-generic:
+- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+-
+-distclean-generic:
+- -rm -f $(CONFIG_CLEAN_FILES)
+-
+-maintainer-clean-generic:
+- @echo "This command is intended for maintainers to use"
+- @echo "it deletes files that may require special tools to rebuild."
+- -rm -f elp_l.c
+- -rm -f elp_y.c
+-clean: clean-am
+-
+-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+- mostlyclean-am
+-
+-distclean: distclean-am
+- -rm -rf ./$(DEPDIR)
+- -rm -f Makefile
+-distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
+-
+-dvi: dvi-am
+-
+-dvi-am:
+-
+-html: html-am
+-
+-info: info-am
+-
+-info-am:
+-
+-install-data-am: install-includeHEADERS
+-
+-install-exec-am: install-libLTLIBRARIES
+-
+-install-info: install-info-am
+-
+-install-man:
+-
+-installcheck-am:
+-
+-maintainer-clean: maintainer-clean-am
+- -rm -rf ./$(DEPDIR)
+- -rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
+-
+-mostlyclean: mostlyclean-am
+-
+-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+- mostlyclean-libtool
+-
+-pdf: pdf-am
+-
+-pdf-am:
+-
+-ps: ps-am
+-
+-ps-am:
+-
+-uninstall-am: uninstall-includeHEADERS uninstall-info-am \
+- uninstall-libLTLIBRARIES
+-
+-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+- clean-libLTLIBRARIES clean-libtool ctags distclean \
+- distclean-compile distclean-generic distclean-libtool \
+- distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-includeHEADERS install-info \
+- install-info-am install-libLTLIBRARIES install-man \
+- install-strip installcheck installcheck-am installdirs \
+- maintainer-clean maintainer-clean-generic mostlyclean \
+- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+- uninstall-includeHEADERS uninstall-info-am \
+- uninstall-libLTLIBRARIES
+-
+-
+-elp_y.c elp_y.h : $(srcdir)/elp_y.y
+- $(YACC) -d $(YFLAGS) $(srcdir)/elp_y.y && sed -e "s/yy/elpyy/g" -e "s/YY/elpYY/g" y.tab.c > elp_y.c && sed -e "s/yy/elpyy/g" -e "s/YY/elpYY/g" y.tab.h > elp_y.h
+-
+-elp_l.c : $(srcdir)/elp_l.l elp_y.h
+- $(LEX) -t $(srcdir)/elp_l.l | sed -e "s/yy/elpyy/g" -e "s/YY/elpYY/g" > elp_l.c
+-# Tell versions [3.59,3.63) of GNU make to not export all variables.
+-# Otherwise a system limit (for SysV at least) may be exceeded.
+-.NOEXPORT:
+diff --git a/alliance/src/genpat/src/Makefile b/alliance/src/genpat/src/Makefile
+deleted file mode 100644
+index 51fe5cc..0000000
+--- a/alliance/src/genpat/src/Makefile
++++ /dev/null
+@@ -1,729 +0,0 @@
+-# Makefile.in generated by automake 1.8.5 from Makefile.am.
+-# genpat/src/Makefile. Generated from Makefile.in by configure.
+-
+-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004 Free Software Foundation, Inc.
+-# This Makefile.in is free software; the Free Software Foundation
+-# gives unlimited permission to copy and/or distribute it,
+-# with or without modifications, as long as this notice is preserved.
+-
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+-# PARTICULAR PURPOSE.
+-
+-
+-
+-
+-
+-SOURCES = $(libPgn_la_SOURCES)
+-
+-srcdir = .
+-top_srcdir = ../..
+-
+-pkgdatadir = $(datadir)/alliance
+-pkglibdir = $(libdir)/alliance
+-pkgincludedir = $(includedir)/alliance
+-top_builddir = ../..
+-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = /usr/bin/install -c
+-install_sh_DATA = $(install_sh) -c -m 644
+-install_sh_PROGRAM = $(install_sh) -c
+-install_sh_SCRIPT = $(install_sh) -c
+-INSTALL_HEADER = $(INSTALL_DATA)
+-transform = $(program_transform_name)
+-NORMAL_INSTALL = :
+-PRE_INSTALL = :
+-POST_INSTALL = :
+-NORMAL_UNINSTALL = :
+-PRE_UNINSTALL = :
+-POST_UNINSTALL = :
+-host_triplet = i686-pc-linux-gnu
+-subdir = genpat/src
+-DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in
+-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/./alliance.m4 \
+- $(top_srcdir)/./motif.m4 $(top_srcdir)/./xpm.m4 \
+- $(top_srcdir)/configure.in
+-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+- $(ACLOCAL_M4)
+-mkinstalldirs = $(mkdir_p)
+-CONFIG_CLEAN_FILES =
+-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"
+-libLTLIBRARIES_INSTALL = $(INSTALL)
+-LTLIBRARIES = $(lib_LTLIBRARIES)
+-libPgn_la_LIBADD =
+-am_libPgn_la_OBJECTS = AFFECT.lo ARRAY.lo CONV.lo DECLAR.lo DEF_GEN.lo \
+- GETCPAT.lo INIT.lo LABEL.lo SAVE.lo SAV_GEN.lo SETTUNIT.lo \
+- libpat_l.lo
+-libPgn_la_OBJECTS = $(am_libPgn_la_OBJECTS)
+-binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+-SCRIPTS = $(bin_SCRIPTS)
+-DEFAULT_INCLUDES = -I. -I$(srcdir)
+-depcomp = $(SHELL) $(top_srcdir)/depcomp
+-am__depfiles_maybe = depfiles
+-DEP_FILES = ./$(DEPDIR)/AFFECT.Plo ./$(DEPDIR)/ARRAY.Plo \
+- ./$(DEPDIR)/CONV.Plo ./$(DEPDIR)/DECLAR.Plo \
+- ./$(DEPDIR)/DEF_GEN.Plo ./$(DEPDIR)/GETCPAT.Plo \
+- ./$(DEPDIR)/INIT.Plo ./$(DEPDIR)/LABEL.Plo \
+- ./$(DEPDIR)/SAVE.Plo ./$(DEPDIR)/SAV_GEN.Plo \
+- ./$(DEPDIR)/SETTUNIT.Plo ./$(DEPDIR)/libpat_l.Plo
+-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+-CCLD = $(CC)
+-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-SOURCES = $(libPgn_la_SOURCES)
+-DIST_SOURCES = $(libPgn_la_SOURCES)
+-includeHEADERS_INSTALL = $(INSTALL_HEADER)
+-HEADERS = $(include_HEADERS)
+-ETAGS = etags
+-CTAGS = ctags
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-ABE_DLL_VERSION = 2:1:0
+-ABL_DLL_VERSION = 1:3:0
+-ABT_DLL_VERSION = 2:1:0
+-ABV_DLL_VERSION = 2:1:0
+-ACLOCAL = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run aclocal-1.8
+-ALCBANNER_MAJOR_VERSION = 1
+-ALCBANNER_MINOR_VERSION = 1
+-ALCBANNER_VERSION = 1.1
+-ALLIANCE_BUILD_FALSE = #
+-ALLIANCE_BUILD_TRUE =
+-ALLIANCE_CFLAGS = -I/users/outil/alliance/Linux.FC2/include
+-ALLIANCE_LIBS = -L/users/outil/alliance/Linux.FC2/lib
+-ALLIANCE_TOP = /users/outil/alliance/Linux.FC2
+-AMDEP_FALSE = #
+-AMDEP_TRUE =
+-AMTAR = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run tar
+-AR = ar
+-ATTILA_MAJOR_VERSION = 0
+-ATTILA_MINOR_VERSION = 1
+-ATTILA_VERSION = 0.1
+-AUTOCONF = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run autoconf
+-AUTOHEADER = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run autoheader
+-AUTOMAKE = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run automake-1.8
+-AUT_DLL_VERSION = 1:3:0
+-AWK = gawk
+-B2F_MAJOR_VERSION = 1
+-B2F_MINOR_VERSION = 2
+-B2F_VERSION = 1.2
+-BDD_DLL_VERSION = 1:5:0
+-BEH_DLL_VERSION = 1:11:0
+-BHL_DLL_VERSION = 1:11:0
+-BOOG_MAJOR_VERSION = 1
+-BOOG_MINOR_VERSION = 7
+-BOOG_VERSION = 1.7
+-BOOM_MAJOR_VERSION = 1
+-BOOM_MINOR_VERSION = 2
+-BOOM_VERSION = 1.2
+-BTR_DLL_VERSION = 1:3:0
+-BVL_DLL_VERSION = 1:14:0
+-CC = gcc
+-CCDEPMODE = depmode=gcc3
+-CFLAGS = -I/users/outil/alliance/Linux.FC2/include -g -O2
+-CPP = gcc -E
+-CPPFLAGS =
+-CST_DLL_VERSION = 3:2:0
+-CTL_DLL_VERSION = 1:1:0
+-CTP_DLL_VERSION = 1:1:0
+-CXX = g++
+-CXXCPP = g++ -E
+-CXXDEPMODE = depmode=gcc3
+-CXXFLAGS = -g -O2
+-CYGPATH_W = echo
+-DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"alliance\" -DVERSION=\"5.0\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FCNTL_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRINGS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIBIBERTY=1 -DHAVE_LIBM=1 -DHAVE_LIBM=1 -DHAVE_LIBM=1 -DHAVE_LIBM=1 -DHAVE_UNISTD_H=1 -DHAVE_FORK=1 -DHAVE_VFORK=1 -DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DRETSIGTYPE=void -DHAVE_MOTIF=1 -DHAVE_XPM=1 -DHAVE_XPM=1 -DHAVE_X11_XPM_H=1 -DHAVE_XP=1 -DHAVE_MOTIF=1 -DHAVE_XMUSEVERSION=1 -DHAVE_XMINSTALLIMAGE=1 -DALLIANCE_VERSION=\"5.0\" -DALLIANCE_TOP=\"/users/outil/alliance/Linux.FC2\" -DHAVE_LIBIBERTY=1
+-DEPDIR = .deps
+-DOC_MAJOR_VERSION = 1
+-DOC_MINOR_VERSION = 0
+-DOC_VERSION = 1.0
+-DREAL_MAJOR_VERSION = 1
+-DREAL_MINOR_VERSION = 14
+-DREAL_VERSION = 1.14
+-ECHO = echo
+-ECHO_C =
+-ECHO_N = -n
+-ECHO_T =
+-EGREP = grep -E
+-ELP_DLL_VERSION = 1:5:0
+-EMULBS_MAJOR_VERSION = 3
+-EMULBS_MINOR_VERSION = 2
+-EMULBS_VERSION = 3.2
+-EXEEXT =
+-EXP_MAJOR_VERSION = 1
+-EXP_MINOR_VERSION = 0
+-EXP_VERSION = 1.0
+-F77 = g77
+-FFLAGS = -g -O2
+-FKS_DLL_VERSION = 1:4:0
+-FLATBEH_MAJOR_VERSION = 1
+-FLATBEH_MINOR_VERSION = 1
+-FLATBEH_VERSION = 1.1
+-FMI_MAJOR_VERSION = 1
+-FMI_MINOR_VERSION = 1
+-FMI_VERSION = 1.1
+-FSM_DLL_VERSION = 1:4:0
+-FSP_MAJOR_VERSION = 1
+-FSP_MINOR_VERSION = 1
+-FSP_VERSION = 1.1
+-FTL_DLL_VERSION = 1:4:0
+-FVH_DLL_VERSION = 1:4:0
+-GRAAL_MAJOR_VERSION = 1
+-GRAAL_MINOR_VERSION = 27
+-GRAAL_VERSION = 1.27
+-GROWSTK_MAJOR_VERSION = 1
+-GROWSTK_MINOR_VERSION = 5
+-GROWSTK_VERSION = 1.5
+-INCLUDE_MOTIF =
+-INSTALL_DATA = ${INSTALL} -m 664
+-INSTALL_PROGRAM = ${INSTALL} -m 775
+-INSTALL_SCRIPT = ${INSTALL}
+-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+-K2F_MAJOR_VERSION = 1
+-K2F_MINOR_VERSION = 1
+-K2F_VERSION = 1.1
+-L2P_MAJOR_VERSION = 1
+-L2P_MINOR_VERSION = 12
+-L2P_VERSION = 1.12
+-LDFLAGS = -static -L/users/outil/alliance/Linux.FC2/lib
+-LEX = flex
+-LEXLIB = -lfl
+-LEX_OUTPUT_ROOT = lex.yy
+-LIBOBJS =
+-LIBS = -liberty -lm -lm -lm -lm -liberty
+-LIBTOOL = $(SHELL) $(top_builddir)/libtool
+-LINK_MOTIF = -lXm
+-LINK_XPM = -lXpm
+-LN_S = ln -s
+-LOG_DLL_VERSION = 2:1:0
+-LOON_MAJOR_VERSION = 1
+-LOON_MINOR_VERSION = 7
+-LOON_VERSION = 1.7
+-LTLIBOBJS =
+-LVX_MAJOR_VERSION = 1
+-LVX_MINOR_VERSION = 2
+-LVX_VERSION = 1.2
+-LYNX_MAJOR_VERSION = 1
+-LYNX_MINOR_VERSION = 21
+-LYNX_VERSION = 1.21
+-M2E_MAJOR_VERSION = 1
+-M2E_MINOR_VERSION = 0
+-M2E_VERSION = 1.0
+-MAKEINFO = ${SHELL} /dsk/l1/misc/hcl/alliance/src/missing --run makeinfo
+-MAL_DLL_VERSION = 6:0:0
+-MAP_DLL_VERSION = 6:0:0
+-MBK_CUR = 4
+-MBK_DLL_VERSION = 4:2:0
+-MBK_REL = 0
+-MBK_REV = 2
+-MBK_VERSION = 4.2
+-MCL_DLL_VERSION = 4:9:0
+-MCP_DLL_VERSION = 4:9:0
+-MEL_DLL_VERSION = 4:9:0
+-MGL_DLL_VERSION = 0:8:0
+-MGN_DLL_VERSION = 3:3:0
+-MHL_DLL_VERSION = 2:1:0
+-MIPS_ASM_MAJOR_VERSION = 1
+-MIPS_ASM_MINOR_VERSION = 0
+-MIPS_ASM_VERSION = 1.0
+-MMG_DLL_VERSION = 1:0:0
+-MOCHA_MAJOR_VERSION = 1
+-MOCHA_MINOR_VERSION = 1
+-MOCHA_VERSION = 1.1
+-MSL_DLL_VERSION = 7:0:0
+-MVG_DLL_VERSION = 4:1:0
+-MVL_DLL_VERSION = 4:1:0
+-NERO_MAJOR_VERSION = 1
+-NERO_MINOR_VERSION = 0
+-NERO_VERSION = 1.0
+-OBJEXT = o
+-OCP_MAJOR_VERSION = 1
+-OCP_MINOR_VERSION = 0
+-OCP_VERSION = 1.0
+-OCR_MAJOR_VERSION = 1
+-OCR_MINOR_VERSION = 0
+-OCR_VERSION = 1.0
+-PACKAGE = alliance
+-PACKAGE_BUGREPORT =
+-PACKAGE_NAME =
+-PACKAGE_STRING =
+-PACKAGE_TARNAME =
+-PACKAGE_VERSION =
+-PAT2SPI_MAJOR_VERSION = 1
+-PAT2SPI_MINOR_VERSION = 1
+-PAT2SPI_VERSION = 1.1
+-PATH_SEPARATOR = :
+-PAT_DLL_VERSION = 1:9:0
+-PCBS_MAJOR_VERSION = 2
+-PCBS_MINOR_VERSION = 1
+-PCBS_VERSION = 2.1
+-PGN_DLL_VERSION = 3:3:0
+-PHL_DLL_VERSION = 1:9:0
+-PPT_DLL_VERSION = 1:9:0
+-PROOF_MAJOR_VERSION = 4
+-PROOF_MINOR_VERSION = 9
+-PROOF_VERSION = 4.9
+-RANLIB = ranlib
+-RCF_DLL_VERSION = 2:1:0
+-RDS_DLL_VERSION = 2:1:0
+-RFM_DLL_VERSION = 2:1:0
+-RGS_DLL_VERSION = 2:1:0
+-RING_MAJOR_VERSION = 3
+-RING_MINOR_VERSION = 0
+-RING_VERSION = 3.0
+-RPR_DLL_VERSION = 2:1:0
+-RTD_DLL_VERSION = 1:1:0
+-RTL_DLL_VERSION = 2:1:0
+-RTN_DLL_VERSION = 1:1:0
+-RUT_DLL_VERSION = 2:1:0
+-RWI_DLL_VERSION = 2:1:0
+-S2R_MAJOR_VERSION = 4
+-S2R_MINOR_VERSION = 4
+-S2R_VERSION = 4.4
+-SCAPIN_MAJOR_VERSION = 1
+-SCAPIN_MINOR_VERSION = 1
+-SCAPIN_VERSION = 1.1
+-SCH_DLL_VERSION = 3:2:0
+-SCL_DLL_VERSION = 1:5:0
+-SEA_MAJOR_VERSION = 1
+-SEA_MINOR_VERSION = 0
+-SEA_VERSION = 1.0
+-SED = /bin/sed
+-SET_MAKE =
+-SHELL = /bin/sh
+-STRIP = strip
+-SYF_MAJOR_VERSION = 3
+-SYF_MINOR_VERSION = 6
+-SYF_VERSION = 3.6
+-TOOLSDIRS = mbk mbkal mbkap mbkedif mbkhilo mbkmg mbkspice mbkvhdl mbkvrlog mbkvti mbkvhdlg aut rds rdscif rdsgds elp abl bdd log btr vex ctl ctp abe abt abv fsm fks fvh ftl rtn rtd scl vbh vbl vpn vpd vvh vtl pat ppt phl gcp druc beh bhl bvl alcban asimut attila b2f boog boom cells distrib dreal exp flatbeh flatlo flatph fmi fsp genlib genpat graal k2f l2p loon lvx lynx m2e mips_asm mocha nero ocp pat2spi proof ring s2r scapin sea syf vasy vst2xnf x2y xfsm xpat xsch xvpn documentation
+-VASY_MAJOR_VERSION = 1
+-VASY_MINOR_VERSION = 5
+-VASY_VERSION = 1.5
+-VBH_DLL_VERSION = 1:4:0
+-VBL_DLL_VERSION = 1:4:0
+-VERSION = 5.0
+-VEX_DLL_VERSION = 1:3:0
+-VPD_DLL_VERSION = 1:5:0
+-VPN_DLL_VERSION = 1:5:0
+-VRD_DLL_VERSION = 3:4:0
+-VST2XNF_MAJOR_VERSION = 1
+-VST2XNF_MINOR_VERSION = 0
+-VST2XNF_VERSION = 1.0
+-VTL_DLL_VERSION = 1:5:0
+-VVH_DLL_VERSION = 1:5:0
+-X11_LIBS = -lX11
+-XEXT_LIBS = -lXext
+-XFSM_MAJOR_VERSION = 1
+-XFSM_MINOR_VERSION = 4
+-XFSM_VERSION = 1.4
+-XM_LIBS = -lXm
+-XPAT_MAJOR_VERSION = 1
+-XPAT_MINOR_VERSION = 4
+-XPAT_VERSION = 1.4
+-XPM_LIBS = -lXpm
+-XP_LIBS = -lXp
+-XSCH_MAJOR_VERSION = 1
+-XSCH_MINOR_VERSION = 4
+-XSCH_VERSION = 1.4
+-XT_LIBS = -lXt
+-XVPN_MAJOR_VERSION = 1
+-XVPN_MINOR_VERSION = 5
+-XVPN_VERSION = 1.5
+-X_CFLAGS = -I/usr/X11R6/include
+-X_EXTRA_LIBS =
+-X_LIBS = -L/usr/X11R6/lib
+-X_PRE_LIBS = -lSM -lICE
+-YACC = bison -y
+-ac_ct_AR = ar
+-ac_ct_CC = gcc
+-ac_ct_CXX = g++
+-ac_ct_F77 = g77
+-ac_ct_RANLIB = ranlib
+-ac_ct_STRIP = strip
+-am__fastdepCC_FALSE = #
+-am__fastdepCC_TRUE =
+-am__fastdepCXX_FALSE = #
+-am__fastdepCXX_TRUE =
+-am__include = include
+-am__leading_dot = .
+-am__quote =
+-bindir = ${exec_prefix}/bin
+-build = i686-pc-linux-gnu
+-build_alias =
+-build_cpu = i686
+-build_os = linux-gnu
+-build_vendor = pc
+-datadir = ${prefix}/share
+-exec_prefix = ${prefix}
+-host = i686-pc-linux-gnu
+-host_alias =
+-host_cpu = i686
+-host_os = linux-gnu
+-host_vendor = pc
+-includedir = ${prefix}/include
+-infodir = ${prefix}/info
+-install_sh = /dsk/l1/misc/hcl/alliance/src/install-sh
+-libdir = ${exec_prefix}/lib
+-libexecdir = ${exec_prefix}/libexec
+-localstatedir = ${prefix}/var
+-mandir = ${prefix}/man
+-mkdir_p = mkdir -p -- .
+-oldincludedir = /usr/include
+-prefix = /dsk/l1/misc/hcl/altest
+-program_transform_name = s,x,x,
+-sbindir = ${exec_prefix}/sbin
+-sharedstatedir = ${prefix}/com
+-sysconfdir = ${prefix}/etc
+-target_alias =
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
+--I$(top_srcdir)/pat/src \
+--I$(top_srcdir)/ppt/src \
+--I$(top_srcdir)/phl/src
+-
+-lib_LTLIBRARIES = libPgn.la
+-include_HEADERS = genpat.h
+-libPgn_la_SOURCES = AFFECT.c ARRAY.c CONV.c DECLAR.c DEF_GEN.c GETCPAT.c \
+- INIT.c LABEL.c SAVE.c SAV_GEN.c SETTUNIT.c \
+- libpat_l.c libpat_l.h
+-
+-libPgn_la_LDFLAGS = -version-info 3:3:0
+-bin_SCRIPTS = genpat
+-CLEANFILES = genpat
+-EXTRA_DIST = genpat.sh
+-all: all-am
+-
+-.SUFFIXES:
+-.SUFFIXES: .c .lo .o .obj
+-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+- @for dep in $?; do \
+- case '$(am__configure_deps)' in \
+- *$$dep*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+- && exit 0; \
+- exit 1;; \
+- esac; \
+- done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign genpat/src/Makefile'; \
+- cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign genpat/src/Makefile
+-.PRECIOUS: Makefile
+-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+- @case '$?' in \
+- *config.status*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+- *) \
+- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+- esac;
+-
+-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-
+-$(top_srcdir)/configure: $(am__configure_deps)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+- @$(NORMAL_INSTALL)
+- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+- if test -f $$p; then \
+- f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+- else :; fi; \
+- done
+-
+-uninstall-libLTLIBRARIES:
+- @$(NORMAL_UNINSTALL)
+- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+- p="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+- done
+-
+-clean-libLTLIBRARIES:
+- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+- test "$$dir" != "$$p" || dir=.; \
+- echo "rm -f \"$${dir}/so_locations\""; \
+- rm -f "$${dir}/so_locations"; \
+- done
+-libPgn.la: $(libPgn_la_OBJECTS) $(libPgn_la_DEPENDENCIES)
+- $(LINK) -rpath $(libdir) $(libPgn_la_LDFLAGS) $(libPgn_la_OBJECTS) $(libPgn_la_LIBADD) $(LIBS)
+-install-binSCRIPTS: $(bin_SCRIPTS)
+- @$(NORMAL_INSTALL)
+- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+- @list='$(bin_SCRIPTS)'; for p in $$list; do \
+- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+- if test -f $$d$$p; then \
+- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+- echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+- $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+- else :; fi; \
+- done
+-
+-uninstall-binSCRIPTS:
+- @$(NORMAL_UNINSTALL)
+- @list='$(bin_SCRIPTS)'; for p in $$list; do \
+- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+- rm -f "$(DESTDIR)$(bindir)/$$f"; \
+- done
+-
+-mostlyclean-compile:
+- -rm -f *.$(OBJEXT)
+-
+-distclean-compile:
+- -rm -f *.tab.c
+-
+-include ./$(DEPDIR)/AFFECT.Plo
+-include ./$(DEPDIR)/ARRAY.Plo
+-include ./$(DEPDIR)/CONV.Plo
+-include ./$(DEPDIR)/DECLAR.Plo
+-include ./$(DEPDIR)/DEF_GEN.Plo
+-include ./$(DEPDIR)/GETCPAT.Plo
+-include ./$(DEPDIR)/INIT.Plo
+-include ./$(DEPDIR)/LABEL.Plo
+-include ./$(DEPDIR)/SAVE.Plo
+-include ./$(DEPDIR)/SAV_GEN.Plo
+-include ./$(DEPDIR)/SETTUNIT.Plo
+-include ./$(DEPDIR)/libpat_l.Plo
+-
+-.c.o:
+- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-# source='$<' object='$@' libtool=no \
+-# depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
+-# $(CCDEPMODE) $(depcomp) \
+-# $(COMPILE) -c $<
+-
+-.c.obj:
+- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-# source='$<' object='$@' libtool=no \
+-# depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
+-# $(CCDEPMODE) $(depcomp) \
+-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
+-
+-.c.lo:
+- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-# source='$<' object='$@' libtool=yes \
+-# depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' \
+-# $(CCDEPMODE) $(depcomp) \
+-# $(LTCOMPILE) -c -o $@ $<
+-
+-mostlyclean-libtool:
+- -rm -f *.lo
+-
+-clean-libtool:
+- -rm -rf .libs _libs
+-
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-install-includeHEADERS: $(include_HEADERS)
+- @$(NORMAL_INSTALL)
+- test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
+- @list='$(include_HEADERS)'; for p in $$list; do \
+- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+- f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+- done
+-
+-uninstall-includeHEADERS:
+- @$(NORMAL_UNINSTALL)
+- @list='$(include_HEADERS)'; for p in $$list; do \
+- f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+- rm -f "$(DESTDIR)$(includedir)/$$f"; \
+- done
+-
+-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- mkid -fID $$unique
+-tags: TAGS
+-
+-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+- $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+- test -n "$$unique" || unique=$$empty_fix; \
+- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+- $$tags $$unique; \
+- fi
+-ctags: CTAGS
+-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+- $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+- $$tags $$unique
+-
+-GTAGS:
+- here=`$(am__cd) $(top_builddir) && pwd` \
+- && cd $(top_srcdir) \
+- && gtags -i $(GTAGS_ARGS) $$here
+-
+-distclean-tags:
+- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+-check-am: all-am
+-check: check-am
+-all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(HEADERS)
+-installdirs:
+- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+- done
+-install: install-am
+-install-exec: install-exec-am
+-install-data: install-data-am
+-uninstall: uninstall-am
+-
+-install-am: all-am
+- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+-
+-installcheck: installcheck-am
+-install-strip:
+- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+- `test -z '$(STRIP)' || \
+- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+-mostlyclean-generic:
+-
+-clean-generic:
+- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+-
+-distclean-generic:
+- -rm -f $(CONFIG_CLEAN_FILES)
+-
+-maintainer-clean-generic:
+- @echo "This command is intended for maintainers to use"
+- @echo "it deletes files that may require special tools to rebuild."
+-clean: clean-am
+-
+-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+- mostlyclean-am
+-
+-distclean: distclean-am
+- -rm -rf ./$(DEPDIR)
+- -rm -f Makefile
+-distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
+-
+-dvi: dvi-am
+-
+-dvi-am:
+-
+-html: html-am
+-
+-info: info-am
+-
+-info-am:
+-
+-install-data-am: install-includeHEADERS
+-
+-install-exec-am: install-binSCRIPTS install-libLTLIBRARIES
+-
+-install-info: install-info-am
+-
+-install-man:
+-
+-installcheck-am:
+-
+-maintainer-clean: maintainer-clean-am
+- -rm -rf ./$(DEPDIR)
+- -rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
+-
+-mostlyclean: mostlyclean-am
+-
+-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+- mostlyclean-libtool
+-
+-pdf: pdf-am
+-
+-pdf-am:
+-
+-ps: ps-am
+-
+-ps-am:
+-
+-uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS \
+- uninstall-info-am uninstall-libLTLIBRARIES
+-
+-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+- clean-libLTLIBRARIES clean-libtool ctags distclean \
+- distclean-compile distclean-generic distclean-libtool \
+- distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-binSCRIPTS install-data \
+- install-data-am install-exec install-exec-am \
+- install-includeHEADERS install-info install-info-am \
+- install-libLTLIBRARIES install-man install-strip installcheck \
+- installcheck-am installdirs maintainer-clean \
+- maintainer-clean-generic mostlyclean mostlyclean-compile \
+- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+- tags uninstall uninstall-am uninstall-binSCRIPTS \
+- uninstall-includeHEADERS uninstall-info-am \
+- uninstall-libLTLIBRARIES
+-
+-
+-genpat : ${srcdir}/genpat.sh
+- ${SED} 's,__ALLIANCE_INSTALL_DIR__,$(ALLIANCE_INSTALL_DIR),' $< > $@
+- chmod a+x $@
+-# Tell versions [3.59,3.63) of GNU make to not export all variables.
+-# Otherwise a system limit (for SysV at least) may be exceeded.
+-.NOEXPORT:
+--
+2.5.0
+
diff --git a/0002-Update-autostuff.patch b/0002-Update-autostuff.patch
new file mode 100644
index 0000000..d188265
--- /dev/null
+++ b/0002-Update-autostuff.patch
@@ -0,0 +1,191 @@
+From c4b1cb8e7cbf8e36282f42b9307fe46b6cc6a92f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Sun, 28 Feb 2016 10:07:48 +0100
+Subject: [PATCH 02/10] Update autostuff
+
+---
+ alliance/src/Makefile.am | 2 +
+ alliance/src/autostuff | 123 ++++++++++++++++++++++++-----------------------
+ 2 files changed, 66 insertions(+), 59 deletions(-)
+
+diff --git a/alliance/src/Makefile.am b/alliance/src/Makefile.am
+index 061389e..e23b5c2 100644
+--- a/alliance/src/Makefile.am
++++ b/alliance/src/Makefile.am
+@@ -1,3 +1,5 @@
++ACLOCAL_AMFLAGS = -I.
++
+ SUBDIRS = @TOOLSDIRS@
+
+ EXTRA_DIST = autostuff alliance.m4 motif.m4 oldgcc.m4 xpm.m4 build depcomp \
+diff --git a/alliance/src/autostuff b/alliance/src/autostuff
+index 53083eb..2955c8b 100755
+--- a/alliance/src/autostuff
++++ b/alliance/src/autostuff
+@@ -89,38 +89,40 @@ ordered_dirs="$ordered_dirs $dirs"
+
+ AC_OUTPUT=`find $ordered_dirs -name Makefile.am | sed "s,\.am,,"`
+
+-rm -f configure.in
+-echo "" >> configure.in
+-echo "AC_INIT(./autostuff)" >> configure.in
+-echo "AM_INIT_AUTOMAKE(alliance, 5.0)" >> configure.in
+-echo "" >> configure.in
+-echo "AM_PROG_LEX" >> configure.in
+-echo "AM_PROG_LIBTOOL" >> configure.in
+-echo "AC_CHECK_HEADERS(fcntl.h malloc.h strings.h sys/time.h unistd.h)" >> configure.in
+-echo "AC_CHECK_HEADERS(strings.h unistd.h)" >> configure.in
+-echo "AC_CHECK_LIB(gen, basename)" >> configure.in
+-echo "AC_CHECK_LIB(iberty, basename)" >> configure.in
+-echo "AC_CHECK_LIB(m, exp)" >> configure.in
+-echo "AC_CHECK_LIB(m, floor)" >> configure.in
+-echo "AC_CHECK_LIB(m, pow)" >> configure.in
+-echo "AC_CHECK_LIB(m, sqrt)" >> configure.in
+-echo "AC_CHECK_PROG(SED, sed, sed)" >> configure.in
+-echo "AC_CHECK_PROGS(SED, gsed sed)" >> configure.in
+-echo "AC_C_CONST" >> configure.in
+-echo "AC_FUNC_VFORK" >> configure.in
+-echo "AC_HEADER_STDC" >> configure.in
+-echo "AC_HEADER_SYS_WAIT" >> configure.in
+-echo "AC_PATH_XTRA" >> configure.in
+-echo "AC_PROG_CC" >> configure.in
+-echo "AC_PROG_CPP" >> configure.in
+-echo "AC_PROG_CXX" >> configure.in
+-echo "AC_PROG_INSTALL" >> configure.in
+-echo "AC_PROG_MAKE_SET" >> configure.in
+-echo "AC_PROG_LIBTOOL" >> configure.in
+-echo "AC_PROG_YACC" >> configure.in
+-echo "AC_TYPE_SIGNAL" >> configure.in
++rm -f configure.ac
++echo "" >> configure.ac
++echo "AC_INIT(alliance,5.0)" >> configure.ac
++echo "AC_CONFIG_SRCDIR(./autostuff)" >> configure.ac
++echo "AM_INIT_AUTOMAKE(foreign)" >> configure.ac
++echo "AC_CONFIG_MACRO_DIRS([.])" >> configure.ac
++echo "" >> configure.ac
++echo "AM_PROG_LEX" >> configure.ac
++echo "AM_PROG_LIBTOOL" >> configure.ac
++echo "AC_CHECK_HEADERS(fcntl.h malloc.h strings.h sys/time.h unistd.h)" >> configure.ac
++echo "AC_CHECK_HEADERS(strings.h unistd.h)" >> configure.ac
++echo "AC_CHECK_LIB(gen, basename)" >> configure.ac
++echo "AC_CHECK_LIB(iberty, basename)" >> configure.ac
++echo "AC_CHECK_LIB(m, exp)" >> configure.ac
++echo "AC_CHECK_LIB(m, floor)" >> configure.ac
++echo "AC_CHECK_LIB(m, pow)" >> configure.ac
++echo "AC_CHECK_LIB(m, sqrt)" >> configure.ac
++echo "AC_CHECK_PROG(SED, sed, sed)" >> configure.ac
++echo "AC_CHECK_PROGS(SED, gsed sed)" >> configure.ac
++echo "AC_C_CONST" >> configure.ac
++echo "AC_FUNC_VFORK" >> configure.ac
++echo "AC_HEADER_STDC" >> configure.ac
++echo "AC_HEADER_SYS_WAIT" >> configure.ac
++echo "AC_PATH_XTRA" >> configure.ac
++echo "AC_PROG_CC" >> configure.ac
++echo "AC_PROG_CPP" >> configure.ac
++echo "AC_PROG_CXX" >> configure.ac
++echo "AC_PROG_INSTALL" >> configure.ac
++echo "AC_PROG_MAKE_SET" >> configure.ac
++echo "AC_PROG_LIBTOOL" >> configure.ac
++echo "AC_PROG_YACC" >> configure.ac
++echo "AC_TYPE_SIGNAL" >> configure.ac
+
+-cat >> configure.in <<"EOF"
++cat >> configure.ac <<"EOF"
+ dnl
+ dnl Check for X stuff
+ dnl
+@@ -283,60 +285,63 @@ LDFLAGS="$ice_save_LDFLAGS"
+ fi
+ EOF
+
+-echo "AM_ALLIANCE" >> configure.in
+-echo "AM_CONDITIONAL([ALLIANCE_BUILD],[(exit 0)])" >> configure.in
++echo "AM_ALLIANCE" >> configure.ac
++echo "AM_CONDITIONAL([ALLIANCE_BUILD],[(exit 0)])" >> configure.ac
+
+ find $ordered_dirs -name configure.in | while read config; do
+ echo "Scanning $config"
+- echo "" >> configure.in
+- echo "dnl Infos extracted from $config" >> configure.in
++ echo "" >> configure.ac
++ echo "dnl Infos extracted from $config" >> configure.ac
+
+ for version_line in `grep -ah _CUR= $config`; do
+- echo "$version_line" >> configure.in
++ echo "$version_line" >> configure.ac
+ version_name=`echo $version_line | sed 's,=.*,,'`
+- echo "AC_SUBST($version_name)" >> configure.in
++ echo "AC_SUBST($version_name)" >> configure.ac
+ done
+ for version_line in `grep -ah _REV= $config`; do
+- echo "$version_line" >> configure.in
++ echo "$version_line" >> configure.ac
+ version_name=`echo $version_line | sed 's,=.*,,'`
+- echo "AC_SUBST($version_name)" >> configure.in
++ echo "AC_SUBST($version_name)" >> configure.ac
+ done
+ for version_line in `grep -ah _REL= $config`; do
+- echo "$version_line" >> configure.in
++ echo "$version_line" >> configure.ac
+ version_name=`echo $version_line | sed 's,=.*,,'`
+- echo "AC_SUBST($version_name)" >> configure.in
++ echo "AC_SUBST($version_name)" >> configure.ac
+ done
+
+ for dll_line in `grep -ah _DLL_VERSION= $config`; do
+- echo "$dll_line" >> configure.in
++ echo "$dll_line" >> configure.ac
+ dll_name=`echo $dll_line | sed 's,=.*,,'`
+- echo "AC_SUBST($dll_name)" >> configure.in
++ echo "AC_SUBST($dll_name)" >> configure.ac
+ done
+ for version_line in `grep -ah _VERSION= $config | grep -v DLL`; do
+- echo "$version_line" >> configure.in
++ echo "$version_line" >> configure.ac
+ version_name=`echo $version_line | sed 's,=.*,,'`
+- echo "AC_SUBST($version_name)" >> configure.in
++ echo "AC_SUBST($version_name)" >> configure.ac
+ done
+ done
+
+-echo "" >> configure.in
+-echo "TOOLSDIRS=\"$ordered_dirs\"" >> configure.in
+-echo "AC_SUBST(TOOLSDIRS)" >> configure.in
++echo "" >> configure.ac
++echo "TOOLSDIRS=\"$ordered_dirs\"" >> configure.ac
++echo "AC_SUBST(TOOLSDIRS)" >> configure.ac
+
+-echo "" >> configure.in
+-echo "AC_OUTPUT([" >> configure.in
+-echo "Makefile" >> configure.in
+-echo "distrib/etc/alc_env.sh" >> configure.in
+-echo "distrib/etc/alc_env.csh" >> configure.in
++echo "" >> configure.ac
++echo "# HACK: Set to empty." >> configure.ac
++echo "AC_SUBST([ALLIANCE_LIB],[ ])" >> configure.ac
++echo "AC_SUBST([ALLIANCE_CFLAGS],[ ])" >> configure.ac
++echo "AC_SUBST([ALLIANCE_TOP],[ ])" >> configure.ac
++
++echo "" >> configure.ac
++echo "AC_OUTPUT([" >> configure.ac
++echo "Makefile" >> configure.ac
++echo "distrib/etc/alc_env.sh" >> configure.ac
++echo "distrib/etc/alc_env.csh" >> configure.ac
+ for template in $AC_OUTPUT; do
+- echo "$template" >> configure.in
++ echo "$template" >> configure.ac
+ done
+-echo "])" >> configure.in
++echo "])" >> configure.ac
+
+
+-aclocal -I .
+-libtoolize --force --copy --automake
+-automake --foreign --add-missing --copy
+-autoconf
++autoreconf -fi
+
+ exit 0
+--
+2.5.0
+
diff --git a/0003-Consolidate-installation-dirs.patch b/0003-Consolidate-installation-dirs.patch
new file mode 100644
index 0000000..26fe6ee
--- /dev/null
+++ b/0003-Consolidate-installation-dirs.patch
@@ -0,0 +1,151 @@
+From 9397e394dfbb0162236e85d6046862fb7e9bae58 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Mon, 29 Feb 2016 14:49:22 +0100
+Subject: [PATCH 03/10] Consolidate installation dirs
+
+---
+ alliance/src/cells/src/dp_sxlib/Makefile.am | 2 +-
+ alliance/src/cells/src/mpxlib/Makefile.am | 2 +-
+ alliance/src/cells/src/msxlib/Makefile.am | 2 +-
+ alliance/src/cells/src/padlib/Makefile.am | 2 +-
+ alliance/src/cells/src/pxlib/Makefile.am | 2 +-
+ alliance/src/cells/src/ramlib/Makefile.am | 2 +-
+ alliance/src/cells/src/rf2lib/Makefile.am | 2 +-
+ alliance/src/cells/src/rflib/Makefile.am | 2 +-
+ alliance/src/cells/src/romlib/Makefile.am | 2 +-
+ alliance/src/cells/src/sxlib/Makefile.am | 14 +++++++-------
+ 10 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/alliance/src/cells/src/dp_sxlib/Makefile.am b/alliance/src/cells/src/dp_sxlib/Makefile.am
+index 58fa1a2..5d1b32f 100644
+--- a/alliance/src/cells/src/dp_sxlib/Makefile.am
++++ b/alliance/src/cells/src/dp_sxlib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.4 2002/05/08 21:07:13 jpc Exp $
+
+-dp_sxlibdir=$(prefix)/cells/dp_sxlib
++dp_sxlibdir=$(pkgdatadir)/cells/dp_sxlib
+
+ dp_sxlib_DATA=CATAL dp_dff_scan_x4.ap dp_dff_scan_x4.vbe dp_dff_scan_x4_buf.ap dp_dff_scan_x4_buf.vbe dp_dff_x4.ap dp_dff_x4.vbe dp_dff_x4_buf.ap dp_dff_x4_buf.vbe dp_mux_x2.ap dp_mux_x2.vbe dp_mux_x2_buf.ap dp_mux_x2_buf.vbe dp_mux_x4.ap dp_mux_x4.vbe dp_mux_x4_buf.ap dp_mux_x4_buf.vbe dp_nmux_x1.ap dp_nmux_x1.vbe dp_nmux_x1_buf.ap dp_nmux_x1_buf.vbe dp_nts_x2.ap dp_nts_x2.vbe dp_nts_x2_buf.ap dp_nts_x2_buf.vbe dp_rom2_buf.ap dp_rom2_buf.vbe dp_rom4_buf.ap dp_rom4_buf.vbe dp_rom4_nxr2_x4.ap dp_rom4_nxr2_x4.vbe dp_rom4_xr2_x4.ap dp_rom4_xr2_x4.vbe dp_sff_scan_x4.ap dp_sff_scan_x4.vbe dp_sff_scan_x4_buf.ap dp_sff_scan_x4_buf.vbe dp_sff_x4.ap dp_sff_x4.vbe dp_sff_x4_buf.ap dp_sff_x4_buf.vbe dp_sxlib.lef dp_ts_x4.ap dp_ts_x4.vbe dp_ts_x4_buf.ap dp_ts_x4_buf.vbe dp_ts_x8.ap dp_ts_x8.vbe dp_ts_x8_buf.ap dp_ts_x8_buf.vbe
+
+diff --git a/alliance/src/cells/src/mpxlib/Makefile.am b/alliance/src/cells/src/mpxlib/Makefile.am
+index 9469aab..47166af 100644
+--- a/alliance/src/cells/src/mpxlib/Makefile.am
++++ b/alliance/src/cells/src/mpxlib/Makefile.am
+@@ -1,5 +1,5 @@
+
+-mpxlibdir=$(prefix)/cells/mpxlib
++mpxlibdir=$(pkgdatadir)/cells/mpxlib
+
+ mpxlib_DATA=CATAL \
+ pck_mpx.ap \
+diff --git a/alliance/src/cells/src/msxlib/Makefile.am b/alliance/src/cells/src/msxlib/Makefile.am
+index d67fc5b..5300de0 100644
+--- a/alliance/src/cells/src/msxlib/Makefile.am
++++ b/alliance/src/cells/src/msxlib/Makefile.am
+@@ -1,5 +1,5 @@
+
+-msxlibdir=$(prefix)/cells/msxlib
++msxlibdir=$(pkgdatadir)/cells/msxlib
+
+ msxlib_DATA=CATAL \
+ an2_x05.ap \
+diff --git a/alliance/src/cells/src/padlib/Makefile.am b/alliance/src/cells/src/padlib/Makefile.am
+index 9b14265..b28a371 100644
+--- a/alliance/src/cells/src/padlib/Makefile.am
++++ b/alliance/src/cells/src/padlib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.4 2002/05/08 21:07:24 jpc Exp $
+
+-padlibdir=$(prefix)/cells/padlib
++padlibdir=$(pkgdatadir)/cells/padlib
+
+ padlib_DATA=CATAL corner_sp.ap corner_sp.vbe padreal.ap padreal.cif padsymb.db palck_sp.ap pali_sp.ap paliot_sp.ap paliotw_sp.ap palo_sp.ap palot_sp.ap palotw_sp.ap palow_sp.ap palvdde_sp.ap palvddeck_sp.ap palvddi_sp.ap palvddick_sp.ap palvsse_sp.ap palvsseck_sp.ap palvssi_sp.ap palvssick_sp.ap pck_sp.al pck_sp.ap pck_sp.vbe pi_sp.al pi_sp.ap pi_sp.vbe piot_sp.al piot_sp.ap piot_sp.vbe piotw_sp.al piotw_sp.ap piotw_sp.vbe po_sp.al po_sp.ap po_sp.vbe pot_sp.al pot_sp.ap pot_sp.vbe potw_sp.al potw_sp.ap potw_sp.vbe pow_sp.al pow_sp.ap pow_sp.vbe pvdde_sp.al pvdde_sp.ap pvdde_sp.vbe pvddeck_sp.al pvddeck_sp.ap pvddeck_sp.vbe pvddi_sp.al pvddi_sp.ap pvddi_sp.vbe pvddick_sp.al pvddick_sp.ap pvddick_sp.vbe pvsse_sp.al pvsse_sp.ap pvsse_sp.vbe pvsseck_sp.al pvsseck_sp.ap pvsseck_sp.vbe pvssi_sp.al pvssi_sp.ap pvssi_sp.vbe pvssick_sp.al pvssick_sp.ap pvssick_sp.vbe
+
+diff --git a/alliance/src/cells/src/pxlib/Makefile.am b/alliance/src/cells/src/pxlib/Makefile.am
+index 3a2ed65..d0f631f 100644
+--- a/alliance/src/cells/src/pxlib/Makefile.am
++++ b/alliance/src/cells/src/pxlib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.2 2005/11/08 10:13:51 franck Exp $
+
+-pxlibdir=$(prefix)/cells/pxlib
++pxlibdir=$(pkgdatadir)/cells/pxlib
+
+ pxlib_DATA=CATAL \
+ pck_px.ap \
+diff --git a/alliance/src/cells/src/ramlib/Makefile.am b/alliance/src/cells/src/ramlib/Makefile.am
+index 66febd9..63a92ff 100644
+--- a/alliance/src/cells/src/ramlib/Makefile.am
++++ b/alliance/src/cells/src/ramlib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.1 2002/07/15 22:23:32 jpc Exp $
+
+-ramlibdir = $(prefix)/cells/ramlib
++ramlibdir = $(pkgdatadir)/cells/ramlib
+
+ ramlib_DATA = ramlib.lef \
+ CATAL \
+diff --git a/alliance/src/cells/src/rf2lib/Makefile.am b/alliance/src/cells/src/rf2lib/Makefile.am
+index fd9318a..fc80cd3 100644
+--- a/alliance/src/cells/src/rf2lib/Makefile.am
++++ b/alliance/src/cells/src/rf2lib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.2 2004/09/29 21:50:28 jpc Exp $
+
+-rf2libdir=$(prefix)/cells/rf2lib
++rf2libdir=$(pkgdatadir)/cells/rf2lib
+
+ rf2lib_DATA=CATAL \
+ rf2lib.lef \
+diff --git a/alliance/src/cells/src/rflib/Makefile.am b/alliance/src/cells/src/rflib/Makefile.am
+index 33ee5ac..6f8ffa7 100644
+--- a/alliance/src/cells/src/rflib/Makefile.am
++++ b/alliance/src/cells/src/rflib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.4 2002/05/08 21:07:24 jpc Exp $
+
+-rflibdir=$(prefix)/cells/rflib
++rflibdir=$(pkgdatadir)/cells/rflib
+
+ rflib_DATA=CATAL rf_dec_bufad0.ap rf_dec_bufad0.vbe rf_dec_bufad1.ap rf_dec_bufad1.vbe rf_dec_bufad2.ap rf_dec_bufad2.vbe rf_dec_nand2.ap rf_dec_nand2.vbe rf_dec_nand3.ap rf_dec_nand3.vbe rf_dec_nand4.ap rf_dec_nand4.vbe rf_dec_nao3.ap rf_dec_nao3.vbe rf_dec_nbuf.ap rf_dec_nbuf.vbe rf_dec_nor3.ap rf_dec_nor3.vbe rf_fifo_buf.ap rf_fifo_buf.vbe rf_fifo_clock.ap rf_fifo_clock.vbe rf_fifo_empty.ap rf_fifo_empty.vbe rf_fifo_full.ap rf_fifo_full.vbe rf_fifo_inc.ap rf_fifo_inc.vbe rf_fifo_nop.ap rf_fifo_nop.vbe rf_fifo_ok.ap rf_fifo_ok.vbe rf_fifo_orand4.ap rf_fifo_orand4.vbe rf_fifo_orand5.ap rf_fifo_orand5.vbe rf_fifo_ptreset.ap rf_fifo_ptreset.vbe rf_fifo_ptset.ap rf_fifo_ptset.vbe rf_inmux_buf_2.ap rf_inmux_buf_2.vbe rf_inmux_buf_4.ap rf_inmux_buf_4.vbe rf_inmux_mem.ap rf_inmux_mem.vbe rf_mid_buf_2.ap rf_mid_buf_2.vbe rf_mid_buf_4.ap rf_mid_buf_4.vbe rf_mid_mem.ap rf_mid_mem.vbe rf_mid_mem_r0.ap rf_mid_mem_r0.vbe rf_out_buf_2.ap rf_out_buf_2.vbe rf_out_buf_4.ap rf_out_buf_4.vbe rf_out_mem.ap rf_out_mem.vbe rflib.lef
+
+diff --git a/alliance/src/cells/src/romlib/Makefile.am b/alliance/src/cells/src/romlib/Makefile.am
+index 578081e..b9ae364 100644
+--- a/alliance/src/cells/src/romlib/Makefile.am
++++ b/alliance/src/cells/src/romlib/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.2 2006/06/07 19:20:03 jpc Exp $
+
+-romlibdir = $(prefix)/cells/romlib
++romlibdir = $(pkgdatadir)/cells/romlib
+
+ romlib_DATA = romlib.lef \
+ CATAL \
+diff --git a/alliance/src/cells/src/sxlib/Makefile.am b/alliance/src/cells/src/sxlib/Makefile.am
+index fdadefe..ef8957c 100644
+--- a/alliance/src/cells/src/sxlib/Makefile.am
++++ b/alliance/src/cells/src/sxlib/Makefile.am
+@@ -1,12 +1,12 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:24 jpc Exp $
+
+-sxlibvbedir=$(prefix)/cells/sxlib
+-sxlibapdir=$(prefix)/cells/sxlib
+-sxlibaldir=$(prefix)/cells/sxlib
+-sxlibdatdir=$(prefix)/cells/sxlib
+-sxlibvhddir=$(prefix)/cells/sxlib
+-sxlibetcdir=$(prefix)/cells/sxlib
+-sxlibsymdir=$(prefix)/cells/sxlib
++sxlibvbedir=$(pkgdatadir)/cells/sxlib
++sxlibapdir=$(pkgdatadir)/cells/sxlib
++sxlibaldir=$(pkgdatadir)/cells/sxlib
++sxlibdatdir=$(pkgdatadir)/cells/sxlib
++sxlibvhddir=$(pkgdatadir)/cells/sxlib
++sxlibetcdir=$(pkgdatadir)/cells/sxlib
++sxlibsymdir=$(pkgdatadir)/cells/sxlib
+
+ sxlibvbe_DATA = a2_x2.vbe a2_x4.vbe a3_x2.vbe a3_x4.vbe \
+ a4_x2.vbe a4_x4.vbe an12_x1.vbe an12_x4.vbe ao22_x2.vbe \
+--
+2.5.0
+
diff --git a/0004-Misc-installation-dirs-fixes.patch b/0004-Misc-installation-dirs-fixes.patch
new file mode 100644
index 0000000..947f9e3
--- /dev/null
+++ b/0004-Misc-installation-dirs-fixes.patch
@@ -0,0 +1,316 @@
+From d0a8e157bca76b7686d632e15f6360e549241dbf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Mon, 29 Feb 2016 14:53:11 +0100
+Subject: [PATCH 04/10] Misc installation dirs fixes.
+
+---
+ alliance/src/attila/doc/Makefile.am | 1 -
+ alliance/src/attila/doc/attila/Makefile.am | 5 +----
+ alliance/src/attila/etc/Makefile.am | 2 +-
+ alliance/src/distrib/etc/Makefile.am | 4 ++--
+ alliance/src/documentation/Makefile.am | 5 +----
+ alliance/src/documentation/tutorials/Makefile.am | 2 +-
+ alliance/src/dreal/etc/Makefile.am | 2 +-
+ alliance/src/elp/etc/Makefile.am | 2 +-
+ alliance/src/genlib/doc/Makefile.am | 1 -
+ alliance/src/genlib/doc/genlib/Makefile.am | 2 +-
+ alliance/src/graal/etc/Makefile.am | 2 +-
+ alliance/src/mbk/etc/Makefile.am | 2 +-
+ alliance/src/nero/doc/Makefile.am | 1 -
+ alliance/src/nero/doc/nero/Makefile.am | 5 +----
+ alliance/src/rds/etc/Makefile.am | 2 +-
+ alliance/src/scapin/etc/Makefile.am | 2 +-
+ alliance/src/sea/etc/Makefile.am | 2 +-
+ alliance/src/xfsm/etc/Makefile.am | 2 +-
+ alliance/src/xgra/etc/Makefile.am | 2 +-
+ alliance/src/xpat/etc/Makefile.am | 2 +-
+ alliance/src/xsch/etc/Makefile.am | 2 +-
+ alliance/src/xvpn/etc/Makefile.am | 2 +-
+ 22 files changed, 20 insertions(+), 32 deletions(-)
+
+diff --git a/alliance/src/attila/doc/Makefile.am b/alliance/src/attila/doc/Makefile.am
+index ff3f0f1..46665bd 100644
+--- a/alliance/src/attila/doc/Makefile.am
++++ b/alliance/src/attila/doc/Makefile.am
+@@ -1,7 +1,6 @@
+
+ SUBDIRS = attila man1
+
+-pdfdir = $(prefix)/doc/pdf
+ pdf_DATA = attila.pdf
+
+ EXTRA_DIST = $(pdf_DATA) \
+diff --git a/alliance/src/attila/doc/attila/Makefile.am b/alliance/src/attila/doc/attila/Makefile.am
+index d342379..86e7e1e 100644
+--- a/alliance/src/attila/doc/attila/Makefile.am
++++ b/alliance/src/attila/doc/attila/Makefile.am
+@@ -1,12 +1,9 @@
+
+
+-pkghtmldir = $(prefix)/doc/html/@PACKAGE@
++pkghtmldir = $(htmldir)/@PACKAGE@
+ pkghtml_DATA = \
+ ./attila.html \
+ ./ref_attila.html \
+ ./man_attila.html
+
+ EXTRA_DIST = $(pkghtml_DATA)
+-
+-install-data-hook:
+- find $(DESTDIR)$(prefix)/doc/html/@PACKAGE@ -type f | xargs chmod g+w
+diff --git a/alliance/src/attila/etc/Makefile.am b/alliance/src/attila/etc/Makefile.am
+index b69a787..0902c40 100644
+--- a/alliance/src/attila/etc/Makefile.am
++++ b/alliance/src/attila/etc/Makefile.am
+@@ -1,4 +1,4 @@
+-etcdir = $(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA = attila.conf
+
+diff --git a/alliance/src/distrib/etc/Makefile.am b/alliance/src/distrib/etc/Makefile.am
+index 39d2d29..f84b52b 100644
+--- a/alliance/src/distrib/etc/Makefile.am
++++ b/alliance/src/distrib/etc/Makefile.am
+@@ -1,7 +1,7 @@
+ # $Id: Makefile.am,v 1.9 2012/05/03 15:32:24 jpc Exp $
+
+-etcdir=$(sysconfdir)/profile.d
++profileddir=$(sysconfdir)/profile.d
+
+-etc_SCRIPTS=alc_env.csh alc_env.sh
++profiled_DATA=alc_env.csh alc_env.sh
+
+ EXTRA_DIST=alc_env.csh.in alc_env.sh.in
+diff --git a/alliance/src/documentation/Makefile.am b/alliance/src/documentation/Makefile.am
+index f937897..5a2c299 100644
+--- a/alliance/src/documentation/Makefile.am
++++ b/alliance/src/documentation/Makefile.am
+@@ -1,9 +1,6 @@
+
+ SUBDIRS = tutorials
+
+-
+-docdir = $(prefix)/doc
+-
+ nobase_doc_DATA = overview/datapath.gif \
+ overview/genview.gif \
+ overview/graal.gif \
+@@ -51,7 +48,7 @@ nobase_doc_DATA = overview/datapath.gif \
+ design-flow/xpat.gif \
+ design-flow/xsch.gif
+
+-examplesdir = $(prefix)/examples
++examplesdir = $(docdir)/examples
+
+ nobase_examples_DATA = regression.sh \
+ alliance-examples/go-all.sh \
+diff --git a/alliance/src/documentation/tutorials/Makefile.am b/alliance/src/documentation/tutorials/Makefile.am
+index f97c255..547c094 100644
+--- a/alliance/src/documentation/tutorials/Makefile.am
++++ b/alliance/src/documentation/tutorials/Makefile.am
+@@ -1,5 +1,5 @@
+
+-tutorialsdir = $(prefix)/tutorials
++tutorialsdir = $(docdir)/tutorials
+
+ nobase_tutorials_DATA = place_and_route/src/Makefile \
+ place_and_route/src/amd2901/Makefile \
+diff --git a/alliance/src/dreal/etc/Makefile.am b/alliance/src/dreal/etc/Makefile.am
+index debdb76..3e3d097 100644
+--- a/alliance/src/dreal/etc/Makefile.am
++++ b/alliance/src/dreal/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:25 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=cmos.dreal
+
+diff --git a/alliance/src/elp/etc/Makefile.am b/alliance/src/elp/etc/Makefile.am
+index b8ef276..c833a67 100644
+--- a/alliance/src/elp/etc/Makefile.am
++++ b/alliance/src/elp/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:25 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=prol.elp
+
+diff --git a/alliance/src/genlib/doc/Makefile.am b/alliance/src/genlib/doc/Makefile.am
+index ec53916..b4e44c5 100644
+--- a/alliance/src/genlib/doc/Makefile.am
++++ b/alliance/src/genlib/doc/Makefile.am
+@@ -1,7 +1,6 @@
+
+ SUBDIRS = genlib
+
+-pdfdir = $(prefix)/doc/pdf
+ pdf_DATA = genlib.pdf
+
+ EXTRA_DIST = $(pdf_DATA) \
+diff --git a/alliance/src/genlib/doc/genlib/Makefile.am b/alliance/src/genlib/doc/genlib/Makefile.am
+index 448eabb..b398869 100644
+--- a/alliance/src/genlib/doc/genlib/Makefile.am
++++ b/alliance/src/genlib/doc/genlib/Makefile.am
+@@ -1,6 +1,6 @@
+
+
+-pkghtmldir = $(prefix)/doc/html/@PACKAGE@
++pkghtmldir = $(htmldir)/@PACKAGE@
+ pkghtml_DATA = \
+ ./genlib.html \
+ ./ref_genlib.html \
+diff --git a/alliance/src/graal/etc/Makefile.am b/alliance/src/graal/etc/Makefile.am
+index 3ca5068..dfec7cb 100644
+--- a/alliance/src/graal/etc/Makefile.am
++++ b/alliance/src/graal/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.6 2002/05/08 21:07:25 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=cmos.graal
+
+diff --git a/alliance/src/mbk/etc/Makefile.am b/alliance/src/mbk/etc/Makefile.am
+index 2e75ab1..ba1b61d 100644
+--- a/alliance/src/mbk/etc/Makefile.am
++++ b/alliance/src/mbk/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.4 2002/05/08 21:07:25 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=spimodel.cfg
+
+diff --git a/alliance/src/nero/doc/Makefile.am b/alliance/src/nero/doc/Makefile.am
+index 0c33137..56d01bc 100644
+--- a/alliance/src/nero/doc/Makefile.am
++++ b/alliance/src/nero/doc/Makefile.am
+@@ -1,7 +1,6 @@
+
+ SUBDIRS = nero man1
+
+-pdfdir = $(prefix)/doc/pdf
+ pdf_DATA = nero.pdf
+
+ EXTRA_DIST = $(pdf_DATA) \
+diff --git a/alliance/src/nero/doc/nero/Makefile.am b/alliance/src/nero/doc/nero/Makefile.am
+index 11d58e1..8e29a17 100644
+--- a/alliance/src/nero/doc/nero/Makefile.am
++++ b/alliance/src/nero/doc/nero/Makefile.am
+@@ -1,12 +1,9 @@
+
+
+-pkghtmldir = $(prefix)/doc/html/@PACKAGE@
++pkghtmldir = $(htmldir)/@PACKAGE@
+ pkghtml_DATA = \
+ ./nero.html \
+ ./ref_nero.html \
+ ./man_nero.html
+
+ EXTRA_DIST = $(pkghtml_DATA)
+-
+-install-data-hook:
+- find $(DESTDIR)$(prefix)/doc/html/@PACKAGE@ -type f | xargs chmod g+w
+diff --git a/alliance/src/rds/etc/Makefile.am b/alliance/src/rds/etc/Makefile.am
+index d5cca76..fac05cd 100644
+--- a/alliance/src/rds/etc/Makefile.am
++++ b/alliance/src/rds/etc/Makefile.am
+@@ -1,5 +1,5 @@
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=cmos.rds scn6m_deep_09.rds
+
+diff --git a/alliance/src/scapin/etc/Makefile.am b/alliance/src/scapin/etc/Makefile.am
+index 9684d1f..ddb68bd 100644
+--- a/alliance/src/scapin/etc/Makefile.am
++++ b/alliance/src/scapin/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:26 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=sxlib.scapin
+
+diff --git a/alliance/src/sea/etc/Makefile.am b/alliance/src/sea/etc/Makefile.am
+index d1f3aca..fab246b 100644
+--- a/alliance/src/sea/etc/Makefile.am
++++ b/alliance/src/sea/etc/Makefile.am
+@@ -1,4 +1,4 @@
+-etcdir = $(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA = se_defaults.mac cmos.lef
+
+diff --git a/alliance/src/xfsm/etc/Makefile.am b/alliance/src/xfsm/etc/Makefile.am
+index 2b35b64..63387be 100644
+--- a/alliance/src/xfsm/etc/Makefile.am
++++ b/alliance/src/xfsm/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:26 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=xfsm.par
+
+diff --git a/alliance/src/xgra/etc/Makefile.am b/alliance/src/xgra/etc/Makefile.am
+index 4c9feb5..37edcd1 100644
+--- a/alliance/src/xgra/etc/Makefile.am
++++ b/alliance/src/xgra/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.1 2007/11/27 20:41:31 ludo Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=xgra.par
+
+diff --git a/alliance/src/xpat/etc/Makefile.am b/alliance/src/xpat/etc/Makefile.am
+index 8f2fa0d..43175c2 100644
+--- a/alliance/src/xpat/etc/Makefile.am
++++ b/alliance/src/xpat/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.6 2002/05/08 21:07:26 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=xpat.par
+
+diff --git a/alliance/src/xsch/etc/Makefile.am b/alliance/src/xsch/etc/Makefile.am
+index 973ab38..2d88390 100644
+--- a/alliance/src/xsch/etc/Makefile.am
++++ b/alliance/src/xsch/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:26 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=xsch.par
+
+diff --git a/alliance/src/xvpn/etc/Makefile.am b/alliance/src/xvpn/etc/Makefile.am
+index ba70004..f28560a 100644
+--- a/alliance/src/xvpn/etc/Makefile.am
++++ b/alliance/src/xvpn/etc/Makefile.am
+@@ -1,6 +1,6 @@
+ # $Id: Makefile.am,v 1.5 2002/05/08 21:07:26 jpc Exp $
+
+-etcdir=$(prefix)/etc
++etcdir=$(sysconfdir)/alliance
+
+ etc_DATA=xvpn.par
+
+--
+2.5.0
+
diff --git a/0005-Use-inttypes-macros-to-print-int32_t.patch b/0005-Use-inttypes-macros-to-print-int32_t.patch
new file mode 100644
index 0000000..f3c2d4b
--- /dev/null
+++ b/0005-Use-inttypes-macros-to-print-int32_t.patch
@@ -0,0 +1,36 @@
+From 5305097fa027775bc96ae58e0e938a1ef85f1fff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Sun, 28 Feb 2016 09:33:27 +0100
+Subject: [PATCH 05/10] Use inttypes-macros to print int32_t.
+
+---
+ alliance/src/rds/src/gds_parse.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/alliance/src/rds/src/gds_parse.c b/alliance/src/rds/src/gds_parse.c
+index dfa2239..18e4ec6 100644
+--- a/alliance/src/rds/src/gds_parse.c
++++ b/alliance/src/rds/src/gds_parse.c
+@@ -21,6 +21,7 @@
+ # include
+ # include
+ # include
++# include
+
+ # include
+ # include
+@@ -742,9 +743,9 @@ FILE *fp;
+ }
+ }
+ if ((coord_nb < 5) || (ispolyrec(coord_tab, coord_nb) == 0)) {
+- sprintf(texte, "(%ld, %ld", coord_tab[0].X, coord_tab[0].Y);
++ sprintf(texte, "(%" PRId32 ", %" PRId32 "", coord_tab[0].X, coord_tab[0].Y);
+ for (i = 1; i < coord_nb; i++)
+- sprintf(&texte[strlen(texte)], ", %ld, %ld", coord_tab[i].X, coord_tab[i].Y);
++ sprintf(&texte[strlen(texte)], ", %" PRId32 ", %" PRId32 "", coord_tab[i].X, coord_tab[i].Y);
+ strcat(texte, ")");
+ pv_emet_warning(pv_model->NAME, "Non rectangle polygon here", texte);
+ FLAG = -1;
+--
+2.5.0
+
diff --git a/0006-Use-ring_yy-instead-of-yy.patch b/0006-Use-ring_yy-instead-of-yy.patch
new file mode 100644
index 0000000..9b1f7f1
--- /dev/null
+++ b/0006-Use-ring_yy-instead-of-yy.patch
@@ -0,0 +1,77 @@
+From b689820c62058c0e3b205efc0d604e15a128a5d4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Sun, 28 Feb 2016 09:31:44 +0100
+Subject: [PATCH 06/10] Use ring_yy instead of yy.
+
+---
+ alliance/src/ring/src/lireplace.c | 2 +-
+ alliance/src/ring/src/ringram.y | 9 +++++++++
+ alliance/src/ring/src/rinscan.l | 4 ++--
+ alliance/src/ring/src/struct.h | 4 ++--
+ 4 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/alliance/src/ring/src/lireplace.c b/alliance/src/ring/src/lireplace.c
+index 296bb03..b057784 100644
+--- a/alliance/src/ring/src/lireplace.c
++++ b/alliance/src/ring/src/lireplace.c
+@@ -100,7 +100,7 @@ void lecture_fic(char *nomfic, lofig_list *circuit_lo,
+ if (mode_debug)
+ printf("Avant analyse lex et yacc \n");
+
+- yyin = mbkfopen(nomfic, NULL, READ_TEXT);
++ ring_yyin = mbkfopen(nomfic, NULL, READ_TEXT);
+
+ /* ------------------------------------------------------------------ */
+ /* lancement de lex et yacc pour interpreter le fichier de parametres */
+diff --git a/alliance/src/ring/src/ringram.y b/alliance/src/ring/src/ringram.y
+index 1bb548c..677bd52 100644
+--- a/alliance/src/ring/src/ringram.y
++++ b/alliance/src/ring/src/ringram.y
+@@ -51,3 +51,12 @@ lnomchiffre: lnomchiffre IDENT NOMBRE { declaration_width($2,$3);if (mode_debug)
+ | IDENT NOMBRE { declaration_width($1,$2);if (mode_debug) printf("yacc lnomchiffre \n");}
+ ;
+
++%%
++
++
++void
++yyerror (char const *s)
++{
++
++ fprintf (stderr, "%s\n", s);
++}
+diff --git a/alliance/src/ring/src/rinscan.l b/alliance/src/ring/src/rinscan.l
+index 2c74c9e..a98e354 100644
+--- a/alliance/src/ring/src/rinscan.l
++++ b/alliance/src/ring/src/rinscan.l
+@@ -24,10 +24,10 @@ comment [#]({lettre}*{chiffre}*{esp}*{pct}*)*{rc}
+ "west" {if (mode_debug) ECHO; return(M_WEST) ;}
+ "east" {if (mode_debug) ECHO; return(M_EAST) ;}
+ "width" {if (mode_debug) ECHO; return(M_WIDTH);}
+-{nombre} {if (mode_debug) ECHO; sscanf(yytext,"%ld",&yylval.i);
++{nombre} {if (mode_debug) ECHO; sscanf(yytext,"%ld",&ring_yylval.i);
+ return(NOMBRE);
+ }
+-{ident} {if (mode_debug) ECHO; yylval.s = namealloc(yytext);
++{ident} {if (mode_debug) ECHO; ring_yylval.s = namealloc(yytext);
+ return(IDENT);
+ }
+ {comment} {if (mode_debug) {ECHO; printf("commentaire\n");}}
+diff --git a/alliance/src/ring/src/struct.h b/alliance/src/ring/src/struct.h
+index 0d54a94..1cb5b7a 100644
+--- a/alliance/src/ring/src/struct.h
++++ b/alliance/src/ring/src/struct.h
+@@ -321,8 +321,8 @@ extern char *pvssi_p;
+
+ extern char *nom_fic_param; /* nom du fichier parametre */
+
+-extern FILE *yyin; /* pointeur sur fichier lex */
+-extern int yylineno; /* no de la ligne traitee par lex */
++extern FILE *ring_yyin; /* pointeur sur fichier lex */
++extern int ring_yylineno; /* no de la ligne traitee par lex */
+ extern chain_list *nom_plot[NB_FACES]; /* liste pour l'analyseur des noms de
+ plots */
+ extern chain_list *liste_width; /* liste pour l'analyseur des noms
+--
+2.5.0
+
diff --git a/0007-Eliminate-CFLAGS.patch b/0007-Eliminate-CFLAGS.patch
new file mode 100644
index 0000000..331593d
--- /dev/null
+++ b/0007-Eliminate-CFLAGS.patch
@@ -0,0 +1,62 @@
+From 6c48c76ab601dd1f608e716bc598e16794b42789 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Wed, 24 Feb 2016 08:03:54 +0100
+Subject: [PATCH 07/10] Eliminate CFLAGS.
+
+---
+ alliance/src/druc/src/Makefile.am | 5 ++---
+ alliance/src/m2e/src/Makefile.am | 2 +-
+ alliance/src/nero/src/Makefile.am | 3 ---
+ 3 files changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/alliance/src/druc/src/Makefile.am b/alliance/src/druc/src/Makefile.am
+index 16ecb34..bb31154 100644
+--- a/alliance/src/druc/src/Makefile.am
++++ b/alliance/src/druc/src/Makefile.am
+@@ -8,7 +8,8 @@ drucompi.h drucring.c drucring.h drucutil.c drucutil.h vmcaract.c vmcaract.h \
+ vmcasmld.c vmcasmld.h vmcerror.c vmcerror.h vmcmesur.c vmcmesur.h vmcrelat.c \
+ vmcrelat.h vmctools.c vmctools.h vmcunify.c vmcunify.h
+
+-CFLAGS = $(ALLIANCE_CFLAGS) -g -O0
++AM_CFLAGS = $(ALLIANCE_CFLAGS)
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/rds/src
+ libVrd_la_LDFLAGS = -version-info @VRD_DLL_VERSION@
+ libVrd_la_LIBADD = -lRds -lMut
+
+@@ -22,8 +23,6 @@ drucompi_l.c : $(srcdir)/drucompi_l.l drucompi_y.h
+
+ bin_PROGRAMS = druc
+
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/rds/src
+-
+ druc_LDADD = $(ALLIANCE_LIBS) -L. libVrd.la \
+ -L$(builddir)/../../rds/src/.libs -lRds \
+ -L$(builddir)/../../mbk/src/.libs -lMpu -lMut
+diff --git a/alliance/src/m2e/src/Makefile.am b/alliance/src/m2e/src/Makefile.am
+index 969bc1a..04a817b 100644
+--- a/alliance/src/m2e/src/Makefile.am
++++ b/alliance/src/m2e/src/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-AM_CFLAGS = -g -I$(top_srcdir)/mbk/src
++AM_CFLAGS = -I$(top_srcdir)/mbk/src
+
+ bin_PROGRAMS = m2e
+
+diff --git a/alliance/src/nero/src/Makefile.am b/alliance/src/nero/src/Makefile.am
+index 71e2810..f3a5abd 100644
+--- a/alliance/src/nero/src/Makefile.am
++++ b/alliance/src/nero/src/Makefile.am
+@@ -1,8 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+
+-#CXXFLAGS = -g -pg -O2
+-CXXFLAGS = -g -O2
+-#CXXFLAGS = -O2
+ AM_CXXFLAGS = @ALLIANCE_CFLAGS@ \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+--
+2.5.0
+
diff --git a/0008-Rework-Makefile.ams.patch b/0008-Rework-Makefile.ams.patch
new file mode 100644
index 0000000..5cf87b0
--- /dev/null
+++ b/0008-Rework-Makefile.ams.patch
@@ -0,0 +1,1923 @@
+From 9346ac619fd8314e023ac3cc658119358945d872 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Sun, 28 Feb 2016 09:44:14 +0100
+Subject: [PATCH 08/10] Rework Makefile.ams.
+
+---
+ alliance/src/abe/src/Makefile.am | 7 ++++--
+ alliance/src/abl/src/Makefile.am | 6 +++--
+ alliance/src/abt/src/Makefile.am | 9 +++++--
+ alliance/src/abv/src/Makefile.am | 10 ++++++--
+ alliance/src/alcban/src/Makefile.am | 7 +++---
+ alliance/src/asimut/src/Makefile.am | 16 +++---------
+ alliance/src/aut/src/Makefile.am | 5 ++--
+ alliance/src/b2f/src/Makefile.am | 31 +++++++++++------------
+ alliance/src/bdd/src/Makefile.am | 4 +--
+ alliance/src/beh/src/Makefile.am | 4 +--
+ alliance/src/bhl/src/Makefile.am | 10 ++++++--
+ alliance/src/boog/src/Makefile.am | 27 ++++++++++----------
+ alliance/src/btr/src/Makefile.am | 7 ++++--
+ alliance/src/bvl/src/Makefile.am | 13 ++++++++--
+ alliance/src/ctl/src/Makefile.am | 5 ++--
+ alliance/src/ctp/src/Makefile.am | 16 +++++++++---
+ alliance/src/druc/src/Makefile.am | 13 ++++++----
+ alliance/src/elp/src/Makefile.am | 9 +++++--
+ alliance/src/exp/src/Makefile.am | 4 +--
+ alliance/src/fks/src/Makefile.am | 9 +++++--
+ alliance/src/flatbeh/src/Makefile.am | 14 +++--------
+ alliance/src/flatph/src/Makefile.am | 12 ++++-----
+ alliance/src/fmi/src/Makefile.am | 24 +++++++++---------
+ alliance/src/fsm/src/Makefile.am | 8 ++++--
+ alliance/src/fsp/src/Makefile.am | 15 +++--------
+ alliance/src/ftl/src/Makefile.am | 22 ++++++++++++++---
+ alliance/src/fvh/src/Makefile.am | 11 +++++++--
+ alliance/src/genlib/src/Makefile.am | 10 +++++---
+ alliance/src/genpat/src/Makefile.am | 6 +++--
+ alliance/src/graal/src/Makefile.am | 12 ++++-----
+ alliance/src/k2f/src/Makefile.am | 15 +++--------
+ alliance/src/l2p/src/Makefile.am | 7 +++---
+ alliance/src/log/src/Makefile.am | 5 ++--
+ alliance/src/loon/src/Makefile.am | 16 ++++--------
+ alliance/src/lvx/src/Makefile.am | 7 +++---
+ alliance/src/lynx/src/Makefile.am | 11 +++------
+ alliance/src/mbk/src/Makefile.am | 10 +++++---
+ alliance/src/mips_asm/src/Makefile.am | 11 +++------
+ alliance/src/mocha/src/Makefile.am | 41 +++++++++++++++---------------
+ alliance/src/nero/src/Makefile.am | 22 +++++------------
+ alliance/src/ocp/src/placer/Makefile.am | 31 ++++++++++++-----------
+ alliance/src/pat/src/Makefile.am | 7 ++++--
+ alliance/src/pat2spi/src/Makefile.am | 8 +++---
+ alliance/src/proof/src/Makefile.am | 18 ++++++--------
+ alliance/src/rds/src/Makefile.am | 4 +--
+ alliance/src/ring/src/Makefile.am | 26 ++++++++++---------
+ alliance/src/rtd/src/Makefile.am | 7 ++++--
+ alliance/src/rtn/src/Makefile.am | 7 ++++--
+ alliance/src/s2r/src/Makefile.am | 17 +++++++------
+ alliance/src/scapin/src/Makefile.am | 9 +++----
+ alliance/src/scl/src/Makefile.am | 15 ++++++++---
+ alliance/src/sea/src/Makefile.am | 15 ++++-------
+ alliance/src/syf/src/Makefile.am | 27 ++++++++++----------
+ alliance/src/vasy/src/Makefile.am | 44 ++++++++++++++++-----------------
+ alliance/src/vbh/src/Makefile.am | 9 +++++--
+ alliance/src/vex/src/Makefile.am | 6 +++--
+ alliance/src/vpn/src/Makefile.am | 7 ++++--
+ alliance/src/x2y/src/Makefile.am | 16 +++++++-----
+ alliance/src/xfsm/src/Makefile.am | 25 +++++++++----------
+ alliance/src/xgra/src/Makefile.am | 8 +++---
+ alliance/src/xpat/src/Makefile.am | 18 +++++++-------
+ alliance/src/xsch/src/Makefile.am | 23 ++++++++---------
+ alliance/src/xvpn/src/Makefile.am | 18 +++++++-------
+ 63 files changed, 455 insertions(+), 401 deletions(-)
+
+diff --git a/alliance/src/abe/src/Makefile.am b/alliance/src/abe/src/Makefile.am
+index 8b29638..10cff00 100644
+--- a/alliance/src/abe/src/Makefile.am
++++ b/alliance/src/abe/src/Makefile.am
+@@ -1,7 +1,10 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src
+ lib_LTLIBRARIES = libAbe.la
+ include_HEADERS = abe.h
+ libAbe_la_SOURCES = abe.h beh_del.c beh_error.c beh_getgenva.c beh_rmv.c beh_view.c \
+ beh_add.c beh_dict.c beh_fre.c beh_message.c beh_toolbug.c
+ libAbe_la_LDFLAGS = -version-info @ABE_DLL_VERSION@
+-libAbe_la_LIBADD = -lAbl -lAut -lMut
++libAbe_la_LIBADD =
++libAbe_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libAbe_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libAbe_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/abl/src/Makefile.am b/alliance/src/abl/src/Makefile.am
+index bae65f3..44462ab 100644
+--- a/alliance/src/abl/src/Makefile.am
++++ b/alliance/src/abl/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src
+ lib_LTLIBRARIES = libAbl.la
+ include_HEADERS = abl.h
+ libAbl_la_SOURCES = abldel.h ablflat.h abloptim.h ablunflat.h \
+@@ -12,4 +12,6 @@ libAbl_la_SOURCES = abldel.h ablflat.h abloptim.h ablunflat.h
+ ablctlsimp.h ablerror.h ablmap.h ablsubst.h \
+ abldel.c ablflat.c abloptim.c ablunflat.c
+ libAbl_la_LDFLAGS = -version-info @ABL_DLL_VERSION@
+-libAbl_la_LIBADD = -lAut -lMut
++libAbl_la_LIBADD =
++libAbl_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libAbl_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/abt/src/Makefile.am b/alliance/src/abt/src/Makefile.am
+index 28da65d..a22b830 100644
+--- a/alliance/src/abt/src/Makefile.am
++++ b/alliance/src/abt/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/bdd/src \
+@@ -9,4 +9,9 @@ libAbt_la_SOURCES = abt.h bhl_depend.c bhl_freabl.c bhl_makgex.c \
+ bhl_delaux.c bhl_error.c bhl_makbdd.c bhl_orderbdd.c \
+ bhl_delaux.h bhl_error.h bhl_makbdd.h bhl_orderbdd.h
+ libAbt_la_LDFLAGS = -version-info @ABT_DLL_VERSION@
+-libAbt_la_LIBADD = -lBdd -lAbe -lAbl -lAut -lMut
++libAbt_la_LIBADD =
++libAbt_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libAbt_la_LIBADD += $(top_builddir)/abe/src/libAbe.la
++libAbt_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libAbt_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libAbt_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/abv/src/Makefile.am b/alliance/src/abv/src/Makefile.am
+index 73e5fdb..d7ec3b6 100644
+--- a/alliance/src/abv/src/Makefile.am
++++ b/alliance/src/abv/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/bdd/src \
+@@ -9,7 +9,11 @@ libAbv_la_SOURCES = bvl_bcomp_y.y bvl_bcomp_l.l \
+ abv.h bvl_bspec.c bvl_drive.c bvl_parse.h bvl_util.h \
+ bvl_bedef.h bvl_bspec.h bvl_drive.h bvl_utdef.h bvl_utype.h \
+ bvl_blex.h bvl_byacc.h bvl_parse.c bvl_util.c
+-libAbv_la_LIBADD = -lAbe -lBdd -lMut
++libAbv_la_LIBADD =
++libAbv_la_LIBADD += $(top_builddir)/abe/src/libAbe.la
++libAbv_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libAbv_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
++
+
+ CLEANFILES = bvl_bcomp_y.c bvl_bcomp_y.h bvl_bcomp_l.c
+
+@@ -21,3 +25,5 @@ bvl_bcomp_l.c : $(srcdir)/bvl_bcomp_l.l bvl_bcomp_y.h
+ $(LEX) -t $(srcdir)/bvl_bcomp_l.l | sed -e "s/yy/bvl_y_/g" -e "s/YY/BVL_Y_/g" > bvl_bcomp_l.c
+
+ libAbv_la_LDFLAGS = -version-info @ABV_DLL_VERSION@
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/alcban/src/Makefile.am b/alliance/src/alcban/src/Makefile.am
+index 033fa40..f6b02d4 100644
+--- a/alliance/src/alcban/src/Makefile.am
++++ b/alliance/src/alcban/src/Makefile.am
+@@ -2,9 +2,10 @@
+
+ bin_PROGRAMS = alcbanner
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/mbk/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+
+-alcbanner_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs -lMut
++alcbanner_LDADD = @ALLIANCE_LIBS@
++alcbanner_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ alcbanner_SOURCES = alcbanner.c
+diff --git a/alliance/src/asimut/src/Makefile.am b/alliance/src/asimut/src/Makefile.am
+index d7b5e77..aaad8cf 100644
+--- a/alliance/src/asimut/src/Makefile.am
++++ b/alliance/src/asimut/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/log/src \
+ -I$(top_srcdir)/beh/src \
+ -I$(top_srcdir)/pat/src \
+@@ -17,20 +17,12 @@ libSch_la_SOURCES = sch_addshent.c sch_CrtSch.c sch_GetCTim.c sch.h sch_r
+ sch_bug.c sch_Free.c sch_GoNTim.c sch_message.c
+
+ libSch_la_LDFLAGS = -version-info @SCH_DLL_VERSION@
+-libSch_la_LIBADD = -lMut
++libSch_la_LIBADD = $(top_builddir)/mbk/src/libMut.la
+
+ bin_PROGRAMS = asimut
+
+-asimut_LDADD = -L. libSch.la -lBvl -lBhl \
+- -L$(top_builddir)/mbk/src \
+- -L$(top_builddir)/bvl/src \
+- -L$(top_builddir)/bhl/src \
+- -L$(top_builddir)/beh/src \
+- -L$(top_builddir)/pat/src \
+- -L$(top_builddir)/log/src \
+- -L$(top_builddir)/abl/src \
+- -L$(top_builddir)/aut/src \
+- -lAut -lAbl -lMlu -lRcn -lBvl -lBhl -lBeh -lPat -lLog -lMut
++asimut_LDADD = libSch.la $(top_builddir)/bvl/src/libBvl.la $(top_builddir)/bhl/src/libBhl.la \
++ $(top_builddir)/aut/src/libAut.la $(top_builddir)/abl/src/libAbl.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/bvl/src/libBvl.la $(top_builddir)/bhl/src/libBhl.la $(top_builddir)/beh/src/libBeh.la $(top_builddir)/pat/src/libPat.la $(top_builddir)/log/src/libLog.la $(top_builddir)/mbk/src/libMut.la
+
+ asimut_SOURCES = beh_delay.h c_fsyn_sr1k_56.c vh_debug.c vh_lspec.c vh_util.h vh_init.h \
+ beh_setdelay.c c_fsyn_sr4k_10.c vh_debug.h vh_lspec.h vh_xcomm.c \
+diff --git a/alliance/src/aut/src/Makefile.am b/alliance/src/aut/src/Makefile.am
+index d26d76a..ae9af96 100644
+--- a/alliance/src/aut/src/Makefile.am
++++ b/alliance/src/aut/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+ lib_LTLIBRARIES = libAut.la
+ include_HEADERS = aut.h
+ libAut_la_SOURCES = autenv.h autfree.h authash2.h autsort.h \
+@@ -9,4 +9,5 @@ autdebug.h autexit.h authash.h autresize.h \
+ autenv.c autfree.c authash2.c autsort.c
+
+ libAut_la_LDFLAGS = -version-info @AUT_DLL_VERSION@
+-libAut_la_LIBADD = -lMut
++libAut_la_LIBADD =
++libAut_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/b2f/src/Makefile.am b/alliance/src/b2f/src/Makefile.am
+index 883d4af..9ef32d6 100644
+--- a/alliance/src/b2f/src/Makefile.am
++++ b/alliance/src/b2f/src/Makefile.am
+@@ -2,7 +2,8 @@
+
+ bin_PROGRAMS = b2f
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/abe/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/abt/src \
+ -I$(top_srcdir)/abv/src \
+@@ -13,21 +14,19 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/ftl/src \
+ -I$(top_srcdir)/mbk/src
+
+-b2f_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abt/src/.libs \
+--L$(top_builddir)/abv/src/.libs \
+--L$(top_builddir)/abe/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/btr/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lAbt -lAbv -lAbe -lFtl -lFks -lFvh -lFsm \
+- -lBtr -lBdd -lAbl -lAut -lMut
++b2f_LDADD = @ALLIANCE_LIBS@
++b2f_LDADD += $(top_builddir)/abt/src/libAbt.la
++b2f_LDADD += $(top_builddir)/abv/src/libAbv.la
++b2f_LDADD += $(top_builddir)/abe/src/libAbe.la
++b2f_LDADD += $(top_builddir)/ftl/src/libFtl.la
++b2f_LDADD += $(top_builddir)/fks/src/libFks.la
++b2f_LDADD += $(top_builddir)/fvh/src/libFvh.la
++b2f_LDADD += $(top_builddir)/fsm/src/libFsm.la
++b2f_LDADD += $(top_builddir)/btr/src/libBtr.la
++b2f_LDADD += $(top_builddir)/bdd/src/libBdd.la
++b2f_LDADD += $(top_builddir)/abl/src/libAbl.la
++b2f_LDADD += $(top_builddir)/aut/src/libAut.la
++b2f_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ b2f_SOURCES = \
+ b2f_beh2fsm.c b2f_error.c b2f_main.c \
+diff --git a/alliance/src/bdd/src/Makefile.am b/alliance/src/bdd/src/Makefile.am
+index 8b4df4e..41bf95a 100644
+--- a/alliance/src/bdd/src/Makefile.am
++++ b/alliance/src/bdd/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src
+ lib_LTLIBRARIES = libBdd.la
+ include_HEADERS = bdd.h
+ libBdd_la_SOURCES = bdd.h bddenv.h bddimply.h bddsimpdc.h \
+@@ -25,4 +25,4 @@ libBdd_la_SOURCES = bdd.h bddenv.h bddimply.h bddsimp
+ bddenv.c bddimply.c bddsimpdc.c
+
+ libBdd_la_LDFLAGS = -version-info @BDD_DLL_VERSION@
+-libBdd_la_LIBADD = -lAbl -lAut
++libBdd_la_LIBADD = $(top_builddir)/abl/src/libAbl.la $(top_builddir)/aut/src/libAut.la
+diff --git a/alliance/src/beh/src/Makefile.am b/alliance/src/beh/src/Makefile.am
+index f087c94..5f70ef1 100644
+--- a/alliance/src/beh/src/Makefile.am
++++ b/alliance/src/beh/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/log/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/log/src
+ lib_LTLIBRARIES = libBeh.la
+ include_HEADERS = beh.h cst.h
+ libBeh_la_SOURCES = beh_addbeaux.c beh_delbebus.c beh_frebeaux.c beh_message.c \
+@@ -25,4 +25,4 @@ libBeh_la_SOURCES = beh_addbeaux.c beh_delbebus.c beh_frebeaux.c beh_mess
+ cst_DisjunctSet.c cst_GetPrevElt.c cst_SetCmp.c
+
+ libBeh_la_LDFLAGS = -version-info @BEH_DLL_VERSION@
+-libBeh_la_LIBADD = -lLog -lAbl -lAut -lMut
++libBeh_la_LIBADD = $(top_builddir)/log/src/libLog.la $(top_builddir)/abl/src/libAbl.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/bhl/src/Makefile.am b/alliance/src/bhl/src/Makefile.am
+index 1d52002..97936f3 100644
+--- a/alliance/src/bhl/src/Makefile.am
++++ b/alliance/src/bhl/src/Makefile.am
+@@ -1,4 +1,7 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/log/src -I$(top_srcdir)/beh/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/log/src
++AM_CPPFLAGS += -I$(top_srcdir)/beh/src
++
+ lib_LTLIBRARIES = libBhl.la
+ include_HEADERS = bhl.h
+ libBhl_la_SOURCES = beh_chkbefig.c beh_dly2sta.c beh_makbdd.c beh_makvarlist.c \
+@@ -7,4 +10,7 @@ libBhl_la_SOURCES = beh_chkbefig.c beh_dly2sta.c beh_makbdd.c beh_makvarlis
+ beh_debug.h beh_indexbdd.c beh_maknode.c beh_unamlist.c \
+ beh_depend.c beh_makquad.c bhl.h
+ libBhl_la_LDFLAGS = -version-info @BHL_DLL_VERSION@
+-libBhl_la_LIBADD = -lBeh -lAut -lMut
++libBhl_la_LIBADD =
++libBhl_la_LIBADD += $(top_builddir)/beh/src/libBeh.la
++libBhl_la_LIBADD += $(top_builddir)/log/src/libLog.la
++libBhl_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/boog/src/Makefile.am b/alliance/src/boog/src/Makefile.am
+index 3581883..d66b486 100644
+--- a/alliance/src/boog/src/Makefile.am
++++ b/alliance/src/boog/src/Makefile.am
+@@ -1,25 +1,26 @@
+ ## Process this file with automake to produce Makefile.in
+
+-AM_CFLAGS = -I$(top_srcdir)/abe/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/abv/src \
+ -I$(top_srcdir)/bdd/src \
+ -I$(top_srcdir)/aut/src \
+- -I$(top_srcdir)/mbk/src \
+- @ALLIANCE_CFLAGS@
++ -I$(top_srcdir)/mbk/src
+
+ bin_PROGRAMS = boog
+
+-boog_LDADD = @ALLIANCE_LIBS@ \
+- -L$(builddir)/../../abv/src \
+- -L$(builddir)/../../abe/src \
+- -L$(builddir)/../../abt/src \
+- -L$(builddir)/../../mbk/src \
+- -L$(builddir)/../../mbk/src \
+- -L$(builddir)/../../bdd/src \
+- -L$(builddir)/../../abl/src \
+- -L$(builddir)/../../aut/src \
+- -lAbv -lAbe -lAbt -lMlu -lRcn -lMlo -lBdd -lAbl -lAut -lMut
++boog_LDADD = @ALLIANCE_LIBS@
++boog_LDADD += $(top_builddir)/abv/src/libAbv.la
++boog_LDADD += $(top_builddir)/abe/src/libAbe.la
++boog_LDADD += $(top_builddir)/abt/src/libAbt.la
++boog_LDADD += $(top_builddir)/mbk/src/libMlu.la
++boog_LDADD += $(top_builddir)/mbk/src/libRcn.la
++boog_LDADD += $(top_builddir)/mbk/src/libMlo.la
++boog_LDADD += $(top_builddir)/bdd/src/libBdd.la
++boog_LDADD += $(top_builddir)/abl/src/libAbl.la
++boog_LDADD += $(top_builddir)/aut/src/libAut.la
++boog_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ boog_SOURCES = bog_lax_param.c bog_map_adapt.h bog_normalize_simplify.h \
+ bog_lax_param.h bog_map_befig.c bog_signal_adapt.c \
+diff --git a/alliance/src/btr/src/Makefile.am b/alliance/src/btr/src/Makefile.am
+index d9eb2c3..f988e2d 100644
+--- a/alliance/src/btr/src/Makefile.am
++++ b/alliance/src/btr/src/Makefile.am
+@@ -1,8 +1,11 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src -I$(top_srcdir)/bdd/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/aut/src
++AM_CPPFLAGS += -I$(top_srcdir)/abl/src
++AM_CPPFLAGS += -I$(top_srcdir)/bdd/src
+ lib_LTLIBRARIES = libBtr.la
+ include_HEADERS = btr.h
+ libBtr_la_SOURCES = btr.h btrenv.c btrerror.h btrfunc.c btrresize.h \
+ btralloc.c btrenv.h btrfree.c btrfunc.h btrtrans.c \
+ btralloc.h btrerror.c btrfree.h btrresize.c btrtrans.h
+ libBtr_la_LDFLAGS = -version-info @BTR_DLL_VERSION@
+-libBtr_la_LIBADD = -lBdd
++libBtr_la_LIBADD = $(top_builddir)/bdd/src/libBdd.la
+diff --git a/alliance/src/bvl/src/Makefile.am b/alliance/src/bvl/src/Makefile.am
+index 5d81aec..89fa559 100644
+--- a/alliance/src/bvl/src/Makefile.am
++++ b/alliance/src/bvl/src/Makefile.am
+@@ -1,11 +1,18 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/log/src -I$(top_srcdir)/beh/src -I$(top_srcdir)/bhl/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/log/src
++AM_CPPFLAGS += -I$(top_srcdir)/beh/src
++AM_CPPFLAGS += -I$(top_srcdir)/bhl/src
+ lib_LTLIBRARIES = libBvl.la
+ include_HEADERS = bvl.h
+ libBvl_la_SOURCES = bvl_bcomp_y.y bvl_bcomp_l.l bvl_bcomp_y.h \
+ bvl_bedef.h bvl_drive.c bvl.h bvl_util.c \
+ bvl_byacc.h bvl_globals.c bvl_parse.c
+ libBvl_la_LDFLAGS = -version-info @BVL_DLL_VERSION@
+-libBvl_la_LIBADD = -lBhl -lBeh -lMut
++libBvl_la_LIBADD =
++libBvl_la_LIBADD += $(top_builddir)/bhl/src/libBhl.la
++libBvl_la_LIBADD += $(top_builddir)/beh/src/libBeh.la
++libBvl_la_LIBADD += $(top_builddir)/log/src/libLog.la
++libBvl_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ CLEANFILES = bvl_bcomp_y.c bvl_bcomp_y.h bvl_bcomp_l.c
+
+@@ -13,3 +20,5 @@ bvl_bcomp_y.c bvl_bcomp_y.h : $(srcdir)/bvl_bcomp_y.y
+ $(YACC) -d $(YFLAGS) $(srcdir)/bvl_bcomp_y.y && sed -e "s/yy/bvl_y_/g" -e "s/YY/BVL_Y_/g" y.tab.c > bvl_bcomp_y.c && sed -e "s/yy/bvl_y_/g" -e "s/YY/BVL_Y_/g" y.tab.h > bvl_bcomp_y.h
+ bvl_bcomp_l.c : $(srcdir)/bvl_bcomp_l.l bvl_bcomp_y.h
+ $(LEX) -t $(srcdir)/bvl_bcomp_l.l | sed -e "s/yy/bvl_y_/g" -e "s/YY/BVL_Y_/g" > bvl_bcomp_l.c
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/ctl/src/Makefile.am b/alliance/src/ctl/src/Makefile.am
+index b4c6000..3e441fd 100644
+--- a/alliance/src/ctl/src/Makefile.am
++++ b/alliance/src/ctl/src/Makefile.am
+@@ -1,8 +1,9 @@
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src
+ lib_LTLIBRARIES = libCtl.la
+ include_HEADERS = ctl.h
+ libCtl_la_SOURCES = ctladd.c ctlalloc.h ctlenv.c ctlerror.h ctl.h ctlview.c \
+ ctladd.h ctldel.c ctlenv.h ctlfree.c ctlsearch.c ctlview.h \
+ ctlalloc.c ctldel.h ctlerror.c ctlfree.h ctlsearch.h
+ libCtl_la_LDFLAGS = -version-info @CTL_DLL_VERSION@
+-libCtl_la_LIBADD = -lVex -lAut -lMut
++libCtl_la_LIBADD = $(top_builddir)/vex/src/libVex.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/ctp/src/Makefile.am b/alliance/src/ctp/src/Makefile.am
+index 165e582..7c52107 100644
+--- a/alliance/src/ctp/src/Makefile.am
++++ b/alliance/src/ctp/src/Makefile.am
+@@ -1,11 +1,15 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src -I$(top_srcdir)/ctl/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src -I$(top_srcdir)/ctl/src
+ lib_LTLIBRARIES = libCtp.la
+ include_HEADERS = ctp.h
+ libCtp_la_SOURCES = ctp_y.y ctp_l.l ctp.h \
+ ctp_bedef.h ctp_bspec.c ctp_byacc.h ctp_parse.c ctp_util.h \
+ ctp_blex.h ctp_bspec.h ctp_util.c ctp_utype.h
+ libCtp_la_LDFLAGS = -version-info @CTP_DLL_VERSION@
+-libCtp_la_LIBADD = -lCtl -lVex -lAut -lMut
++libCtp_la_LIBADD =
++libCtp_la_LIBADD += $(top_builddir)/ctl/src/libCtl.la
++libCtp_la_LIBADD += $(top_builddir)/vex/src/libVex.la
++libCtp_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libCtp_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ CLEANFILES = ctp_y.c ctp_y.h ctp_l.c
+
+@@ -19,6 +23,12 @@ ctp_l.c : $(srcdir)/ctp_l.l ctp_y.h
+
+ EXTRA_PROGRAMS = ctptest
+
+-ctptest_LDADD = -L. -lCtp -lCtl -lVex -lAut -lMut
++ctptest_LDADD = libCtp.la
++ctptest_LDADD += $(top_builddir)/ctl/src/libCtl.la
++ctptest_LDADD += $(top_builddir)/vex/src/libVex.la
++ctptest_LDADD += $(top_builddir)/aut/src/libAut.la
++ctptest_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ ctptest_SOURCES = main.c
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/druc/src/Makefile.am b/alliance/src/druc/src/Makefile.am
+index bb31154..f4c125e 100644
+--- a/alliance/src/druc/src/Makefile.am
++++ b/alliance/src/druc/src/Makefile.am
+@@ -8,10 +8,11 @@ drucompi.h drucring.c drucring.h drucutil.c drucutil.h vmcaract.c vmcaract.h \
+ vmcasmld.c vmcasmld.h vmcerror.c vmcerror.h vmcmesur.c vmcmesur.h vmcrelat.c \
+ vmcrelat.h vmctools.c vmctools.h vmcunify.c vmcunify.h
+
+-AM_CFLAGS = $(ALLIANCE_CFLAGS)
+ AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/rds/src
+ libVrd_la_LDFLAGS = -version-info @VRD_DLL_VERSION@
+-libVrd_la_LIBADD = -lRds -lMut
++libVrd_la_LIBADD =
++libVrd_la_LIBADD += $(top_builddir)/rds/src/libRds.la
++libVrd_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ CLEANFILES = drucompi_l.c drucompi_y.h drucompi_y.c
+
+@@ -23,9 +24,11 @@ drucompi_l.c : $(srcdir)/drucompi_l.l drucompi_y.h
+
+ bin_PROGRAMS = druc
+
+-druc_LDADD = $(ALLIANCE_LIBS) -L. libVrd.la \
+--L$(builddir)/../../rds/src/.libs -lRds \
+--L$(builddir)/../../mbk/src/.libs -lMpu -lMut
++druc_LDADD = libVrd.la
++druc_LDADD += $(top_builddir)/rds/src/libRds.la
++druc_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ druc_SOURCES = \
+ drucbath.c drucbath.h
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/elp/src/Makefile.am b/alliance/src/elp/src/Makefile.am
+index 41969ab..28581fa 100644
+--- a/alliance/src/elp/src/Makefile.am
++++ b/alliance/src/elp/src/Makefile.am
+@@ -1,11 +1,14 @@
+-AM_CFLAGS = -DTECHNOLOGY=\"etc/prol.elp\" -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -DTECHNOLOGY=\"etc/prol.elp\"
++AM_CPPFLAGS += -I$(top_srcdir)/mbk/src
+
+ lib_LTLIBRARIES = libElp.la
+ include_HEADERS = elp.h
+ libElp_la_SOURCES = elp_y.y elp_l.l elp.c elperror.c elp.h
+
+ libElp_la_LDFLAGS = -version-info @ELP_DLL_VERSION@
+-libElp_la_LIBADD = -lRcn -lMut
++libElp_la_LIBADD =
++libElp_la_LIBADD += $(top_builddir)/mbk/src/libRcn.la
++libElp_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ CLEANFILES = elp_y.c elp_y.h elp_l.c
+
+@@ -14,3 +17,5 @@ elp_y.c elp_y.h : $(srcdir)/elp_y.y
+
+ elp_l.c : $(srcdir)/elp_l.l elp_y.h
+ $(LEX) -t $(srcdir)/elp_l.l | sed -e "s/yy/elpyy/g" -e "s/YY/elpYY/g" > elp_l.c
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/exp/src/Makefile.am b/alliance/src/exp/src/Makefile.am
+index 03f8892..21fdf5f 100644
+--- a/alliance/src/exp/src/Makefile.am
++++ b/alliance/src/exp/src/Makefile.am
+@@ -2,9 +2,7 @@
+
+ bin_PROGRAMS = exp
+
+-YACC = @YACC@ -d -v --debug
+-CFLAGS = @CFLAGS@ @ALLIANCE_CFLAGS@
+-exp_LDADD =
++AM_YFLAGS = -d --debug
+
+ exp_SOURCES = exp.h expy.y expl.l ht.c ht.h main.c
+
+diff --git a/alliance/src/fks/src/Makefile.am b/alliance/src/fks/src/Makefile.am
+index 49f46ba..884e6bd 100644
+--- a/alliance/src/fks/src/Makefile.am
++++ b/alliance/src/fks/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/bdd/src \
+@@ -7,4 +7,9 @@ lib_LTLIBRARIES = libFks.la
+ include_HEADERS = fks.h
+ libFks_la_SOURCES = fks.h fksdrive.c fksdrive.h fkserror.c fkserror.h fksparse.c fksparse.h
+ libFks_la_LDFLAGS = -version-info @FKS_DLL_VERSION@
+-libFks_la_LIBADD = -lFsm -lAbl -lBdd -lAut -lMut
++libFks_la_LIBADD =
++libFks_la_LIBADD += $(top_builddir)/fsm/src/libFsm.la
++libFks_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libFks_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libFks_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libFks_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/flatbeh/src/Makefile.am b/alliance/src/flatbeh/src/Makefile.am
+index 9419dd8..fa6a82a 100644
+--- a/alliance/src/flatbeh/src/Makefile.am
++++ b/alliance/src/flatbeh/src/Makefile.am
+@@ -1,6 +1,7 @@
+ ## Process this file with automake to produce Makefile.in
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/abv/src \
+@@ -11,14 +12,7 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+ bin_PROGRAMS = flatbeh
+
+ flatbeh_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abv/src/.libs \
+--L$(top_builddir)/abe/src/.libs \
+--L$(top_builddir)/abt/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+- -lAbv -lAbe -lAbt -lMlu -lRcn -lMlo -lBdd -lAbl -lAut -lMut
+-
++ $(top_builddir)/abv/src/libAbv.la $(top_builddir)/abe/src/libAbe.la $(top_builddir)/abt/src/libAbt.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/bdd/src/libBdd.la $(top_builddir)/abl/src/libAbl.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
++
+ flatbeh_SOURCES = abstract.c abstract.h utils.c utils.h main.c
+
+diff --git a/alliance/src/flatph/src/Makefile.am b/alliance/src/flatph/src/Makefile.am
+index 6fcf5bd..6ecbbfd 100644
+--- a/alliance/src/flatph/src/Makefile.am
++++ b/alliance/src/flatph/src/Makefile.am
+@@ -1,14 +1,12 @@
+ # $Id: Makefile.am,v 1.5 2005/01/19 15:13:50 hcl Exp $
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/mbk/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+
+ bin_PROGRAMS = flatph
+
+-flatph_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/mbk/src/.libs \
+- -lMpu -lMlu \
+- -lMlo \
+- -lMph -lMut \
+- -lRcn
++flatph_LDADD = @ALLIANCE_LIBS@
++flatph_LDADD += $(top_builddir)/mbk/src/libMpu.la
++flatph_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ flatph_SOURCES = flatph.c
+diff --git a/alliance/src/fmi/src/Makefile.am b/alliance/src/fmi/src/Makefile.am
+index 0248fd3..157f536 100644
+--- a/alliance/src/fmi/src/Makefile.am
++++ b/alliance/src/fmi/src/Makefile.am
+@@ -2,24 +2,24 @@
+
+ bin_PROGRAMS = fmi
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/abl/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
++-I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/bdd/src \
+ -I$(top_srcdir)/fsm/src \
+ -I$(top_srcdir)/ftl/src \
+ -I$(top_srcdir)/mbk/src
+
+-fmi_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lFtl -lFks -lFvh -lFsm \
+- -lBdd -lAbl -lAut -lMut
++fmi_LDADD = @ALLIANCE_LIBS@
++fmi_LDADD += $(top_builddir)/abl/src/libAbl.la
++fmi_LDADD += $(top_builddir)/aut/src/libAut.la
++fmi_LDADD += $(top_builddir)/bdd/src/libBdd.la
++fmi_LDADD += $(top_builddir)/fks/src/libFks.la
++fmi_LDADD += $(top_builddir)/fsm/src/libFsm.la
++fmi_LDADD += $(top_builddir)/ftl/src/libFtl.la
++fmi_LDADD += $(top_builddir)/fvh/src/libFvh.la
++fmi_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ fmi_SOURCES = \
+ fmi_bdd.c fmi_main.c fmi_optim.c fmi_parse.c \
+diff --git a/alliance/src/fsm/src/Makefile.am b/alliance/src/fsm/src/Makefile.am
+index 47f639a..b52b63e 100644
+--- a/alliance/src/fsm/src/Makefile.am
++++ b/alliance/src/fsm/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src -I$(top_srcdir)/bdd/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/abl/src -I$(top_srcdir)/bdd/src
+ lib_LTLIBRARIES = libFsm.la
+ include_HEADERS = fsm.h
+ libFsm_la_SOURCES = fsm.h fsmalloc.h fsmdel.h fsmfree.h fsmsearch.h fsmview.h \
+@@ -6,4 +6,8 @@ libFsm_la_SOURCES = fsm.h fsmalloc.h fsmdel.h fsmfree.h fsmsearch.h f
+ fsmadd.h fsmbdd.h fsmerror.h fsmorder.h fsmsimp.h \
+ fsmalloc.c fsmdel.c fsmfree.c fsmsearch.c fsmview.c
+ libFsm_la_LDFLAGS = -version-info @FSM_DLL_VERSION@
+-libFsm_la_LIBADD = -lBdd -lAbl -lAut -lMut
++libFsm_la_LIBADD =
++libFsm_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libFsm_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libFsm_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libFsm_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/fsp/src/Makefile.am b/alliance/src/fsp/src/Makefile.am
+index dca3a4a..198270a 100644
+--- a/alliance/src/fsp/src/Makefile.am
++++ b/alliance/src/fsp/src/Makefile.am
+@@ -2,7 +2,8 @@
+
+ bin_PROGRAMS = fsp
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/bdd/src \
+@@ -11,16 +12,8 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+ -I$(top_srcdir)/mbk/src
+
+ fsp_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lFtl -lFks -lFvh -lFsm \
+- -lBdd -lAbl -lAut -lMut
++ $(top_builddir)/ftl/src/libFtl.la $(top_builddir)/fks/src/libFks.la $(top_builddir)/fvh/src/libFvh.la $(top_builddir)/fsm/src/libFsm.la \
++ $(top_builddir)/bdd/src/libBdd.la $(top_builddir)/abl/src/libAbl.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+
+
+ fsp_SOURCES = \
+diff --git a/alliance/src/ftl/src/Makefile.am b/alliance/src/ftl/src/Makefile.am
+index b50d0ad..2c4b10d 100644
+--- a/alliance/src/ftl/src/Makefile.am
++++ b/alliance/src/ftl/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/bdd/src \
+@@ -7,10 +7,24 @@ lib_LTLIBRARIES = libFtl.la
+ include_HEADERS = ftl.h
+ libFtl_la_SOURCES = ftl.h ftlacces.c ftlacces.h ftlerror.c ftlerror.h
+ libFtl_la_LDFLAGS = -version-info @FTL_DLL_VERSION@
+-libFtl_la_LIBADD = -lFks -lFvh -lFsm -lBdd -lAbl -lAut -lMut
+-
++libFtl_la_LIBADD =
++libFtl_la_LIBADD += $(top_builddir)/fks/src/libFks.la
++libFtl_la_LIBADD += $(top_builddir)/fvh/src/libFvh.la
++libFtl_la_LIBADD += $(top_builddir)/fsm/src/libFsm.la
++libFtl_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libFtl_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libFtl_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libFtl_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+ EXTRA_PROGRAMS = fsmtest
+
+
+-fsmtest_LDADD = -L. -lFtl -lFks -lFvh -lFsm -lBdd -lAbl -lAut -lMut
++fsmtest_LDADD = libFtl.la
++fsmtest_LDADD += $(top_builddir)/fks/src/libFks.la
++fsmtest_LDADD += $(top_builddir)/fvh/src/libFvh.la
++fsmtest_LDADD += $(top_builddir)/fsm/src/libFsm.la
++fsmtest_LDADD += $(top_builddir)/bdd/src/libBdd.la
++fsmtest_LDADD += $(top_builddir)/abl/src/libAbl.la
++fsmtest_LDADD += $(top_builddir)/aut/src/libAut.la
++fsmtest_LDADD += $(top_builddir)/mbk/src/libMut.la
++
+ fsmtest_SOURCES = main.c
+diff --git a/alliance/src/fvh/src/Makefile.am b/alliance/src/fvh/src/Makefile.am
+index 29a3a31..008893b 100644
+--- a/alliance/src/fvh/src/Makefile.am
++++ b/alliance/src/fvh/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/bdd/src \
+@@ -14,7 +14,12 @@ libFvh_la_SOURCES = fbl_bcomp_y.y fbl_bcomp_l.l \
+ fvhfbh2fsm.c fvhfbh2fsm.h fvh.h fvhparse.c fvhparse.h
+
+ libFvh_la_LDFLAGS = -version-info @FVH_DLL_VERSION@
+-libFvh_la_LIBADD = -lFsm -lAbl -lBdd -lAut -lMut
++libFvh_la_LIBADD =
++libFvh_la_LIBADD += $(top_builddir)/fsm/src/libFsm.la
++libFvh_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libFvh_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libFvh_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libFvh_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ CLEANFILES = fbl_bcomp_y.c fbl_bcomp_y.h fbl_bcomp_l.c
+
+@@ -24,3 +29,5 @@ fbl_bcomp_y.c fbl_bcomp_y.h : $(srcdir)/fbl_bcomp_y.y
+ sed -e "s/yy/fbl_y_/g" -e "s/YY/FBL_Y_/g" y.tab.h > fbl_bcomp_y.h
+ fbl_bcomp_l.c : $(srcdir)/fbl_bcomp_l.l fbl_bcomp_y.h
+ $(LEX) -t $(srcdir)/fbl_bcomp_l.l | sed -e "s/yy/fbl_y_/g" -e "s/YY/FBL_Y_/g" > fbl_bcomp_l.c
++
++CLEANFILES += y.tab.h y.tab.c
+diff --git a/alliance/src/genlib/src/Makefile.am b/alliance/src/genlib/src/Makefile.am
+index 5ed3463..c78135b 100644
+--- a/alliance/src/genlib/src/Makefile.am
++++ b/alliance/src/genlib/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+ AM_YFLAGS =
+ AM_LFLAGS =
+ lib_LTLIBRARIES = libMgn.la
+@@ -26,8 +26,12 @@ libMgn_la_SOURCES = genlib.c \
+ dpgen_Shifter.c
+
+ libMgn_la_LDFLAGS = -version-info @MGN_DLL_VERSION@
+-libMgn_la_LIBADD = -lMlu -lMlo -lMpu -lMph -lMut
+-
++libMgn_la_LIBADD =
++libMgn_la_LIBADD += $(top_builddir)/mbk/src/libMlu.la
++libMgn_la_LIBADD += $(top_builddir)/mbk/src/libMlo.la
++libMgn_la_LIBADD += $(top_builddir)/mbk/src/libMpu.la
++libMgn_la_LIBADD += $(top_builddir)/mbk/src/libMph.la
++libMgn_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+ bin_SCRIPTS = genlib
+ CLEANFILES = genlib y.output dpgen_ROM_code.c dpgen_ROM_code.h
+
+diff --git a/alliance/src/genpat/src/Makefile.am b/alliance/src/genpat/src/Makefile.am
+index 8a81622..9bb71f9 100644
+--- a/alliance/src/genpat/src/Makefile.am
++++ b/alliance/src/genpat/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/pat/src
+
+ lib_LTLIBRARIES = libPgn.la
+@@ -8,7 +8,9 @@ libPgn_la_SOURCES = AFFECT.c ARRAY.c CONV.c DECLAR.c DEF_GEN.c GETCPAT.c \
+ libpat_l.c libpat_l.h
+
+ libPgn_la_LDFLAGS = -version-info @PGN_DLL_VERSION@
+-libPgn_la_LIBADD = -lPat -lMut
++libPgn_la_LIBADD =
++libPgn_la_LIBADD += $(top_builddir)/pat/src/libPat.la
++libPgn_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ bin_SCRIPTS = genpat
+ CLEANFILES = genpat
+diff --git a/alliance/src/graal/src/Makefile.am b/alliance/src/graal/src/Makefile.am
+index 28d295c..b827041 100644
+--- a/alliance/src/graal/src/Makefile.am
++++ b/alliance/src/graal/src/Makefile.am
+@@ -1,8 +1,8 @@
+ ## Process this file with automake to produce Makefile.in
+
+ bin_PROGRAMS = graal
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@ \
+- -I$(top_srcdir)/mbk/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/rds/src \
+ -I$(top_srcdir)/druc/src \
+ -DGRAAL_DEFAULT_TECHNO_NAME=\"etc/cmos.graal\" \
+@@ -48,11 +48,9 @@ ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXT) $(LIBXPM) \
+
+
+
+-graal_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS) \
+- -L$(top_builddir)/druc/src \
+- -L$(top_builddir)/mbk/src \
+- -L$(top_builddir)/rds/src \
+- -lVrd -lRds -lMpu -lMph -lMut
++graal_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS)
++graal_LDADD += $(top_builddir)/druc/src/libVrd.la
++graal_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ graal_SOURCES = \
+ graal.c GMC_create.c GMC_create.h GMC_dialog.c GMC_dialog.h GMC.h GMC_menu.c GMC_menu.h \
+diff --git a/alliance/src/k2f/src/Makefile.am b/alliance/src/k2f/src/Makefile.am
+index c36edea..76561d7 100644
+--- a/alliance/src/k2f/src/Makefile.am
++++ b/alliance/src/k2f/src/Makefile.am
+@@ -2,7 +2,8 @@
+
+ bin_PROGRAMS = k2f
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/aut/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/bdd/src \
+ -I$(top_srcdir)/fsm/src \
+@@ -10,16 +11,8 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/mbk/src
+
+ k2f_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lFtl -lFks -lFvh -lFsm \
+- -lBdd -lAbl -lAut -lMut
++ $(top_builddir)/ftl/src/libFtl.la $(top_builddir)/fks/src/libFks.la $(top_builddir)/fvh/src/libFvh.la $(top_builddir)/fsm/src/libFsm.la \
++ $(top_builddir)/bdd/src/libBdd.la $(top_builddir)/abl/src/libAbl.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+
+
+ k2f_SOURCES = \
+diff --git a/alliance/src/l2p/src/Makefile.am b/alliance/src/l2p/src/Makefile.am
+index 56ea85f..3cc9ead 100644
+--- a/alliance/src/l2p/src/Makefile.am
++++ b/alliance/src/l2p/src/Makefile.am
+@@ -2,13 +2,12 @@
+
+ bin_PROGRAMS = l2p
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/mbk/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/rds/src
+
+ l2p_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/rds/src/.libs \
+- -lMlu -lMpu -lMlo -lMph -lMut -lRds
++ $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/rds/src/libRds.la
+
+ l2p_SOURCES = drive_ps.c rps_inc.h tmp_man.c \
+ dict_color.ps l2p.c tmp_dict.c
+diff --git a/alliance/src/log/src/Makefile.am b/alliance/src/log/src/Makefile.am
+index dc7e4e1..2c85f8c 100644
+--- a/alliance/src/log/src/Makefile.am
++++ b/alliance/src/log/src/Makefile.am
+@@ -1,7 +1,8 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+ lib_LTLIBRARIES = libLog.la
+ include_HEADERS = log.h
+ libLog_la_SOURCES = log_bdd0.c log.h log_thashbdd.c log_thashloc.c \
+ log_bdd1.c log_prefbib.c log_thash.c
+ libLog_la_LDFLAGS = -version-info @LOG_DLL_VERSION@
+-libLog_la_LIBADD = -lMut
++libLog_la_LIBADD = $(top_builddir)/mbk/src/libMut.la
++
+diff --git a/alliance/src/loon/src/Makefile.am b/alliance/src/loon/src/Makefile.am
+index a0a4f06..7ab7975 100644
+--- a/alliance/src/loon/src/Makefile.am
++++ b/alliance/src/loon/src/Makefile.am
+@@ -2,23 +2,17 @@
+
+ bin_PROGRAMS = loon
+
+-AM_CFLAGS = -I$(top_srcdir)/abe/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
++-I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/abv/src \
+ -I$(top_srcdir)/bdd/src \
+--I$(top_srcdir)/mbk/src \
+-@ALLIANCE_CFLAGS@
++-I$(top_srcdir)/mbk/src
+
+ loon_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abe/src \
+--L$(top_builddir)/abl/src \
+--L$(top_builddir)/abt/src \
+--L$(top_builddir)/abv/src \
+--L$(top_builddir)/aut/src \
+--L$(top_builddir)/bdd/src \
+--L$(top_builddir)/mbk/src \
+- -lAbv -lAbe -lAbt -lMlu -lMlo -lBdd -lAbl -lAut -lMut
++ $(top_builddir)/abv/src/libAbv.la $(top_builddir)/abe/src/libAbe.la $(top_builddir)/abt/src/libAbt.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/bdd/src/libBdd.la $(top_builddir)/abl/src/libAbl.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+
+ loon_SOURCES = \
+ lon_lax_param.c lon_lib_utils.c lon_optim_capa.h \
+diff --git a/alliance/src/lvx/src/Makefile.am b/alliance/src/lvx/src/Makefile.am
+index 620999a..3bbdade 100644
+--- a/alliance/src/lvx/src/Makefile.am
++++ b/alliance/src/lvx/src/Makefile.am
+@@ -1,10 +1,9 @@
+ ## Process this file with automake to produce Makefile.in
+ bin_PROGRAMS = lvx
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+
+-lvx_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMlu -lMlo -lMut -lRcn
++lvx_LDADD = \
++ $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la
+
+ lvx_SOURCES = lvx.c
+diff --git a/alliance/src/lynx/src/Makefile.am b/alliance/src/lynx/src/Makefile.am
+index 6aa94ba..21b0152 100644
+--- a/alliance/src/lynx/src/Makefile.am
++++ b/alliance/src/lynx/src/Makefile.am
+@@ -2,19 +2,16 @@
+
+ bin_PROGRAMS = cougar flatrds
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/rds/src
+
+ cougar_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/rds/src/.libs \
+- -lRds -lMlu -lMpu -lMlo -lMph -lMut
++ $(top_builddir)/rds/src/libRds.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la
+
+ flatrds_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/rds/src/.libs \
+- -lRds -lMlu -lMpu -lMlo -lMph -lMut
++ $(top_builddir)/rds/src/libRds.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la
+
+ flatrds_SOURCES = flatrds.c
+
+diff --git a/alliance/src/mbk/src/Makefile.am b/alliance/src/mbk/src/Makefile.am
+index 3830341..47820e0 100644
+--- a/alliance/src/mbk/src/Makefile.am
++++ b/alliance/src/mbk/src/Makefile.am
+@@ -1,5 +1,5 @@
+ AM_CFLAGS = -DTECHNO=\"symbolic_cmos\"
+-YFLAGS = -d
++AM_YFLAGS = -d
+
+ lib_LTLIBRARIES = libMut.la libMph.la libMpu.la libRcn.la libMlo.la libMlu.la
+ include_HEADERS = mlu.h mlo.h mpu.h mph.h mut.h rcn.h msl.h
+@@ -49,22 +49,24 @@ CLEANFILES = mg2mbk_y.c mg2mbk_y.h mg2mbk_l.c \
+ mvl_scomp_y.c mvl_scomp_y.h mvl_scomp_l.c
+
+ mg2mbk_y.c mg2mbk_y.h : $(srcdir)/mg2mbk_y.y
+- $(YACC) $(YFLAGS) $(srcdir)/mg2mbk_y.y && \
++ $(YACC) $(AM_YFLAGS) $(srcdir)/mg2mbk_y.y && \
+ sed -e "s/yy/mgn/g" -e "s/YY/MGN/g" y.tab.c > mg2mbk_y.c && \
+ sed -e "s/yy/mgn/g" -e "s/YY/MGN/g" y.tab.h > mg2mbk_y.h
+ mg2mbk_l.c : $(srcdir)/mg2mbk_l.l mg2mbk_y.h
+ $(LEX) -t $(srcdir)/mg2mbk_l.l | sed -e "s/yy/mgn/g" -e "s/YY/MGN/g" > mg2mbk_l.c
+
+ parser_y.c parser_y.h : $(srcdir)/parser_y.y
+- $(YACC) $(YFLAGS) $(srcdir)/parser_y.y && \
++ $(YACC) $(AM_YFLAGS) $(srcdir)/parser_y.y && \
+ sed -e "s/yy/edif/g" -e "s/YY/EDIF/g" y.tab.c > parser_y.c && \
+ sed -e "s/yy/edif/g" -e "s/YY/EDIF/g" y.tab.h > parser_y.h
+ parser_l.c : $(srcdir)/parser_l.l parser_y.h
+ $(LEX) -t $(srcdir)/parser_l.l | sed -e "s/yy/edif/g" -e "s/YY/EDIF/g" > parser_l.c
+
+ mvl_scomp_y.c mvl_scomp_y.h : $(srcdir)/mvl_scomp_y.y
+- $(YACC) $(YFLAGS) $(srcdir)/mvl_scomp_y.y && \
++ $(YACC) $(AM_YFLAGS) $(srcdir)/mvl_scomp_y.y && \
+ sed -e "s/yy/mvl_y_/g" -e "s/YY/MVL_Y_/g" y.tab.c > mvl_scomp_y.c && \
+ sed -e "s/yy/mvl_y_/g" -e "s/YY/MVL_Y_/g" y.tab.h > mvl_scomp_y.h
+ mvl_scomp_l.c : $(srcdir)/mvl_scomp_l.l mvl_scomp_y.h
+ $(LEX) -t $(srcdir)/mvl_scomp_l.l | sed -e "s/yy/mvl_y_/g" -e "s/YY/MVL_Y_/g" > mvl_scomp_l.c
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/mips_asm/src/Makefile.am b/alliance/src/mips_asm/src/Makefile.am
+index f1bc628..6478ed8 100644
+--- a/alliance/src/mips_asm/src/Makefile.am
++++ b/alliance/src/mips_asm/src/Makefile.am
+@@ -4,8 +4,8 @@ YACC = @YACC@ -d
+
+ #INCLUDES = -I$(srcdir)
+
+-AM_CXXFLAGS = @ALLIANCE_CFLAGS@
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/beh/src \
+ -I$(top_srcdir)/log/src \
+ -I$(top_srcdir)/mbk/src
+@@ -13,12 +13,7 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+ bin_PROGRAMS = mips_asm
+
+ mips_asm_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/beh/src/.libs \
+--L$(top_builddir)/log/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lBeh -lMut -lLog
++ $(top_builddir)/beh/src/libBeh.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/log/src/libLog.la
+
+ mips_asm_SOURCES = mips_defs.h mips_y.y mips_l.l mips_globals.c mips_lex.h mips_type.h mips_yacc.h mips_util.c
+
+diff --git a/alliance/src/mocha/src/Makefile.am b/alliance/src/mocha/src/Makefile.am
+index bb3cd6a..89f011e 100644
+--- a/alliance/src/mocha/src/Makefile.am
++++ b/alliance/src/mocha/src/Makefile.am
+@@ -2,7 +2,9 @@
+
+ bin_PROGRAMS = moka
+
+-AM_CFLAGS = -Wall \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/abv/src \
+@@ -15,27 +17,24 @@ AM_CFLAGS = -Wall \
+ -I$(top_srcdir)/ftl/src \
+ -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/fvh/src \
+--I$(top_srcdir)/vex/src \
+-@ALLIANCE_CFLAGS@
++-I$(top_srcdir)/vex/src
+
+-moka_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abe/src/.libs \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/abt/src/.libs \
+--L$(top_builddir)/abv/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/btr/src/.libs \
+--L$(top_builddir)/ctl/src/.libs \
+--L$(top_builddir)/ctp/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+--L$(top_builddir)/vex/src/.libs \
+- -lFtl -lFks -lFvh -lFsm \
+- -lCtp -lCtl -lVex -lAbt -lAbv -lAbe -lBtr -lBdd -lAbl -lAut -lMut
++moka_LDADD = @ALLIANCE_LIBS@
++moka_LDADD += $(top_builddir)/abe/src/libAbe.la
++moka_LDADD += $(top_builddir)/abl/src/libAbl.la
++moka_LDADD += $(top_builddir)/abt/src/libAbt.la
++moka_LDADD += $(top_builddir)/abv/src/libAbv.la
++moka_LDADD += $(top_builddir)/aut/src/libAut.la
++moka_LDADD += $(top_builddir)/bdd/src/libBdd.la
++moka_LDADD += $(top_builddir)/btr/src/libBtr.la
++moka_LDADD += $(top_builddir)/ctl/src/libCtl.la
++moka_LDADD += $(top_builddir)/ctp/src/libCtp.la
++moka_LDADD += $(top_builddir)/fks/src/libFks.la
++moka_LDADD += $(top_builddir)/fsm/src/libFsm.la
++moka_LDADD += $(top_builddir)/ftl/src/libFtl.la
++moka_LDADD += $(top_builddir)/fvh/src/libFvh.la
++moka_LDADD += $(top_builddir)/mbk/src/libMut.la
++moka_LDADD += $(top_builddir)/vex/src/libVex.la
+
+
+ moka_SOURCES = \
+diff --git a/alliance/src/nero/src/Makefile.am b/alliance/src/nero/src/Makefile.am
+index f3a5abd..b24b5a3 100644
+--- a/alliance/src/nero/src/Makefile.am
++++ b/alliance/src/nero/src/Makefile.am
+@@ -1,13 +1,8 @@
+ ## Process this file with automake to produce Makefile.in
+
+-AM_CXXFLAGS = @ALLIANCE_CFLAGS@ \
+- -I$(top_srcdir)/abl/src \
+- -I$(top_srcdir)/aut/src \
+- -I$(top_srcdir)/beh/src \
+- -I$(top_srcdir)/genlib/src \
+- -I$(top_srcdir)/rds/src \
+- -I$(top_srcdir)/mbk/src
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CXXFLAGS = @ALLIANCE_CFLAGS@
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/beh/src \
+@@ -18,12 +13,9 @@ AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+ bin_PROGRAMS = nero pdv
+ #noinst_PROGRAMS = debug
+
+-nero_LDADD = -L$(libdir) @ALLIANCE_LIBS@ \
++nero_LDADD = @ALLIANCE_LIBS@ \
+ ./libU.a \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/rds/src/.libs \
+- -lMpu -lRds -lMlu -lMlo -lMph -lMut -lRcn -lAut
++ $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/rds/src/libRds.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/aut/src/libAut.la
+
+ noinst_LIBRARIES = libU.a
+
+@@ -51,9 +43,7 @@ libU_a_SOURCES = UConst.cpp \
+ nero_SOURCES = nero.cpp
+
+ pdv_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMpu -lMlu -lMlo -lMph -lMut -lRcn -lAut
++ $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/aut/src/libAut.la
+
+ pdv_SOURCES = pdv.c
+
+diff --git a/alliance/src/ocp/src/placer/Makefile.am b/alliance/src/ocp/src/placer/Makefile.am
+index 49093f6..30437f0 100644
+--- a/alliance/src/ocp/src/placer/Makefile.am
++++ b/alliance/src/ocp/src/placer/Makefile.am
+@@ -1,16 +1,14 @@
+ ## Process this file with automake to produce Makefile.in
+
+-YACC = @YACC@ -d
++AM_YFLAGS = -d
+
+-INCLUDES = -I$(srcdir)/../common
++AM_CPPFLAGS = -I$(srcdir)/../common
+
+-AM_CXXFLAGS = @ALLIANCE_CFLAGS@ \
+- -I$(top_srcdir)/rds/src \
+- -I$(top_srcdir)/mbk/src \
+- -std=gnu++0x
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+- -I$(top_srcdir)/rds/src \
+- -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/rds/src
++AM_CPPFLAGS += -I$(top_srcdir)/mbk/src
++
++# HACK
++AM_CXXFLAGS = -std=c++11
+
+ bin_PROGRAMS = ocp
+
+@@ -19,11 +17,14 @@ noinst_LIBRARIES = libOcp.a
+ libOcp_a_SOURCES = PElem.cpp PIns.cpp PNet.cpp \
+ PCon.cpp
+
+-ocp_LDADD = @ALLIANCE_LIBS@ \
+- ../common/libPCommon.a \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/rds/src/.libs \
+- -lMpu -lRds -lMlu -lMlo -lMph -lMut -lRcn
++ocp_LDADD = ../common/libPCommon.a
++ocp_LDADD += $(top_builddir)/mbk/src/libMpu.la
++ocp_LDADD += $(top_builddir)/rds/src/libRds.la
++ocp_LDADD += $(top_builddir)/mbk/src/libMlu.la
++ocp_LDADD += $(top_builddir)/mbk/src/libMlo.la
++ocp_LDADD += $(top_builddir)/mbk/src/libMph.la
++ocp_LDADD += $(top_builddir)/mbk/src/libMut.la
++ocp_LDADD += $(top_builddir)/mbk/src/libRcn.la
+
+ ocp_SOURCES = Ocp.cpp PBin.cpp PCon.cpp \
+ PIns.cpp PMove.cpp PNet.cpp PONet.cpp \
+@@ -47,4 +48,4 @@ ocp_SOURCES = Ocp.cpp PBin.cpp PCon.cpp \
+
+ EXTRA_DIST = iocgram.h
+
+-CLEANFILES = iocgram.c iocgram.h
++CLEANFILES = iocgram.c iocgram.h iocscan.c
+diff --git a/alliance/src/pat/src/Makefile.am b/alliance/src/pat/src/Makefile.am
+index ac409be..d8875fb 100644
+--- a/alliance/src/pat/src/Makefile.am
++++ b/alliance/src/pat/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+ lib_LTLIBRARIES = libPat.la
+ include_HEADERS = pat.h ppt.h phl.h
+ libPat_la_SOURCES = pat_addpacom.c pat_addpaevt.c pat_addpagrp.c pat_addpaini.c \
+@@ -13,7 +13,9 @@ libPat_la_SOURCES = pat_addpacom.c pat_addpaevt.c pat_addpagrp.c pat_addpaini.
+ pat_type.h ppt.h \
+ pat_debug.c pat_debug.h pat_getusage.c phl.h
+ libPat_la_LDFLAGS = -version-info @PAT_DLL_VERSION@
+-libPat_la_LIBADD = -lAut -lMut
++libPat_la_LIBADD =
++libPat_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
++
+
+ EXTRADIST = pat_decl_y.c pat_decl_y.h pat_desc_y.h pat_desc_y.c \
+ pat_decl_l.c
+@@ -45,3 +47,4 @@ pat_desc_y.c pat_desc_y.h : $(srcdir)/pat_desc_y.y
+ pat_desc_l.c : $(srcdir)/pat_desc_l.l pat_desc_y.h
+ $(LEX) -t $(srcdir)/pat_desc_l.l | sed -e "s/yy/pat_desc_y_/g" -e "s/YY/PAT_DESC_Y_/g" > pat_desc_l.c
+
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/pat2spi/src/Makefile.am b/alliance/src/pat2spi/src/Makefile.am
+index 55e24ba..d6c3e37 100644
+--- a/alliance/src/pat2spi/src/Makefile.am
++++ b/alliance/src/pat2spi/src/Makefile.am
+@@ -2,14 +2,12 @@
+
+ bin_PROGRAMS = pat2spi
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/aut/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/pat/src
+
+ pat2spi_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/pat/src/.libs \
+- -lPat -lAut -lMut
++ $(top_builddir)/pat/src/libPat.la $(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+
+ pat2spi_SOURCES = pat2spi.c pat2spi.h
+diff --git a/alliance/src/proof/src/Makefile.am b/alliance/src/proof/src/Makefile.am
+index c6b6130..094988e 100644
+--- a/alliance/src/proof/src/Makefile.am
++++ b/alliance/src/proof/src/Makefile.am
+@@ -2,21 +2,17 @@
+
+ bin_PROGRAMS = proof
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ -I$(top_srcdir)/beh/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/beh/src \
+ -I$(top_srcdir)/bvl/src \
+ -I$(top_srcdir)/log/src \
+ -I$(top_srcdir)/mbk/src
+
+-proof_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/asimut/src/.libs \
+- -L$(top_builddir)/abl/src/.libs \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/beh/src/.libs \
+- -L$(top_builddir)/bhl/src/.libs \
+- -L$(top_builddir)/bvl/src/.libs \
+- -L$(top_builddir)/log/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lBvl -lBhl -lBeh -lLog -lMut
++proof_LDADD = @ALLIANCE_LIBS@
++proof_LDADD += $(top_builddir)/beh/src/libBeh.la
++proof_LDADD += $(top_builddir)/bvl/src/libBvl.la
++proof_LDADD += $(top_builddir)/log/src/libLog.la
++proof_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ proof_SOURCES = proof_compile.c proof_main.c proof_util.c \
+ proof_compile.h proof_util.h
+diff --git a/alliance/src/rds/src/Makefile.am b/alliance/src/rds/src/Makefile.am
+index 1773e3f..df695f1 100644
+--- a/alliance/src/rds/src/Makefile.am
++++ b/alliance/src/rds/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -DRTL_DEFAULT_TECHNO=\"etc/cmos.rds\" -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS = -DRTL_DEFAULT_TECHNO=\"etc/cmos.rds\" -I$(top_srcdir)/mbk/src
+
+ lib_LTLIBRARIES = libRds.la
+ include_HEADERS = rds.h rfm.h rtl.h rwi.h rpr.h rut.h
+@@ -24,4 +24,4 @@ libRds_la_SOURCES = rdsalloc.c rdsfree.c rdsadd.c rdsdel.c rdsview.c \
+ gds_drive.h gds_parse.c gds_swap.h gds.h \
+ gds_error.c gds_parse.h rgs.h gds_drive.c gds_error.h gds_swap.c
+ libRds_la_LDFLAGS = -version-info @RDS_DLL_VERSION@
+-libRds_la_LIBADD = -lMpu -lMut
++libRds_la_LIBADD = $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/ring/src/Makefile.am b/alliance/src/ring/src/Makefile.am
+index 65e1653..ae13f98 100644
+--- a/alliance/src/ring/src/Makefile.am
++++ b/alliance/src/ring/src/Makefile.am
+@@ -1,19 +1,23 @@
+ ## Process this file with automake to produce Makefile.in
+
+-YACC = @YACC@ -d
++AM_YFLAGS = -d -p ring_yy
++AM_LFLAGS = -P ring_yy -o rinscan.c
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+- -I$(top_srcdir)/mbk/src \
+- -I$(top_srcdir)/genlib/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS =
++AM_CPPFLAGS += -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/genlib/src
+
+ bin_PROGRAMS = ring
+
+-ring_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/genlib/src \
+- -L$(top_builddir)/mbk/src \
+- -L$(top_builddir)/rds/src \
+- -lMgn -lMpu -lMlu -lMlo -lMph -lMut -lRcn -lRds
+-
++ring_LDADD = @ALLIANCE_LIBS@
++ring_LDADD += $(top_builddir)/genlib/src/libMgn.la
++ring_LDADD += $(top_builddir)/rds/src/libRds.la
++ring_LDADD += $(top_builddir)/mbk/src/libMpu.la
++ring_LDADD += $(top_builddir)/mbk/src/libMlu.la
++ring_LDADD += $(top_builddir)/mbk/src/libMlo.la
++ring_LDADD += $(top_builddir)/mbk/src/libMut.la
++
+ ring_SOURCES = bigvia.c bigvia.h \
+ compress.c compress.h \
+ deport.c deport.h \
+@@ -34,6 +38,6 @@ ring_SOURCES = bigvia.c bigvia.h \
+ struct.h \
+ barre.c barre.h
+
+-EXTRA_DIST = ringram.h
++# EXTRA_DIST = ringram.h
+
+ CLEANFILES = ringram.c ringram.h rinscan.c
+diff --git a/alliance/src/rtd/src/Makefile.am b/alliance/src/rtd/src/Makefile.am
+index 509c9c8..c208ef1 100644
+--- a/alliance/src/rtd/src/Makefile.am
++++ b/alliance/src/rtd/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/vex/src \
+ -I$(top_srcdir)/rtn/src
+@@ -7,4 +7,7 @@ include_HEADERS = rtd.h
+ libRtd_la_SOURCES = rtd.h rtd_drive.h rtd_error.h rtd_get.h rtd_parse.h \
+ rtd_drive.c rtd_error.c rtd_get.c rtd_parse.c
+ libRtd_la_LDFLAGS = -version-info @RTD_DLL_VERSION@
+-libRtd_la_LIBADD = -lRtn -lVex -lMut
++libRtd_la_LIBADD =
++libRtd_la_LIBADD += $(top_builddir)/rtn/src/libRtn.la
++libRtd_la_LIBADD += $(top_builddir)/vex/src/libVex.la
++libRtd_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+\ No newline at end of file
+diff --git a/alliance/src/rtn/src/Makefile.am b/alliance/src/rtn/src/Makefile.am
+index 0121f97..16a5028 100644
+--- a/alliance/src/rtn/src/Makefile.am
++++ b/alliance/src/rtn/src/Makefile.am
+@@ -1,8 +1,11 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src
+ lib_LTLIBRARIES = libRtn.la
+ include_HEADERS = rtn.h
+ libRtn_la_SOURCES = rtnadd.h rtndel.c rtnerror.h rtnget.c rtnsearch.h \
+ rtn.h rtnalloc.c rtndel.h rtnfree.c rtnget.h rtnview.c \
+ rtnadd.c rtnalloc.h rtnerror.c rtnfree.h rtnsearch.c rtnview.h
+ libRtn_la_LDFLAGS = -version-info @RTN_DLL_VERSION@
+-libRtn_la_LIBADD = -lVex -lAut -lMut
++libRtn_la_LIBADD =
++libRtn_la_LIBADD += $(top_builddir)/vex/src/libVex.la
++libRtn_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libRtn_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/s2r/src/Makefile.am b/alliance/src/s2r/src/Makefile.am
+index b193efd..06b3df8 100644
+--- a/alliance/src/s2r/src/Makefile.am
++++ b/alliance/src/s2r/src/Makefile.am
+@@ -2,15 +2,16 @@
+
+ bin_PROGRAMS = s2r
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+- -I$(top_srcdir)/rds/src \
+- -I$(top_srcdir)/genview/src/gcc-1.42 \
+- -I$(top_srcdir)/mbk/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS =
++AM_CPPFLAGS += -I$(top_srcdir)/rds/src
++AM_CPPFLAGS += -I$(top_srcdir)/mbk/src
+
+-s2r_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/rds/src/.libs \
+- -lMpu -lRds -lMph -lMut
++s2r_LDADD = @ALLIANCE_LIBS@
++s2r_LDADD += $(top_builddir)/mbk/src/libMpu.la
++s2r_LDADD += $(top_builddir)/rds/src/libRds.la
++s2r_LDADD += $(top_builddir)/mbk/src/libMph.la
++s2r_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ s2r_SOURCES = generic.h hash.h maxima.h merge.h\
+ postrat.h rdsacces.h statistics.c hash.c\
+diff --git a/alliance/src/scapin/src/Makefile.am b/alliance/src/scapin/src/Makefile.am
+index 342d67c..a729da1 100644
+--- a/alliance/src/scapin/src/Makefile.am
++++ b/alliance/src/scapin/src/Makefile.am
+@@ -2,15 +2,14 @@
+
+ bin_PROGRAMS = scapin
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/mbk/src \
+ -DSCAPIN_DEFAULT_PARAM_NAME=\"etc/sxlib.scapin\"
+
+-scapin_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMlu -lMlo -lMut -lRcn -lAut
++scapin_LDADD = @ALLIANCE_LIBS@
++scapin_LDADD += $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/aut/src/libAut.la
+
+ scapin_SOURCES = scan_insert.c scan_insert.h scan_main.c scan_main.h \
+ scan_param.c scan_param.h scan_path.c scan_path.h
+diff --git a/alliance/src/scl/src/Makefile.am b/alliance/src/scl/src/Makefile.am
+index 77bf364..867c8d4 100644
+--- a/alliance/src/scl/src/Makefile.am
++++ b/alliance/src/scl/src/Makefile.am
+@@ -1,6 +1,8 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src \
+- -I$(top_srcdir)/abl/src -I$(top_srcdir)/bdd/src \
+- -I$(top_srcdir)/abe/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/aut/src
++AM_CPPFLAGS += -I$(top_srcdir)/abl/src
++AM_CPPFLAGS += -I$(top_srcdir)/bdd/src
++AM_CPPFLAGS += -I$(top_srcdir)/abe/src
+ lib_LTLIBRARIES = libScl.la
+ include_HEADERS = scl.h
+ libScl_la_SOURCES = scgmain.h schenv.c schget.h scpadd.h scpfree.c \
+@@ -11,4 +13,9 @@ libScl_la_SOURCES = scgmain.h schenv.c schget.h scpadd.h scpfree.c \
+ scglofig.h schdel.c schfree.h scp.h scpdel.c \
+ scgmain.c schdel.h schget.c scpadd.c scpdel.h
+ libScl_la_LDFLAGS = -version-info @SCL_DLL_VERSION@
+-libScl_la_LIBADD = -lAbl -lAut -lMut
++libScl_la_LIBADD =
++libScl_la_LIBADD += $(top_builddir)/abe/src/libAbe.la
++libScl_la_LIBADD += $(top_builddir)/bdd/src/libBdd.la
++libScl_la_LIBADD += $(top_builddir)/abl/src/libAbl.la
++libScl_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libScl_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/sea/src/Makefile.am b/alliance/src/sea/src/Makefile.am
+index e1dcce1..2ba9e7f 100644
+--- a/alliance/src/sea/src/Makefile.am
++++ b/alliance/src/sea/src/Makefile.am
+@@ -3,7 +3,8 @@
+ AM_YFLAGS = -d -v -p DEF_grammar
+ AM_LFLAGS = -s -f -8 -pp -PDEF_grammar -olex.yy.c
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/mbk/src
+
+@@ -12,21 +13,15 @@ bin_SCRIPTS = sea seroute seplace a2lef
+
+ a2def_LDADD = @ALLIANCE_LIBS@ \
+ ./libUtil.a \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMpu -lMlu -lMlo -lMph -lMut -lRcn -lAut
++ $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/aut/src/libAut.la
+
+ def2a_LDADD = @ALLIANCE_LIBS@ \
+ ./libUtil.a \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMpu -lMlu -lMlo -lMph -lMut -lRcn -lAut
++ $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/aut/src/libAut.la
+
+ sxlib2lef_LDADD = @ALLIANCE_LIBS@ \
+ ./libUtil.a \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMpu -lMlu -lMlo -lMph -lMut -lRcn -lAut
++ $(top_builddir)/mbk/src/libMpu.la $(top_builddir)/mbk/src/libMlu.la $(top_builddir)/mbk/src/libMlo.la $(top_builddir)/mbk/src/libMph.la $(top_builddir)/mbk/src/libMut.la $(top_builddir)/mbk/src/libRcn.la $(top_builddir)/aut/src/libAut.la
+
+ noinst_LIBRARIES = libUtil.a
+
+diff --git a/alliance/src/syf/src/Makefile.am b/alliance/src/syf/src/Makefile.am
+index 293e333..f1a4de5 100644
+--- a/alliance/src/syf/src/Makefile.am
++++ b/alliance/src/syf/src/Makefile.am
+@@ -2,27 +2,26 @@
+
+ bin_PROGRAMS = syf
+
+-AM_CFLAGS = \
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/bdd/src \
+ -I$(top_srcdir)/fsm/src \
+ -I$(top_srcdir)/ftl/src \
+ -I$(top_srcdir)/fvh/src \
+--I$(top_srcdir)/mbk/src \
+-@ALLIANCE_CFLAGS@
++-I$(top_srcdir)/mbk/src
+
+-syf_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lFtl -lFks -lFvh -lFsm \
+- -lBdd -lAbl -lAut -lMut
++syf_LDADD = @ALLIANCE_LIBS@
++syf_LDADD += $(top_builddir)/abl/src/libAbl.la
++syf_LDADD += $(top_builddir)/aut/src/libAut.la
++syf_LDADD += $(top_builddir)/bdd/src/libBdd.la
++syf_LDADD += $(top_builddir)/fks/src/libFks.la
++syf_LDADD += $(top_builddir)/fsm/src/libFsm.la
++syf_LDADD += $(top_builddir)/ftl/src/libFtl.la
++syf_LDADD += $(top_builddir)/fvh/src/libFvh.la
++syf_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+
+ syf_SOURCES = \
+diff --git a/alliance/src/vasy/src/Makefile.am b/alliance/src/vasy/src/Makefile.am
+index 168d186..b89eca2 100644
+--- a/alliance/src/vasy/src/Makefile.am
++++ b/alliance/src/vasy/src/Makefile.am
+@@ -2,29 +2,29 @@
+
+ bin_PROGRAMS = vasy
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+--I$(top_srcdir)/abl/src \
+--I$(top_srcdir)/aut/src \
+--I$(top_srcdir)/bdd/src \
+--I$(top_srcdir)/mbk/src \
+--I$(top_srcdir)/rtd/src \
+--I$(top_srcdir)/rtn/src \
+--I$(top_srcdir)/vex/src \
+--I$(top_srcdir)/vbh/src \
+--I$(top_srcdir)/vpn/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
+
+-vasy_LDADD = @ALLIANCE_LIBS@ \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+--L$(top_builddir)/rtd/src/.libs \
+--L$(top_builddir)/rtn/src/.libs \
+--L$(top_builddir)/vbh/src/.libs \
+--L$(top_builddir)/vex/src/.libs \
+--L$(top_builddir)/vpn/src/.libs \
+- -lRtd -lRtn -lVpn -lVbh \
+- -lVex -lBdd -lAbl -lAut -lMut
++AM_CPPFLAGS =
++AM_CPPFLAGS += -I$(top_srcdir)/abl/src
++AM_CPPFLAGS += -I$(top_srcdir)/aut/src
++AM_CPPFLAGS += -I$(top_srcdir)/bdd/src
++AM_CPPFLAGS += -I$(top_srcdir)/mbk/src
++AM_CPPFLAGS += -I$(top_srcdir)/rtd/src
++AM_CPPFLAGS += -I$(top_srcdir)/rtn/src
++AM_CPPFLAGS += -I$(top_srcdir)/vex/src
++AM_CPPFLAGS += -I$(top_srcdir)/vbh/src
++AM_CPPFLAGS += -I$(top_srcdir)/vpn/src
++
++vasy_LDADD = @ALLIANCE_LIBS@
++vasy_LDADD += $(top_builddir)/abl/src/libAbl.la
++vasy_LDADD += $(top_builddir)/aut/src/libAut.la
++vasy_LDADD += $(top_builddir)/bdd/src/libBdd.la
++vasy_LDADD += $(top_builddir)/mbk/src/libMut.la
++vasy_LDADD += $(top_builddir)/rtd/src/libRtd.la
++vasy_LDADD += $(top_builddir)/rtn/src/libRtn.la
++vasy_LDADD += $(top_builddir)/vbh/src/libVbh.la
++vasy_LDADD += $(top_builddir)/vex/src/libVex.la
++vasy_LDADD += $(top_builddir)/vpn/src/libVpn.la
+
+ vasy_SOURCES = \
+ vasy_analys.c vasy_drvvlog.h vasy_mulwait.c vasy_redwait.h \
+diff --git a/alliance/src/vbh/src/Makefile.am b/alliance/src/vbh/src/Makefile.am
+index d017730..e3b8c97 100644
+--- a/alliance/src/vbh/src/Makefile.am
++++ b/alliance/src/vbh/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src \
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/vex/src \
+ -I$(top_srcdir)/vpn/src
+@@ -13,7 +13,10 @@ libVbh_la_SOURCES = vbh.h vbh_add.c vbh_crt.c vbh_dup.c vbh_fre.c vbh_simp
+ vtl.h vtlacces.c vtlacces.h vtlerror.c vtlerror.h \
+ vpd.h vpd_drive.h vpd_error.h vpd_parse.h \
+ vpd_drive.c vpd_error.c vpd_parse.c
+-libVbh_la_LIBADD = -lVpn -lVex -lAut -lMut
++libVbh_la_LIBADD = $(top_builddir)/vpn/src/libVpn.la
++libVbh_la_LIBADD += $(top_builddir)/vex/src/libVex.la
++libVbh_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libVbh_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+
+ CLEANFILES = vbl_bcomp_y.c vbl_bcomp_y.h vbl_bcomp_l.c
+
+@@ -21,3 +24,5 @@ vbl_bcomp_y.c vbl_bcomp_y.h : $(srcdir)/vbl_bcomp_y.y
+ $(YACC) -d $(YFLAGS) $(srcdir)/vbl_bcomp_y.y && sed -e "s/yy/vbl_y_/g" -e "s/YY/VBL_Y_/g" y.tab.c > vbl_bcomp_y.c && sed -e "s/yy/vbl_y_/g" -e "s/YY/VBL_Y_/g" y.tab.h > vbl_bcomp_y.h
+ vbl_bcomp_l.c : $(srcdir)/vbl_bcomp_l.l vbl_bcomp_y.h
+ $(LEX) -t $(srcdir)/vbl_bcomp_l.l | sed -e "s/yy/vbl_y_/g" -e "s/YY/VBL_Y_/g" > vbl_bcomp_l.c
++
++CLEANFILES += y.tab.c y.tab.h
+diff --git a/alliance/src/vex/src/Makefile.am b/alliance/src/vex/src/Makefile.am
+index 167c80e..f148ffc 100644
+--- a/alliance/src/vex/src/Makefile.am
++++ b/alliance/src/vex/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src
+ lib_LTLIBRARIES = libVex.la
+ include_HEADERS = vex.h
+ libVex_la_SOURCES = vexcreate.h vexerror.c vexfree.h vexshift.c vexunflat.h \
+@@ -9,4 +9,6 @@ libVex_la_SOURCES = vexcreate.h vexerror.c vexfree.h vexshift.c vexunflat
+ vexalloc.h vexenv.c vexextend.h vexoptim.c vexslice.h \
+ vexcreate.c vexenv.h vexfree.c vexoptim.h vexunflat.c
+ libVex_la_LDFLAGS = -version-info @VEX_DLL_VERSION@
+-libVex_la_LIBADD = -lAut -lMut
++libVex_la_LIBADD =
++libVex_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libVex_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/vpn/src/Makefile.am b/alliance/src/vpn/src/Makefile.am
+index c5687e9..e68b1af 100644
+--- a/alliance/src/vpn/src/Makefile.am
++++ b/alliance/src/vpn/src/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src -I$(top_srcdir)/aut/src -I$(top_srcdir)/vex/src
+ lib_LTLIBRARIES = libVpn.la
+ include_HEADERS = vpn.h
+ libVpn_la_SOURCES = vpnalloc.c vpnenv.h vpnget.c vpnsimp.h \
+@@ -7,4 +7,7 @@ libVpn_la_SOURCES = vpnalloc.c vpnenv.h vpnget.c vpnsimp.h \
+ vpnadd.c vpndel.h vpnfree.c vpnsearch.h vpnview.c \
+ vpnadd.h vpnenv.c vpnfree.h vpnsimp.c vpnview.h
+ libVpn_la_LDFLAGS = -version-info @VPN_DLL_VERSION@
+-libVpn_la_LIBADD = -lVex -lAut -lMut
++libVpn_la_LIBADD =
++libVpn_la_LIBADD += $(top_builddir)/vex/src/libVex.la
++libVpn_la_LIBADD += $(top_builddir)/aut/src/libAut.la
++libVpn_la_LIBADD += $(top_builddir)/mbk/src/libMut.la
+diff --git a/alliance/src/x2y/src/Makefile.am b/alliance/src/x2y/src/Makefile.am
+index 48f3ae0..ffb43c7 100644
+--- a/alliance/src/x2y/src/Makefile.am
++++ b/alliance/src/x2y/src/Makefile.am
+@@ -1,12 +1,16 @@
+ # $Id: Makefile.am,v 1.8 2005/01/19 15:13:57 hcl Exp $
+
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ \
+--I$(top_srcdir)/mbk/src
++AM_CFLAGS = @ALLIANCE_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/mbk/src
+
+ bin_PROGRAMS = x2y
+
+-x2y_LDADD = @ALLIANCE_LIBS@ \
+- -L$(top_builddir)/mbk/src/.libs \
+- -lMpu -lMlu -lMlo -lMph -lMut -lRcn
+-
++x2y_LDADD = @ALLIANCE_LIBS@
++x2y_LDADD += $(top_builddir)/mbk/src/libMpu.la
++x2y_LDADD += $(top_builddir)/mbk/src/libMlu.la
++x2y_LDADD += $(top_builddir)/mbk/src/libMlo.la
++x2y_LDADD += $(top_builddir)/mbk/src/libMph.la
++x2y_LDADD += $(top_builddir)/mbk/src/libMut.la
++x2y_LDADD += $(top_builddir)/mbk/src/libRcn.la
++
+ x2y_SOURCES = x2y.c
+diff --git a/alliance/src/xfsm/src/Makefile.am b/alliance/src/xfsm/src/Makefile.am
+index e702229..7040cb1 100644
+--- a/alliance/src/xfsm/src/Makefile.am
++++ b/alliance/src/xfsm/src/Makefile.am
+@@ -1,8 +1,9 @@
+ ## Process this file with automake to produce Makefile.in
+
+ bin_PROGRAMS = xfsm
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@ \
+- -DXFSM_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xfsm.par\" \
++AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@
++
++AM_CPPFLAGS = -DXFSM_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xfsm.par\" \
+ -DXMS_FILE_NAME=\".xfsm.cfg\" \
+ -I$(top_srcdir)/abl/src \
+ -I$(top_srcdir)/aut/src \
+@@ -42,18 +43,16 @@ ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXT) \
+ $(LIBXP) $(LIBXEXT) $(LIBX11)
+
+
++xfsm_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS)
++xfsm_LDADD += $(top_builddir)/ftl/src/libFtl.la
++xfsm_LDADD += $(top_builddir)/fks/src/libFks.la
++xfsm_LDADD += $(top_builddir)/fvh/src/libFvh.la
++xfsm_LDADD += $(top_builddir)/fsm/src/libFsm.la
++xfsm_LDADD += $(top_builddir)/bdd/src/libBdd.la
++xfsm_LDADD += $(top_builddir)/abl/src/libAbl.la
++xfsm_LDADD += $(top_builddir)/aut/src/libAut.la
++xfsm_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+-xfsm_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS) \
+--L$(top_builddir)/abl/src/.libs \
+--L$(top_builddir)/aut/src/.libs \
+--L$(top_builddir)/bdd/src/.libs \
+--L$(top_builddir)/fks/src/.libs \
+--L$(top_builddir)/fsm/src/.libs \
+--L$(top_builddir)/ftl/src/.libs \
+--L$(top_builddir)/fvh/src/.libs \
+--L$(top_builddir)/mbk/src/.libs \
+- -lFtl -lFks -lFvh -lFsm \
+- -lBdd -lAbl -lAut -lMut
+
+ xfsm_SOURCES = \
+ LIP6bw.h XME_search.c XMS_panel.c XMV_panel.h XMX_panel.h \
+diff --git a/alliance/src/xgra/src/Makefile.am b/alliance/src/xgra/src/Makefile.am
+index 5ebd988..a78c146 100644
+--- a/alliance/src/xgra/src/Makefile.am
++++ b/alliance/src/xgra/src/Makefile.am
+@@ -2,14 +2,14 @@
+
+ bin_PROGRAMS = xgra
+ AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@ \
++ $(GLIB_CFLAGS)
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/mbk/src \
+ -DXGRA_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xgra.par\" \
+ -DXMS_FILE_NAME=\".xgra.cfg\" \
+- $(GLIB_CFLAGS) \
+ -DG_LOG_DOMAIN=\"xgra\"
+
+-
+ # -----------------------------------------------------------------------------
+ # X Libraries.
+ # -----------------------------------------------------------------------------
+@@ -43,9 +43,7 @@ ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXT) \
+
+
+ xgra_LDADD = @ALLIANCE_LIBS@ $(GLIB_CFLAGS) $(ALL_X_LIBS) \
+--L$(top_builddir)/aut/src \
+--L$(top_builddir)/mbk/src \
+--lAut -lMut
++$(top_builddir)/aut/src/libAut.la $(top_builddir)/mbk/src/libMut.la
+
+ xgra_SOURCES = \
+ LIP6bw.h XME_dialog.c XME_dialog.h XME_edit.c XME_edit.h XME.h XME_menu.c \
+diff --git a/alliance/src/xpat/src/Makefile.am b/alliance/src/xpat/src/Makefile.am
+index 0ade0a1..9ab3be2 100644
+--- a/alliance/src/xpat/src/Makefile.am
++++ b/alliance/src/xpat/src/Makefile.am
+@@ -1,10 +1,11 @@
+ ## Process this file with automake to produce Makefile.in
+
+ bin_PROGRAMS = xpat
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@ \
+- -DXPAT_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xpat.par\" \
+- -DXMS_FILE_NAME=\".xpat.cfg\" \
+- -I$(top_srcdir)/aut/src \
++AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@
++AM_CPPFLAGS = -DXPAT_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xpat.par\" \
++ -DXMS_FILE_NAME=\".xpat.cfg\"
++
++AM_CPPFLAGS += -I$(top_srcdir)/aut/src \
+ -I$(top_srcdir)/mbk/src \
+ -I$(top_srcdir)/pat/src
+
+@@ -40,11 +41,10 @@ ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXT) \
+
+
+
+-xpat_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS) \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/pat/src/.libs \
+- -lPat -lAut -lMut
++xpat_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS)
++xpat_LDADD += $(top_builddir)/pat/src/libPat.la
++xpat_LDADD += $(top_builddir)/aut/src/libAut.la
++xpat_LDADD += $(top_builddir)/mbk/src/libMut.la
+
+ xpat_SOURCES = \
+ LIP6bw.h XME_dialog.c XME_dialog.h XME_edit.c XME_edit.h \
+diff --git a/alliance/src/xsch/src/Makefile.am b/alliance/src/xsch/src/Makefile.am
+index df964a2..677076a 100644
+--- a/alliance/src/xsch/src/Makefile.am
++++ b/alliance/src/xsch/src/Makefile.am
+@@ -1,8 +1,8 @@
+ ## Process this file with automake to produce Makefile.in
+
+ bin_PROGRAMS = xsch
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@ \
+- -DXSCH_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xsch.par\" \
++AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@
++AM_CPPFLAGS = -DXSCH_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xsch.par\" \
+ -DXMS_FILE_NAME=\".xsch.cfg\" \
+ -I$(top_srcdir)/abe/src \
+ -I$(top_srcdir)/abl/src \
+@@ -44,15 +44,16 @@ ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXT) \
+
+
+
+-xsch_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS) \
+- -L$(top_builddir)/abe/src/.libs \
+- -L$(top_builddir)/abl/src/.libs \
+- -L$(top_builddir)/abv/src/.libs \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/bdd/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/scl/src/.libs \
+- -lScl -lMlu -lMlo -lMut -lAbv -lAbe -lBdd -lAbl -lAut -lRcn
++xsch_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS)
++xsch_LDADD += $(top_builddir)/abe/src/libAbe.la
++xsch_LDADD += $(top_builddir)/abl/src/libAbl.la
++xsch_LDADD += $(top_builddir)/abv/src/libAbv.la
++xsch_LDADD += $(top_builddir)/aut/src/libAut.la
++xsch_LDADD += $(top_builddir)/bdd/src/libBdd.la
++xsch_LDADD += $(top_builddir)/mbk/src/libMut.la
++xsch_LDADD += $(top_builddir)/scl/src/libScl.la
++xsch_LDADD += $(top_builddir)/mbk/src/libMlo.la
++xsch_LDADD += $(top_builddir)/mbk/src/libMlu.la
+
+ xsch_SOURCES = \
+ LIP6bw.h XME_dialog.c XME_dialog.h XME_edit.c XME_edit.h XME.h XME_menu.c XME_menu.h \
+diff --git a/alliance/src/xvpn/src/Makefile.am b/alliance/src/xvpn/src/Makefile.am
+index fdb4ff6..1a88cbe 100644
+--- a/alliance/src/xvpn/src/Makefile.am
++++ b/alliance/src/xvpn/src/Makefile.am
+@@ -1,7 +1,8 @@
+ ## Process this file with automake to produce Makefile.in
+
+ bin_PROGRAMS = xvpn
+-AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@ \
++AM_CFLAGS = @ALLIANCE_CFLAGS@ @X_CFLAGS@
++AM_CPPFLAGS = \
+ -DXVPN_DEFAULT_PARAM_NAME=\"${ALLIANCE_TOP}/etc/xvpn.par\" \
+ -DXMS_FILE_NAME=\".xvpn.cfg\" \
+ -I$(top_srcdir)/aut/src \
+@@ -44,14 +45,13 @@ ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXT) \
+
+
+
+-xvpn_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS) \
+- -L$(top_builddir)/abl/src/.libs \
+- -L$(top_builddir)/aut/src/.libs \
+- -L$(top_builddir)/mbk/src/.libs \
+- -L$(top_builddir)/vbh/src/.libs \
+- -L$(top_builddir)/vex/src/.libs \
+- -L$(top_builddir)/vpn/src/.libs \
+- -lVpn -lVbh -lVex -lAbl -lAut -lMut
++xvpn_LDADD = @ALLIANCE_LIBS@ $(ALL_X_LIBS)
++xvpn_LDADD += $(top_builddir)/abl/src/libAbl.la
++xvpn_LDADD += $(top_builddir)/aut/src/libAut.la
++xvpn_LDADD += $(top_builddir)/mbk/src/libMut.la
++xvpn_LDADD += $(top_builddir)/vbh/src/libVbh.la
++xvpn_LDADD += $(top_builddir)/vex/src/libVex.la
++xvpn_LDADD += $(top_builddir)/vpn/src/libVpn.la
+
+ xvpn_SOURCES = \
+ LIP6bw.h XME_dialog.c XME_dialog.h XME_edit.c XME_edit.h XME.h XME_menu.c \
+--
+2.5.0
+
diff --git a/0009-Misc.-doc-fixes.patch b/0009-Misc.-doc-fixes.patch
new file mode 100644
index 0000000..1234541
--- /dev/null
+++ b/0009-Misc.-doc-fixes.patch
@@ -0,0 +1,388 @@
+From d8bd23ccfd34a60eb8d58593ceb190e4f68b1e24 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Sun, 28 Feb 2016 15:03:03 +0100
+Subject: [PATCH 09/12] Misc. doc fixes.
+
+---
+ alliance/src/boog/doc/boog.1 | 2 +-
+ .../documentation/tutorials/place_and_route/tex/place_and_route.tex | 1 -
+ .../src/documentation/tutorials/simulation/src/addaccu_beh/addaccu.vbe | 0
+ .../documentation/tutorials/simulation/src/addaccu_beh/addaccu4.vhdl | 0
+ .../documentation/tutorials/simulation/src/addaccu_beh/addaccu_dly.vbe | 0
+ .../documentation/tutorials/simulation/src/addaccu_beh/patterns.pat | 0
+ .../tutorials/simulation/src/addaccu_beh/patterns_dly.pat | 0
+ .../src/documentation/tutorials/simulation/src/addaccu_struct/accu.vbe | 0
+ .../src/documentation/tutorials/simulation/src/addaccu_struct/accu.vst | 0
+ .../documentation/tutorials/simulation/src/addaccu_struct/addaccu.vbe | 0
+ .../documentation/tutorials/simulation/src/addaccu_struct/addaccu.vst | 0
+ .../src/documentation/tutorials/simulation/src/addaccu_struct/alu.vbe | 0
+ .../src/documentation/tutorials/simulation/src/addaccu_struct/alu.vst | 0
+ .../src/documentation/tutorials/simulation/src/addaccu_struct/mux.vbe | 0
+ .../src/documentation/tutorials/simulation/src/addaccu_struct/mux.vst | 0
+ .../documentation/tutorials/simulation/src/addaccu_struct/pat_new.c | 0
+ alliance/src/documentation/tutorials/simulation/tex/simulation.tex | 1 -
+ alliance/src/documentation/tutorials/start/Makefile | 2 +-
+ alliance/src/documentation/tutorials/start/start.tex | 2 +-
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe | 0
+ alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex | 1 -
+ alliance/src/fsm/man1/fsm.1 | 2 +-
+ alliance/src/mbk/man3/viewlofigcon.3 | 3 ++-
+ alliance/src/mbk/man3/viewphfig.3 | 3 ++-
+ alliance/src/mbk/man3/viewphvia.3 | 3 ++-
+ alliance/src/nero/doc/man1/nero.1 | 1 -
+ alliance/src/ring/doc/ring.1 | 2 +-
+ 52 files changed, 11 insertions(+), 12 deletions(-)
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu4.vhdl
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu_dly.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_beh/patterns.pat
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_beh/patterns_dly.pat
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/accu.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/accu.vst
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/addaccu.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/addaccu.vst
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/alu.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/alu.vst
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/mux.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/mux.vst
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/simulation/src/addaccu_struct/pat_new.c
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/start/Makefile
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/start/start.tex
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe
+ mode change 100755 => 100644 alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
+
+diff --git a/alliance/src/boog/doc/boog.1 b/alliance/src/boog/doc/boog.1
+index c9dcb73..6e87374 100644
+--- a/alliance/src/boog/doc/boog.1
++++ b/alliance/src/boog/doc/boog.1
+@@ -136,7 +136,7 @@ Just another way to show explicitly the \f4VST\fP output file name.
+ Just another way to show explicitly the \f4LAX\fP parameter file name.
+ .TP 10
+ \f4\-d debug_file\fP
+-Generates a \f4VBE\f debug file. It comes from internal result algorithm. Users aren't concerned.
++Generates a \f4VBE\fP debug file. It comes from internal result algorithm. Users aren't concerned.
+ .br
+
+ .SH ENVIRONMENT VARIABLES
+diff --git a/alliance/src/documentation/tutorials/place_and_route/tex/place_and_route.tex b/alliance/src/documentation/tutorials/place_and_route/tex/place_and_route.tex
+index 8d51631..0115a94 100644
+--- a/alliance/src/documentation/tutorials/place_and_route/tex/place_and_route.tex
++++ b/alliance/src/documentation/tutorials/place_and_route/tex/place_and_route.tex
+@@ -85,7 +85,6 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ %\end{figure}
+ %---------------------------------- document ---------------------------------
+ \begin{document}
+-\setlength{\footrulewidth}{0.6pt}
+
+ \title{
+ {\Huge ALLIANCE TUTORIAL \\}
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu.vbe b/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu4.vhdl b/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu4.vhdl
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu_dly.vbe b/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/addaccu_dly.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/patterns.pat b/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/patterns.pat
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/patterns_dly.pat b/alliance/src/documentation/tutorials/simulation/src/addaccu_beh/patterns_dly.pat
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/accu.vbe b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/accu.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/accu.vst b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/accu.vst
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/addaccu.vbe b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/addaccu.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/addaccu.vst b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/addaccu.vst
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/alu.vbe b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/alu.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/alu.vst b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/alu.vst
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/mux.vbe b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/mux.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/mux.vst b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/mux.vst
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/pat_new.c b/alliance/src/documentation/tutorials/simulation/src/addaccu_struct/pat_new.c
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/simulation/tex/simulation.tex b/alliance/src/documentation/tutorials/simulation/tex/simulation.tex
+index 2b99a40..0b0d105 100644
+--- a/alliance/src/documentation/tutorials/simulation/tex/simulation.tex
++++ b/alliance/src/documentation/tutorials/simulation/tex/simulation.tex
+@@ -91,7 +91,6 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ %---------------------------------- document ---------------------------------
+
+ \begin{document}
+-\setlength{\footrulewidth}{0.6pt}
+
+ \title{
+ {\Huge ALLIANCE TUTORIAL\\}
+diff --git a/alliance/src/documentation/tutorials/start/Makefile b/alliance/src/documentation/tutorials/start/Makefile
+old mode 100755
+new mode 100644
+index 2a99685..4649755
+--- a/alliance/src/documentation/tutorials/start/Makefile
++++ b/alliance/src/documentation/tutorials/start/Makefile
+@@ -14,4 +14,4 @@ start.dvi : start.tex
+ latex start.tex
+
+ clean :
+- rm -f $(MYFILE).ps $(MYFILE).pdf *.log *.dvi *.aux
++ rm -f start.ps start.pdf *.log *.dvi *.aux
+diff --git a/alliance/src/documentation/tutorials/start/start.tex b/alliance/src/documentation/tutorials/start/start.tex
+old mode 100755
+new mode 100644
+index c88481b..7ee4a90
+--- a/alliance/src/documentation/tutorials/start/start.tex
++++ b/alliance/src/documentation/tutorials/start/start.tex
+@@ -144,7 +144,7 @@ To see it, please enter the following command :
+ ~alp/addaccu %-) env | grep MBK
+ \end{phraseverbatim}
+
+-\begin{figure}[H]\center\leavevmode
++\begin{figure}[p]\center\leavevmode
+ \begin{framedverbatim}
+ ~alp/addaccu %-) env | grep MBK
+ MBK_OUT_PH=ap
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_0.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_1.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_10.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_11.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_12.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_13.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_14.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_15.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_16.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_17.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_18.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_19.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_2.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_20.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_21.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_22.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_23.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_24.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_3.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_4.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_5.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_6.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_7.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_8.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_9.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe b/alliance/src/documentation/tutorials/synthesis/src/amdbug/amd_ok.vbe
+old mode 100755
+new mode 100644
+diff --git a/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex b/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
+old mode 100755
+new mode 100644
+index 099caee..d8bd15c
+--- a/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
++++ b/alliance/src/documentation/tutorials/synthesis/tex/synthesis.tex
+@@ -85,7 +85,6 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+ %---------------------------------- document ---------------------------------
+ \begin{document}
+-\setlength{\footrulewidth}{0.6pt}
+
+ \title{
+ {\Huge ALLIANCE TUTORIAL\\}
+diff --git a/alliance/src/fsm/man1/fsm.1 b/alliance/src/fsm/man1/fsm.1
+index a0f6142..ca58505 100644
+--- a/alliance/src/fsm/man1/fsm.1
++++ b/alliance/src/fsm/man1/fsm.1
+@@ -40,7 +40,7 @@ Functions :
+ .TP 20
+ .br
+
+-...
++\&...
+
+ .TP 0
+ libFsm101.a :
+diff --git a/alliance/src/mbk/man3/viewlofigcon.3 b/alliance/src/mbk/man3/viewlofigcon.3
+index cabb1c0..8bc798b 100644
+--- a/alliance/src/mbk/man3/viewlofigcon.3
++++ b/alliance/src/mbk/man3/viewlofigcon.3
+@@ -10,10 +10,11 @@ viewlofigcon
+ .ti 0.2i
+ viewlofigcon
+ .XE2 \}
+-.so man1/alc_origin.1
++.TH VIEWLOFIGCON 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
+ .SH NAME
+ viewlofigcon \- display elements of a \fBlocon_list\fP attached to a
+ figure
++.so man1/alc_origin.1
+ .SH SYNOPSIS
+ .nf
+ .if n \{\
+diff --git a/alliance/src/mbk/man3/viewphfig.3 b/alliance/src/mbk/man3/viewphfig.3
+index cade2bf..1aaec24 100644
+--- a/alliance/src/mbk/man3/viewphfig.3
++++ b/alliance/src/mbk/man3/viewphfig.3
+@@ -10,9 +10,10 @@ viewphfig
+ .ti 0.2i
+ viewphfig
+ .XE0 \}
+-.so man1/alc_origin.1
++.TH VIEWPHSEG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
+ .SH NAME
+ viewphfig \- display elements of a \fBphfig_list\fP
++.so man1/alc_origin.1
+ .SH SYNOPSIS
+ .nf
+ .if n \{\
+diff --git a/alliance/src/mbk/man3/viewphvia.3 b/alliance/src/mbk/man3/viewphvia.3
+index fb7050c..b82f05c 100644
+--- a/alliance/src/mbk/man3/viewphvia.3
++++ b/alliance/src/mbk/man3/viewphvia.3
+@@ -10,9 +10,10 @@ viewphvia
+ .ti 0.2i
+ viewphvia
+ .XE0 \}
+-.so man1/alc_origin.1
++.TH VIEWPHVIA 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
+ .SH NAME
+ viewphvia \- display elements of a \fBphvia_list\fP
++.so man1/alc_origin.1
+ .SH SYNOPSIS
+ .nf
+ .if n \{\
+diff --git a/alliance/src/nero/doc/man1/nero.1 b/alliance/src/nero/doc/man1/nero.1
+index e3c76c9..46e396d 100644
+--- a/alliance/src/nero/doc/man1/nero.1
++++ b/alliance/src/nero/doc/man1/nero.1
+@@ -1,4 +1,3 @@
+-.\\" auto-generated by docbook2man-spec $Revision: 1.4 $
+ .TH "NERO" "1" "13 October 2002" "ASIM/LIP6" "Alliance - nero User's Manual"
+ .SH NAME
+ nero \- Negotiating Router
+diff --git a/alliance/src/ring/doc/ring.1 b/alliance/src/ring/doc/ring.1
+index 054aa47..43a6be3 100644
+--- a/alliance/src/ring/doc/ring.1
++++ b/alliance/src/ring/doc/ring.1
+@@ -110,7 +110,7 @@ piot_sp C
+ .br
+ pvssick_sp C
+ .br
+-\.\.\.\.
++\&...
+ .br
+ pvdde_sp C
+ .br
+--
+2.5.5
+
diff --git a/0010-Fedora-profiles.patch b/0010-Fedora-profiles.patch
new file mode 100644
index 0000000..d475ca8
--- /dev/null
+++ b/0010-Fedora-profiles.patch
@@ -0,0 +1,114 @@
+From 52c5cec07b86e606d5062da6e83ada94cf214c13 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Tue, 1 Mar 2016 15:27:11 +0100
+Subject: [PATCH 10/10] Fedora profiles.
+
+---
+ alliance/src/distrib/etc/alc_env.csh.in | 32 ++-----------------------------
+ alliance/src/distrib/etc/alc_env.sh.in | 34 +++------------------------------
+ 2 files changed, 5 insertions(+), 61 deletions(-)
+
+diff --git a/alliance/src/distrib/etc/alc_env.csh.in b/alliance/src/distrib/etc/alc_env.csh.in
+index cea6941..4051fba 100644
+--- a/alliance/src/distrib/etc/alc_env.csh.in
++++ b/alliance/src/distrib/etc/alc_env.csh.in
+@@ -21,13 +21,8 @@
+
+ # Where the Alliance CAD is installed
+ setenv ALLIANCE_TOP "@prefix@"
+- set SYSCONF_TOP "${ALLIANCE_TOP}/etc"
+- set CELLS_TOP "${ALLIANCE_TOP}/cells"
+- if ( "${ALLIANCE_TOP}" == "/usr/lib/alliance" ) then
+-# For installation in the FHS.
+- set SYSCONF_TOP "/etc/alliance"
+- set CELLS_TOP "/usr/share/alliance/cells"
+- endif
++ set SYSCONF_TOP "@sysconfdir@/alliance"
++ set CELLS_TOP "@datadir@/alliance/cells"
+
+
+ # Alliance environment variables.
+@@ -75,29 +70,6 @@
+ setenv ELP_TECHNO_NAME "${SYSCONF_TOP}/prol.elp"
+
+
+-# System PATH variables, only needed when not installed in the FHS.
+- if ( "${ALLIANCE_TOP}" != "/usr/lib/alliance" ) then
+- if ( $?PATH ) then
+- setenv PATH "${PATH}:${ALLIANCE_TOP}/bin"
+- else
+- setenv PATH "${ALLIANCE_TOP}/bin"
+- endif
+-
+- if ( "`uname -o`" != "GNU/Linux" ) then
+- # Only needed on Solaris (included in /etc/ld.so.conf under Linux).
+- if ( $?LD_LIBRARY_PATH ) then
+- setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${ALLIANCE_TOP}/lib"
+- else
+- setenv LD_LIBRARY_PATH "${ALLIANCE_TOP}/lib"
+- endif
+- endif
+-
+- if ( $?MANPATH ) then
+- setenv MANPATH "${MANPATH}:${ALLIANCE_TOP}/share/man"
+- else
+- setenv MANPATH ":${ALLIANCE_TOP}/share/man:`manpath`"
+- endif
+- endif
+
+ # fixing *** ERROR *** : Variable MBK_SPI_MODEL not found.
+ setenv MBK_SPI_MODEL "${SYSCONF_TOP}/spimodel.cfg"
+diff --git a/alliance/src/distrib/etc/alc_env.sh.in b/alliance/src/distrib/etc/alc_env.sh.in
+index a4115f2..246eec6 100644
+--- a/alliance/src/distrib/etc/alc_env.sh.in
++++ b/alliance/src/distrib/etc/alc_env.sh.in
+@@ -20,14 +20,9 @@
+
+
+ # Where the Alliance CAD is installed
+- ALLIANCE_TOP=@prefix@; export ALLIANCE_TOP
+- SYSCONF_TOP=$ALLIANCE_TOP/etc
+- CELLS_TOP=$ALLIANCE_TOP/cells
+- if [ "$ALLIANCE_TOP" = "/usr/lib/alliance" ]; then
+- # FHS Installation.
+- SYSCONF_TOP="/etc/alliance"
+- CELLS_TOP="/usr/share/alliance/cells"
+- fi
++ ALLIANCE_TOP="@prefix@"; export ALLIANCE_TOP
++ SYSCONF_TOP="@sysconfdir@/alliance"
++ CELLS_TOP="@datadir@/alliance/cells"
+
+ # Alliance environment variables.
+ MBK_IN_LO=vst; export MBK_IN_LO
+@@ -76,28 +71,5 @@
+ ELP_TECHNO_NAME=$SYSCONF_TOP/prol.elp; export ELP_TECHNO_NAME
+
+
+-# System PATH variables, only needed when not installed in the FHS.
+- if [ "$ALLIANCE_TOP" != "/usr/lib/alliance" ]; then
+- PATH=$PATH:$ALLIANCE_TOP/bin
+- export PATH
+-
+- # Only needed on Solaris (included in /etc/ld.so.conf under Linux).
+- #if [ "`uname -o`" != "GNU/Linux" ]; then
+- if [ -z "${LD_LIBRARY_PATH}" ]; then
+- LD_LIBRARY_PATH=$ALLIANCE_TOP/lib
+- else
+- LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ALLIANCE_TOP/lib
+- fi
+- export LD_LIBRARY_PATH
+- #fi
+-
+- if [ -z "${MANPATH}" ]; then
+- MANPATH=:$ALLIANCE_TOP/share/man:$(manpath)
+- else
+- MANPATH=$MANPATH:$ALLIANCE_TOP/share/man
+- fi
+- export MANPATH
+- fi
+-
+ # fixing *** ERROR *** : Variable MBK_SPI_MODEL not found.
+ MBK_SPI_MODEL=$SYSCONF_TOP/spimodel.cfg; export MBK_SPI_MODEL
+--
+2.5.0
+
diff --git a/0011-Use-setenv-instead-of-set-RHBZ-1337691.patch b/0011-Use-setenv-instead-of-set-RHBZ-1337691.patch
new file mode 100644
index 0000000..fb1310a
--- /dev/null
+++ b/0011-Use-setenv-instead-of-set-RHBZ-1337691.patch
@@ -0,0 +1,27 @@
+From 69c5281b9193149e3fa6d7fceac49de4eb57ab30 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Fri, 20 May 2016 05:16:44 +0200
+Subject: [PATCH 11/11] Use setenv instead of set (RHBZ#1337691)
+
+---
+ alliance/src/distrib/etc/alc_env.csh.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/alliance/src/distrib/etc/alc_env.csh.in b/alliance/src/distrib/etc/alc_env.csh.in
+index 4051fba..37c3b00 100644
+--- a/alliance/src/distrib/etc/alc_env.csh.in
++++ b/alliance/src/distrib/etc/alc_env.csh.in
+@@ -21,8 +21,8 @@
+
+ # Where the Alliance CAD is installed
+ setenv ALLIANCE_TOP "@prefix@"
+- set SYSCONF_TOP "@sysconfdir@/alliance"
+- set CELLS_TOP "@datadir@/alliance/cells"
++ setenv SYSCONF_TOP "@sysconfdir@/alliance"
++ setenv CELLS_TOP "@datadir@/alliance/cells"
+
+
+ # Alliance environment variables.
+--
+2.5.5
+
diff --git a/0012-Remove-yylineno.patch b/0012-Remove-yylineno.patch
new file mode 100644
index 0000000..cf32bdf
--- /dev/null
+++ b/0012-Remove-yylineno.patch
@@ -0,0 +1,28 @@
+From ac0697c6f79155677668a3f096da3403f72b9ded Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Fri, 20 May 2016 06:11:20 +0200
+Subject: [PATCH 12/12] Remove yylineno.
+
+---
+ alliance/src/sea/src/DEF_grammar_lex.l | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/alliance/src/sea/src/DEF_grammar_lex.l b/alliance/src/sea/src/DEF_grammar_lex.l
+index 752e2f8..ca527ab 100644
+--- a/alliance/src/sea/src/DEF_grammar_lex.l
++++ b/alliance/src/sea/src/DEF_grammar_lex.l
+@@ -21,11 +21,6 @@
+ #define yylineno DEF_grammarlineno
+
+
+-#ifndef FLEX_BETA
+- int yylineno = 1;
+-#endif
+-
+-
+ static int yywrap(void);
+ static int string(void);
+ static int history(void);
+--
+2.5.5
+
diff --git a/0013-GCC-10-fixes.patch b/0013-GCC-10-fixes.patch
new file mode 100644
index 0000000..0a33546
--- /dev/null
+++ b/0013-GCC-10-fixes.patch
@@ -0,0 +1,78 @@
+From 87faa08f9a1d3f55e3430a68acb0f898adc75a2d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?=
+Date: Fri, 7 Feb 2020 08:51:41 +0100
+Subject: [PATCH 13/13] GCC-10 fixes
+
+---
+ alliance/src/elp/src/elp.c | 1 -
+ alliance/src/elp/src/elp.h | 3 ++-
+ alliance/src/elp/src/elp_y.y | 1 -
+ alliance/src/nero/src/MDRGrid.cpp | 1 +
+ alliance/src/pat/src/Makefile.am | 1 +
+ 5 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/alliance/src/elp/src/elp.c b/alliance/src/elp/src/elp.c
+index d279e6cfc..e516f1ee6 100644
+--- a/alliance/src/elp/src/elp.c
++++ b/alliance/src/elp/src/elp.c
+@@ -33,7 +33,6 @@ double elpVoltage[elpVOLTNUM] ;
+ double elpCapa[elpTRANSNUM][elpCAPANUM] ;
+ double elpGeneral[elpGENERALNUM] = {0.0,0.0,1000.0} ;
+ char elpLang = elpDEFLANG ;
+-int elpyylineno ;
+
+ /*****************************************************************************/
+ /* function elpenv() */
+diff --git a/alliance/src/elp/src/elp.h b/alliance/src/elp/src/elp.h
+index b1d4930f1..b1f284aed 100644
+--- a/alliance/src/elp/src/elp.h
++++ b/alliance/src/elp/src/elp.h
+@@ -106,7 +106,8 @@ extern double elpGeneral[elpGENERALNUM] ;
+ #define elpACM 0 /* methode de calcul des capacites dynamiques */
+ #define elpTEMP 1 /* temperature de simulation et d'analyse */
+ #define elpSLOPE 2 /* front sur les connecteurs d'entree */
+-
++extern int yylineno ;
++extern int elpyylineno ;
+
+ /* les fonctions externes */
+ extern int elpenv() ;
+diff --git a/alliance/src/elp/src/elp_y.y b/alliance/src/elp/src/elp_y.y
+index 904ce7f02..fb5db214a 100644
+--- a/alliance/src/elp/src/elp_y.y
++++ b/alliance/src/elp/src/elp_y.y
+@@ -100,7 +100,6 @@ elpvar :
+ ;
+ %%
+
+-extern int yylineno ;
+ extern char yytext[] ;
+
+ void yyerror()
+diff --git a/alliance/src/nero/src/MDRGrid.cpp b/alliance/src/nero/src/MDRGrid.cpp
+index b7e9fb9f3..f8095ab3b 100644
+--- a/alliance/src/nero/src/MDRGrid.cpp
++++ b/alliance/src/nero/src/MDRGrid.cpp
+@@ -17,6 +17,7 @@
+
+
+ # include "MDefs.h"
++template class TMatrix;
+
+
+
+diff --git a/alliance/src/pat/src/Makefile.am b/alliance/src/pat/src/Makefile.am
+index d8875fb83..f93af2822 100644
+--- a/alliance/src/pat/src/Makefile.am
++++ b/alliance/src/pat/src/Makefile.am
+@@ -28,6 +28,7 @@ pat_decl_y.c pat_decl_y.h : $(srcdir)/pat_decl_y.y
+ && sed -e "s/yy/pat_decl_y_/g" -e "s/YY/PAT_DECL_Y_/g" y.tab.c \
+ | sed -e "s/int[ ]*pat_decl_y_char;/extern int pat_decl_y_char;/" \
+ | sed -e "s/int[ ]*pat_decl_y_nerrs;/extern int pat_decl_y_nerrs;/" \
++ | sed -e "s/^PAT_DECL_Y_STYPE pat_decl_y_lval;//" \
+ > pat_decl_y.c \
+ && sed -e "s/yy/pat_decl_y_/g" -e "s/YY/PAT_DECL_Y_/g" y.tab.h > pat_decl_y.h
+
+--
+2.24.1
+
diff --git a/alliance.spec b/alliance.spec
index bccda9f..ad65a1a 100644
--- a/alliance.spec
+++ b/alliance.spec
@@ -1,63 +1,81 @@
-%define prefix %{_libdir}/%{name}
-%define snapshot 20090901
-%define _default_patch_fuzz 2
+%global snapdate 20160506
+%global commit d8c05cd022a15586e946da6e5d19d861a489ff5e
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
-Name: alliance
-Version: 5.0
-Release: 31.%{snapshot}snap%{?dist}
-Summary: VLSI EDA System
-
-License: GPLv2
-Group: Applications/Engineering
-
-Source: http://www-asim.lip6.fr/pub/alliance/distribution/5.0/%{name}-%{version}-%{snapshot}.tar.gz
-URL: http://www-asim.lip6.fr/recherche/alliance/
-
-
-Source1: alliance.fedora
-
-# Chitlesh's donated pictures to alliance
-# included asfrom snapshot 20090901
+Name: alliance
+Version: 5.1.1
+Release: 37.%{snapdate}git%{shortcommit}%{?dist}
+Summary: VLSI EDA System
+License: GPL-2.0-only
+URL: https://soc-extras.lip6.fr/en/alliance-abstract-en/
+Source: http://www-asim.lip6.fr/pub/alliance/distribution/latest/alliance-%{version}.tar.bz2
+Source1: alliance.fedora
Source2: alliance-tutorials-go-all.sh
Source3: alliance-tutorials-go-all-clean.sh
Source4: alliance-examples-go-all.sh
Source5: alliance-examples-go-all-clean.sh
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: libXt-devel byacc desktop-file-utils bison
-BuildRequires: libXp-devel libXpm-devel libstdc++-devel flex m4
-BuildRequires: transfig ghostscript
+# Update alliance-5.1.1 to commit %%{shortcommit} from
+# https://www-soc.lip6.fr/git/alliance.git
+Patch00: 0000-alliance-5.1.1-git%{shortcommit}.patch
+
+Patch01: 0001-Remove-stray-files.patch
+Patch02: 0002-Update-autostuff.patch
+Patch03: 0003-Consolidate-installation-dirs.patch
+Patch04: 0004-Misc-installation-dirs-fixes.patch
+Patch05: 0005-Use-inttypes-macros-to-print-int32_t.patch
+Patch06: 0006-Use-ring_yy-instead-of-yy.patch
+Patch07: 0007-Eliminate-CFLAGS.patch
+Patch08: 0008-Rework-Makefile.ams.patch
+Patch09: 0009-Misc.-doc-fixes.patch
+Patch10: 0010-Fedora-profiles.patch
+# Bashisms in /etc/profile.d/alc_env.csh
+Patch11: 0011-Use-setenv-instead-of-set-RHBZ-1337691.patch
+# Flex compatibility issues
+Patch12: 0012-Remove-yylineno.patch
+# GCC-10 incompatibilities
+Patch13: 0013-GCC-10-fixes.patch
+
+
+BuildRequires: gcc-c++
+BuildRequires: bison
+BuildRequires: byacc
+BuildRequires: desktop-file-utils
+BuildRequires: flex
+BuildRequires: libstdc++-devel
+BuildRequires: libXpm-devel
+BuildRequires: libXt-devel
+BuildRequires: m4
+BuildRequires: tex(epsf.sty)
+BuildRequires: tex(latex)
+BuildRequires: tex(picinpar.sty)
+BuildRequires: tex(subfigure.sty)
+BuildRequires: tex(wrapfig.sty)
+BuildRequires: transfig
+BuildRequires: /usr/bin/convert
+BuildRequires: /usr/bin/dvipdf
+BuildRequires: autoconf automake libtool
%if 0%{?rhel}
-BuildRequires: openmotif-devel
-BuildRequires: pkgconfig
+BuildRequires: openmotif-devel
+BuildRequires: pkgconfig
%else
-BuildRequires: lesstif-devel
+BuildRequires: motif-devel
%endif
-
-Requires: xorg-x11-fonts-misc
+Requires: xorg-x11-fonts-misc
# RHBZ 442379
-Requires(post): %{name}-libs = %{version}-%{release}
+Requires(post): %{name}-libs%{?_isa} = %{version}-%{release}
%description
-Alliance is a complete set of free CAD tools and portable libraries for
-VLSI design. It includes a VHDL compiler and simulator, logic synthesis
-tools, and automatic place and route tools.
-
-A complete set of portable CMOS libraries is provided, including a RAM
-generator, a ROM generator and a data-path compiler.
-
-Alliance is the result of more than ten years effort spent at ASIM department
-of LIP6 laboratory of the Pierre et Marie Curie University (Paris VI, France).
-
-Alliance has been used for research projects such as the 875 000 transistors
-StaCS superscalar microprocessor and 400 000 transistors IEEE Gigabit HSL
-Router.
-
-You are kindly requested to mention
-" Designed with alliance (c) LIP6, Université Pierre et Marie Curie"
-so as to spread the word about "alliance CAD system" and its development team.
+Alliance is a complete set of free cad tools and portable libraries for VLSI
+design. It includes a vhdl compiler and simulator, logic synthesis tools,
+and automatic place and route tools. A complete set of portable cmos libraries
+is provided. Alliance is the result of a twelve year effort spent at SoC
+department of LIP6 laboratory of the Pierre & Marie Curie University (Paris
+VI, France). Alliance has been used for research projects such as the 875 000
+transistors StaCS superscalar microprocessor and 400 000 transistors ieee
+Gigabit HSL Router.
Alliance provides CAD tools covering most of all the digital design flow:
@@ -71,267 +89,381 @@ Alliance provides CAD tools covering most of all the digital design flow:
* Netlist extraction and verification
* Design rules checking
-%{name} is listed among Fedora Electronic Lab (FEL) packages.
+Alliance is listed among Fedora Electronic Lab (FEL) packages.
+%package libs
+Summary: Alliance VLSI CAD System - Libraries
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: electronics-menu
-%package libs
-Summary: Alliance VLSI CAD Sytem - multilibs
-Group: Applications/Engineering
-Requires: %{name} = %{version}-%{release}
-Requires: electronics-menu
-
-
-%description libs
+%description libs
Architecture dependent files for the Alliance VLSI CAD Sytem.
+%package devel
+Summary: Alliance VLSI CAD System - Development libraries
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-%package doc
-Summary: Alliance VLSI CAD Sytem - Documentations
-Group: Applications/Engineering
-Requires: %{name} = %{version}-%{release}
-Requires: gnuplot
-BuildRequires:tetex-latex
+%description devel
+%{summary}
+%package doc
+Summary: Alliance VLSI CAD System - Documentations
+BuildArch: noarch
+Requires: gnuplot
+BuildRequires: tetex-latex
+BuildRequires: make
-
-%description doc
+%description doc
Documentation and tutorials for the Alliance VLSI CAD Sytem.
-
%prep
-%setup -q
-%{__rm} -rf autom4te.cache
+%setup -qn %{name}
+%patch -P00 -p2
-%{__cp} -p %{SOURCE1} .
-sed -i "s|ALLIANCE_TOP|%{prefix}|" distrib/*.desktop
+%patch -P01 -p2
+%patch -P02 -p2
+%patch -P03 -p2
+%patch -P04 -p2
+%patch -P05 -p2
+%patch -P06 -p2
+%patch -P07 -p2
+%patch -P08 -p2
+%patch -P09 -p2
+%patch -P10 -p2
+%patch -P11 -p2
+%patch -P12 -p2
+%patch -P13 -p2
-# removed useless copyrighted (by Cadence) lines from the examples
-# and even in alliance-run
-# https://www-asim.lip6.fr/wws/arc/alliance-users/2007-07/msg00006.html
+pushd src > /dev/null
+
+# Don't build attila
+rm -r attila
+
+# Setup auto*stuff
+./autostuff
+
+# The configure.ins confuse rpm
+# rename them into configure.in~
+sed -i -e 's/configure.in/configure.in~/g' autostuff
+for x in $(find */* -name configure.in); do
+mv $x $x~
+done
+
+chmod +x configure
+
+cp -p %{SOURCE1} .
+sed -i "s|ALLIANCE_TOP/bin|%{_libdir}/alliance/bin|" distrib/*.desktop
-# ------------------------------------------------------------------------------
-# Description : 2008 March : TexLive introduction to Rawhide
-sed -i "s|tutorials||" documentation/Makefile.in
-sed -i "s|documentation/tutorials/Makefile||" configure*
-pushd documentation/tutorials
- # clean unneccessary files
- %{__rm} Makefile*
- %{__rm} *.pdf
- # build documentation
- for folder in place_and_route/tex start simulation/tex synthesis/tex; do
- pushd $folder
- %{__make}
- popd
- # remove useless directories before %%doc
- %{__rm} -rf $folder
- done
- # Add automated scripts to tutorials
- %{__install} -pm 755 %{SOURCE2} go-all.sh
- %{__install} -pm 755 %{SOURCE3} go-all-clean.sh
- # Fedora Electronic Lab self test for alliance
- #./go-all.sh 2>&1 | tee self-test-tutorials.log
- # clean temporary files
- ./go-all-clean.sh
-popd
# ------------------------------------------------------------------------------
-# fixing flex and bison update on rawhide
-sed -i '30i\#include \"string.h\"' ocp/src/placer/Ocp.cpp ocp/src/placer/PPlacement.h
-sed -i '18i\#include \"bvl_bcomp_y.h\"' bvl/src/bvl_bcomp_y.y
-
-# make sure the man pages are UTF-8...
-for nonUTF8 in FAQ README LICENCE distrib/doc/alc_origin.1 alcban/man1/alcbanner.1 \
- loon/doc/loon.1 m2e/doc/man1/m2e.1 boog/doc/boog.1 ; do
+## Convert to UTF-8
+for nonUTF8 in \
+ FAQ \
+ alcban/man1/alcbanner.1 \
+ distrib/doc/alc_origin.1 \
+ loon/doc/loon.1 \
+ boog/doc/boog.1 \
+ m2e/doc/man1/m2e.1 \
+ documentation/overview/overview.tex \
+ documentation/alliance-examples/tuner/build_tuner \
+ documentation/alliance-examples/tuner/README \
+ documentation/alliance-examples/tuner/tuner.vbe \
+ documentation/alliance-examples/mipsR3000/sce/mips_dpt.c \
+ documentation/alliance-examples/mipsR3000/asm/mips_defs.h \
+; do \
%{_bindir}/iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv
- %{__mv} -f $nonUTF8.conv $nonUTF8
+ mv -f $nonUTF8.conv $nonUTF8
done
pushd documentation/alliance-examples/
-# make sure the man pages are UTF-8...
-for nonUTF8 in tuner/build_tuner mipsR3000/asm/mips_defs.h tuner/tuner.vbe \
- tuner/README mipsR3000/sce/mips_dpt.c ; do
- %{_bindir}/iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv
- %{__mv} -f $nonUTF8.conv $nonUTF8
-done
-
#wrong-file-end-of-line-encoding
sed -i 's/\r//' mipsR3000/asm/*
popd
find documentation/tutorials/ \
- -name *.vbe -o \
+ \( -name *.vbe -o \
-name *.pat -o \
-name *.vhdl -o \
-name *.vst -o \
- -name *.c \
+ -name *.c \) \
-exec chmod 0644 {} ';'
-
+popd > /dev/null
+
%build
-
-export ALLIANCE_TOP=%{prefix}
-
-%configure --prefix=%{prefix} \
- --enable-alc-shared \
- --disable-static \
- --includedir=%{prefix}/include \
- --libdir=%{prefix}/lib \
- --bindir=%{prefix}/bin \
- --mandir=%{_datadir}/%{name}/man # RHBZ 252941
-
-# disabling rpath
-sed -i 's|^hardcode_libdir_flag_spec="\\${wl}--rpath \\${wl}\\$libdir"|hardcode_libdir_flag_spec=""|g' libtool
-sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
-
-# clean unused-direct-shlib-dependencies
-sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
+# The C parts use implicit ints, implicit function declarations,
+# and old-style function declarations heavily.
+%global build_type_safety_c 0
+export CFLAGS="%build_cflags -std=gnu89"
+export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS"
+pushd src > /dev/null
+%configure --enable-alc-shared \
+ --disable-static \
+ --prefix=%{_libdir}/%{name} \
+ --bindir=%{_libdir}/%{name}/bin \
+ --libdir=%{_libdir}/%{name}/lib \
+ --includedir=%{_libdir}/%{name}/include \
+ --docdir=%{_pkgdocdir} \
+ --mandir=%{_mandir}
# Is not parallel-build-safe
-%{__make}
-
+make
+popd
%install
-
-%{__rm} -rf %{buildroot}
-
-%{__make} INSTALL="install -p" DESTDIR=%{buildroot} install
-
-# Set execution rights on the alc_env.* batchs and adjust ALLIANCE_TOP.
-pushd %{buildroot}%{_sysconfdir}/profile.d
- chmod 0644 alc_env.*
- sed -i "s|@DATE@|`date`|" alc_env*
- sed "s|ALLIANCE_TOP *= *\([^;]*\)|ALLIANCE_TOP=%{prefix}|" alc_env.sh
- sed "s|setenv *ALLIANCE_TOP *\([^;]*\)|setenv ALLIANCE_TOP %{prefix}|" alc_env.csh
-popd
-
-
-# documentation
-%{__cp} -pr %{buildroot}%{prefix}/doc/ .
-%{__cp} -pr %{buildroot}%{prefix}/examples/alliance-examples/ .
-
-%{__rm} -rf %{buildroot}%{prefix}/doc/
-%{__rm} -rf %{buildroot}%{prefix}/examples/
+pushd src > /dev/null
+%make_install
# Add automated scripts to examples
-%{__install} -pm 755 %{SOURCE4} alliance-examples/go-all.sh
-%{__install} -pm 755 %{SOURCE5} alliance-examples/go-all-clean.sh
+#install -pm 755 %{SOURCE4} alliance-examples/go-all.sh
+#install -pm 755 %{SOURCE5} alliance-examples/go-all-clean.sh
-pushd alliance-examples/
- # FEL self test for alliance
- #./go-all.sh 2>&1 | tee self-test-examples.log
- # clean temporary files
- ./go-all-clean.sh
-popd
-
-find %{buildroot} -name '*.la' -exec rm -f {} ';'
+#pushd alliance-examples/
+# # FEL self test for alliance
+# #./go-all.sh 2>&1 | tee self-test-examples.log
+# # clean temporary files
+# ./go-all-clean.sh
+#popd
+find %{buildroot} -name '*.la' -delete -print
# Adding icons for the menus
-%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
-%{__cp} -p distrib/*.png \
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
+cp -p distrib/*.png \
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
-
# desktop files with enhanced menu from electronics-menu now on Fedora
# thanks Peter Brett
-for desktopfile in distrib/*.desktop; do
-desktop-file-install --vendor "" \
- --dir %{buildroot}%{_datadir}/applications/ \
- $desktopfile
+for d in distrib/*.desktop; do
+desktop-file-install --dir %{buildroot}%{_datadir}/applications/ $d
done
-
-# Architecture independent files
-%{__mv} %{buildroot}%{prefix}/cells %{buildroot}%{_datadir}/%{name}/
-%{__mv} %{buildroot}%{prefix}/etc %{buildroot}%{_datadir}/%{name}/
-
-
# protecting hardcoded links
-ln -sf ../../..%{_datadir}/%{name}/cells %{buildroot}%{prefix}/cells
-ln -sf ../../..%{_datadir}/%{name}/etc %{buildroot}%{prefix}/etc
-ln -sf ../../..%{_datadir}/%{name}/man %{buildroot}%{prefix}/man
+#ln -sf ../../..%{_datadir}/%{name}/cells %{buildroot}%{_prefix}/cells
+#ln -sf ../../..%{_datadir}/%{name}/etc %{buildroot}%{_prefix}/etc
+#ln -sf ../../..%{_datadir}/%{name}/man %{buildroot}%{_prefix}/man
+# rename manpages to avoid conflicts
+# RHBZ 252941
+pushd $RPM_BUILD_ROOT%{_mandir} > /dev/null
+/usr/bin/rename .1 .1alc man1/*
+/usr/bin/rename .3 .3alc man3/*
+/usr/bin/rename .5 .5alc man5/*
+# Reflect man page renamer to man page includes
+sed -i -e 's,^\(.so man[13]/alc_.*.[13]\)$,\1alc,' man*/*
+popd > /dev/null
-# manpage-not-gzipped
-find %{prefix}/man -type f -not -name '*.gz' -print | xargs gzip -9f
+# Rename alliance subdir into html
+mv %{buildroot}%{_pkgdocdir}/alliance %{buildroot}%{_pkgdocdir}/html
+# Directly install files to go into 5%{_pkgdocdir}
+install -m 644 README CHANGES FAQ alliance.fedora %{buildroot}%{_pkgdocdir}
%{__mkdir} -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf << EOF
# Alliance VLSI design system
-%{prefix}/lib
+%{_libdir}/%{name}/lib
EOF
-
-# removing tools for compiling and installing Alliance tools
-# These are for the packager (i.e me) and not for user
-%{__rm} -f %{buildroot}%{_sysconfdir}/%{name}/attila.conf
-%{__rm} -f %{buildroot}%{prefix}/etc/attila.conf
-%{__rm} -f %{buildroot}%{prefix}/bin/attila
-%{__rm} -f %{buildroot}%{_datadir}/man/man1/attila*
-%{__rm} -f doc/html/alliance/*attila.html
-%{__rm} -f doc/pdf/attila.pdf
-
-# correcting minor documentation details
-sed -i "s|/bin/zsh|/bin/sh|" doc/alliance-run/bench.zsh
-
%{_fixperms} %{buildroot}/*
-
-
+popd > /dev/null
%post
-/sbin/ldconfig
source %{_sysconfdir}/profile.d/alc_env.sh
-touch --no-create %{_datadir}/icons/hicolor || :
-%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
+%post libs -p /sbin/ldconfig
-%postun
-/sbin/ldconfig
-touch --no-create %{_datadir}/icons/hicolor || :
-%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
-
-
-
-%clean
-%{__rm} -rf %{buildroot}
-
-#These headers are useful for the _usage_ of the binaries
-#without these headers some of the binaries will be broken by default
-
+%postun libs -p /sbin/ldconfig
%files
-%defattr(-,root,root,-)
-%doc CHANGES LICENCE COPYING* FAQ alliance.fedora
-%{prefix}/
-%{_datadir}/%{name}/
+%{_pkgdocdir}/README
+%{_pkgdocdir}/CHANGES
+%{_pkgdocdir}/FAQ
+%{_pkgdocdir}/alliance.fedora
+%license src/LICENCE src/COPYING*
+
+%{_datadir}/alliance
%{_datadir}/icons/hicolor/48x48/apps/*
-
-
-%files libs
-%defattr(-,root,root,-)
-%config(noreplace) %{_sysconfdir}/ld.so.conf.d/*
%{_datadir}/applications/*.desktop
+%dir %{_libdir}/alliance
+%{_libdir}/alliance/bin
+%{_mandir}/man1/*.1*
+%config(noreplace) %{_sysconfdir}/alliance
%config(noreplace) %{_sysconfdir}/profile.d/alc_env.*
+%files devel
+%dir %{_libdir}/alliance
+%{_libdir}/alliance/include
+%dir %{_libdir}/alliance/lib
+%{_libdir}/alliance/lib/*.so
+%{_mandir}/man3/*.3*
+
+%files libs
+%dir %{_libdir}/alliance
+%dir %{_libdir}/alliance/lib
+%{_libdir}/alliance/lib/lib*.so.*
+%{_mandir}/man5/*.5*
+%config(noreplace) %{_sysconfdir}/ld.so.conf.d/*
%files doc
-%defattr(-,root,root,-)
-%doc doc/html/
-%doc doc/design-flow
-%doc doc/pdf/*.pdf
-%doc doc/overview/*.ps
-%doc doc/overview/*.pdf
-%doc documentation/tutorials/
-#Makefiles are present in alliance-examples/*. It is normal because
-# * it gives the VLSI designer a template on how to create his own
-# Makefile for alliance (VLSI designers normally don't know how to do so)
-# * it is not part of the build, but part of the working environment of the user
-%doc alliance-examples/
-%doc doc/alliance-run/
-
+%{_pkgdocdir}
%changelog
+* Fri Jan 16 2026 Fedora Release Engineering - 5.1.1-37.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
+
+* Wed Jul 23 2025 Fedora Release Engineering - 5.1.1-36.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Thu Jan 16 2025 Fedora Release Engineering - 5.1.1-35.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
+* Wed Jul 17 2024 Fedora Release Engineering - 5.1.1-34.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Mon Jan 22 2024 Fedora Release Engineering - 5.1.1-33.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Jan 19 2024 Fedora Release Engineering - 5.1.1-32.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Aug 16 2023 Florian Weimer - 5.1.1-31.20160506gitd8c05cd
+- Set build_type_safety_c to 0 (#2187002)
+
+* Wed Jul 19 2023 Fedora Release Engineering - 5.1.1-30.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Sat Apr 15 2023 Florian Weimer - 5.1.1-29.20160506gitd8c05cd
+- Build in C89 mode (#2187002)
+
+* Wed Jan 18 2023 Fedora Release Engineering - 5.1.1-28.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Mon Dec 05 2022 Ralf Corsépius - 5.1.1-27.20160506gitd8c05cd
+- Convert license to SPDX.
+
+* Wed Jul 20 2022 Fedora Release Engineering - 5.1.1-26.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Wed Jan 19 2022 Fedora Release Engineering - 5.1.1-25.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Wed Jul 21 2021 Fedora Release Engineering - 5.1.1-24.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon Jan 25 2021 Fedora Release Engineering - 5.1.1-23.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Sep 30 2020 Adam Jackson - 5.1.1-22.20160506gitd8c05cd
+- Remove unused BuildRequires: libXp-devel
+
+* Fri Jul 31 2020 Fedora Release Engineering - 5.1.1-21.20160506gitd8c05cd
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 27 2020 Jeff Law - 5.1.1-20.20160506gitd8c05cd
+- Force C++14 as the code is not ready for C++17
+
+* Mon Jul 27 2020 Fedora Release Engineering - 5.1.1-19.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Sat Feb 22 2020 Ralf Corsépius - 5.1.1-18.20160506gitd8c05cd
+- Drop lesstif.
+- Spec file cleanup.
+- Add 0013-GCC-10-fixes.patch (F32FTBFS, RHBZ#1799147).
+
+* Tue Jan 28 2020 Fedora Release Engineering - 5.1.1-17.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Wed Jul 24 2019 Fedora Release Engineering - 5.1.1-16.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu Jan 31 2019 Fedora Release Engineering - 5.1.1-15.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Jul 12 2018 Fedora Release Engineering - 5.1.1-14.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Mar 15 2018 Ralf Corsépius - 5.1.1-13.20160506gitd8c05cd
+- BR: /usr/bin/dvipdf instead of ghostscript (F28FTBFS).
+
+* Wed Feb 07 2018 Fedora Release Engineering - 5.1.1-12.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sun Jan 07 2018 Igor Gnatenko - 5.1.1-11.20160506gitd8c05cd
+- Remove obsolete scriptlets
+
+* Wed Aug 02 2017 Fedora Release Engineering - 5.1.1-10.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 5.1.1-9.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon May 15 2017 Fedora Release Engineering - 5.1.1-8.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering - 5.1.1-7.20160506gitd8c05cd
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri May 20 2016 Ralf Corsépius - 5.1.1-6.20160506gitd8c05cd
+- Upstream update.
+- Rebase patches.
+- Remove reference to FLEX_BETA.
+
+* Fri May 20 2016 Ralf Corsépius - 5.1.1-5.20160220git10a7b7e
+- Remove bashisms in /etc/profile/alc_env.csh (RHBZ#1337691).
+- Work around flex-2.6.0 compatibility issues triggering a FTBFS.
+
+* Tue Mar 01 2016 Ralf Corsépius - 5.1.1-4.20160220git10a7b7e
+- Rework spec.
+- Add upstream changes.
+- Rework package configuration.
+- Introduce *-devel.
+
+* Wed Feb 03 2016 Fedora Release Engineering - 5.1.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Sun Dec 27 2015 Björn Esser - 5.1.1-2
+- Rebuilt for libXm so-name bump
+- Use %%license
+- Cleanup trailing whitespace
+
+* Tue Jun 16 2015 Fedora Release Engineering - 5.1.1-1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Tue Aug 19 2014 Christopher Meng - 5.1.1-0
+- Update to 5.1.1
+
+* Fri Aug 15 2014 Fedora Release Engineering - 5.0-40.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Wed Jun 18 2014 Yaakov Selkowitz - 5.0-39.20090901snap
+- Add missing tex BRs (#913874, #991959, #1105945)
+- Fix FTBFS with -Werror=format-security
+- Fix FTBFS with latest bison
+- Remove unneeded macros
+
+* Sat Jun 07 2014 Fedora Release Engineering - 5.0-38.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sat Aug 03 2013 Fedora Release Engineering - 5.0-37.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Wed Feb 13 2013 Fedora Release Engineering - 5.0-36.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Jul 18 2012 Fedora Release Engineering - 5.0-35.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Feb 28 2012 Fedora Release Engineering - 5.0-34.20090901snap
+- Rebuilt for c++ ABI breakage
+
+* Thu Jan 12 2012 Fedora Release Engineering - 5.0-33.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Feb 07 2011 Fedora Release Engineering - 5.0-32.20090901snap
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
* Wed Sep 02 2009 Chitlesh Goorah - 5.0-31.20090901snap
- updated to upstream's 20090901 snapshot
- Removed all patches which are accepted by upstream
diff --git a/sources b/sources
index 9af8cf1..b5ec516 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-f3b692c4ea9e54c040280f660b3cf170 alliance-5.0-20090901.tar.gz
+2a0e6419d8e61e432554e17fa3d6dc1c alliance-5.1.1.tar.bz2