The Steelers and veteran defensive lineman Cameron Heyward agreed to a 3-year, $45 million deal that includes $16 million fully guaranteed, sources say.