signal integrity in hardware design