We successfully did a SATA implimentation using the DE4 board from Terasic and a SATA core from Inteliprop.
It worked well for our needs and Inteliprop was very responsive to our questions.
http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=138&no=501 http://www.intelliprop.com/ unless you are required to write your own SATA implimentation, a tested core is the way to go. It was pricey, but cheaper than it would cost to develope yourself.
I talked to a couple of other Core vendors at the time, and Inteliprop was quick in responding to our initial questions, and providing trial license to test it out.
Pete