refactored some logic
authorAdam Megacz <adam.megacz@sun.com>
Tue, 21 Jul 2009 01:28:33 +0000 (01:28 +0000)
committerAdam Megacz <adam.megacz@sun.com>
Tue, 21 Jul 2009 01:28:33 +0000 (01:28 +0000)
electric/omegaCounter.jelib

index 399f632..fb0b28b 100644 (file)
@@ -458,75 +458,17 @@ EoutaBar||D5G1;Y-0.5;|pin@24||U
 X
 
 # Cell nand2withInverter;1{sch}
-Cnand2withInverter;1{sch}||schematic|1021415734000|1248139266348||ATTR_Delay(D5G1;HNPX-18;Y-6;)I100|ATTR_X(D5FLeave alone;G1;HNOLPX-18;Y-5;)S1|ATTR_drive0(D5G1;HNPTX-18;Y-7;)Sstrong0|ATTR_drive1(D5G1;HNPTX-18;Y-8;)Sstrong1|ATTR_verilog_template(D5G1;NTX5.5;Y-18.5;)SFIXME!!! nor ($(drive0), $(drive1)) #($(Delay)) $(node_name) ($(out), $(ina), $(inb));|prototype_center()I[0,0]
-IorangeTSMC090nm:NMOSx;1{ic}|NMOS@0||-4|-8|||D0G4;|ATTR_Delay(D5G1;NOJPX3.5;Y-2;)S@Delay|ATTR_X(D5FLeave alone;G1.5;NOLPX3.5;Y0.5;)S@X
-IorangeTSMC090nm:NMOSx;1{ic}|NMOS@1||4|-8|YRR||D0G4;|ATTR_Delay(D5G1;NOJPX3.5;Y-2;)S@Delay|ATTR_X(D5FLeave alone;G1.5;NOLPX3.5;Y0.5;)S@X
-IorangeTSMC090nm:NMOSx;1{ic}|NMOSx@0||-3|11.5|Y||D0G4;|ATTR_Delay(D5G1;NOJPX3.5;Y-2;)S@Delay|ATTR_X(D5FLeave alone;G1.5;NOLPX3.5;Y0.5;)S@X
-IredFive:PMOS;1{ic}|PMOS@0||0|20.5|||D5G4;|ATTR_Delay(D5G1;NPX5;Y-2;)I100|ATTR_X(D5G1.5;NPX5;Y0.5;)I1
-IredFive:PMOS;1{ic}|PMOS@1||0|4|RR||D5G4;|ATTR_Delay(D5G1;NPX5;Y-2;)I100|ATTR_X(D5G1.5;NPX5;Y0.5;)I1
+Cnand2withInverter;1{sch}||schematic|1021415734000|1248139326935||ATTR_Delay(D5G1;HNPX-18;Y-6;)I100|ATTR_X(D5FLeave alone;G1;HNOLPX-18;Y-5;)S1|ATTR_drive0(D5G1;HNPTX-18;Y-7;)Sstrong0|ATTR_drive1(D5G1;HNPTX-18;Y-8;)Sstrong1|ATTR_verilog_template(D5G1;NTX5.5;Y-18.5;)SFIXME!!! nor ($(drive0), $(drive1)) #($(Delay)) $(node_name) ($(out), $(ina), $(inb));|prototype_center()I[0,0]
 Ngeneric:Facet-Center|art@0||0|0||||AV
 NOff-Page|conn@0||-15.5|0||||
 NOff-Page|conn@1||14|-8|||RR|
 NOff-Page|conn@2||14|0||||
 NOff-Page|conn@3||14|15||||
