Bonjour à toutes et à tous,
je suis entrain d'implémenter un FIFO en vhdl, et j'ai une question qui me bloque:
est ce que je peux vider la FIFO brusquement, et si oui comment?
merci d'avance.
-----
25/07/2008, 10h55
#2
invitee05a3fcc
Date d'inscription
janvier 1970
Messages
66 449
Re : Vider une fifo
Je connais pas le VHDL ... mais les FIFOs.
Tu as un pointeur d'écriture et un pointeur de lecture? Tu mets la valeur du pointeur d'écriture dans le pointeur de lecture et ton FIFO est vide .....Si il y a un compteur de mot stocké, qui représente en gros la différence des pointeurs, tu le mets aussi à zéro
25/07/2008, 11h04
#3
invite588e6ad8
Date d'inscription
janvier 1970
Messages
20
Re : Vider une fifo
bonjour, merci daudet78 pour ta réponse,
et les données qui existent déja dans la FIFO, ils s'écrasent automatiquemant ou quoi? en fait, j'ai pas bien compris ton raisonnement.
merci d'avance.
25/07/2008, 11h25
#4
invitee05a3fcc
Date d'inscription
janvier 1970
Messages
66 449
Re : Vider une fifo
les données dans le FIFO, on s'en contre-balance. Que ce soit des 0xFF, des 0x00 ou des 0xA5 ! Si le pointeur de lecture à la même valeur que le pointeur d'écriture, le Flag "FIFO_Vide" est levé et il n'y a plus de lecture possible car le FIFO est vide. La prochaine écriture dans le FIFO fait avancer le pointeur d'écriture (modulo la taille du FIFO), baisse le Flag "FIFO_Vide". La prochaine lecture du FIFO vient lire cette première écriture ...... comme tout bon FIFO qui se respecte
Aujourd'hui
A voir en vidéo sur Futura
25/07/2008, 12h34
#5
invite588e6ad8
Date d'inscription
janvier 1970
Messages
20
Re : Vider une fifo
merci, je vois ce que tu veux dire, tout en esperant que ca va marcher en materielle (je fais du hard).
merci encore.
au revoir
25/07/2008, 16h40
#6
invite067d8d6c
Date d'inscription
janvier 1970
Messages
65
Re : Vider une fifo
Salut,
il y a quelque chose qui m'échappe un peu. Tu est bien en train de faire le vhdl ou tu l'as trouvé sur le net??
Parce que tu es maitre de ton IP?? Donc quelle est ta question?? Est-ce que ça se fait?? Ou Comment le faire?
25/07/2008, 16h53
#7
invitee05a3fcc
Date d'inscription
janvier 1970
Messages
66 449
Re : Vider une fifo
Envoyé par Xtr£M
il y a quelque chose qui m'échappe un peu. Tu est bien en train de faire le vhdl ou tu l'as trouvé sur le net??
Moi aussi dans ta question ! Le VHDL est un langage de programmation qui permet de programmer ... des circuits programmables (Xilinx, Altera Lattice entre autres). Que vient faire l'IP et Internet ? http://fr.wikipedia.org/wiki/VHDL
26/07/2008, 10h02
#8
invite067d8d6c
Date d'inscription
janvier 1970
Messages
65
Re : Vider une fifo
Salut daudet!
Il y a en effet une petite mésentente! Lorsque je dit IP c'est Intellectual Propertie. Donc, je vouloir savoir Mister si tu codes ton VHDL ou si c'est un code tout fait!
Comme disait daudet, ta FIFO comporte donc X mot de Y bits!
Ensuite pour le chargement et le déchargement de ta FIFO, tu as soit un "port" série, soit parrallèle.
Deux autres I/O sont assez utilisées, une patte Busy et une Empty!
Enfin il faut une dernière patte au moins, qui te sert pour "décharger" ta FIFO. Soit une clock et à chaque coup d'horloge tu incrémentes ton pointeur par exemple, c'est donc un mode synchrone, soit et là c'est plus dur à gérer, un patte de commande de vidage simple (mode asynchrone).
Donc tu peux aussi te dire que tu gère ton pointeur! A ce moment là une patte RAZ mets ton pointeur à 0 (ou une autre valeur biensur) et ton flag Empty se retrouve instantanement à 1. Ensuite tu viens écrire par dessus le données déjà éxistantes!
26/07/2008, 14h27
#9
jiherve
Date d'inscription
juin 2006
Localisation
gironde
Âge
72
Messages
26 559
Re : Vider une fifo
Bonjour
pour vider la plupart des fifo il y a une patte étonnante : RESET!
Que cela soit une Fifo discrète ou le résultat d'un code VHDL.
JR