VHDL - synthèse componentsafter disparus

R

ramzitligue

Guest
Salut, j'ai écrit un programme sur VHDL:
entité B est
Port (A0: en STD_LOGIC_VECTOR (7 downto 0);
A1: en STD_LOGIC;
s: STD_LOGIC_VECTOR à (7 downto 0));
fin B;

l'architecture du comportement de B est

commencer
processus (a1)
commencer
si A1 = '1 'alors
s <= A0;
d'autre
s <= (autres => 'Z');
fin si;
processus de bout;

fin comportement;alors je veux me connecter la sortie "s" de la composante B à l'entrée d'une autre composante B1 et voici le programme de composante B1:
B1 est une entité
Port (FR: En STD_LOGIC_VECTOR (7 downto 0);
S1: STD_LOGIC_VECTOR à (7 downto 0));
fin B1;

l'architecture du comportement de B1 est

commencer
processus (fr)
commencer
si fr / = "zzzzzzzz", puis
<S1 = fr;
d'autre
s1 <= (autres => 'Z');
fin si;
processus de bout;

fin comportement;le problème que, après la synthèse je ne trouve pas l'élément B1 dans schematic.can RTL-vous m'aider s'il vous plaît?

 
Il est probablement en train de optimisé loin car il ressemble à ce que laisse entendre votre code est un fil.

Si vous réécrire le code pour b1:

Code:

l'architecture du comportement de B1 est

commencerprocessus (fr)

commencer

si fr = "zzzzzzzz", puis

s1 <= (autres => 'Z'), - dans ce cas, s1 == fr

d'autre

s1 <= fr; - dans ce cas, s1 == en outre

fin si;

processus de bout;fin comportement;
 
En dehors de la redondance montré, 'Z' n'est pas un état d'entrée défini, il est significatif que pour les sorties.

 
nous ne pouvons pas faire un test sur l'entrée en si elle a l'état «Z»? sinon haw puis-je le remplacer?

 
Pensez à ce que vous demandez.Comme mentionné FVM, 'Z' vraiment de sens que pour une sortie.Lorsque vous conduisez un 'Z' sur une sortie vous sont tri-indiquant que la production.

Ce que cela signifie est que le pilote de sortie est coupée.Ce n'est plus la conduite d'un 1 ou 0, c'est faire non plus.Le pilote n'est pas d'amortissement ou d'approvisionnement de courant.Dans un cas idéal sans pull-up ou pull-down résistance sur le net et aucun courant de fuite, le dernier état amené sur ce filet va y rester indéfiniment.

Dans le monde réel, tri-état ne peut pas être détecté.Un filet est un 1 ou 0, ou a une certaine valeur entre une Vil VIH qui est vraiment un état inconnu.Pour les valeurs d'entrée dans cet intervalle la plupart des récepteurs seront soit détecter un 1 ou un 0, mais ces valeurs n'ont pas de sens.

Base

 

Welcome to EDABoard.com

Sponsor

Back
Top