Quelqu'un peut-il m'aider?

S

staraimm

Guest
Salut tout le monde:

Je suis maintenant concevoir quelque chose avec FPGA.J'ai un signal d'horloge de contrôle et de 8 bits de données de signaux en entrée.Le signal d'horloge utiliser la double tranchant pour transférer les données.Je veux changer le transfert de données à l'aide de FPGA.L'idée est quelque chose comme suit:..................... Inclk -------------------> outclk
. Expéditeur --------------- ---------------- FPGA EP1C12 récepteur

... Données --------------------------====> données »=====>Tout d'abord, comme une expérience, j'ai directement connecté la broche avec le outclk inclk, et des données avec les données.Mais en fait, les données ne peuvent être reçues par le récepteur correctement.J'ai pensé que peut-être le retard de la carte FPGA voilates la configuration des données et des temps de maintien.

Deuxièmement, j'ai écrit le code Verilog-dessous pour vérifier si je peux contrôler les données temps de maintien.

toujours @ (posedge inclk)
<= "Données de données;

attribuer outclk = inclk;

Mais je trouve de la forme d'onde de simulation que les données sont valable à juste au posedge de outclk.Même moi, je mis la valeur de configuration de tc0 plus, je ne peux pas changer le résultat.Quelqu'un peut me dire comment réaliser la fonction et d'assurer la rétention des données de temps selon l'outclk?

 
Essayez de mettre '<= de données de données après un délai (l'ajouter manuellement)

Dites-moi ce qui s'est passé,

Cordialement,
Ahmad,

 
Salut Ahmad,

Vouliez-vous dire le code comme suit:

toujours @ (posedge inclk)
<= '# 10 Les données de données;

Mais je suis a appris que le "# 10" le retard n'est pas réellement synethsised.Avez-vous vraiment dire cela?

 
Je ne comprends pas votre diagramme à partir de points et de tirets.Pouvez-vous élaborer un chronogramme qui explique ce que vous tentez de le faire?

Verilog ne permet pas une variable nommée données.L'apostrophe n'est pas autorisé.

Lorsque vous exécutez la simulation, est-il une simulation du comportement (avant la place et route), ou une route de simulation post?La simulation du comportement ne sera pas diffusée les retards porte FPGA et des retards de routage.

En général, vous n'avez pas un contrôle aisé des temps de montage, les temps d'attente ou des retards d'autres.Ces valeurs sont dictés par les performances de routage et de FPGA.

 
Salut,

Le chronogramme est dans la pièce jointe.

Je n'utilise pas une variable nommée données en Verilog code.Je veux juste vous informer que les données est différente avec les anciennes données.
Et je lance le calendrier de simulation.
Désolé, mais vous avez besoin de connexion pour voir cette pièce jointe

 
Votre chronogramme ne montre pas la fréquence d'horloge ou d'installation / mise en attente exigences.Cette info est nécessaire pour bien concevoir la logique d'interface.

Il semble que vous avez besoin de DDR (double débit de données) d'entrée et de registres de sortie de DDR.Ils peuvent transférer des données sur les deux bords d'horloge.

Votre montre chronogramme outclk précisément aligné avec inclk.Si vous avez vraiment besoin que l'alignement, vous avez probablement besoin de générer outclk avec une PLL ou DLL ou autre mécanisme d'alignement de phase est prévue dans votre FPGA.

Votre diagramme montre également des données de sortie est presque simultanée avec les données d'entrée.Qui permet pratiquement à zéro le temps pour les FPGA de faire tout traitement des données.

 
Salut,

