  Quantum computation requires high-fidelity single-qubit and two-qubit gates
on a scalable platform. Silicon spin qubits are a promising platform toward
realization of this goal. In this paper we show how to perform single-qubit and
CZ gates in a linear chain of three spin qubits with always-on exchange
coupling, which is relevant for certain dot- and donor-based silicon devices.
We also show how to make the CZ gate robust against both charge noise and pulse
length error using a two-tone pulse shaping method. The robust pulse maintains
a fidelity of 99.99% at 3.5% fluctuations in exchange or pulse amplitude, which
is an improvement over the uncorrected pulses where this fidelity can only be
maintained for fluctuations in exchange up to 2% or up to 0.2% in amplitude.
