low speed communication

Hi everybody, I have two Virtex4 FX12 Minimodules and I'd like to make them communicate eachother. These modules don't have any special transciver (RocketIO, ...) and are equipped with one PPC. The communication doesn't require high bandwidth, I need at least 30 Mbps (more it's better). The application is designed to implement a special math algorithm so the communication isn't the focus of the application and thus I cannot use all the resources for the communication. I'm using xilinx ISE and XPS to develop the application.

Any suggestions on what I can I do? Protocols? Cores? Hardware issues that I should take in account? Design references from where I can start?

Thanks,

Andrea

Reply to
Andrea05
Loading thread data ...

How abstract is your communication? If you're implementing a fixed data path, it's easy: clock and data. If you want to transfer data, exchange code segments, and post an email through a PPC-based webserver, the need for more advanced communications and protocols become attractive.

Reply to
John_H

Yes clock and data seems to be sufficient but there isn't a peripheral for such kind of communication. All the SPI peripherals that I found are Master only for off-chip communication. Moreover at 30bps there are some electrical issues which increase the bit rate error.

Have you already implemented a peripheral for this kind of job?

Reply to
Andrea05

Andrea,

Since there are no MGT's, you will need to use some IO's from IO banks.

You can use: some number of LVDS 100 ohm differential drivers to receivers (one direction only, use two sets of buses), a group of single ended IOs matched to a ribbon cable (with ground, signal, ground, dignal, this is close to 50 ohms, and can go perhaps 10 meters at the speed you need).

I suggest the single ended groups, perhaps 8 wires for data, and one forwarded clock (for nine signals), and a bus like this for each direction.

Clocking these 8 wires at even 10 MHz, would provide 80 Mb/s. At this slow a rate, you don't really need to clock forward, but I still would suggest it (along with the data, there is the clock on the ninth wire to strobe the other end). That way, you don't have to figure out how to get the clock off of one pcb, and get it to the other one (for a system synchronous solution).

Just have registers at each end, and create your own (very simple) protocol. If a "data valid" or "data waiting" signal is needed, just use another wire. 20 wire ribbon cables are pretty common (ten signal, ten grounds). Drive the transmit end with something like LVCMOS 8 mA FAST, which is very close to 50 ohms, and there should be no overshoot, or undershoot, and the Signal integrity will be good. If that is still too strong, 6 mA, and even 4 mA drivers can be selected.

The only reason a protocol is required with the MGTs (like aurora:

formatting link
is that designers need huge bandwidth, and in order to re-synchronize multiple MGTs (channel bonding), a layer is required to manage all that stuff.

With a simple parallel interface, you pretty much only need to implement what you need.

To connect these buses to the 405PPC, you will either have to interface to the PLB bus, or create an input and output port that is connected to the 405PPC. Depending on how fancy you want this to be, it could be as simple as input and output instructions (you create the protocol in software), or as fancy as a FIFO buffer with DMA into memory mapped into the 405PPC data memory (the protocol commonly used here is referred to as "flags placed under a rock" which is a reference to one processor just waits for a memory location to change, which tells it that the data it is waiting for is all there, and ready to be read from memory...the transmitting processor sends all the data, and sets the flag to tell the receiving processor to pick up the data.

Lots of choices here, and not many "standards" as the task is very simple, and folks tend to use only what logic they need to in order to do the job.

Once you pop up to MGTs, there are many more choices, only because there are more complex interfaces: ethernet, fibre channel, PCIe, etc.....

If you don't need fibre channel, then you don't need media access controllers (MAC), etc.

formatting link

Austin

Reply to
austin

aurora:

formatting link

etc.http://www.xilinx.com/products/design_resources/conn_central/solution...

Thank you Austin for your reply, I found it very intresting. I'll search something about your hints over internet and I'll post the results (and surely other questions).

Just another little question. Why, in your opinion, even Xilinx in its SPI core doesn't support off-chip Master? SPI peripheral seems to fit well to my design requrements but it has this huge limitation... I don't understand why... Any ideas?

Reply to
Andrea05

How far does this need to travel ? Fibre optic modules perhaps ? Maybe HDLC type protocol, sped up to FPGA speeds.

-jg

Reply to
Jim Granville

aurora:

formatting link

etc.http://www.xilinx.com/products/design_resources/conn_central/solution...

Andrea, I looked at ds464 OPB SPI interface, and it indicated it supports both master and slave modes. Is slave mode different from off-chip Master mode?

-Newman

Reply to
Newman

aurora:

formatting link

etc.http://www.xilinx.com/products/design_resources/conn_central/solution...

Andrea, Oh, I see your point. In the features portion, it says it supports master and slave SPI modes, but down in the functional description, it says at this time only off-chip SPI slave devices are allowed. This is because the artifact of software master control arbitration is not guaranteed if off-chip masters were allowed and due to some issue with asynchronous external clocks.

I saw a web page where an Altera SPI was connected to an off-chip master as a slave instance.

-Newman

Reply to
Newman

aurora:

formatting link

etc.http://www.xilinx.com/products/design_resources/conn_central/solution...

OPB_SPI sucks because it does not support off-chip clock input. Xilinx guys, please remedy this in future versions!!! It is much easier to implement parallel interface for your case if you can afford additional pins. If the distance is not too great even single ended signals could do the job. Regarding reference designs for V4 MiniModule; search here:

formatting link

Cheers,

Guru

Reply to
Guru

Thank you guys for the suggrstions.

I must transfer data for about 20cm in an almost continuous way.

Guru have you tried the OPI_SPI with an off-chip master? Reading the datasheet it seems that Xilinx doesn't *guarantee* that with an off-chip Matster the OBP_SPI works but it seems (I hope) that sometime a missynchronization may occour...

If you read the XAPP265 you can see that the peripheral they realize is *very* similar to an SPI... It doesn't seem that there are problems even at the high rate stated in the application note (840 Mb/s if i remember well...)

Now I'm working on another project so I can't try to use OBP_SPI with off-chip master, but does anybody tried an OPB_SPI with an off-chip mater ?

Let me know...

Cheers, Andrea

Reply to
Andrea05

Hello everyone, I just bought a brand new ML402 development board and found that all reference designs are bit streams. I'd like to start implementing a VGA interface much like the one provided as a reference design (ie. load data from CF and show them on monitor), so I am searching for either sourcecodes of the reference design (in case they are available and I have overlooked them) and/or for simulation models for peripherals if these are commonly available.

Any pointers and directions welcome.

Regards, Tomas

Reply to
Tomas Davidovic

Hello everyone, I just bought a brand new ML402 development board and found that all reference designs are bit streams. I'd like to start implementing a VGA interface much like the one provided as a reference design (ie. load data from CF and show them on monitor), so I am searching for either sourcecodes of the reference design (in case they are available and I have overlooked them) and/or for simulation models for peripherals if these are commonly available.

Any pointers and directions welcome.

Regards, Tomas PS: I am sorry for doubleposting, I am still trying to come to grips with Thunderbird as a news client

Reply to
Tomas Davidovic

We have all of the reference designs online in the ML402 board area

formatting link
-> (Documentation) ML402 Demo and Reference Designs -> ML402 DSP48 Video Demonstration (I think this is the one you want) -> documentation and source files (ZIP)

Ed McGettigan

-- Xilinx Inc.

Reply to
Ed McGettigan

Thanks, I am looking for something in VHDL/Verilog, tho. Didn't realise these file could actually be the design.

Tomas

Ed McGettigan napsal(a):

Reply to
Tomas Davidovic

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.