From: Adam Megacz Date: Tue, 21 Jul 2009 01:28:33 +0000 (+0000) Subject: refactored some logic X-Git-Url: http://git.megacz.com/?p=fleet.git;a=commitdiff_plain;h=2059de81206d41dcc0341badcb715e534b666f15 refactored some logic --- diff --git a/electric/omegaCounter.jelib b/electric/omegaCounter.jelib index 399f632..fb0b28b 100644 --- a/electric/omegaCounter.jelib +++ b/electric/omegaCounter.jelib @@ -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