-NGround|gnd@0||0|-15||||
-NGround|gnd@1||-3|5.5||||
 Inand2withInverter;1{ic}|nand2wit@0||33.5|16|||D5G4;|ATTR_Delay(D5G1;NPX-5.25;Y-4;)I100|ATTR_X(D5FLeave alone;G1;NOLPX-5.25;Y-3;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
-NWire_Pin|pin@0||0|-11.5||||
-NWire_Pin|pin@1||-4|-11.5||||
-NWire_Pin|pin@2||4|-11.5||||
-NWire_Pin|pin@3||-9|-8||||
-NWire_Pin|pin@5||-9|0||||
-NWire_Pin|pin@6||9|4||||
-NWire_Pin|pin@7||9|-8||||
 Ngeneric:Invisible-Pin|pin@8||3|28.5|||||ART_message(D5G6;)Snand2withInverters
-NWire_Pin|pin@9||-9|20.5||||
-NWire_Pin|pin@10||0|0||||
-NWire_Pin|pin@11||4|0||||
-NWire_Pin|pin@12||-4|0||||
-Ngeneric:Invisible-Pin|pin@13||27|-14|||||ART_message(D5G2;)S[X is drive strength,One pull-down is as strong,as the pull-up]
-NWire_Pin|pin@14||-3|20.5||||
-NWire_Pin|pin@15||3|4||||
-NWire_Pin|pin@16||0|2||||
-NWire_Pin|pin@17||-9|11.5||||
-NWire_Pin|pin@18||-3|15||||
-NWire_Pin|pin@19||0|15||||
-NPower|pwr@0||0|25||||
-Awire|net@0|||0|pin@7||9|-8|NMOS@1|g|7|-8
-Awire|net@1|||900|pin@0||0|-11.5|gnd@0||0|-13
-Awire|net@2|||0|pin@2||4|-11.5|pin@0||0|-11.5
-Awire|net@3|||0|pin@0||0|-11.5|pin@1||-4|-11.5
-Awire|net@4|||900|NMOS@0|s|-4|-10|pin@1||-4|-11.5
-Awire|net@5|||2700|pin@2||4|-11.5|NMOS@1|s|4|-10
-Awire|net@6|||900|pin@12||-4|0|NMOS@0|d|-4|-6
-Awire|net@7|||0|NMOS@0|g|-7|-8|pin@3||-9|-8
-Awire|net@8|||900|pin@11||4|0|NMOS@1|d|4|-6
-Awire|net@9|||2700|pin@3||-9|-8|pin@5||-9|0
-Awire|net@10|||0|pin@5||-9|0|conn@0|y|-13.5|0
-Awire|net@11|||2700|pin@7||9|-8|pin@6||9|4
-Awire|net@12|||1800|pin@7||9|-8|conn@1|y|12|-8
-Awire|net@16|||0|pin@11||4|0|pin@10||0|0
-Awire|net@17|||0|pin@10||0|0|pin@12||-4|0
-Awire|net@18|||2700|pin@5||-9|0|pin@17||-9|11.5
-Awire|net@19|||1800|pin@11||4|0|conn@2|a|12|0
-Awire|net@20|||1800|pin@9||-9|20.5|pin@14||-3|20.5
-Awire|net@21|||0|pin@6||9|4|pin@15||3|4
-Awire|net@22|||2700|pin@10||0|0|pin@16||0|2
-Awire|net@23|||0|PMOS@0|g|-3|20.5|pin@14||-3|20.5
-Awire|net@24|||900|pwr@0||0|25|PMOS@0|s|0|22.5
-Awire|net@25|||2700|PMOS@1|s|0|2|pin@16||0|2
-Awire|net@26|||1800|PMOS@1|g|3|4|pin@15||3|4
-Awire|net@27|||2700|PMOS@1|d|0|6|pin@19||0|15
-Awire|net@28|||2700|pin@17||-9|11.5|pin@9||-9|20.5
-Awire|net@29|||0|NMOSx@0|g|-6|11.5|pin@17||-9|11.5
-Awire|net@30|||2700|NMOSx@0|s|-3|13.5|pin@18||-3|15
-Awire|net@31|||2700|pin@19||0|15|PMOS@0|d|0|18.5
-Awire|net@32|||1800|pin@18||-3|15|pin@19||0|15
-Awire|net@33|||0|conn@3|a|12|15|pin@19||0|15
-Awire|net@34|||2700|gnd@1||-3|7.5|NMOSx@0|d|-3|9.5
-Eina||D5G2;|conn@0|a|I
-Einb||D5G2;|conn@1|a|I
-Eout||D5G2;|conn@2|y|O
+Eina||D5G2;X-1.5;|conn@0|a|I
+Einb||D5G2;X-2.5;|conn@1|a|I
+Eout||D5G2;X2.5;|conn@2|y|O
 EoutaBar||D5G2;X7.5;|conn@3|a|U
 X
 
@@ -684,7 +626,7 @@ Edisable|disableLO|D5G2;X-2;Y-2;|pin@38||I
 X
 
 # Cell oneBit;1{sch}
-ConeBit;1{sch}||schematic|1242942044308|1248138834635|
+ConeBit;1{sch}||schematic|1242942044308|1248139502448|
 Ngeneric:Facet-Center|art@0||0|0||||AV
 NOff-Page|conn@0||1.5|17.5||||
 NOff-Page|conn@1||-87|19.5|||RR|
@@ -692,27 +634,28 @@ NOff-Page|conn@2||-86|55||||
 NOff-Page|conn@3||2|61||||
 NOff-Page|conn@8||-18|41.5|||RR|
 Ifire;3{ic}|fireIvan@3||-28|48|||D5G4;|ATTR_X(D5G2;NOLPX6.25;Y2;)S8
-IredFive:inv;1{ic}|inv@9||-66.5|48.5|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPY-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@22||-66.5|14.5|RR||D0G4;|ATTR_X(D5G1.5;NPX1.5;Y2;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@35||-61.5|66.5|RR||D0G4;|ATTR_X(D5G1.5;NPX-3;Y-3;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@37||-17|14.5|||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX1.5;Y-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@38||-61.5|23|X||D0G4;|ATTR_X(D5G1.5;NPX1.5;Y2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@39||-66.5|23|X||D0G4;|ATTR_X(D5G1.5;NPX1.5;Y2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
-IredFive:inv;1{ic}|inv@44||-66.5|44|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPY-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:inv;1{ic}|inv@44||-66.5|44|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX-0.5;Y-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@45||-61.5|62|X||D0G4;|ATTR_X(D5G1.5;NPX-3;Y1.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@46||-66.5|62|X||D0G4;|ATTR_X(D5G1.5;NPX1.5;Y2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:inv;1{ic}|inv@48||-17|21.5|||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX2;Y2;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:inv;1{ic}|inv@49||-60|47.5|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPY-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:inv;1{ic}|inv@50||-54|49.5|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPY-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:invLT;1{ic}|invLT@0||-66.5|18.5|RR||D5G4;|ATTR_Delay(D5G1;NPX2;Y-2;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPX-4;Y-1.5;)S4|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:invLT;1{ic}|invLT@1||-66.5|53|RR||D5G4;|ATTR_Delay(D5G1;NPX2;Y-2;)I100|ATTR_X(D5FLeave alone;G1.5;NOLPY-3;)S4|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:nand2;1{ic}|nand2@1||-66.5|67.5|X||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX-1.5;Y3;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
+IredFive:nand2;1{ic}|nand2@2||-66.5|48.5|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX1;Y-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IredFive:nand2LT;1{ic}|nand2LT@0||-9|72.5|YRR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX4;Y2;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
-IredFive:nor2n;1{ic}|nor2n@0||-61.5|48.5|RR||D5G4;|ATTR_X(D5FLeave alone;G1.5;NOLPX1;Y-2.5;)S1|ATTR_drive0(P)Sstrong0|ATTR_drive1(P)Sstrong1
 IoneBit;1{ic}|oneBitIv@0||-109|69.5|||D5G4;
 Ngeneric:Invisible-Pin|pin@6||-84|110.5|||||ART_message(D5G15;)SoneBit
 Ngeneric:Invisible-Pin|pin@149||-84.5|100|||||ART_message(D5G2;)Sam 13 Jul 2009
 Ngeneric:Invisible-Pin|pin@162||-21|104.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:,"ZeroOrTwo is HI if the state is \"Zero\" or \"Two\"","ZeroOrDone is HI if the state is \"Zero\" or \"Done\""]
-Ngeneric:Invisible-Pin|pin@194||-105|39.5|||||ART_message(D5G4;)SMSB to the Left
-Ngeneric:Invisible-Pin|pin@195||14|39|||||ART_message(D5G4;)SLSB to the Right
+Ngeneric:Invisible-Pin|pin@194||-112.5|39.5|||||ART_message(D5G4;)SMSB to the Left
+Ngeneric:Invisible-Pin|pin@195||27|39.5|||||ART_message(D5G4;)SLSB to the Right
 Ngeneric:Invisible-Pin|pin@196||-83.5|102.5|||||ART_message(D5G2;)S"this GasP module sits \"between\" two bits"
 Ngeneric:Invisible-Pin|pin@226||-97|89.5|||||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||-64.5|4|||||ART_message(D4G1.5;)S[filled if there wasn't a two on the left before firing,"(equivalently: if MSN[ZeroOrTwo] was empty before firing)"]
@@ -781,8 +724,6 @@ NWire_Pin|pin@687||-30.75|41.5||||
 NWire_Pin|pin@688||-43|41.5||||
 NWire_Pin|pin@689||-28.75|33||||
 NWire_Pin|pin@691||-24|41.5||||
-NWire_Pin|pin@702||-58|47.5||||
-NWire_Pin|pin@705||-46|47.5||||
 NWire_Pin|pin@710||-46|62||||
 NWire_Pin|pin@713||-23|62||||
 NWire_Pin|pin@714||-33|62||||
@@ -794,8 +735,9 @@ NWire_Pin|pin@723||-54|14.5||||
 NWire_Pin|pin@724||-64|14.5||||
 NWire_Pin|pin@725||-59|23||||
 NWire_Pin|pin@726||-49|23||||
-NWire_Pin|pin@727||-59|49.5||||
 NWire_Pin|pin@728||-49|49.5||||
+NWire_Pin|pin@729||-69|48.5||||
+NWire_Pin|pin@730||-46|47.5||||
 IpredCond;1{ic}|predCond@4||-9|61|||D5G4;|ATTR_X(D5G2;NPX0.75;Y-5.25;)S8
 IpredCond;1{ic}|predCond@7||-75|61|YRR||D5G4;|ATTR_X(D5G2;NPX2.25;Y-5.25;)S8
 IpredCond;2{ic}|predCond@10||-9|17.5|||D5G4;|ATTR_X(D5G2;NPX0.25;Y-5.25;)S8
@@ -818,8 +760,6 @@ Awire|net@1271|||1800|pin@308||-5|17.5|conn@0|a|-0.5|17.5
 Awire|net@1275|||0|conn@3|a|0|61|pin@312||-5|61
 Awire|net@1305|||2700|pin@598||-70|14.5|pin@572||-70|15.5
 Awire|net@1306|||0|inv@22|out|-69|14.5|pin@598||-70|14.5
-Awire|net@1325|||0|inv@9|out|-69|48.5|sucDri20@1|cond|-72|48.5
-Awire|net@1326|||0|nor2n@0|out|-64|48.5|inv@9|in|-64|48.5
 Awire|net@1339|||1800|sucDri20@1|in|-72|50.5|pin@608||-72|50.5
 Awire|net@1370|||0|succCond@0|state|-76.5|19.5|pin@623||-82|19.5
 Awire|net@1371|||0|pin@623||-82|19.5|conn@1|a|-85|19.5
@@ -894,11 +834,7 @@ Awire|net@1570|||0|pin@687||-30.75|41.5|pin@688||-43|41.5
 Awire|net@1572|||900|fireIvan@3|MSN[ZeroOrDone]|-28.75|45.5|pin@689||-28.75|33
 Awire|net@1573|||1800|pin@640||-46|33|pin@689||-28.75|33
 Awire|net@1575|||900|fireIvan@3|disableLO|-24|46|pin@691||-24|41.5
-Awire|net@1618|||1800|nor2n@0|inb|-59|47.5|pin@702||-58|47.5
-Awire|net@1624|||1800|pin@702||-58|47.5|pin@705||-46|47.5
-Awire|net@1625|||2700|pin@640||-46|33|pin@705||-46|47.5
 Awire|net@1646|||900|pin@633||-46|66.5|pin@710||-46|62
-Awire|net@1647|||900|pin@710||-46|62|pin@705||-46|47.5
 Awire|net@1652|||0|predCond@4|cond|-12|62|pin@713||-23|62
 Awire|net@1653|||1800|pin@710||-46|62|pin@714||-33|62
 Awire|net@1654|||1800|pin@714||-33|62|pin@713||-23|62
@@ -916,9 +852,15 @@ Awire|net@1676|||0|pin@723||-54|14.5|inv@22|in|-64|14.5
 Awire|net@1677|||0|inv@38|in|-59|23|pin@725||-59|23
 Awire|net@1678|||0|pin@717||-48.5|23|pin@726||-49|23
 Awire|net@1679|||1800|inv@38|in|-59|23|pin@726||-49|23
-Awire|net@1684|||0|nor2n@0|ina|-59|49.5|pin@727||-59|49.5
 Awire|net@1685|||0|pin@667||-47.5|49.5|pin@728||-49|49.5
-Awire|net@1686|||0|pin@728||-49|49.5|nor2n@0|ina|-59|49.5
+Awire|net@1691|||1800|sucDri20@1|cond|-72|48.5|pin@729||-69|48.5
+Awire|net@1693|||1800|nand2@2|out|-69|48.5|pin@729||-69|48.5
+Awire|net@1695|||0|inv@49|out|-62.5|47.5|nand2@2|inb|-64|47.5
+Awire|net@1696|||0|inv@50|out|-56.5|49.5|nand2@2|ina|-64|49.5
+Awire|net@1697|||1800|inv@50|in|-51.5|49.5|pin@728||-49|49.5
+Awire|net@1698|||2700|pin@640||-46|33|pin@730||-46|47.5
+Awire|net@1699|||2700|pin@730||-46|47.5|pin@710||-46|62
+Awire|net@1700|||1800|inv@49|in|-57.5|47.5|pin@730||-46|47.5
 ELSN[ZeroOrDone]||D5G2;X12.5;|conn@0|a|B
 ELSN[ZeroOrTwo]||D5G2;X13.5;|conn@3|a|B
 EMSN[ZeroOrDone]||D5G2;X13;|conn@1|a|B