Merci pour la réponse.Le inclk n'est pas réellement l'horloge qui n'a pas la fréquence const.Et inclk de fréquence n'est pas la plus 25Mhz.Le temps d'installation des données est d'environ 20ns, et le temps de maintien est sur le 5ns.
J'ai lu quelques meterials sur le DDR ".Mais en fait, qui ne peuvent pas m'aider à tous.Je ne sais pas les données modifiées lorsque le front d'horloge vient.
Avez-vous vu la forme d'onde troisième fois?Avez-vous notez l'heure entre les Données1 et data1?
Je veux transférer les données modifiées: les données avec l'outclk.
attribuer outclk = inclk;

Mais je ne peux pas contrôler les données temps de maintien.Ai-je expliquer clairement la situation?

Merci pour plus de réponse.Ajouté après 3 minutes:Salut,

Merci pour la réponse.Le inclk n'est pas réellement l'horloge qui n'a pas la fréquence const.Et inclk de fréquence n'est pas la plus 25Mhz.Le temps d'installation des données est d'environ 20ns, et le temps de maintien est sur le 5ns.
J'ai lu quelques meterials sur le DDR ".Mais en fait, qui ne peuvent pas m'aider à tous.Je ne sais pas les données modifiées lorsque la ligne d'horloge est.
Avez-vous vu la forme d'onde troisième fois?Avez-vous notez l'heure entre les Données1 et data1?
Je veux transférer les données modifiées: les données avec l'outclk.
attribuer outclk = inclk;

Mais je ne peux pas contrôler les données temps de maintien.Ai-je expliquer clairement la situation?

Merci pour plus de réponse.

 
staraimm a écrit:

Salut Ahmad,Vouliez-vous dire le code comme suit:toujours @ (posedge inclk)

données <data '= # 10;Mais je suis a appris que le "# 10" le retard n'est pas réellement synethsised.
Avez-vous vraiment dire cela?
 
Je ne suis pas sûr de comprendre votre système, mais je pense que vous voulez retarder la sortie de données FPGA par rapport à outclk satisfaire à l'exigence de tenir 5ns l'appareil récepteur.J'ai l'habitude de résoudre ce type de problème en générant Une plus grande fréquence d'horloge interne FPGA, par exemple 100 MHz.Puis-je générer outclk sur un cycle, et la sortie des données sur le cycle suivant.Cela donne un temps de maintien 10ns stable pour l'appareil récepteur.

Cependant, je crois que je vois un problème de minutage.Un outclk 25MHz a une période 40ns, de sorte que le temps entre les transitions outclk est 20ns maximum.Mais c'est trop petit pour accueillir dispositif de 20ns d'installation de la réception de la plus tenir 5ns!

 
pp fil; / 5ns retard / si votre appareil est "-5"
ppp fil;
pppp fil;
pp =! inclk;
PPP =! pp;
pppp =! PPP
maintenant le pppp est retardée par 15ns inclk

 
Merci pour toute réponse.Je pense que je dois expliquer somethings premier.La fréquence maximale est de 25m inclock hz.Et si oui, le temps d'installation des données est tout 11ns ou si les données et temps de maintien est juste ou si 4ns.

Je pense que l'aide de la CLK haut pour aligner le signal de commande et les signaux de données proposée par echo47 peut être utile.

Le code proposé par DL80196_China

pp fil; / 5ns retard / si votre appareil est "-5"
ppp fil;
pppp fil;
pp =! inclk;
PPP =! pp;
pppp =! ppp;
n'est pas applicable beacause la logique sera simplized par le synthétiseur.

 
Je pense que la cession clk élevée est ce qui est également suggéré par Ahmad.au lieu d'utiliser directement retard, nous introduisons un nouveau retard au moyen d'une plus grande horloge.

par exemple,

toujours @ (clk_25Mhz)
if (flag == 2'b01)
data1 <= données;
d'autre
data1 <= data1;

/ / Allant à l'encontre libre qui produit un 1 / 4 retard
/ / De son devoir MHz cycle d'horloge 25, un.

toujours @ (clk_100Mhz)
<Flag = drapeau 1 B1;

cheers!

 

Welcome to EDABoard.com

Sponsor

Back
Top