Advanced Digital Circuit Design