2017-03-18 3 views
0

J'ai besoin de réaliser un récepteur synchrone source dans un Virtex 6 qui reçoit des données et une horloge d'un CAN à haute vitesse. Pour le module SERDES j'ai besoin de deux horloges, qui sont fondamentalement l'horloge entrante, tamponnée par BUFIO et BUFR (recommandé). J'espère que ma photo rend la situation claire.Atteindre les régions d'horloge en utilisant BUFIO et BUFG

Clock distribution

Mon problème est que j'ai quelques IOB, qui ne peut être atteint par le BUFIO parce qu'ils sont dans une région d'horloge différente, ne sont pas adjacents. Un ami a recommandé d'utiliser le MMCM et de connecter la sortie à un BUFG, qui peut atteindre tous les IOB. Est-ce une bonne idée? Est-ce que je ne peux pas connecter mon tampon d'horloge LVDS directement à un BUFG, sans utiliser le MMCM auparavant? Mes connaissances sur l'architecture FPGA et les régions d'horloge sont encore très limitées, donc ce serait bien si quelqu'un a de bonnes idées, des mots judicieux ou a déjà trouvé une solution à un problème similaire dans le passé.

Répondre

1

Il est assez courant d'utiliser un MMCM pour les entrées externes, ne serait-ce que pour nettoyer le signal et réaliser d'autres fonctions intéressantes (comme le déphasage de 90/180/270 degrés pour l'échantillonnage à quatre débits).

Avec la série 7, ils ont introduit le tampon d'horloge multi-régions (BUFMR) qui pourrait vous aider ici. Xilinx a publié un bon enregistrement de réponse sur quel tampon d'horloge utiliser quand: 7 Series FPGA Design Assistant - Details on using different clocking buffers

Je pense que votre suggestion d'amis est correcte.

Consultez également cette note d'application pour quelques suggestions: LVDS Source Synchronous 7:1 Serialization and Deserialization Using Clock Multiplication