OK. I’ll back off on this. I’m a bit sorry for starting the thread, but I want to explain my thinking (There actually was some.) before going away.
It is possible to create instantiations of OBUFDS and IBUFDS buffers on 3.3 banks and I was thinking that I had created a LVDS_33 output or input. Some Xilinx documents refer to LVDS_33 as the default differential IOSTANDARD. Now that I’ve studied the Xilinx documents again, I see that this is an I/O standard for the Spartan-3A but not the Spartan-3E. My mistake.
However, I CAN instantiate OBUFDS on a 3.3V bank without specifying the IOSTANDARD and when I do I get a working differential output on a pair of pins on the XEM3005. What have I really created in this case? Why shouldn’t I use this as a differential output? Is this dangerous to the FPGA? The fact that these worked was why I didn’t notice the limitations in the Xilinx docs. Bad practice on my part but it leaves me wondering.
I understand that the XEM3005 was not specifically designed to support LVDS, but I thought that this was an issue only if the performance envelope is being pushed.
As for my 75% number, the I/O pins on JP3 and JP4 have the following breakdown (unless I counted wrong):
24 pins, dedicated inputs, single ended
12 pins, dedicated inputs, in 6 differential pairs (xyz_p and xyz_n both on the connector)
2 pins, input/outputs, single ended
62 pins, input/outputs, in 31 differential pairs
3 pins, input/outputs, without a differential pair on JP3
Therefore, 77 pins out of 103 are members of a differential pair. That was my math for the 75% number. That may be meaningless math given the above discussion, but that’s what I was thinking.
I wasn’t suggesting that the manual state that differential signaling is possible only if both pins are available (which is indeed redundant), but that there could be a asterisk of something at those pins for which the mate is not in the table. That would avoid someone picking a pin, then searching the table for a mate which is not in the table. But maybe that would encourage differential use where it is not encouraged.