Horloge et des données sur VirtexII Pro

S

suquid29

Guest
Salut,

Je suis en oeuvre un circuit sur VirtexII Pro où j'ai besoin de connecter signal d'horloge à l'entrée D de la bascule.(À la fois des données et d'horloge sont horloges, mais pas la même chose).

Est-il possible?Est-ce que l'outil de synthèse (XST) de l'accepter?

Merci!

 
Oui, c'est possible.bien une chose que vous devez comprendre.est que l'entrée de FPGA sont pour la plupart des horloges numériques qui sont eux-mêmes déclenchées par une horloge.Il est donc tout à fait normal d'avoir déclenché une entrée avec une horloge qui, ici, vous en parlez comme une horloge!
Vous devriez considérer deux choses:

1 - l'horloge de votre FPGA principal devrait avoir un taux plus élevé que votre horloge d'entrée afin de ne pas perdre l'un de vos échantillons d'entrée.

2 - Si votre horloge FPGA est un multiple de l'horloge de votre entrée et les deux sont synchronisés, comme le signal d'entrée est un signal de 10 MHz et votre signal d'horloge est un signal 60 MHz, en raison de la synchronisation, vos commentaires doivent être échantillonnées dans une horloge 6 période.mais ce n'est pas le cas habituellement.
Habituellement, vous devez l'échantillon du signal d'entrée pour 2 périodes d'horloge et de les comparer pour voir si elles sont égales à assurer un échantillonnage correct du signal.

Ainsi, il est souvent préférable d'avoir une horloge FPGA avec une fréquence de 2 fois ou plus de l'horloge d'entrée, de sorte que vous pourrez déguster un échantillon d'entrée deux fois avec 2 horloges consécutives.

J'ai aussi écrit un VHDL processus simple de démontrer la question mieux que vous:

-------------------------------------------------- --------------------------------------------------
Par exemple entité est
PORT (
entrée: dans std_logic;
CLK: en std_logic;
...
);
par exemple la fin;example_process architecture de l'exemple est

bascule signal: std_logic: = '0 ';

commencer

processus (CLK)

variable input_sample1: std_logic;
variable input_sample2: std_logic;

commencer

si rising_edge (CLK), puis
<= Bascule pas basculer;

si bascule = '1 'alors
input_sample1: = entrée;
d'autre
input_sample2: = entrée;
fin si;

if (input_sample1 = input_sample2) puis
input_sample processus - 1 ou 2
fin si;
fin si;
processus de bout;
architecture de bout;

 
Merci pour la réponse complète.

Le fait que les horloges à l'aide des ressources spéciales (lignes plus rapide) que les données devraient affecter?

Sinon, je vais continuer avec mon RTL et d'essayer de synthétiser après.En espérant ne pas se brancher avertissements

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />
 
Non, je ne crois pas que cela rien affecter.

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Clin d'œil" border="0" />

La seule chose qui peut limiter votre taux d'entrée est la puissance de traitement FPGA et l'horloge elle-même.S'il ya quelque chose d'autre qui est important s'il vous plaît dites-moi.Peut-être que je ne le sais pas encore

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top