new tinyCounter, uses only 44 transistors per bit
authorAdam Megacz <adam.megacz@sun.com>
Tue, 14 Jul 2009 04:50:32 +0000 (04:50 +0000)
committerAdam Megacz <adam.megacz@sun.com>
Tue, 14 Jul 2009 04:50:32 +0000 (04:50 +0000)
electric/tinyCounter.jelib

index 7cd08fe..c686b5f 100644 (file)
@@ -1,5 +1,5 @@
 # header information:
-HtinyCounter|8.08k
+HtinyCounter2|8.10a
 
 # Views:
 Vicon|ic
@@ -7,10 +7,6 @@ Vschematic|sch
 
 # External Libraries:
 
-LcentersJ|centersJ
-
-LdriversM|driversM
-
 LorangeTSMC090nm|orangeTSMC090nm
 
 LredFive|redFive
@@ -29,6 +25,160 @@ Ngeneric:Facet-Center|art@0||0|0||||AV
 Ngeneric:Invisible-Pin|pin@0||-5|9.5|||||ART_message(D5G3;)S["A complete counter consists of \"n\" copies of this cell","plus an \"end cap\" at the MSB end and a different \"end cap\" at the LSB end.",.,The MSB end cap ties DoneOrTwo HI and OneOrTwo LO.,.,The LSB end cap responds to decrement requests from the,"dock by draining both state wires.  It reports \"decrement succeeded\" to","the dock if the state of the LSB is \"One\" or \"Two\" and reports \"decrement","failed\" to the dock if the state of the LSB is \"Done\"."]
 X
 
