Abstract: A semiconductor device is provided which includes: a plurality of termination circuits having a plurality of impedance elements connected to an input/output pad, said termination circuits being controlled by impedance control signals; and a controller for outputting said impedance control signals to adaptively change with changes in characteristic impedance of a transmission line connected to the input/output pad in bi-directional data communication, to adaptively control the plurality of impedance elements in the plurality of input termination circuits for matching the impedance to the characteristic impedance of the transmission line. Each of the plurality of impedance elements is configured in pairs of MOS transistors. The plurality of termination circuits have different impedance values. And each of the impedance elements of the plurality of termination circuits is independently controlled.