Why Differential Standards do not exist in FPGA PlanAhead

differentialfpgalvdsplanaheadxilinx

I have never used differential I/Os in FPGA ( XC3S400). I always use PlanAhead for pin planning .When I click on a specific pin, it has all single ended standards but none of the differential standards exist ( as LVDS-25 , DIFFxxx, …). When I try manually type these standards into the relative boxes, I receive an error ( the line gets red and save stops).

What am I missing?

I think it is possible to assign a differential I/O in .ucf file , but I don't know the syntax!

enter image description here

Best Answer

Were you trying to assign those pins as outputs? Xilinx Spartan3 FPGAs have a restriction that the differential standard outputs can be assigned to Banks 0 or 2 only. Only a few combinations of IOSTANDARDS are also possible on those banks. For further details, please refer to Differential I/O Standard Bank Compatibility" section under chapter 10 in UG331.

Not sure why the differential standard is not showing up in the "Create IO Ports" option in PlanAhead. However, if you want to assign it through .ucf, you can use this syntax:

NET LOC = | IOSTANDARD = LVDS_25; NET LOC = | IOSTANDARD = LVDS_25;

This example is assuming that you are trying to use 2.5V LVDS IOs. If you are trying to use another IOSTANDARD, please substitute the keyword for the respective standard.