problème de VHDL[resolu, merci à tous !]
Publié : 08 mai 2007 16:14
Bonjour à tous
Je préfère prévenir: j'ai eu droit cette année à une courte initiation au VHDL (en gros, on nous a dit qu'il y avait entity, architecture et CASE WHEN ELSE etc
)
Alors excusez moi si mes questions vous semblent ridicules
Voici mon problème: écrire un programme simulant le fonctionnement d'une bascule D, ça ne me pose aucun problème. Mais là, j'ai 8 bascules qui se suivent. Je vous mets le lien vers ce montage.
http://img214.imageshack.us/img214/9850 ... iresv1.png
Je dois écrire un programme VHDL permettant de simuler ce circuit. Alors j'ai tout de suite pensé à regrouper les différentes entrées D et Q dans des vecteurs d et q. (des vecteurs de bits quoi)
Et là, premier souci: comment faire pour prendre par exemple le cinquième élément du vecteur d? Car je veux manipuler des bits, pas des vecteurs...
On me dit d'utiliser la commande sll.
Je me dis que c'est cette commande qui va servir donc j'ai fait des recherches et sur un programme VHDL, j'ai trouvé cette syntaxe:
sll(arg1, arg2) où arg1 est un vecteur de arg2 un entier.
Alors si je dis sll(d,5), est-ce que ça veut bien dire que je prends le 5ème élément du vecteur d?
Je préfère demander parce qu'en même temps, ça parle de décalage et j'ai absolument rien compris...
Ensuite, j'ai d'autres questions:
1) avec une bascule, il n'y a aucune ambiguité: D est une entrée, Q une sortie.
Mais là, j'ai des doutes parce que l'on calcule bien les D suivants dans le montage ci dessus, non? Donc on ne peut pas dire que les D soient des bits d'entrée...
(si je commence à douter sur entity, je suis mal barré
). Je dois quand même dire que d sera un "in bit_vector(8 down to 0)" ? ça me semble bizarre...donc si quelqu'un peut m'éclairer
2) vous avez vu qu'au dessus des bascules, il y a 3 portes XNOR. Et je dois utiliser leurs 3 sorties. Je dois définir dans l'architecture des SIGNAL ou je dois le mettre dans entity (en tant que out bit dans ce cas
) ?
3) Est-ce qu'il existe un logiciel où je pourrais écrire mes programmes VHDL pour voir si ils marchent? (ça pourrait me servir pour mon prochain stage...)
S'il vous plait, aidez moi ! Je vous en supplie

Je préfère prévenir: j'ai eu droit cette année à une courte initiation au VHDL (en gros, on nous a dit qu'il y avait entity, architecture et CASE WHEN ELSE etc

Alors excusez moi si mes questions vous semblent ridicules

Voici mon problème: écrire un programme simulant le fonctionnement d'une bascule D, ça ne me pose aucun problème. Mais là, j'ai 8 bascules qui se suivent. Je vous mets le lien vers ce montage.
http://img214.imageshack.us/img214/9850 ... iresv1.png
Je dois écrire un programme VHDL permettant de simuler ce circuit. Alors j'ai tout de suite pensé à regrouper les différentes entrées D et Q dans des vecteurs d et q. (des vecteurs de bits quoi)
Et là, premier souci: comment faire pour prendre par exemple le cinquième élément du vecteur d? Car je veux manipuler des bits, pas des vecteurs...
On me dit d'utiliser la commande sll.
Je me dis que c'est cette commande qui va servir donc j'ai fait des recherches et sur un programme VHDL, j'ai trouvé cette syntaxe:
sll(arg1, arg2) où arg1 est un vecteur de arg2 un entier.
Alors si je dis sll(d,5), est-ce que ça veut bien dire que je prends le 5ème élément du vecteur d?
Je préfère demander parce qu'en même temps, ça parle de décalage et j'ai absolument rien compris...

Ensuite, j'ai d'autres questions:
1) avec une bascule, il n'y a aucune ambiguité: D est une entrée, Q une sortie.
Mais là, j'ai des doutes parce que l'on calcule bien les D suivants dans le montage ci dessus, non? Donc on ne peut pas dire que les D soient des bits d'entrée...
(si je commence à douter sur entity, je suis mal barré


2) vous avez vu qu'au dessus des bascules, il y a 3 portes XNOR. Et je dois utiliser leurs 3 sorties. Je dois définir dans l'architecture des SIGNAL ou je dois le mettre dans entity (en tant que out bit dans ce cas

3) Est-ce qu'il existe un logiciel où je pourrais écrire mes programmes VHDL pour voir si ils marchent? (ça pourrait me servir pour mon prochain stage...)
S'il vous plait, aidez moi ! Je vous en supplie
