Third baseman Ryan Zimmerman and the Washington Nationals have agreed to add $100 million over six years to his contract, with a full no-trade clause, a person familiar with the negotiations said Sunday.