Making an interface with FPGA

FPGA projects on this site, or abroad

Making an interface with FPGA

Postby renanguerra » Mon Mar 17, 2008 8:51 pm

Hi . :D
Anyone know which is the better , and easiest , way to make an interface between a PC and FPGA ?
For example : I want to send some data to a register inside my FPGA...which is the best way to do that ? Using JTAG ?
If someone knows a tutorial about this subject , please tell me the link ...

Thank you guys !

Renan Guerra
renanguerra
 
Posts: 2
Joined: Mon Mar 17, 2008 8:42 pm

Re: Making an interface with FPGA

Postby mrand » Wed Mar 19, 2008 3:26 pm

renanguerra wrote:Hi . :D
Anyone know which is the better , and easiest , way to make an interface between a PC and FPGA ?
For example : I want to send some data to a register inside my FPGA...which is the best way to do that ? Using JTAG ?
If someone knows a tutorial about this subject , please tell me the link ...
Howdy Renan,
How much is "some data"? Two bits? Two million bits? Continuous or one time? Is there a time limit for the transfer? Is there a desired bit rate? Real-time application or not?

Furthermore, it isn't entirely clear - are you asking what kind of interface you should add to your own design, or do you have an eval board?

http://catb.org/~esr/faqs/smart-questions.html

___Marc
mrand
 
Posts: 91
Joined: Fri Mar 18, 2005 3:04 am

Postby renanguerra » Mon Mar 24, 2008 12:29 am

Hi mrand ? How are you ?
Sorry by my "fuzzy" question...but i don't know yet what amount of data i'll need to transfer . But i believe it would be only few bits , like 2 bytes with a nom-continuous trasmission , the bit rate is not important right now and the system is not a real time ...
I just want to know what is the easiest way to establish communication between PC and FPGA because i dont have any experience yet on this subject...if anyone knows something about it , please , help ...
thanks guys

renan
renanguerra
 
Posts: 2
Joined: Mon Mar 17, 2008 8:42 pm

Postby efpegeay » Tue Apr 29, 2008 7:26 am

Hi everyone,

Sorry to revive an old thread but I see the OP's question was never answered and I am actually wondering the very same thing.

I can tell you the easiest way if you are using Xilinx ISE and a Xilinx based FPGA is to instantiate a BSCAN primitive in your verilog design and then hook up your own register to that primitive's interface.

Here is a pretty well-documented example from one of MIT's digital design lab courses:
http://web.mit.edu/6.111/www/f2005/code ... mem.v.html

For more reading, read XAPP139 from the documentation on Xilinx's website. Now Xilinx also includes a TCL interface to communicate to the cable you are using through a TCL script so in this manner you can transfer data from your PC to your design on the FPGA.

However, it is well known that Xilinx's TCL-to-JTAG interface is VERY slow (some user reported 30 minutes to send 16MB of data to the FPGA) so I am looking for a way to bypass Xilinx's TCL interface and directly drive the cable with my data via C/C++, hopefully at a much faster data rate. I've done a lot of reading about how Xilinx's cable drivers are a proprietary nightmare and accessing them is nearly impossible. Has anyone had any luck?
efpegeay
 
Posts: 1
Joined: Tue Apr 29, 2008 7:07 am


Return to General projects