Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21607 Discussions

PCI interface with FPGA

Altera_Forum
Honored Contributor II
3,032 Views

Please if anyone can guide me how to input the data in FPGA through PCI interface 

 

i will be obliged if u tell the steps to follow 

 

regards 

uzmeed
0 Kudos
15 Replies
Altera_Forum
Honored Contributor II
2,282 Views

Please provide more details, eg., do you have a board with an FPGA already on it, if so, what FPGA? 

 

There are two types of PCI devices; masters and targets. 

 

Targets are pretty simple and dumb. They can respond to reads and writes on the PCI bus, and their performance is pretty slow. However, if all you need to do is blink an LED, then a PCI target might work for you. I recall seeing a PCI Lite core mentioned in the Embedded IP and Peripherals guide. 

 

http://www.altera.com/literature/ug/ug_embedded_ip.pdf 

 

If you need high performance over the PCI bus, then you need a PCI master interface. A PCI master interface can become the 'master' of the PCI bus, and it initiates PCI reads and writes. The master interface normally contains a DMA controller to perform read and write transactions. 

 

If you are designing a board, then you need to determine the cost of the PCI master/target core (or the cost of writing one) relative to the use of something like a PLX Technologies PCI Master/Target interface chip, eg. the PCI9054 (or some of the newer devices). 

 

The device drivers for PCI interfaces are pretty simple. I can point you to code examples for Linux if you need them. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

thnak u dave 

 

u ans atleast set the direction for me 

 

let me explain more 

 

i hav a digitizer board that output data on PCI interface the work i have to do is that i hav to pick the data from PCI at the rate it is sampled 

 

regards 

uzmeed
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

If you have a digitizer board, then do you have a link to its data sheet? 

 

Does the board have an FPGA or a PCI chip for the PCI interface? Provide details. 

 

How fast does your digitizer operate? 

 

How fast does your PCI interface operate? Eg., 33MHz clock/32-bit, or 66MHz clock/64-bit, or what? 

 

The PCI bus can perform up to say 40MB/s pretty easily using a Master interface, eg. your board DMAing to host memory (a PC). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi  

 

Dave thanx again  

 

yes here is the link to the datasheet  

 

as im unable to post a link so u please go to website of 

 

gage-applied.com 

 

 

and then follow the link  

 

Products/PDF/Octopus_CS82XX.pdf 

 

this data sheet is that of 82xx but i will be using 83xx (some how unable to open it ) 

 

i wil be using 8 channel 100MHz sampling rate with 14 bit digitization 

 

i hope u can help me more in this regard 

 

thanx 

 

uzmeed
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi uzmeed, 

 

http://www.gage-applied.com/products/digitizer_pci/14_bit/octopus_83xx.htm 

 

To me, this looks like a 'black box' oscilloscope card, that you can only access via proprietary windows drivers and libraries. I do not see any options to customize this board. 

 

Where did you see details about creating a custom FPGA configuration that you could then send data over the PCI interface? 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

i dont want to customize this card  

i only want to recieve its data on a FPGA board which i will design my self 

 

i only want to aquire the data from this adc  

 

wat do u think is it doable using this card 

 

regards 

uzmeed
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

hi dave  

 

i have found another ADC  

 

struck.de/sis3301.htm 

 

and the interface is VME 

 

please guide that can it ful fill my need  

 

and wat can the posible issue for interfacing VME bus to FPGA 

 

spartan6 or V5 

 

best of regards 

uzmeed
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

 

--- Quote Start ---  

i dont want to customize this card  

i only want to recieve its data on a FPGA board which i will design my self 

 

i only want to aquire the data from this adc  

 

wat do u think is it doable using this card 

 

regards 

uzmeed 

--- Quote End ---  

 

 

 

There is very little that you can possibly do with this board, other than use it as defined by Gage. 

 

If you absolutely had to interface it to an FPGA board, you would first need to reverse engineer the control interface (drivers) developed by Gage. Your system would then consist of the Gage board and your FPGA board in PCI backplane. The FPGA board would then have to issue PCI commands to setup the Gage board (or you might be able to use the Gage drivers on the host CPU (system slot CPU) for this). The Gage board would then somehow have to interrupt the FPGA PCI board when buffers of data were ready. If the Gage board can be customized, then it could write to an interrupt register on the FPGA PCI board. I'm highly doubtful you have any of this information. 

 

This is not a good solution for your problem. 

 

Please describe your application, and I can suggest a solution. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

 

--- Quote Start ---  

 

i have found another ADC  

 

struck.de/sis3301.htm 

 

and the interface is VME 

 

