Subject: Drot for DATools7.0 To: DAToolsImplementors^.pa, June87^.pa Cc: DATools Coordinator , csaba@princeton.edu Reply-to: Serlet Documentation: None, alas Drot, the result of our summer intern, Csaba Gabor, is on DATools7.0. It works really fine, fast and produces sometimes better cells than Logic itself (see below). I would advise not depending (yet) on that package because I'm now its maintainor, and I do not think I'm able to maintain it (yet). But you are welcome to play with it (look at TestDrot.cm for examples). 1) Results on an 8 input multiplexer (Logic.MuxN1[8]): Drot: Area: 330*308 lambdas (= 101640) Total number of nodes: 61. Total number of transistors: 96 Longest path (Mint, Layout->Timing): 5.3ns Logic: Area: 520*308 lambdas (= 160160) Total number of nodes: 69. Total number of transistors: 126 Longest path (Mint, Layout->Timing): 7.4ns In that case (of course this is a very favorable case for Drot) it means 60% area improvement, and a 40% timing improvement. 2) Results on an 32 input constant (Logic.EqConstant[32, 02BAD2BADH]): Drot: Area: 350*292 lambdas (= 102200) Total number of nodes: 85. Total number of transistors: 102 Longest path (Mint, Layout->Timing): 6.4ns Logic: Area: 380*292 lambdas (= 110960) Total number of nodes: 87. Total number of transistors: 106 Longest path (Mint, Layout->Timing): 4.7ns In that case area is better by 9%, but speed is worse by 36%. 3) Results on another 32 input constant (Logic.EqConstant[32, 15]): Drot: Area: 380*292 lambdas (= 110960) Total number of nodes: 86. Total number of transistors: 104 Longest path (Mint, Layout->Timing): 6.2ns Logic: Area: 390*300 lambdas (= 117000) Total number of nodes: 92. Total number of transistors: 116 Longest path (Mint, Layout->Timing): 5.7ns In that case area is better by 5%, but speed is worse by 9%. Conclusion: You can't always win, but in all cases, congratulations, Csaba! ΚV˜JšΠbsœ˜Jšœ%˜'Jšœ5˜7Jšœ˜˜IindentšΟbœ ˜KšœE˜EK˜_K˜Νšœ6˜6šœ˜Kšœ ˜ Kšœ:˜:Kšœ*˜*—˜Kšœ ˜ Kšœ;˜;Kšœ*˜*—KšœIžœžœ˜|—šœF˜Fšœ˜Kšœ ˜ Kšœ;˜;Kšœ*˜*—˜Kšœ ˜ Kšœ;˜;Kšœ*˜*—Kšœžœžœ˜?K˜—šœC˜Cšœ˜Kšœ ˜ Kšœ;˜;Kšœ*˜*—˜Kšœ ˜ Kšœ;˜;Kšœ*˜*—Kšœžœžœ˜>K˜—KšœK˜K——…—‚ή