Z3r0

Maximum IO switching speed?

Recommended Posts

Hello, I have probably quite newbish question. I Would like to make something very simple to test my osiloscope frequency capabilities. So for example a 100 mhz square wave on one of the papilio outputs. The problem is that it seems the most I get is 32mhz and that is not square anymore, but sinusoidal :) I am able to configure DCM, addiding a counter after the DCM to slow down I can see that internaly papilio is working just fine on 100mhz. But not the output. I also saw that guys interface in quite high speeds with LVDS. So am I missing something or spartna 3E just can't handle any more than ~20MHz ? :) Tried to search forums/dataheet, but just can't find anything regarding frequency and IO. Any kind of information would be nice

 

Thank you :)

Share this post


Link to post
Share on other sites

There is no such thing as a "perfect" square wave. Rise and fall times, due to capacitance, inductance and driving capability, will distort your visual signal.

 

For speeds up to ~80Mhz, a simple output should work, but you have to take care of impedance. For such high frequencies, configure your scope to use a 50ohm input impedance, rather than default 1Mohm. That should give you a better waveform. Depending on the input characteristics (TTL,CMOS, with or without hysteresis) you will see "ones" and "zeros" at different points.

 

For higher speeds, you may want them to be differential, and observe the output eye pattern rather than the waverform itself: https://en.wikipedia.org/wiki/Eye_pattern

 

Pre-emphasys can also be used to make signal a bit better, but will cause overshoot and undershoot. https://www.altera.com/en_US/pdfs/literature/wp/wp_sgnlntgry.pdf

 

What's your scope BW ?

 

http://www.electron.frba.utn.edu.ar/~jcecconi/Bibliografia/06%20-%20Osciloscopios%20de%20Almacenamiento%20Digital/Understanding_Oscilloscope_BW_RiseT_And_Signal_Fidelity.pdf

 

http://www.ni.com/white-paper/4333/en/

 

Alvie

Share this post


Link to post
Share on other sites

Don't expect a 100 MHz square wave to show up as such on a 100 MHz bandwidth scope.  You need at least 10x bandwidth for a square wave to show up as a square wave.

In your case I would expect anything above 10 MHz to get rounded off and look more and more like a sine wave as the frequency increase.

 

Magnus

Share this post


Link to post
Share on other sites

Yeah, link on signal fidelity posted by alvieboy speaks just about that. Well you live and learn. Atleast now I know how and why :) In anycase tried to output 91Mhz out of papilio, used 10x attentuation

and a spring ground. Got a waveform (whatever form it was, still saw highs and lows), and got counted frequency value of 90,99Mhz and thats more than enough for me for next few years, and as I said now I know that spartan 3e is able to spit relative high frequency on its outputs and that I can't accuratly meassure them with my gear. So thank you guys for hellping a new guy out. Next to read and try out something with lvds signals :)

Share this post


Link to post
Share on other sites

Hi,

 

most electronics problems aren't solved by brute force. But that said :) you can increase the drive strength of the IO pins. That is, in the constraints file

 

NET xyz SLEW="FAST" DRIVE=24

Can't say how much it helps for an excessive capacitive load but it's worth a try (using a 1:10 probe is generally a good idea because of the reduced loading)

 

If you need a faster counter, you can write it yourself (verilog). "MyInput" should be a clock-capable pin, then you should be able to count 200..300 MHz:

 

reg[23:0] MyCounter = 24'd0;

assign myLedOutput1 = MyCounter[23];

assign myLedOutput2 = MyCounter[20];

assign myLedOutput3 = MyCounter[17];

 

always @(posedge MyInput)

myCounter <= MyCounter + 24'd1;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now