Subject: Drot for DATools7.0
To: DAToolsImplementors^.pa, June87^.pa
Cc: DATools Coordinator <Preas.pa>, 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!