please guide that can it ful fill my need  

 

and wat can the posible issue for interfacing VME bus to FPGA 

 

spartan6 or V5 

 

--- Quote End ---  

 

 

You're going about your system design the wrong way. 

 

You first need to describe what you need to do, and then look for hardware. 

 

You cannot 'stream' ADC data across PCI or VME backplanes with any decent bandwidth. These buses are shared, so if you have a system containing multiple boards, you will get bus access contention. 

 

Please describe what you are trying to do, and I can offer suggestions. 

 

BTW: This is an Altera group. If you want boards with Xilinx Spartan devices, then you should go find a Xilinx group. However, you can still describe the system and I will help describe what you need to do next. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi 

 

let me describe the problem 

 

i have 5-6 video signal with th proprty  

 

voltage 0-5 V 

 

and BW 20MHz 

 

i have to digitize thm and then send it to FPGA for further processing 

 

as i have only two months for the implementation so i need an ADC that can digitize the data at 50-100Msps in 14 bit vertical resolution  

 

bottle neck is the communication between the ADC and the FPGA  

 

so i m looking for an ADC that can solve my problem and i may be able to complete my work in the time given to me by my instructor 

 

i hope u can guide me in better way now 

 

regards 

uzmeed
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi uzmeed, 

 

Your system definition is better, but still not complete. 

 

As far as hardware goes, you need 6 channels of 14-bit ADCs capable of sampling a 20MHz bandwidth video signal. 

 

However, how much FPGA logic do you require for processing that data? Do all the data streams need to be processed together, or are they independent? 

 

Why is this important? Well, if you can find a 2-channel ADC board, then you can use three of those. For example, Terasic have an AD/DA board with two 14-bit ADCs that can operate to 150MHz.  

 

If you can clearly state your project requirements, then I can review them, and you can start a new thread requesting advice on what hardware other people on the forum recommend. 

 

How much can you spend on buying hardware for this project? 

 

Why do these video streams need to be sampled? Can you not get them in a digital form, eg. HDMI, SDI, etc? If the project can change the format of the video source, perhaps there is a simpler (cheaper) FPGA solution. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi Dave 

 

i m sory to reply late as was ill for the last week 

 

yes we have to process data simultaneously 

 

and i dont want to buy seperate cards as then i will hav to synchronize them that will take a lot of my time  

 

secondly funding is not problem my uni will fund me and then it will be there property 

 

and more over i cannot have digital data i hav to digitize the analog data any way 

 

regards 

uzmeed
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi uzmeed, 

 

Ok, so now that you have more clearly stated what you need, how about you post a new thread; 

 

------------------ snip ------------------------- 

 

"Multi-channel ADC+FPGA board for video processing?" 

 

System characteristics: 

- 6 analog video signals with 20MHz bandwidth per channel 

- sampled data needs to be available in a single FPGA for processing 

 

ADC requirements: 

- 6 channels 

- 14-bits 

- >40MHz sampling rate (>100MHz preferred) 

 

Does anyone have any recommendations for a single board, or FPGA board plus modules, meeting these requirements? 

 

------------------ snip ------------------------- 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

yeh thanks i have already posted and know a board with FPGA and ADC on it ( agilent) but the problem is that i have to build the communication of ADC and Fpga MY SELF so looking for two seperate boards 

 

thats why i asked wat are the possible aspects of VME interfacing with FPGA
0 Kudos
Altera_Forum
Honored Contributor II
2,282 Views

Hi uzmeed, 

 

 

--- Quote Start ---  

 

I know a board with FPGA and ADC on it ( agilent) 

 

--- Quote End ---  

What is it? 

 

 

--- Quote Start ---  

 

but the problem is that i have to build the communication of ADC and Fpga MY SELF so looking for two seperate boards 

 

thats why i asked wat are the possible aspects of VME interfacing with FPGA 

 

--- Quote End ---  

There is difference between 'communications' with a board over VME or PCI, and transferring all the data from the ADCs over PCI. Your earlier posts indicated you wanted to stream the ADC data over PCI, and this you cannot do, there is simply not enough bus bandwidth. The same goes for VME. 

 

The design of the ADC interface to the FPGA should be fairly simple. Provide details on the Agilent board, which I think is probably an Acqiris board - right? If so, these boards use Xilinx FPGAs, so for design help, you will have to find a Xilinx forum. If you want to get data from that board, you will need to purchase whatever IP Agilent has for getting data from the ADC. The big issue with commercial boards like this is they usually want big bucks for their IP. 

 

Cheers, 

Dave
0 Kudos
Reply