Forum: FPGA, VHDL & Verilog VHDL code to implement a SATA disk controller on a Virtex 5 FPGA

von Sunayana C. (sunayana_c)

Rate this post
0 useful
not useful
Hello All,

I am new to designing a VHDL code for a SATA device. I would like to get 
a few VHDL examples to design the same. Can someone help?

von Lothar M. (lkmiller) (Moderator)

Rate this post
0 useful
not useful
Sunayana C. wrote:
> I am new to designing a VHDL code
Then start with the flashing LED, the chasing light, RS232, VGA and so 
on. And half a year later you will be able to do bigger steps...

But you will never get the thing running just by copying some code grime 
somewhere without knowing a thing about hardware.

> for a SATA device.
What hardware (FPGA, ASIC)?
What kind of device?

von Sunayana C. (sunayana_c)

Rate this post
0 useful
not useful
I will be using FPGA Virtex 5. I am not copying fyi. I just need some 
examples on how to go about this entire process. Please help if you can

von Lothar M. (lkmiller) (Moderator)

Rate this post
0 useful
not useful
One thing is sure: with no knowledge in VHDL and FPGA you will not be 
able to do the SATA core from scratch the next half year (at least!).
What is your time schedule for this task?
Do you have the money to use a commercial and proved SATA IP core?

von Sunayana C. (sunayana_c)

Rate this post
0 useful
not useful
I have experience working on VHDL and FPGA. I have worked on it for an 
year now. I am new to SATA controller. I read through the basics of 
SATA. I now need to know how to write an FPGA code for the same. Please 
provide some examples for the same.

von blablablub (Guest)

Rate this post
0 useful
not useful
what examples do you need? SATA is a big and complex protocol. You have 
to consider several levels of protocols.

The first questions is not, if you read the full specification, the 
question is how often you read it?

Then you have to find out the lowest level protocol. Often called as 
physical layer coding or line coding. This is the first step to 

Then you have to go step by step.

You wrote you have experience in FPGA. Do you also have experience with 
gigabit transceivers? If not, than spend the next month only in 
designing and working with this transceivers. There are a lot of 
pitfalls ...

A simple example code for SATA won't be available, because it is too 
complex. If you don't know how to start, then search for another project 
you can do, where you can collect more experience ...



Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.