Modern digital design and switching theory. ([2017?])