I'm using several Xilinx FPGAs and boards from Spartan3E up to KC705/VC707 and I'm very familiar with UCF files, but there is one question that bothers me...
Why does translate for Virtex-6 not know IOSTANDARD LVDS, but translate for Series7 does?
or
Should I use IOSTANDARD LVDS_15 on KC705 for sysclk instead of LVDS?
Here is the correct UCF snippet for a KC705 board's SystemClock:
## Bank: 33 - VCC=1.5V (VCC1V5_FPGA)
## Location: U6 (SIT9102)
## Vendor: SiTime
## Device: SIT9102AI-243N25E200.0000 - 1 to 220 MHz High Performance Oscillator
## Frequency: 200 MHz, 50ppm
NET "KC705_SystemClock_200MHz_n" LOC = "AD11"; ## {IN} U6.5
NET "KC705_SystemClock_200MHz_p" LOC = "AD12"; ## {IN} U6.4
NET "KC705_SystemClock_200MHz_?" IOSTANDARD = LVDS;
NET "KC705_SystemClock_200MHz_p" TNM_NET = "NET_SystemClock_200MHz";
And here is an accepted UCF snippet for a ML605 board's SystemClock:
## Bank: 34 - VCCO=2.5V (VCC2V5)
## Location: U11 (SIT9102)
## Vendor: SiTime
## Device: SiT9102 - 1 to 220 MHz High Performance Oscillator
## Frequency: 200 MHz, 50ppm
NET "ML605_SystemClock_200MHz_n" LOC = "H9"; ## {IN} U11.5
NET "ML605_SystemClock_200MHz_p" LOC = "J9"; ## {IN} U11.4
NET "ML605_SystemClock_200MHz_?" IOSTANDARD = LVDS_25;
NET "ML605_SystemClock_200MHz_p" TNM_NET = "NET_SystemClock_200MHz";
Normally, an I/O standard is associated with a voltage so STA can calculate the correct timings. Further more I saw many differential clocks feed into FPGAs with AC-coupling (e.g. from ICS844021I for SGMII).
But when we look into both schematics, we can't find an AC-coupling for sysclk:
- ML605 Schematic
- KC705 Schematic
Normally, I would say LVDS should be used if AC-coupled and LVDS_xx should be used if DC-coupled. But the KC705's UCF says the contrary.
Can anyone explain when LVDS
should be used?
P.S.
1. The KC705 snippet is from KC705 master-XDC incl. IO standards
2. The ML605 master-UCF is shipped without IO standards