FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5931 Discussions

MEV Altera Cyclone IV PCIe Reference Design Kit

Altera_Forum
Honored Contributor II
2,518 Views

Are you struggling to develop a PCI express (PCIe) solution on the Altera Cyclone IV GX? Do you want a simple PCIe slave device? 

 

 

The MEV Altera Cyclone IV PCIe Reference Design Kit includes Quartus reference designs for Altera Cyclone IV PCIe designs. It has been developed as a starting point for customers own designs and includes  

  • A working "MEV Altera Cyclone IV PCIe debug device" that can be deployed on a development kit for quick proof of concept OR to use with your own design to check hardware is OK 

  • FPGA source code as a starting point for a users own design. 

  • Simple PCIe slave device 

  • SOPC based so it can easily be reconfigured to suit your design. 

  • A Windows debug driver for this device. The Windows Debug driver and API library allows arbitrary registers to read and written on the debug device whether it is deployed on the above kits or an equivalent design deployed on user hardware. 

It includes Quartus Archived Projects and .SOF programming files for common Altera Cyclone IV development kits such as the 

altera cyclone iv gx fpga development kit (http://www.altera.com/products/devkits/altera/kit-cyclone-iv-gx.html)  

and the  

ebv altera cyclone iv db4cgx15 development kit (http://www.ebv.com/en/products/categories/details/product/ebv-cyclone-iv-gx-development-kit.html

 

Find out more at our web page 

http://www.mev.co.uk/pages/products/alterapcie.html
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
1,394 Views

Speaking as someone that has bought and tried this kit, I can happily recommend it. Whilst the Altera videos are good in their way there are many details they cannot cover and having a few simple but fully complete designs to download and play with is very useful. Perhaps best of all are the comments in the source files that advise on matters of a subtle nature that without knowing of them would become show stoppers. 

 

If you need to get into PCIe quickly with Cyclone IV and take advantage of SOPC builder to give you a processor bus (Avalon) interface to your peripherals, this low cost kit could help a lot.
0 Kudos
Altera_Forum
Honored Contributor II
1,394 Views

Is the Altera Quartus Web Edition sufficient to work with the reference design or do I need the full version?

0 Kudos
Altera_Forum
Honored Contributor II
1,394 Views

My work was done with the Quartus Web edition and this design kit. This is because it concerns only hard IP in the Cyclone IV family. The situation may be different if you have notions of using the Soft IP method, though I can't think of many good reasons for doing so when the hardware comes in the price of the device. The instructions given do remind you to make sure that you selected the Hard IP version in the wizard.

0 Kudos
Altera_Forum
Honored Contributor II
1,394 Views

I will use the DB4CGX15 development kit, so I will have the hard IP of the Cyclone IV. 

 

Can you tell me more about the windows driver? Is it a good starting point for writing my own driver? 

 

My goal is to communicate via the pci bus with a microcontroller using spi.  

Windows Application <-> PCIe <-> Cyclone <-> SPI <-> microcontroller 

 

Do think this viable within a few days?
0 Kudos
Altera_Forum
Honored Contributor II
1,394 Views

As for writing windows drivers I'm unable to help you there since my application is embedded ARM based and others have the responsibility of writing the drivers for our OS (proprietary). 

 

If the microcontroller is an SPI slave, this should be almost trivial since you can do it all in SOPC builder and use the Altera provided building blocks. This environment should allow you to create the whole system in a matter of hours. 

 

If the microcontroller is an SPI master only, this might mean you're better off allowing the PCIe to talk to DPRAM and have the SPI slave controller in the FPGA talk to the other port of the DPRAM. If response times are important consider adding some GPIO pins to the PCIe side so the windows side can generate interrupts to the microcontroller. All this can be done quite easily in SOPC builder, but it isn't as simple as the other case. 

 

If you have the pins available, don't forget to bring some of the GPIOs out so you can debug the progress of your windows driver code.
0 Kudos
Altera_Forum
Honored Contributor II
1,394 Views

Fortunately the microcontroller is running as slave, all I have to do is retrieve some measured values every 100 µs and transfer them to the system memory.  

 

Thank you for your help :)
0 Kudos
Altera_Forum
Honored Contributor II
1,394 Views

MEVs simple slave reference deisgn  

http://www.mev.co.uk/pages/products/alterapcie.html (http://www.mev.co.uk/pages/products/alterapcie.html

comes with a simple generic windows driver and api for debugging. Although it is not supplied as source you can use it to read and write registers to your own design if you base that design on the reference design supplied
0 Kudos
Reply