Gate And Throughput Optimizations For Null Convention Self-Timed Digital Circuits