I have a virtex 7 FPGA and for my larger project I need to setup the communication between an FPGA's PCIex8, SATA3, DDR3, and Uart.

I was wondering how to go about doing this? I can't use the softcore processor. I want to just use the FPGA to be able to directly send data from UART to DDR3 or SATA3. I am fine with setting up one at a time and can figure out the arbitration later.

I searched opencores.org but I only could find some stuff related to SATA2.

I have a vc709 fpga board.

  • 2
    \$\begingroup\$ Sounds like you will probably have to at least partially write your own core. I'd check on Xilinx's site for any app notes, and on Open cores for any cores you can piece together to construct what you need. \$\endgroup\$ – Oli Glaser Aug 11 '13 at 19:03
  • \$\begingroup\$ I couldn't find what I need on opencores. I want to implement this all myself since I can't purchase the IP Cores. \$\endgroup\$ – Veridian Aug 11 '13 at 21:04
  • 1
    \$\begingroup\$ I think you have vastly underestimated the size of your project. This will take several months of full-time development and another few months for test and debug. There's a reason the cores cost what they do. \$\endgroup\$ – akohlsmith Aug 11 '13 at 22:49
  • \$\begingroup\$ I know this will take a while. One step at a time. I need to start with DDR3 and uart. \$\endgroup\$ – Veridian Aug 12 '13 at 3:49
  • 1
    \$\begingroup\$ Well, developing a complete PCIe and SATA3 is a job for a REALLY good designer, or a team or engineers. It is nothing one can take as a hobby side job. But as a I said in my answer, the PCIe is already there for you to use, you just need to figure out how to use the hard IP that Xilinx has on your FPGA. \$\endgroup\$ – FarhadA Aug 12 '13 at 13:54

For Virtex 7, you have a hard core PCIe Gen3 already on the device.

The problem is the SATA that is something you have to either buy or write yourself, SATA3 is 6GBits/s which is going to be a challenge to get it to work, even if you have the IP already in your hands.

I did a project using PCIe Gen3 on Virtex7 (VC707 and VC709 boards), it was not an easy task and took a lot of time and energy.

The DDR3 and the UART can be easily connected using a microblaze system or use the memory generator to access.

  • \$\begingroup\$ The PCI Express DMA Engine from Northwest Logic is a 12-hour evaluation, so I need to make one myself. I am not going to use a soft core proessor in my design (so no micro/pico blaze). Any references you are aware of to help me? \$\endgroup\$ – Veridian Aug 12 '13 at 14:41
  • \$\begingroup\$ You said you had worked with the vc709 board before. Do you know of any computers that can fit this card on the motherboard? I want to be able to connect it to one of the PCIe slots on the motherboard and fit in the case. it is okay if the long edge sticks out of the case and I leave teh case door open. \$\endgroup\$ – Veridian Aug 12 '13 at 16:11
  • \$\begingroup\$ Well yes. We had to order a special computer case that was high enough to be able to fit this.board. I was not the one who ordered the case, but I can ask to see if I can get the reference for you. \$\endgroup\$ – FarhadA Aug 12 '13 at 17:21
  • \$\begingroup\$ Pcie on VC709 is not a soft core. It is a dedicated resource just like BRAM. \$\endgroup\$ – FarhadA Aug 12 '13 at 17:35
  • \$\begingroup\$ you can put a PCIe x4 card in a PCIe x 16 slot without any electrical issues. As you mentioned the case height will be an issue. \$\endgroup\$ – akohlsmith Aug 12 '13 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.