Hi *,
I'm having some issues understanding certain limitations regarding differential inputs/outputs:
- In the "Virtex-4 Packaging and Pinout Specification UG075 (v2.4) September 30, 2005" in table 1-3 on page 14 it is stated that LC, CC and GC pins do not support LVDS outputs. But obviously, they support other differential outputs like DIFF_SSTL18. At least that's what is stated in the "Virtex-4 User Guide UG070 March21, 2006" in table 6-38 on page 289. Is this correct or are there problems to be expected? The tools at least don't seem to mind. If I put LVDS_25-Outputs on CC/LC/GC-pins, I get ERROR:1107 during par (see Answer record #20092, formatting link, if I use DIFF_SSTL18, the flow finishes without errors.
- In an earlier Virtex-II Pro-design I had LVDS_25_DT-inputs in a bank powered with VCCO=3.3V that had LVTTL outputs as well. I asked about this here before I did the schematic and was told this was OK, since the LVDS input buffers are not powered by VCCO, but by VCCAUX, which is always 2.5V. So you can put 2.5V-LVDS-inputs with differential termination enabled in any bank without problems. This in fact works, meaning that neither do the tools complain nor are there any problems "in real life" in the hardware; everything works as expected.
In Virtex-4 this seems to have changed. According to the user guide (see note (2) for table 6-38 on page 290) LVDS input buffers are still powered by VCCAUX, so you can still have them in banks powered with
3.3V. But it seems you can only use the differential termination when your VCCO is 2.5V: "The VCCO of the I/O bank must be connected to 2.5V ±5% to provide 100? of effective differential termination. DIFF_TERM is only available for inputs and can only be used with a bank voltage of VCCO = 2.5V." (page 282).Why is that and what exactly does it mean? The tools don't seem to mind if you enable DIFF_TERM on banks with LVTTL-IOs, there is no error message or anything. So is the passage in the documentation wrong, or does it mean that if VCCO!=2.5V, you don't get 100R of effective differential termination but a different value? What would that value be?
I'd be glad if Austin or someone from Xilinx could clear this up for me...
cu, Sean