The normal wat to do it is to use an inverting and a non-inverting buffer and to use an adjustable delay at the input of one of them. The edges will never be perfectly synchronous no matter what you do. You need to determine a level of precision you need and implement something that achieves it. Peter -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu