UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
8,244 Views
Registered: ‎07-28-2008

Spartan6 dynamic serial output and LVDS input/output, possible?

Jump to solution

Just wondering if it possible to created a design with high speed OSERDES2 output to IOBUFDS. And able to switch mode for the same IOBUFDS to be used as general purpose input to FPGA logic.

 

Another mode is the same design dynamically drives IOBUFDS output with general logic, swtich to OSERDES2 output on the fly.

 

Would these violate placement rules?

Tags (2)
0 Kudos
1 Solution

Accepted Solutions
Historian
Historian
16,031 Views
Registered: ‎01-23-2009

Re: Spartan6 dynamic serial output and LVDS input/output, possible?

Jump to solution

For the first, yes. The Input/Output Block (IOB) has more or less independent input and output stages. So you can definitely use the OSERDES (which has a dedicated connection to the OBUF part of the IOB) as well as the IBUF. The OBUF (really OBUFT) is tristratable, either directly (from the fabric) or through the OSERDES so that you can turn off the driver, and hence "listen" to the input on the IBUF.

 

For the second, no. There is only one connection to the OBUF - it is statically set (from the configuration bitstream) to either be the output of the OSERDES, the ODDR, or combinatorially from the fabric. This cannot be changed dynamically.

 

Avrum

4 Replies
Historian
Historian
16,032 Views
Registered: ‎01-23-2009

Re: Spartan6 dynamic serial output and LVDS input/output, possible?

Jump to solution

For the first, yes. The Input/Output Block (IOB) has more or less independent input and output stages. So you can definitely use the OSERDES (which has a dedicated connection to the OBUF part of the IOB) as well as the IBUF. The OBUF (really OBUFT) is tristratable, either directly (from the fabric) or through the OSERDES so that you can turn off the driver, and hence "listen" to the input on the IBUF.

 

For the second, no. There is only one connection to the OBUF - it is statically set (from the configuration bitstream) to either be the output of the OSERDES, the ODDR, or combinatorially from the fabric. This cannot be changed dynamically.

 

Avrum

Explorer
Explorer
8,222 Views
Registered: ‎07-28-2008

Re: Spartan6 dynamic serial output and LVDS input/output, possible?

Jump to solution
Thanks a lot for prompt, accurate and complete answer.
0 Kudos
Instructor
Instructor
8,208 Views
Registered: ‎08-14-2007

Re: Spartan6 dynamic serial output and LVDS input/output, possible?

Jump to solution

Actually, it's possible to get two completely independent inputs from an LVDS pair using IBUFDS_DIFF_OUT.  Then one of these can go to the ISERDES and the other can be used combinatorially or with a standard or DDR input register.  That's because a differential input has the resources from both the P and N pins.  There may be restrictions if you cascade ISERDES to get a longer input word.

-- Gabor
Historian
Historian
8,200 Views
Registered: ‎01-23-2009

Re: Spartan6 dynamic serial output and LVDS input/output, possible?

Jump to solution

Gabor,

 

Inputs are actually quite a bit more flexible (the original question, though, was asking about outputs).

 

From an input (even a single ended one), you can drive multiple different destinations simultaneously - you can use both the path to the ISERDES or IDDR as well as a combinatorial connection to the fabric at the same time. This is actually done quite often in dynamic calibration circuits; a clock input takes the combinatorial path out of the ILOGIC (in this case to the dedicated route to clocking resources), as well as to the ISERDES to sample the clock (for calibration).

 

But for an OBUF, it has to be one or the other; the OBUF input has to be driven either by the ODDR, the OSERDES or fabric logic.

 

In other words, its possible to have multiple fan-outs from an IBUF, but you can have only one fan-in to an OBUF.

 

Avrum

0 Kudos