Circuit Design Theory