Estoy usando varios FPGAs Xilinx y tableros desde Spartan3E hasta KC705 / VC707 y estoy muy familiarizado con los archivos UCF, pero hay una pregunta que me molesta ...
¿Por qué traducir para Virtex-6 no se conoce IOSTANDARD LVDS, pero sí para traducir Series7?
o
¿Debo usar IOSTANDARD LVDS_15 en KC705 para sysclk en lugar de LVDS?
Aquí está el fragmento de código UCF correcto para el SystemClock de una placa KC705:
## 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";
Y aquí hay un fragmento de UCF aceptado para el SystemClock de una placa ML605:
## 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";
Normalmente, un estándar de E / S está asociado con un voltaje para que STA pueda calcular los tiempos correctos. Además, observé que muchos relojes diferenciales se alimentaban a los FPGA con acoplamiento de CA (por ejemplo, de ICS844021I para SGMII).
Pero cuando observamos ambos esquemas, no podemos encontrar un acoplamiento de CA para sysclk:
- ML605 Schematic
- Esquema KC705
Normalmente, diría que LVDS debería usarse si AC-acoplado y LVDS_xx deberían usarse si está acoplado a DC. Pero la UCF del KC705 dice lo contrario.
¿Alguien puede explicar cuándo se debe usar LVDS
?
P.S.
1. El fragmento KC705 es de KC705 master-XDC incl. Normas IO
2. El ML605 master-UCF se envía sin estándares de IO