From d021e8ead473e2c1fe267047a38cd343a8147a53 Mon Sep 17 00:00:00 2001 From: Adam Megacz Date: Tue, 14 Jul 2009 04:50:32 +0000 Subject: [PATCH] new tinyCounter, uses only 44 transistors per bit --- electric/tinyCounter.jelib | 785 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 642 insertions(+), 143 deletions(-) diff --git a/electric/tinyCounter.jelib b/electric/tinyCounter.jelib index 7cd08fe..c686b5f 100644 --- a/electric/tinyCounter.jelib +++ b/electric/tinyCounter.jelib @@ -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 -- 1.7.10.4