02-21-2017 05:52 PM
I am trying to generate a square wave on one of the output pins of the nexys 4 ddr board. The frequency of the signal is 100 Mhz as expected. However, when I observe this on an oscilloscope(It has a bandwidth of 1 Ghz), I do not see a square wave. It looks more like a sine wave. If I lower the frequency of the signal to 25 Mhz or so, I do see a square wave.
Is it possible to generate a proper square wave of 100 Mhz where the edges are sharp?
I have attached the image of the output waveform obtained on the output pin.
02-21-2017 07:11 PM
What is the IO standard you're using? If it's LVCMOS, you need to set the slew rate to FAST. Also the scope trace may not really show you the signal unless you're probing right at the pin of the FPGA. Otherwise you may be seeing the result of reflections on an improperly terminated line. In addition, the scope grounding can affect what you see. A long ground lead can also create apparent signal distortion.
02-22-2017 05:34 PM
I am using LVCMOS33 IOStandard. The probe of the oscilloscope(DSO6104A) is connected to the pin 1 of the
02-23-2017 05:27 AM
when you mean sharper edges, what exactly are you looking for?
You need a properly terminated line, proper grounding of the scope probe to be sure that what you see is what is really the signal on the board.
02-23-2017 12:56 PM
I have attached the image of a pulse at a lower frequency and the one with higher frequency.
I wish to have the pulse at 100 Mhz look more like the one at 12.5 Mhz . The output I receive at 100 Mhz has a lot of distortion.
The oscilloscope is properly grounded, so that is not the problem.
I checked the schematic and there is only a resistor before the signal reaches the pin1 of the JB port. I feel this might not be an improperly terminated line.
Given that the frequency has to be 100 Mhz, is the distorted signal image the best I can achieve at that pin or is there something I can do to get a pulse that looks more like the other picture with sharper edges and no glitches?
02-23-2017 01:55 PM
Probably the best you can do would be to find those 200 ohm resistors and replace them with something much lower, possibly 22 Ohms. Even that presumes that the resistors are placed closer to the FPGA than to the PMOD connector. Otherwise they aren't really doing much for you other than preventing damage from overvoltage. If they're located close to the connector, you could replace them with 0-Ohm jumpers. Then you might try to add parallel termination at the connector or at the other end of the cable you attach to it.
The PMOD system isn't designed to be high speed. If you have other options on your board, you might be better off using them.
03-01-2017 01:05 PM
The resistors are located close to the connector. Replacing them with jumpers did not yield any better signal.
I understand that the PMOD system is not designed to be high speed. However, I do not have any other open ports available. I do not mind removing other peripherals and then use those output pins.
The I/O available on the Nexys 4 DDR besides the PMOD ports include LED, 7 segment display, VGA connector, Ethernet connector, USB and microphone. I did not see a better waveform on any of these ports.
Is there any other approach that I can take to get a signal which runs at 100 Mhz that is glitch-free and with sharp edges?
I am using the 100 Mhz crystal oscillator that is built-in. Is there a way to run the code itself at a higher frequency than 100 Mhz ( like an external clock) and then maybe it could help generate the required signal at 100 Mhz? And if so, how do I go about it?