For any primitive substitution whose Perron eigenvalue is a Pisot unit, we construct a domain exchange that is measurably conjugate to the subshift. Additionally, we give a condition for the subshift to be a finite extension of a torus translation. For the particular case of weakly irreducible Pisot substitutions, we show that the subshift is either a finite extension of a torus translation or its eigenvalues are roots of unity. Furthermore, we provide an algorithm to compute eigenvalues of the subshift associated with any primitive pseudo-unimodular substitution.