+# Cell fire;1{ic}
+Cfire;1{ic}||artwork|1247529105994|1247544514118|E
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NBox|art@2||-3.25|2|11.5|15||
+NThick-Circle|art@3||-7.5|-6|1|1|RRR|
+NThick-Circle|art@4||-7.5|10|1|1|RRR|
+Nschematic:Bus_Pin|pin@0||4.5|1|||X|
+Nschematic:Wire_Pin|pin@1||2.5|1|||X|
+Nschematic:Bus_Pin|pin@2||4.5|3|||X|
+Nschematic:Wire_Pin|pin@3||2.5|3|||X|
+Nschematic:Bus_Pin|pin@4||-11|3||||
+Nschematic:Wire_Pin|pin@5||-9|3||||
+Nschematic:Bus_Pin|pin@6||-11|5||||
+Nschematic:Wire_Pin|pin@7||-9|5||||
+Nschematic:Bus_Pin|pin@8||4.5|-1|||X|
+Nschematic:Wire_Pin|pin@9||2.5|-1|||X|
+Nschematic:Bus_Pin|pin@10||4.5|5|||X|
+Nschematic:Wire_Pin|pin@11||2.5|5|||X|
+Nschematic:Bus_Pin|pin@12||-11|-1||||
+Nschematic:Wire_Pin|pin@13||-9|-1||||
+Nschematic:Bus_Pin|pin@14||-11|1||||
+Nschematic:Wire_Pin|pin@15||-9|1||||
+Nschematic:Bus_Pin|pin@16||1.5|12|||R|
+Nschematic:Wire_Pin|pin@17||1.5|9.5|||R|
+Ngeneric:Invisible-Pin|pin@18||-3|2|||||ART_message(D5G2;)S12T
+Nschematic:Bus_Pin|pin@19||-7.5|-8|||RRR|
+Nschematic:Wire_Pin|pin@20||-7.5|-6.5|||RRR|
+Ngeneric:Invisible-Pin|pin@21||-7.5|-4.5|||||ART_message(D5G1;)S+1
+Ngeneric:Invisible-Pin|pin@23||-8|-1|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@24||-8|1|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@25||-8|5|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@26||-8|3|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@27||1.5|5|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@28||1.5|3|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@29||1.5|1|||||ART_message(D5G1;)S+3
+Ngeneric:Invisible-Pin|pin@30||1.5|-1|||||ART_message(D5G1;)S+3
+Nschematic:Bus_Pin|pin@31||1.5|-5.5||||
+Nschematic:Wire_Pin|pin@32||2.5|-5.5||||
+Nschematic:Bus_Pin|pin@33||-7.5|12||||
+Nschematic:Wire_Pin|pin@34||-7.5|12||||
+Nschematic:Wire_Pin|pin@35||-7.5|10.5||||
+Nschematic:Wire_Pin|pin@36||1.5|-8||||
+Ngeneric:Invisible-Pin|pin@37||-7.5|8.5|||||ART_message(D5G1;)S+1
+Aschematic:wire|net@0|||1800|pin@1||2.5|1|pin@0||4.5|1
+Aschematic:wire|net@1|||1800|pin@3||2.5|3|pin@2||4.5|3
+Aschematic:wire|net@2|||0|pin@5||-9|3|pin@4||-11|3
+Aschematic:wire|net@3|||0|pin@7||-9|5|pin@6||-11|5
+Aschematic:wire|net@4|||1800|pin@9||2.5|-1|pin@8||4.5|-1
+Aschematic:wire|net@5|||1800|pin@11||2.5|5|pin@10||4.5|5
+Aschematic:wire|net@6|||0|pin@13||-9|-1|pin@12||-11|-1
+Aschematic:wire|net@7|||0|pin@15||-9|1|pin@14||-11|1
+Aschematic:wire|net@8|||2700|pin@17||1.5|9.5|pin@16||1.5|12
+Aschematic:wire|net@9|||900|pin@20||-7.5|-6.5|pin@19||-7.5|-8
+Aschematic:wire|net@10|||0|pin@32||2.5|-5.5|pin@31||1.5|-5.5
+Aschematic:wire|net@11|||0|pin@34||-7.5|12|pin@33||-7.5|12
+Aschematic:wire|net@12|||900|pin@33||-7.5|12|pin@35||-7.5|10.5
+Aschematic:wire|net@13|||900|pin@31||1.5|-5.5|pin@36||1.5|-8
+ELSN[ZeroOrDone]||D5G2;X-9.5;|pin@0||I
+ELSN[ZeroOrOne]||D5G2;X-9.5;|pin@2||I
+EMSN[ZeroOrDone]||D4G2;|pin@4||I
+EMSN[ZeroOrOne]||D4G2;|pin@6||I
+ENotLSN[ZeroOrDone]||D5G2;X-11;|pin@8||I
+ENotLSN[ZeroOrOne]||D5G2;X-9.5;|pin@10||I
+ENotMSN[ZeroOrDone]||D4G2;|pin@12||I
+ENotMSN[ZeroOrOne]||D4G2;|pin@14||I
+Efire|fire[1]|D5G2;X1.5;|pin@16||O
+Efire[2]||D5G2;X2;Y-3.5;|pin@31||O
+Enot_fire|not_fire[1]|D5G2;X1;Y-4.5;|pin@19||O
+Enot_fire[2]||D5G2;X-5.5;Y1.5;|pin@33||O
+X
+
+# Cell fire;1{sch}
+Cfire;1{sch}||schematic|1247526811643|1247544443910|
+IredFive:NMOS;1{ic}|NMOS@0||-1.5|-18|RR||D5G4;|ATTR_Delay(D5G1;NPX-4;Y-2;)I100|ATTR_X(D5G1.5;NPX-3.5;Y2;)I1
+IredFive:NMOS;1{ic}|NMOS@1||-2.5|-18|XRR||D5G4;|ATTR_Delay(D5G1;NPX-4;Y-2;)I100|ATTR_X(D5G1.5;NPX-3.5;Y2;)I1
+IredFive:PMOS;1{ic}|PMOS@0||-1.5|-1|RR||D5G4;|ATTR_Delay(D5G1;NPX-4.5;Y-1.5;)I100|ATTR_X(D5G1.5;NPX-3;Y2;)I1
+IredFive:PMOS;1{ic}|PMOS@1||-2.5|-1|XRR||D5G4;|ATTR_Delay(D5G1;NPX-3;Y-2.5;)I100|ATTR_X(D5G1.5;NPX-3;Y2;)I1
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NOff-Page|conn@0||-14.5|-18||||
+NOff-Page|conn@1||10.5|-18|||RR|
+NOff-Page|conn@2||10.5|-1|||RR|
+NOff-Page|conn@3||-14.5|-1||||
+NOff-Page|conn@4||10.5|3.5|||RR|
+NOff-Page|conn@5||10.5|7.5|||RR|
+NOff-Page|conn@6||-14.5|-22.5||||
+NOff-Page|conn@7||-14.5|-26.5||||
+NOff-Page|conn@8||35|-8||||
+NOff-Page|conn@9||35|-11.5||||
+NOff-Page|conn@10||35|-5.5||||
+NOff-Page|conn@11||35|-14||||
+Ifire;1{ic}|fire@0||-9|21|||D5G4;
+IredFive:inv;1{ic}|inv@0||6.5|-8|||D5G4;|ATTR_Delay(D5G1;NPX2;Y-2;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX1.5;Y2;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:inv;1{ic}|inv@1||26|-11.5|||D5G4;|ATTR_Delay(D5G1;NPX1;Y-2.5;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX1.5;Y2;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:invI;2{ic}|invI@0||13.5|-8|||D5G4;|ATTR_Delay(D5G1;NPX1.75;Y-2;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX1.25;Y2;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:nms2a;2{ic}|nms2a@0||-2|-26.5|||D5G4;|ATTR_Delay(D5G1;NPX3.75;Y-2;)I100|ATTR_X(D5FLeave alone;G1.5;NPX-1.5;)I1
+NWire_Pin|pin@0||-2|1||||
+NWire_Pin|pin@1||-2|-16||||
+NWire_Pin|pin@2||-2|-3||||
+NWire_Pin|pin@3||-2|-20||||
+NWire_Pin|pin@5||-2|-8||||
+NWire_Pin|pin@6||21|-11.5||||
+NWire_Pin|pin@7||21|-8||||
+NWire_Pin|pin@8||31|-5.5||||
+NWire_Pin|pin@9||31|-8||||
+NWire_Pin|pin@10||31|-14||||
+NWire_Pin|pin@11||31|-11.5||||
+IredFive:pms2a;2{ic}|pms2a@0||-2|7.5|X||D5G4;|ATTR_Delay(D5G1;NPX-2;Y0.25;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX3.25;Y2.75;)S1
+Awire|net@0|||1800|PMOS@1|d|-2.5|1|pin@0||-2|1
+Awire|net@1|||1800|pin@0||-2|1|PMOS@0|d|-1.5|1
+Awire|net@2|||2700|nms2a@0|d|-2|-20.5|pin@3||-2|-20
+Awire|net@3|||900|pms2a@0|d|-2|1.5|pin@0||-2|1
+Awire|net@4|||1800|NMOS@1|s|-2.5|-16|pin@1||-2|-16
+Awire|net@5|||1800|pin@1||-2|-16|NMOS@0|s|-1.5|-16
+Awire|net@6|||1800|PMOS@1|s|-2.5|-3|pin@2||-2|-3
+Awire|net@7|||1800|pin@2||-2|-3|PMOS@0|s|-1.5|-3
+Awire|net@9|||1800|NMOS@1|d|-2.5|-20|pin@3||-2|-20
+Awire|net@10|||1800|pin@3||-2|-20|NMOS@0|d|-1.5|-20
+Awire|net@12|||1800|conn@0|y|-12.5|-18|NMOS@1|g|-5.5|-18
+Awire|net@13|||0|conn@1|y|8.5|-18|NMOS@0|g|1.5|-18
+Awire|net@14|||0|conn@2|y|8.5|-1|PMOS@0|g|1.5|-1
+Awire|net@15|||1800|conn@3|y|-12.5|-1|PMOS@1|g|-5.5|-1
+Awire|net@16|||0|conn@4|y|8.5|3.5|pms2a@0|g2|1|3.5
+Awire|net@17|||0|conn@5|y|8.5|7.5|pms2a@0|g|1|7.5
+Awire|net@18|||1800|conn@6|y|-12.5|-22.5|nms2a@0|g2|-5|-22.5
+Awire|net@19|||1800|conn@7|y|-12.5|-26.5|nms2a@0|g|-5|-26.5
+Awire|net@24|||0|invI@0|in|11|-8|inv@0|out|9|-8
+Awire|net@25|||2700|pin@1||-2|-16|pin@5||-2|-8
+Awire|net@26|||2700|pin@5||-2|-8|pin@2||-2|-3
+Awire|net@27|||0|inv@0|in|4|-8|pin@5||-2|-8
+Awire|net@29|||0|inv@1|in|23.5|-11.5|pin@6||21|-11.5
+Awire|net@30|||1800|invI@0|out|16|-8|pin@7||21|-8
+Awire|net@32|||2700|pin@6||21|-11.5|pin@7||21|-8
+Awire|net@34|||0|conn@10|a|33|-5.5|pin@8||31|-5.5
+Awire|net@35|||1800|pin@7||21|-8|pin@9||31|-8
+Awire|net@36|||1800|pin@9||31|-8|conn@8|a|33|-8
+Awire|net@37|||900|pin@8||31|-5.5|pin@9||31|-8
+Awire|net@38|||0|conn@11|a|33|-14|pin@10||31|-14
+Awire|net@39|||0|conn@9|a|33|-11.5|pin@11||31|-11.5
+Awire|net@40|||0|pin@11||31|-11.5|inv@1|out|28.5|-11.5
+Awire|net@41|||2700|pin@10||31|-14|pin@11||31|-11.5
+ENotLSN[ZeroOrDone]|LSN[ZeroOrDone]|D6G2;X-16.5;|conn@1|a|I
+ENotLSN[ZeroOrOne]|LSN[ZeroOrOne]|D6G2;X-19.5;|conn@0|y|I
+EMSN[ZeroOrDone]||D4G2;|conn@2|a|I
+EMSN[ZeroOrOne]||D6G2;X-20;|conn@3|y|I
+ENotLSN[ZeroOrDone]@143472236|NotLSN[ZeroOrDone]|D4G2;|conn@4|a|I
+ENotLSN[ZeroOrOne]@693077187|NotLSN[ZeroOrOne]|D4G2;|conn@5|a|I
+ENotMSN[ZeroOrDone]||D6G2;X-20.5;|conn@7|a|I
+ENotMSN[ZeroOrOne]||D5G2;X-10;|conn@6|a|I
+Efire|fire[1]|D6G2;X4.5;|conn@8|a|O
+Efire[2]||D5G2;X7;|conn@10|a|O
+Enot_fire|not_fire[1]|D5G2;X9;|conn@9|a|O
+Enot_fire[2]||D5G2;X5;|conn@11|y|O
+X
+
 # Cell nor2withInverter;2{ic}
 Cnor2withInverter;2{ic}||artwork|1021415734000|1246318194856|E|ATTR_Delay(D5G1;HNPX-2.5;Y5.5;)I100|ATTR_X(D5FLeave alone;G1;HNOLPX-2.5;Y6.5;)S1|ATTR_drive0(D5G1;HNPTX-2.5;Y4.5;)Sstrong0|ATTR_drive1(D5G1;HNPTX-2.5;Y3.5;)Sstrong1|prototype_center()I[6000,0]
 Ngeneric:Facet-Center|art@0||0|0||||AV
@@ -152,7 +302,7 @@ EoutaBar||D5G2;X7.5;|conn@3|a|U
 X
 
 # Cell oneBit;1{ic}
-ConeBit;1{ic}||artwork|1242937501096|1246320313399|E
+ConeBit;1{ic}||artwork|1242937501096|1247530698535|E
 Ngeneric:Facet-Center|art@0||0|0||||AV
 NTriangle|art@2||-5|2|3|2|RRR|
 NTriangle|art@3||3|-8|3|2|R|
@@ -175,6 +325,10 @@ Nschematic:Bus_Pin|pin@25||6|-6||||
 Nschematic:Wire_Pin|pin@26||4|-6||||
 Nschematic:Bus_Pin|pin@27||7|-8||||
 Nschematic:Wire_Pin|pin@28||5|-8||||
+Nschematic:Bus_Pin|pin@29||2|-10.5||||
+Nschematic:Wire_Pin|pin@30||2|-8.5||||
+Nschematic:Bus_Pin|pin@31||2|-11.5||||
+Nschematic:Wire_Pin|pin@32||2|-9.5||||
 ASolid|net@0|||FS900|pin@0||-6|4|pin@1||-6|-10
 ASolid|net@1|||FS1800|pin@1||-6|-10|pin@2||4|-10
 ASolid|net@2|||FS2700|pin@2||4|-10|pin@3||4|4
@@ -183,149 +337,494 @@ Aschematic:wire|net@4|||0|pin@22||-4|-3|pin@21||-6|-3
 Aschematic:wire|net@5|||1800|pin@24||3|-7|pin@23||5|-7
 Aschematic:wire|net@6|||1800|pin@26||4|-6|pin@25||6|-6
 Aschematic:wire|net@7|||1800|pin@28||5|-8|pin@27||7|-8
+Aschematic:wire|net@8|||900|pin@30||2|-8.5|pin@29||2|-10.5
+Aschematic:wire|net@9|||900|pin@32||2|-9.5|pin@31||2|-11.5
+Esucc[OneOrTwo]|LSN[ZeroOrDone]|D5G1;X2;|pin@17||B
+Esucc[TwoOrEmpty]|LSN[ZeroOrOne]|D6G1;X1;|pin@16||B
+Epred[OneOrTwo]|MSN[ZeroOrDone]|D4G1;X-1;|pin@18||B
+Epred[TwoOrEmpty]|MSN[ZeroOrOne]|D4G1;X-1;|pin@9||B
 Eload||D5G2;|pin@27||U
 EloadBar||D5G2;|pin@25||U
 EloadVal|loadValBar|D5G2;|pin@23||U
-Eload_or_master_clear||D5G2;|pin@21||U
+Eload_one||D5G2;|pin@29||I
 Emc||D5G1;Y-1;|pin@19||I
-Epred[TwoOrEmpty]|pred[DoneOrTwo]|D4G1;X-1;|pin@9||B
-Epred[OneOrTwo]||D4G1;X-1;|pin@18||B
-Esucc[TwoOrEmpty]|succ[DoneOrTwo]|D6G1;X1;|pin@16||B
-Esucc[OneOrTwo]||D5G1;X2;|pin@17||B
+Eload_or_master_clear|not_load_or_master_clear|D5G2;|pin@21||I
+Enot_load_zero||D5G2;|pin@31||I
 X
 
 # Cell oneBit;1{sch}
-ConeBit;1{sch}||schematic|1242942044308|1246321007881|
-IredFive:NMOS;1{ic}|NMOS@1||68.5|31|RR||D5G4;|ATTR_Delay(D5G1;NPX5;Y-2;)I100|ATTR_X(D5G1.5;NPX5;Y0.5;)I1
-IredFive:NMOS;1{ic}|NMOS@2||68.5|25.5|RR||D5G4;|ATTR_Delay(D5G1;NPX5;Y-2;)I100|ATTR_X(D5G1.5;NPX5;Y0.5;)I1
-IredFive:PMOS;1{ic}|PMOS@0||68.5|38|RR||D5G4;|ATTR_Delay(D5G1;NPX5;Y-2;)I100|ATTR_X(D5G1.5;NPX5;Y0.5;)I1
-IredFive:PMOS;1{ic}|PMOS@1||68.5|43|RR||D5G4;|ATTR_Delay(D5G1;NPX5;Y-2;)I100|ATTR_X(D5G1.5;NPX5;Y0.5;)I1
+ConeBit;1{sch}||schematic|1242942044308|1247544330841|
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NOff-Page|conn@0||-10.5|28||||
+NOff-Page|conn@1||-57.5|30|||RR|
+NOff-Page|conn@2||-57.5|66||||
+NOff-Page|conn@3||-10|66.5||||
+NOff-Page|conn@6||-24|73||||
+NOff-Page|conn@10||-25|24.5||||
+NOff-Page|conn@11||-25|22||||
+Ifire;1{ic}|fire@0||-28|45|||D5G4;
+Ngeneric:Invisible-Pin|pin@6||-72|103|||||ART_message(D5G15;)SoneBit
+Ngeneric:Invisible-Pin|pin@149||-72.5|92.5|||||ART_message(D5G2;)Sam 13 Jul 2009
+Ngeneric:Invisible-Pin|pin@162||-9|97|||||ART_message(D5G3;)S[Each bit of the counter has four states:,"Zero, One, Two, Done",.,These states are encoded by two state wires:,"ZeroOrOne is HI if the state is \"Zero\" or \"One\"","ZeroOrDone is HI if the state is \"Zero\" or \"Done\""]
+Ngeneric:Invisible-Pin|pin@194||-78.5|48.5|||||ART_message(D5G4;)SMSB to the Left
+Ngeneric:Invisible-Pin|pin@195||5|48|||||ART_message(D5G4;)SLSB to the Right
+Ngeneric:Invisible-Pin|pin@196||-71.5|95|||||ART_message(D5G2;)S"this GasP module sits \"between\" two bits"
+Ngeneric:Invisible-Pin|pin@226||-85|82|||||ART_message(D6FMonospaced;G2;)S[Ye Olde Firing Rules:,* Fire when there is a non-Zero on the left and a Zero on the right,"-   If there was a Two  on the left, we want to leave One  on the left and Two  on the right","-   If there was a One  on the left, we want to leave Zero on the left and Two  on the right","-   If there was a Done on the left, we want to leave Done on the left and Done on the right"]
+Ngeneric:Invisible-Pin|pin@227||-59|36|||||ART_message(D4G1.5;)S[filled if there wasn't a Two on the left before firing,"already full if there was a Done on the left, so",(equivalently: if there was a One on the left before firing),"(equivalently: if MSN[ZeroOrOne] was full before firing)"]
+Ngeneric:Invisible-Pin|pin@228||-58.5|61|||||ART_message(D4G1.5;)S[filled if there was a Two on the left before firing,"(equivalently: if MSN[ZeroOrDone] was empty before firing)"]
+Ngeneric:Invisible-Pin|pin@229||-12.5|32.5|||||ART_message(D6G1.5;)S[drained if there wasn't a Done on the left before firing,(equivalently: if there wasn't a Done on the left AFTER firing),"(equivalently: if MSN[ZeroOrOne] was full after firing)"]
+Ngeneric:Invisible-Pin|pin@230||-13|62.5|||||ART_message(D6G1.5;)S[drained unconditionally,(we only leave Done's and Two's on the right)]
+NWire_Pin|pin@270||-19.5|73||||
+NWire_Pin|pin@280||-19|24.5||||
+NWire_Pin|pin@281||-17.5|22||||
+NWire_Pin|pin@293||-51.5|66||||
+NWire_Pin|pin@296||-51.5|30||||
+NWire_Pin|pin@299||-43.25|65||||
+NWire_Pin|pin@305||-14|46||||
+NWire_Pin|pin@308||-14|28||||
+NWire_Pin|pin@312||-14|66.5||||
+NWire_Pin|pin@320||-47.25|46||||
+NWire_Pin|pin@321||-43.25|31||||
+NWire_Pin|pin@322||-47.25|44||||
+NWire_Pin|pin@327||-20|50||||
+NWire_Pin|pin@330||-19.5|44||||
+NWire_Pin|pin@335||-14|48||||
+NWire_Pin|pin@337||-35.5|29||||
+NWire_Pin|pin@338||-26.5|66.5||||
+NWire_Pin|pin@343||-26.5|29||||
+NWire_Pin|pin@344||-35.5|67||||
+NWire_Pin|pin@350||-43.25|46||||
+NWire_Pin|pin@351||-51.5|48||||
+NWire_Pin|pin@352||-43.25|48||||
+NWire_Pin|pin@353||-51.5|50||||
+NWire_Pin|pin@354||-41|50||||
+NWire_Pin|pin@355||-41|27||||
+IpredCondMSC;1{ic}|predCond@3||-18|28|||D5G4;
+IpredMS;1{ic}|predMS@0||-18.5|66.5|Y||D5G4;
+IsuccCond;1{ic}|sucDri20@0||-48|30|RR||D5G4;
+IsuccCond;1{ic}|sucDri20@1||-48|66|YRR||D5G4;
+Awire|net@577|||1800|conn@6|y|-22|73|pin@270||-19.5|73
+Awire|net@578|||2700|predMS@0|MC|-19.5|69.5|pin@270||-19.5|73
+Awire|net@597|||1800|conn@10|y|-23|24.5|pin@280||-19|24.5
+Awire|net@598|||900|predCond@3|mc|-19|25|pin@280||-19|24.5
+Awire|net@599|||1800|conn@11|y|-23|22|pin@281||-17.5|22
+Awire|net@600|||900|predCond@3|NotMS|-17.5|25|pin@281||-17.5|22
+Awire|net@627|||0|sucDri20@1|succ|-50|66|pin@293||-51.5|66
+Awire|net@632|||0|sucDri20@0|succ|-50|30|pin@296||-51.5|30
+Awire|net@633|||0|pin@296||-51.5|30|conn@1|a|-55.5|30
+Awire|net@636|||1800|sucDri20@1|cond|-46|65|pin@299||-43.25|65
+Awire|net@649|||1800|fire@0|LSN[ZeroOrDone]|-23.5|46|pin@305||-14|46
+Awire|net@652|||1800|predCond@3|state[1]|-15.5|28|pin@308||-14|28
+Awire|net@653|||1800|pin@308||-14|28|conn@0|a|-12.5|28
+Awire|net@658|||1800|predMS@0|state|-16|66.5|pin@312||-14|66.5
+Awire|net@659|||1800|pin@312||-14|66.5|conn@3|a|-12|66.5
+Awire|net@678|||0|pin@321||-43.25|31|sucDri20@0|cond|-46|31
+Awire|net@679|||2700|sucDri20@0|not_succ|-47.25|34|pin@322||-47.25|44
+Awire|net@680|||1800|pin@322||-47.25|44|fire@0|NotMSN[ZeroOrDone]|-39|44
+Awire|net@688|||0|pin@327||-20|50|fire@0|NotLSN[ZeroOrOne]|-23.5|50
+Awire|net@692|||0|pin@330||-19.5|44|fire@0|NotLSN[ZeroOrDone]|-23.5|44
+Awire|net@699|||1800|fire@0|LSN[ZeroOrOne]|-23.5|48|pin@335||-14|48
+Awire|net@703|||2700|pin@337||-35.5|29|fire@0|not_fire|-35.5|37
+Awire|net@704|||2700|fire@0|fire|-26.5|57|pin@338||-26.5|66.5
+Awire|net@715|||1800|sucDri20@0|in|-46|29|pin@337||-35.5|29
+Awire|net@717|||900|fire@0|fire[2]|-26.5|39.5|pin@343||-26.5|29
+Awire|net@719|||2700|fire@0|not_fire[2]|-35.5|57|pin@344||-35.5|67
+Awire|net@721|||1800|pin@338||-26.5|66.5|predMS@0|in|-21|66.5
+Awire|net@730|||0|pin@344||-35.5|67|sucDri20@1|in|-46|67
+Awire|net@731|||2700|pin@327||-20|50|predMS@0|not_state|-20|62.5
+Awire|net@733|||900|sucDri20@1|not_succ|-47.25|62|pin@320||-47.25|46
+Awire|net@734|||1800|pin@320||-47.25|46|pin@350||-43.25|46
+Awire|net@735|||1800|pin@350||-43.25|46|fire@0|NotMSN[ZeroOrOne]|-39|46
+Awire|net@736|||2700|pin@321||-43.25|31|pin@350||-43.25|46
+Awire|net@737|||2700|pin@296||-51.5|30|pin@351||-51.5|48
+Awire|net@740|||0|fire@0|MSN[ZeroOrDone]|-39|48|pin@352||-43.25|48
+Awire|net@741|||0|pin@352||-43.25|48|pin@351||-51.5|48
+Awire|net@742|||900|pin@299||-43.25|65|pin@352||-43.25|48
+Awire|net@745|||900|pin@293||-51.5|66|pin@353||-51.5|50
+Awire|net@746|||0|pin@293||-51.5|66|conn@2|y|-55.5|66
+Awire|net@748|||0|pin@354||-41|50|pin@353||-51.5|50
+Awire|net@749|||0|predCond@3|cond|-20.5|27|pin@355||-41|27
+Awire|net@751|||900|pin@354||-41|50|pin@355||-41|27
+Awire|net@754|||0|predCond@3|in[1]|-21|29|pin@343||-26.5|29
+Awire|net@755|||0|fire@0|MSN[ZeroOrOne]|-39|50|pin@354||-41|50
+Awire|net@757|||2700|pin@308||-14|28|pin@305||-14|46
+Awire|net@758|||900|pin@330||-19.5|44|predCond@3|not_state|-19.5|32
+Awire|net@759|||2700|pin@335||-14|48|pin@312||-14|66.5
+Esucc[OneOrTwo]|LSN[ZeroOrDone]|D5G2;X12.5;|conn@0|a|B
+Esucc[TwoOrEmpty]|LSN[ZeroOrOne]|D5G2;X13.5;|conn@3|a|B
+Epred[OneOrTwo]|MSN[ZeroOrDone]|D5G2;X13;|conn@1|a|B
+Epred[TwoOrEmpty]|MSN[ZeroOrOne]|D5G2;X-10.5;|conn@2|a|B
+Eload_one||D6G2;X-9.5;|conn@10|a|I
+Eload_or_master_clear|not_load_or_master_clear|D6G2;X-25;|conn@6|a|I
+Enot_load_zero||D6G2;X-14;|conn@11|a|I
+X
+
+# Cell predCondMSC;1{ic}
+CpredCondMSC;1{ic}||artwork|1227921780535|1247536652490|E
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NThick-Circle|art@2||2|0|1|1||
+NThick-Circle|art@6||-0.5|0|4|4|RRR||ART_degrees()F[0.0,3.1415927]
+NThick-Circle|art@7||-0.5|3|1|1||
+Nschematic:Bus_Pin|pin@2||-3|1|-1|-1||
+Nschematic:Bus_Pin|pin@4||-1|-3|-1|-1||
+Nschematic:Bus_Pin|pin@6||2.5|0|-1|-1||
+NPin|pin@8||1|3|1|1|RR|
+NPin|pin@9||1.5|0|1|1||
+NPin|pin@14||1.5|3|1|1|RR|
+NPin|pin@15||-2|3|1|1||
+NPin|pin@16||-2|2|1|1||
+NPin|pin@17||1|2.125|1|1||
+NPin|pin@18||0|3|1|1|RR|
+NPin|pin@19||1|3.75|1|1|RR|
+NPin|pin@24||1|2.125|1|1|RR|
+NPin|pin@25||-2.5|2|1|1||
+NPin|pin@26||-0.5|2|1|1||
+NPin|pin@27||-2.5|-2|1|1||
+NPin|pin@28||-1|-2|1|1||
+NPin|pin@29||-2.5|1|1|1||
+NPin|pin@30||-3|1|1|1||
+NPin|pin@34||-0.5|-2|1|1||
+NPin|pin@35||-1|-3|1|1||
+Nschematic:Bus_Pin|pin@37||0.5|-3||||
+NPin|pin@39||0.5|-3|1|1||
+NPin|pin@40||0.5|-1.5|1|1||
+Nschematic:Bus_Pin|pin@41||-2.5|-1||||
+Ngeneric:Invisible-Pin|pin@43||-0.5|0|||||ART_message(D5G2;)S11T
+NPin|pin@44||-1|3|1|1||
+NPin|pin@45||-1.5|4|1|1||
+NPin|pin@46||-1.5|3|1|1||
+Nschematic:Wire_Pin|pin@47||-1.5|4||||
+AThicker|net@4|||FS1388|pin@18||0|3|pin@17||1|2.125
+AThicker|net@5|||FS900|pin@14||1.5|3|pin@9||1.5|0
+AThicker|net@8|||FS900|pin@19||1|3.75|pin@8||1|3
+AThicker|net@10|||FS1800|pin@8||1|3|pin@14||1.5|3
+AThicker|net@11|||FS369|pin@19||1|3.75|pin@18||0|3
+AThicker|net@12|||FS900|pin@8||1|3|pin@24||1|2.125
+AThicker|net@14|||FS900|pin@15||-2|3|pin@16||-2|2
+AThicker|net@16|||FS1800|pin@25||-2.5|2|pin@26||-0.5|2
+AThicker|net@18|||FS1800|pin@27||-2.5|-2|pin@28||-1|-2
+AThicker|net@19|||FS900|pin@25||-2.5|2|pin@29||-2.5|1
+AThicker|net@20|||FS0|pin@29||-2.5|1|pin@30||-3|1
+AThicker|net@24|||FS1800|pin@28||-1|-2|pin@34||-0.5|-2
+AThicker|net@25|||FS900|pin@28||-1|-2|pin@35||-1|-3
+AThicker|net@26|||FS900|pin@29||-2.5|1|pin@27||-2.5|-2
+ASolid|net@28|||FS2700|pin@39||0.5|-3|pin@40||0.5|-1.5
+AThicker|net@29|||FS1800|pin@15||-2|3|pin@44||-1|3
+AThicker|net@30|||FS900|pin@45||-1.5|4|pin@46||-1.5|3
+Emc|MC|D5G2;X-1.5;Y-2;|pin@4||I
+ENotMS||D5G2;X4;Y-1.5;|pin@37||I
+Econd||D5G2;X-3;|pin@41||I
+Ein[1]|fire|D5G2;X-1.5;|pin@2||I
+Enot_state||D5G2;Y1;|pin@47||O
+Estate[1]|state|D5G2;X2.5;|pin@6||B
+X
+
+# Cell predCondMSC;1{sch}
+CpredCondMSC;1{sch}||schematic|1227920907034|1247535229176|
+IorangeTSMC090nm:NMOSx;1{ic}|NMOSx@0||34|-3.5|||D0G4;|ATTR_Delay(D5G1;NPX5;Y-1.5;)I100|ATTR_X(D5G1.5;NPX3.5;Y0.5;)S10
+IredFive:PMOS;1{ic}|PMOS@0||-7.5|7.5|||D5G4;|ATTR_Delay(D5G1;NPX-2.5;Y-1.5;)I100|ATTR_X(D5G1.5;NPX-2.5;Y1.5;)I1
+IredFive:PMOS;1{ic}|PMOS@1||-5.5|7.5|X||D5G4;|ATTR_Delay(D5G1;NPX-4.5;Y1.5;)I100|ATTR_X(D5G1.5;NPX-3.5;Y-1.5;)I1
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NOff-Page|conn@0||-23|0.5||||
+NOff-Page|conn@1||-23|24.5|||XRR|
+NOff-Page|conn@2||42.75|0.5|||X|
+NOff-Page|conn@3||-23|22|||XRR|
+NOff-Page|conn@4||9.5|-10|||X|
+NOff-Page|conn@5||12.5|20||||
+NGround|gnd@0||34|-9.5|||X|
+IredFive:invLT;1{ic}|invLT@0||17|12|YRR||D0G4;|ATTR_Delay(D5G1;NPX2;Y-2;)I100|ATTR_X(D5G1.5;NPX1.5;Y2;)S2|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:nms3c;1{ic}|nms3c@0||-6.5|-14|||D5G4;|ATTR_Delay(D5G1;NPX3;Y-5.5;)I100|ATTR_X(D5G1.5;NOLPX-3.5;Y0.5;)S1
+Ngeneric:Invisible-Pin|pin@0||-0.5|39|||||ART_message(D5G5;)SpredCondMSC
+Ngeneric:Invisible-Pin|pin@1||0|35|||||ART_message(D5G3;)Sam 13 Jul 2009
+NWire_Pin|pin@29||-18|-6|||X|
+NWire_Pin|pin@36||-6.5|0.5|||X|
+NWire_Pin|pin@37||21.5|12||||
+NWire_Pin|pin@38||21.5|0.5||||
+NWire_Pin|pin@41||34|0.5||||
+NWire_Pin|pin@42||-18|0.5||||
+NWire_Pin|pin@58||-6.5|9.5||||
+NWire_Pin|pin@59||-18|7.5||||
+NWire_Pin|pin@60||-6.5|5.5||||
+NWire_Pin|pin@61||-1|-10||||
+NWire_Pin|pin@64||-1|7.5||||
+NWire_Pin|pin@65||5|16||||
+NWire_Pin|pin@66||4|-14||||
+NWire_Pin|pin@67||24|-3.5||||
+NWire_Pin|pin@68||24.5|5||||
+NWire_Pin|pin@69||-15|22||||
+NWire_Pin|pin@70||-15|24.5||||
+NWire_Pin|pin@71||8.5|20||||
+NWire_Pin|pin@72||8.5|12||||
+IredFive:pms1;2{ic}|pms1@0||34|5|||D5G4;|ATTR_Delay(D5G1;NPX4;Y-1;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX3.25;Y1;)S1
+IredFive:pms2a;2{ic}|pms2a@0||-6.5|16|X||D5G4;|ATTR_Delay(D5G1;NPX-3;Y0.25;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX2.25;Y2.75;)S1
+IpredCondMSC;1{ic}|pred10wM@1||28.5|25|||D5G4;
+Awire|MC|D5G2;||1800|pms2a@0|g|-3.5|16|pin@65||5|16
+Awire|MC|D5G2;||0|NMOSx@0|g|31|-3.5|pin@67||24|-3.5
+Awire|NotMS|D5G2;||0|pms1@0|g|31|5|pin@68||24.5|5
+Awire|NotMS|D5G2;||1800|nms3c@0|g|-3.5|-14|pin@66||4|-14
+Awire|net@6|||2700|gnd@0||34|-7.5|NMOSx@0|s|34|-5.5
+Awire|net@90|||0|pin@41||34|0.5|pin@36||-6.5|0.5
+Awire|net@91|||1800|invLT@0|in|19.5|12|pin@37||21.5|12
+Awire|net@92|||0|conn@2|y|40.75|0.5|pin@38||21.5|0.5
+Awire|net@93|||900|pin@37||21.5|12|pin@38||21.5|0.5
+Awire|net@100|||1800|pin@38||21.5|0.5|pin@41||34|0.5
+Awire|net@101|||2700|NMOSx@0|d|34|-1.5|pin@41||34|0.5
+Awire|net@103|||2700|pin@29||-18|-6|pin@42||-18|0.5
+Awire|net@105|||1800|conn@0|y|-21|0.5|pin@42||-18|0.5
+Awire|net@112|||900|pms1@0|d|34|3|pin@41||34|0.5
+Awire|net@120|||2700|nms3c@0|d|-6.5|-4|pin@36||-6.5|0.5
+Awire|net@121|||1800|pin@29||-18|-6|nms3c@0|g3|-9.5|-6
+Awire|net@146|||1800|PMOS@0|s|-7.5|9.5|pin@58||-6.5|9.5
+Awire|net@147|||1800|pin@58||-6.5|9.5|PMOS@1|s|-5.5|9.5
+Awire|net@148|||900|pms2a@0|d|-6.5|10|pin@58||-6.5|9.5
+Awire|net@150|||2700|pin@42||-18|0.5|pin@59||-18|7.5
+Awire|net@151|||0|PMOS@0|g|-10.5|7.5|pin@59||-18|7.5
+Awire|net@153|||1800|PMOS@0|d|-7.5|5.5|pin@60||-6.5|5.5
+Awire|net@154|||1800|pin@60||-6.5|5.5|PMOS@1|d|-5.5|5.5
+Awire|net@155|||2700|pin@36||-6.5|0.5|pin@60||-6.5|5.5
+Awire|net@156|||0|conn@4|y|7.5|-10|pin@61||-1|-10
+Awire|net@157|||0|pin@61||-1|-10|nms3c@0|g2|-3.5|-10
+Awire|net@161|||0|pin@64||-1|7.5|PMOS@1|g|-2.5|7.5
+Awire|net@171|||900|pin@64||-1|7.5|pin@61||-1|-10
+Awire|net@172|||1800|conn@3|y|-21|22|pin@69||-15|22
+Awire|net@173|||1800|conn@1|y|-21|24.5|pin@70||-15|24.5
+Awire|net@174|||0|conn@5|a|10.5|20|pin@71||8.5|20
+Awire|net@175|||1800|pms2a@0|g2|-3.5|12|pin@72||8.5|12
+Awire|net@176|||1800|pin@72||8.5|12|invLT@0|out|14.5|12
+Awire|net@177|||900|pin@71||8.5|20|pin@72||8.5|12
+Emc|MC|D4G2;|conn@1|a|I
+ENotMS||D5G2;X-7.5;|conn@3|y|I
+Econd||D6G2;X-5;|conn@4|a|I
+Ein[1]|fire|D4G2;|conn@0|a|I
+Enot_state||D5G2;X8.5;|conn@5|a|O
+Estate[1]|state|D4G2;|conn@2|a|B
+X
+
+# Cell predMS;1{ic}
+CpredMS;1{ic}||artwork|1227921780535|1247535379706|E
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NThick-Circle|art@2||2|0|1|1||
+NThick-Circle|art@6||-0.5|0|4|4|RRR||ART_degrees()F[0.0,3.1415927]
+NThick-Circle|art@7||-0.5|3|1|1||
+Nschematic:Bus_Pin|pin@2||-2.5|0|-1|-1||
+Nschematic:Bus_Pin|pin@4||-1|-3|-1|-1||
+Nschematic:Bus_Pin|pin@6||2.5|0|-1|-1||
+NPin|pin@8||1|3|1|1|RR|
+NPin|pin@9||1.5|0|1|1||
+NPin|pin@14||1.5|3|1|1|RR|
+NPin|pin@15||-2|3|1|1||
+NPin|pin@16||-2|2|1|1||
+NPin|pin@17||1|2.125|1|1||
+NPin|pin@18||0|3|1|1|RR|
+NPin|pin@19||1|3.75|1|1|RR|
+NPin|pin@24||1|2.125|1|1|RR|
+NPin|pin@25||-2|2|1|1||
+NPin|pin@26||-0.5|2|1|1||
+NPin|pin@27||-2|-2|1|1||
+NPin|pin@28||-1|-2|1|1||
+NPin|pin@29||-2|0|1|1||
+NPin|pin@30||-2.5|0|1|1||
+NPin|pin@34||-0.5|-2|1|1||
+NPin|pin@35||-1|-3|1|1||
+Ngeneric:Invisible-Pin|pin@41||-0.5|0|||||ART_message(D5G2;)S7T
+NPin|pin@42||-1|3|1|1||
+NPin|pin@43||-1.5|4|1|1||
+NPin|pin@44||-1.5|3|1|1||
+Nschematic:Wire_Pin|pin@45||-1.5|4||||
+AThicker|net@4|||FS1388|pin@18||0|3|pin@17||1|2.125
+AThicker|net@5|||FS900|pin@14||1.5|3|pin@9||1.5|0
+AThicker|net@8|||FS900|pin@19||1|3.75|pin@8||1|3
+AThicker|net@10|||FS1800|pin@8||1|3|pin@14||1.5|3
+AThicker|net@11|||FS369|pin@19||1|3.75|pin@18||0|3
+AThicker|net@12|||FS900|pin@8||1|3|pin@24||1|2.125
+AThicker|net@14|||FS900|pin@15||-2|3|pin@16||-2|2
+AThicker|net@16|||FS1800|pin@25||-2|2|pin@26||-0.5|2
+AThicker|net@18|||FS1800|pin@27||-2|-2|pin@28||-1|-2
+AThicker|net@19|||FS900|pin@25||-2|2|pin@29||-2|0
+AThicker|net@20|||FS0|pin@29||-2|0|pin@30||-2.5|0
+AThicker|net@24|||FS1800|pin@28||-1|-2|pin@34||-0.5|-2
+AThicker|net@25|||FS900|pin@28||-1|-2|pin@35||-1|-3
+AThicker|net@26|||FS900|pin@29||-2|0|pin@27||-2|-2
+AThicker|net@27|||FS1800|pin@15||-2|3|pin@42||-1|3
+AThicker|net@28|||FS900|pin@43||-1.5|4|pin@44||-1.5|3
+EMC|NotMS|D5G2;X-1.5;Y-0.5;|pin@4||I
+Ein||D5G2;X-1;|pin@2||I
+Enot_state||D5G2;Y1.5;|pin@45||U
+Estate||D5G2;X2.5;|pin@6||B
+X
+
+# Cell predMS;1{sch}
+CpredMS;1{sch}||schematic|1227920907034|1247535221441|
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NOff-Page|conn@0||-23|1||||
+NOff-Page|conn@2||27.25|0|||X|
+NOff-Page|conn@3||-1.5|-16.5|||XR|
+NOff-Page|conn@4||28|17.5||||
+IredFive:invLT;1{ic}|invLT@0||19.5|12|YRR||D0G4;|ATTR_Delay(D5G1;NPX2;Y-2;)I100|ATTR_X(D5G1.5;NPX1.5;Y2;)S2|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:nms2b;1{ic}|nms2b@0||-6|-9.5|X||D5G4;|ATTR_Delay(D5G1;NPX3;Y-2;)I100|ATTR_X(D5FLeave alone;G1.5;NPX2.25;)I1
+Ngeneric:Invisible-Pin|pin@0||-1|32|||||ART_message(D5G5;)SpredMS
+Ngeneric:Invisible-Pin|pin@1||-0.5|28|||||ART_message(D5G3;)Sam 13 Jul 2009
+NWire_Pin|pin@29||-12|-5.5|||X|
+NWire_Pin|pin@36||-6|0|||X|
+NWire_Pin|pin@37||23.5|12||||
+NWire_Pin|pin@38||23.5|0||||
+NWire_Pin|pin@40||-12|8||||
+NWire_Pin|pin@41||6|0||||
+NWire_Pin|pin@42||-12|1||||
+NWire_Pin|pin@43||-1.5|-9.5||||
+NWire_Pin|pin@45||-1.5|4||||
+NWire_Pin|pin@46||-6|2||||
+NWire_Pin|pin@47||-9|8||||
+NWire_Pin|pin@48||9.5|17.5||||
+NWire_Pin|pin@49||9.5|12||||
+IredFive:pms1;2{ic}|pms1@0||6|4|||D5G4;|ATTR_Delay(D5G1;NPX-2;Y-1.5;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX3.25;Y1;)S1
+IredFive:pms2;1{ic}|pms2@0||-6|12|X||D5G4;|ATTR_Delay(D5G1;NPX-3;Y0.25;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX2.25;Y2.75;)S1
+IpredMS;1{ic}|predMS@0||27.5|27|||D5G4;
+Awire|net@90|||0|pin@41||6|0|pin@36||-6|0
+Awire|net@91|||1800|invLT@0|in|22|12|pin@37||23.5|12
+Awire|net@92|||0|conn@2|y|25.25|0|pin@38||23.5|0
+Awire|net@93|||900|pin@37||23.5|12|pin@38||23.5|0
+Awire|net@100|||0|pin@38||23.5|0|pin@41||6|0
+Awire|net@103|||2700|pin@29||-12|-5.5|pin@42||-12|1
+Awire|net@104|||2700|pin@42||-12|1|pin@40||-12|8
+Awire|net@105|||1800|conn@0|y|-21|1|pin@42||-12|1
+Awire|net@106|||2700|nms2b@0|d|-6|-3.5|pin@36||-6|0
+Awire|net@107|||1800|pin@29||-12|-5.5|nms2b@0|g2|-9|-5.5
+Awire|net@108|||1800|nms2b@0|g|-3|-9.5|pin@43||-1.5|-9.5
+Awire|net@112|||900|pms1@0|d|6|2|pin@41||6|0
+Awire|net@113|||2700|pin@43||-1.5|-9.5|pin@45||-1.5|4
+Awire|net@114|||900|pin@45||-1.5|4|conn@3|y|-1.5|-14.5
+Awire|net@115|||1800|pin@45||-1.5|4|pms1@0|g|3|4
+Awire|net@116|||2700|pin@36||-6|0|pin@46||-6|2
+Awire|net@117|||1800|pin@40||-12|8|pin@47||-9|8
+Awire|net@119|||1800|pms2@0|g2|-9|8|pin@47||-9|8
+Awire|net@120|||900|pms2@0|d|-6|6|pin@46||-6|2
+Awire|net@122|||0|conn@4|a|26|17.5|pin@48||9.5|17.5
+Awire|net@123|||0|invLT@0|out|17|12|pin@49||9.5|12
+Awire|net@124|||0|pin@49||9.5|12|pms2@0|g|-3|12
+Awire|net@125|||900|pin@48||9.5|17.5|pin@49||9.5|12
+ENotMS||D5G2;X-5.5;|conn@3|y|I
+Ein||D4G2;|conn@0|a|I
+Enot_state||D5G2;X9;|conn@4|a|O
+Estate||D4G2;|conn@2|a|B
+X
+
+# Cell succCond;1{ic}
+CsuccCond;1{ic}||artwork|1188825505548|1247535388874|EI
+Ngeneric:Facet-Center|art@0||0|0||||AV
+NThick-Circle|art@10||-1.5|1|1|1||
+NThick-Circle|art@11||0|0|4|4|RRR||ART_degrees()F[0.0,3.1415927]
+NThick-Circle|art@12||-1.5|-1|1|1||
+NThick-Circle|art@13||0|-3|1|1||
+Nschematic:Bus_Pin|pin@0||-2|1|-1|-1|Y|
+Nschematic:Bus_Pin|pin@2||2|0|-1|-1||
+NPin|pin@47||1.5|-3.75|1|1|RR|
+NPin|pin@50||-1|-3|1|1||
+NPin|pin@51||-1|-1.75|1|1||
+NPin|pin@52||1.5|-3.75|1|1||
+NPin|pin@64||2|0|1|1||
+NPin|pin@65||2|-3|1|1||
+NPin|pin@66||0.5|-3|1|1|RR|
+NPin|pin@67||1.5|-2.25|1|1|RR|
+NPin|pin@68||-1|-2|1|1||
+NPin|pin@69||-1|2|1|1||
+NPin|pin@71||0|2|1|1||
+NPin|pin@72||0|-2|1|1||
+Nschematic:Bus_Pin|pin@73||-2|-1|-1|-1|Y|
+NPin|pin@74||-1|-1|1|1||
+NPin|pin@75||0|-2|1|1||
+NPin|pin@76||1.5|-3|1|1||
+Ngeneric:Invisible-Pin|pin@77||0.5|0|||||ART_message(D5G2;)S7T
+NPin|pin@78||-0.5|-3|1|1||
+NPin|pin@79||-0.75|-4|1|1||
+NPin|pin@80||-0.75|-3|1|1||
+Nschematic:Wire_Pin|pin@81||-0.75|-4||||
+AThicker|net@38|||FS1431|pin@66||0.5|-3|pin@52||1.5|-3.75
+AThicker|net@48|||FS900|pin@64||2|0|pin@65||2|-3
+AThicker|net@51|||FS369|pin@67||1.5|-2.25|pin@66||0.5|-3
+AThicker|net@54|||FS2700|pin@50||-1|-3|pin@51||-1|-1.75
+AThicker|net@55|||FS2700|pin@74||-1|-1|pin@69||-1|2
+AThicker|net@58|||FS1800|pin@69||-1|2|pin@71||0|2
+AThicker|net@59|||FS1800|pin@68||-1|-2|pin@72||0|-2
+AThicker|net@60|||FS2700|pin@68||-1|-2|pin@74||-1|-1
+AThicker|net@61|||FS1350|pin@74||-1|-1|pin@75||0|-2
+AThicker|net@62|||FS900|pin@76||1.5|-3|pin@47||1.5|-3.75
+AThicker|net@63|||FS900|pin@67||1.5|-2.25|pin@76||1.5|-3
+AThicker|net@64|||FS0|pin@65||2|-3|pin@76||1.5|-3
+AThicker|net@65|||FS0|pin@78||-0.5|-3|pin@50||-1|-3
+AThicker|net@66|||FS2700|pin@79||-0.75|-4|pin@80||-0.75|-3
+Econd||D5G2;X-2.5;|pin@73||I
+Ein||D5G2;X-1.5;|pin@0||I
+Enot_succ|not_state|D5G2;|pin@81||O
+Esucc|state|D5G2;X4.5;|pin@2||B
+X
+
+# Cell succCond;1{sch}
+CsuccCond;1{sch}||schematic|1188777360591|1247535209250|
+IorangeTSMC090nm:NMOSx;1{ic}|NMOSx@0||-3|-4|||D0G4;|ATTR_Delay(D5G1;NPX-2;Y-2.5;)I100|ATTR_X(D5G1.5;NPX-0.5;Y3;)S5
+IorangeTSMC090nm:NMOSx;1{ic}|NMOSx@1||3|-4|X||D0G4;|ATTR_Delay(D5G1;NPX-2;Y-2;)I100|ATTR_X(D5G1.5;NPX-0.5;Y2.5;)S5
+IorangeTSMC090nm:NMOSx;1{ic}|NMOSx@2||0|-12|X||D0G4;|ATTR_Delay(D5G1;NPX3.5;Y-2;)I100|ATTR_X(D5G1.5;NPX3.5;Y0.5;)S10
 Ngeneric:Facet-Center|art@0||0|0||||AV
-NOff-Page|conn@0||33.5|3||||
-NOff-Page|conn@1||-48|1|||RR|
-NOff-Page|conn@2||-48|69||||
-NOff-Page|conn@3||34|68||||
-NOff-Page|conn@6||-48|76||||
-NOff-Page|conn@7||82|34.5|||RR|
-NOff-Page|conn@8||82|43|||RR|
-NOff-Page|conn@9||82|25.5|||RR|
-IcentersJ:ctrAND4in30;2{ic}|ctrAND4i@0||-1.5|58.5|R||D5G4;
-NGround|gnd@0||68.5|21||||
-Inor2withInverter;2{ic}|nor2with@0||-13.5|35.5|||D5G4;|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
-Ngeneric:Invisible-Pin|pin@6||-74|129.5|||||ART_message(D5G15;)SoneBit
-NWire_Pin|pin@115||-42|1||||
-NWire_Pin|pin@120||-40.5|69||||
-NWire_Pin|pin@127||29|34.5||||
-NWire_Pin|pin@128||29|3||||
-NWire_Pin|pin@129||29|68||||
-NWire_Pin|pin@130||29|36.5||||
-Ngeneric:Invisible-Pin|pin@149||-74.5|119|||||ART_message(D5G2;)Sam 29 Jun 2009
-Ngeneric:Invisible-Pin|pin@162||-10.5|110.5|||||ART_message(D5G3;)S[Each bit of the counter has four states:,"Zero, One, Two, Done",.,These states are encoded by two state wires:,"DoneOrTwo is HI if the state is \"Done\" or \"Two\"","OneOrTwo is HI if the state is \"One\" or \"Two\""]
-NWire_Pin|pin@163||5|68||||
-NWire_Pin|pin@165||18.5|36.5||||
-NWire_Pin|pin@167||18|34.5||||
-NWire_Pin|pin@178||-3.5|35.5||||
-NWire_Pin|pin@179||-40.5|34.5||||
-NWire_Pin|pin@180||-42|36.5||||
-NWire_Pin|pin@181||0.5|34.5||||
-NWire_Pin|pin@182||2.5|36.5||||
-Ngeneric:Invisible-Pin|pin@194||-69|55|||||ART_message(D5G4;)SMSB to the Left
-Ngeneric:Invisible-Pin|pin@195||53|53.5|||||ART_message(D5G4;)SLSB to the Right
-Ngeneric:Invisible-Pin|pin@196||-73.5|121.5|||||ART_message(D5G2;)S"this GasP module sits \"between\" two bits"
-NWire_Pin|pin@206||-5.5|48.5||||
-NWire_Pin|pin@214||-5|35.5||||
-NWire_Pin|pin@218||-15|28.5||||
-NWire_Pin|pin@219||-23|28.5||||
-NWire_Pin|pin@220||-23|4||||
-NWire_Pin|pin@224||-7|28.5||||
-NWire_Pin|pin@225||-7|4||||
-Ngeneric:Invisible-Pin|pin@226||-78|91|||||ART_message(D6FMonospaced;G3;)S[Ye Olde Firing Rules:,* Fire when there is a non-Zero on the left and a Zero on the right,"-   If there was a Two  on the left, we want to leave One  on the left and Two  on the right","-   If there was a One  on the left, we want to leave Zero on the left and Two  on the right","-   If there was a Done on the left, we want to leave Done on the left and Done on the right"]
-Ngeneric:Invisible-Pin|pin@227||-52|65.5|||||ART_message(D4G1.5;)S[drained unless there was a Done on the left,"(equivalently: if pred[OneOrTwo] was HI before firing)"]
-Ngeneric:Invisible-Pin|pin@228||-51.5|4.5|||||ART_message(D4G1.5;)S[Drained if there was a One on the left before firing.,"(equivalently: if pred[DoneOrTwo] was LO before firing)"]
-Ngeneric:Invisible-Pin|pin@229||36.5|6|||||ART_message(D6G1.5;)S[filled if there wasn't a Done on the left before firing,(equivalently: if there wasn't a Done on the left AFTER firing)]
-Ngeneric:Invisible-Pin|pin@230||37.5|64.5|||||ART_message(D6G1.5;)S[filled unconditionally,(we only leave Done's and Two's on the right)]
-NWire_Pin|pin@234||-22|66||||
-NWire_Pin|pin@235||-22|36.5||||
-NWire_Pin|pin@236||-28|70.5||||
-NWire_Pin|pin@237||-15|48.5||||
-NWire_Pin|pin@238||-15|70.5||||
-NWire_Pin|pin@239||-15|76||||
-NWire_Pin|pin@240||-1.5|68||||
-NWire_Pin|pin@242||29|34.5||||
-NWire_Pin|pin@243||68.5|34.5||||
-NWire_Pin|pin@244||74|38||||
-NWire_Pin|pin@245||74|31||||
-NWire_Pin|pin@246||74|34.5||||
-Ngeneric:Invisible-Pin|pin@247||105|34|||||ART_message(D5G3;)S[load,"\"with",extreme,"prejudice\""]
-IdriversM:predCond20wMC;1{ic}|predCond@0||-32|1|RR||D5G4;
-IdriversM:predCond20wMC;1{ic}|predCond@1||-32|69|YRR||D5G4;
-NPower|pwr@0||68.5|48||||
-IdriversM:sucANDdri10;1{ic}|sucANDdr@0||19.5|3|Y||D5G4;
-IdriversM:sucDri10;1{ic}|sucDri10@0||21|68|||D5G4;
-Awire|fire|D5G2;||1800|predCond@0|in|-26|2|sucANDdr@0|inB|14.5|2
-Awire|fire|D5G2;||2700|ctrAND4i@0|out|-1.5|64.5|pin@240||-1.5|68
-Awire|net@319|||0|pin@120||-40.5|69|conn@2|y|-46|69
-Awire|net@322|||0|pin@115||-42|1|conn@1|a|-46|1
-Awire|net@324|||1800|pin@129||29|68|conn@3|a|32|68
-Awire|net@345|||1800|pin@128||29|3|conn@0|a|31.5|3
-Awire|net@346|||900|pin@242||29|34.5|pin@128||29|3
-Awire|net@348|||900|pin@129||29|68|pin@130||29|36.5
-Awire|net@369|||0|predCond@0|pred|-35|1|pin@115||-42|1
-Awire|net@375|||0|sucDri10@0|in|17|68|pin@163||5|68
-Awire|net@376|||1800|sucDri10@0|succ|25|68|pin@129||29|68
-Awire|net@379|||0|pin@130||29|36.5|pin@165||18.5|36.5
-Awire|net@383|||0|pin@127||29|34.5|pin@167||18|34.5
-Awire|net@394|||2700|pin@178||-3.5|35.5|ctrAND4i@0|inC|-3.5|52.5
-Awire|net@399|||900|ctrAND4i@0|inB|0.5|52.5|pin@181||0.5|34.5
-Awire|net@400|||1800|pin@181||0.5|34.5|pin@167||18|34.5
-Awire|net@401|||900|ctrAND4i@0|inA|2.5|52.5|pin@182||2.5|36.5
-Awire|net@402|||1800|pin@182||2.5|36.5|pin@165||18.5|36.5
-Awire|net@406|||2700|pin@115||-42|1|pin@180||-42|36.5
-Awire|net@436|||2700|pin@206||-5.5|48.5|ctrAND4i@0|inD|-5.5|52.5
-Awire|net@437|||900|pin@120||-40.5|69|pin@179||-40.5|34.5
-Awire|net@442|||1800|sucANDdr@0|succ|24.5|3|pin@128||29|3
-Awire|net@455|||0|pin@178||-3.5|35.5|pin@214||-5|35.5
-Awire|net@459|||1800|pin@179||-40.5|34.5|nor2with@0|ina|-20.5|34.5
-Awire|net@460|||1800|pin@180||-42|36.5|pin@235||-22|36.5
-Awire|net@461|||1800|nor2with@0|out|-10|35.5|pin@214||-5|35.5
-Awire|net@462|||900|nor2with@0|outaBar|-15|32.5|pin@218||-15|28.5
-Awire|net@463|||0|pin@218||-15|28.5|pin@219||-23|28.5
-Awire|net@466|||1800|predCond@0|cond|-26|4|pin@220||-23|4
-Awire|net@475|||1800|pin@218||-15|28.5|pin@224||-7|28.5
-Awire|net@477|||1800|pin@225||-7|4|sucANDdr@0|inA|14.5|4
-Awire|net@482|||0|predCond@1|pred|-35|69|pin@120||-40.5|69
-Awire|net@484|||1800|predCond@1|cond|-26|66|pin@234||-22|66
-Awire|net@485|||1800|pin@235||-22|36.5|nor2with@0|inb|-16|36.5
-Awire|net@486|||900|pin@234||-22|66|pin@235||-22|36.5
-Awire|net@487|||0|pin@238||-15|70.5|pin@236||-28|70.5
-Awire|net@488|||2700|pin@236||-28|70.5|predCond@1|mc|-28|71
-Awire|net@489|||0|pin@206||-5.5|48.5|pin@237||-15|48.5
-Awire|net@491|||2700|pin@237||-15|48.5|pin@238||-15|70.5
-Awire|net@493|||1800|conn@6|y|-46|76|pin@239||-15|76
-Awire|net@494|||900|pin@239||-15|76|pin@238||-15|70.5
-Awire|net@496|||0|pin@163||5|68|predCond@1|in|-26|68
-Awire|net@501|||900|pin@127||29|34.5|pin@242||29|34.5
-Awire|net@503|||1800|pin@242||29|34.5|pin@243||68.5|34.5
-Awire|net@507|||900|NMOS@1|d|68.5|29|NMOS@2|s|68.5|27.5
-Awire|net@508|||2700|NMOS@1|s|68.5|33|pin@243||68.5|34.5
-Awire|net@509|||900|PMOS@0|s|68.5|36|pin@243||68.5|34.5
-Awire|net@510|||900|PMOS@1|s|68.5|41|PMOS@0|d|68.5|40
-Awire|net@511|||2700|PMOS@1|d|68.5|45|pwr@0||68.5|48
-Awire|net@512|||1800|PMOS@0|g|71.5|38|pin@244||74|38
-Awire|net@513|||900|pin@246||74|34.5|pin@245||74|31
-Awire|net@514|||0|pin@245||74|31|NMOS@1|g|71.5|31
-Awire|net@515|||900|pin@244||74|38|pin@246||74|34.5
-Awire|net@516|||0|conn@7|y|80|34.5|pin@246||74|34.5
-Awire|net@517|||0|conn@8|y|80|43|PMOS@1|g|71.5|43
-Awire|net@518|||0|conn@9|y|80|25.5|NMOS@2|g|71.5|25.5
-Awire|predWasNotDoneAfterFiring|D5G1.5;RRR||900|pin@224||-7|28.5|pin@225||-7|4
-Awire|predWasOneBeforeFiring|D5G1.5;RRRY0.5;||900|pin@219||-23|28.5|pin@220||-23|4
-Eload||D5G2;X-3;|conn@9|a|U
-EloadBar||D5G2;X-4.5;|conn@8|a|U
-EloadVal|loadValBar|D5G2;X-6;|conn@7|a|U
-Eload_or_master_clear||D5G2;X-11;|conn@6|a|U
-Epred[TwoOrEmpty]|pred[DoneOrTwo]|D5G2;X-10.5;|conn@2|a|B
-Epred[OneOrTwo]||D5G2;X13;|conn@1|a|B
-Esucc[TwoOrEmpty]|succ[DoneOrTwo]|D5G2;X13.5;|conn@3|a|B
-Esucc[OneOrTwo]||D5G2;X12.5;|conn@0|a|B
+NOff-Page|conn@0||-17|0||||
+NOff-Page|conn@1||23.5|0||||
+NOff-Page|conn@2||18|6|||X|
+NOff-Page|conn@3||23|-16.5||||
+NGround|gnd@0||0|-18.5||||
+IredFive:inv;1{ic}|inv@1||16|-12|X||D0G4;|ATTR_Delay(D5G1;NPX2;Y-2;)I100|ATTR_X(D5G1.5;NPX1.5;Y2;)S5|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+Ngeneric:Invisible-Pin|pin@0||9|32.5|||||ART_message(D5G6;)SsuccCond
+Ngeneric:Invisible-Pin|pin@1||8|20.5|||||ART_message(D5G3;)Sam 13 Jul 2009
+Ngeneric:Invisible-Pin|pin@2||7.5|25|||||ART_message(D5G4;)Ssuccessor driver w/o amp
+NWire_Pin|pin@4||-3|0||||
+NWire_Pin|pin@32||19.5|-12||||
+NWire_Pin|pin@33||19.5|0||||
+NWire_Pin|pin@37||-9|0||||
+NWire_Pin|pin@39||-9|-4||||
+NWire_Pin|pin@54||-3|-8||||
+NWire_Pin|pin@55||3|-8||||
+NWire_Pin|pin@56||3|0||||
+NWire_Pin|pin@57||9|6||||
+NWire_Pin|pin@59||9|-4||||
+NWire_Pin|pin@60||0|-8||||
+NWire_Pin|pin@61||0|0||||
+NWire_Pin|pin@62||9|10||||
+NWire_Pin|pin@63||-9|6||||
+NWire_Pin|pin@64||4|-16.5||||
+NWire_Pin|pin@65||4|-12||||
+IredFive:pms2;1{ic}|pms2@0||0|10|X||D0G4;|ATTR_Delay(D5G1;NPX-3;Y-1.5;)I100|ATTR_X(D5G1.5;NOLPX2.25;Y1;)S20
+IsuccCond;1{ic}|sucDri20@2||36|16|||D5G4;
+IorangeTSMC090nm:wire90;1{ic}|wire90@0||8.5|-12|||D0G4;|ATTR_L(D5G1;PUD)D124.7|ATTR_LEWIRE(P)I1|ATTR_layer(D5G1;NPY-1;)I1|ATTR_width(D5G1;NPY-2;)I3
+Awire|net@94|||0|inv@1|out|13.5|-12|wire90@0|b|11|-12
+Awire|net@95|||1800|inv@1|in|18.5|-12|pin@32||19.5|-12
+Awire|net@96|||1800|pin@33||19.5|0|conn@1|a|21.5|0
+Awire|net@97|||2700|pin@32||19.5|-12|pin@33||19.5|0
+Awire|net@98|||0|pin@33||19.5|0|pin@56||3|0
+Awire|net@109|||2700|pin@39||-9|-4|pin@37||-9|0
+Awire|net@111|||2700|pin@37||-9|0|pin@63||-9|6
+Awire|net@122|||0|pin@37||-9|0|conn@0|y|-15|0
+Awire|net@160|||900|NMOSx@0|s|-3|-6|pin@54||-3|-8
+Awire|net@161|||1800|pin@60||0|-8|pin@55||3|-8
+Awire|net@162|||2700|pin@55||3|-8|NMOSx@1|s|3|-6
+Awire|net@163|||0|pin@61||0|0|pin@4||-3|0
+Awire|net@164|||2700|NMOSx@1|d|3|-2|pin@56||3|0
+Awire|net@165|||1800|pin@57||9|6|conn@2|y|16|6
+Awire|net@168|||0|pin@59||9|-4|NMOSx@1|g|6|-4
+Awire|net@169|||900|pin@4||-3|0|NMOSx@0|d|-3|-2
+Awire|net@170|||1800|pin@39||-9|-4|NMOSx@0|g|-6|-4
+Awire|net@171|||900|pin@57||9|6|pin@59||9|-4
+Awire|net@172|||1800|pin@54||-3|-8|pin@60||0|-8
+Awire|net@173|||900|pin@60||0|-8|NMOSx@2|d|0|-10
+Awire|net@174|||0|pin@56||3|0|pin@61||0|0
+Awire|net@175|||900|pms2@0|d|0|4|pin@61||0|0
+Awire|net@176|||2700|gnd@0||0|-16.5|NMOSx@2|s|0|-14
+Awire|net@177|||1800|pms2@0|g|3|10|pin@62||9|10
+Awire|net@178|||900|pin@62||9|10|pin@57||9|6
+Awire|net@180|||0|pms2@0|g2|-3|6|pin@63||-9|6
+Awire|net@181|||0|conn@3|a|21|-16.5|pin@64||4|-16.5
+Awire|net@182|||0|wire90@0|a|6|-12|pin@65||4|-12
+Awire|net@183|||0|pin@65||4|-12|NMOSx@2|g|3|-12
+Awire|net@184|||2700|pin@64||4|-16.5|pin@65||4|-12
+Econd||D4G2;|conn@2|a|I
+Ein||D4G2;|conn@0|a|I
+Enot_succ|not_state|D5G2;X8.5;|conn@3|a|O
+Esucc|state|D6G2;|conn@1|y|B
 X