Hvem kan fortelle meg hva forskjellen på dem?

7

75 sinfocia

Guest
signal rd, dr.: std_logic;
ad_bus, ram_bus: inout;<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying eller Veldig trist" border="0" />1.
prosessen (rd) ---- høyre.
begynne
if (rd ='0 'og dr ='1') og deretter
ad_bus_out <= ram_bus;
ellers
ad_bus_out <= "ZZZZZZZZ";
end if;
ad_bus <= ad_bus_out;
end prosessen;

2.
prosessen (rd) ---- feil.
begynne
if (rd ='0 ') og deretter
hvis dr ='1 'deretter
ad_bus_out <= ram_bus;
ellers
ad_bus_out <= "ZZZZZZZZ";
end if;
end if;
ad_bus <= ad_bus_out;
end prosessen;

3.
prosessen (rd, dr) ---- høyre.
begynne
if (rd ='0 ') og deretter
ad_bus_out <= ram_bus;
ellers
ad_bus_out <= "ZZZZZZZZ";
end if;
ad_bus <= ad_bus_out;
end prosessen;

4.
prosessen (rd) ---- feil.
begynne
if (rd ='0 ') og deretter
ad_bus_out <= ram_bus;
ellers
ad_bus_out <= "ZZZZZZZZ";
end if;
ad_bus <= ad_bus_out;
end prosessen;

 
Hei,

Det
er ikke klart hva som
er dr, ad_bus_out og hva du virkelig ønsker å gjennomføre for de 2-signaler.En ting du bør huske på er å gjøre sensitivitly listen komplett i prosessen hvis du vil bruke prosessen.

Eller annet, en annen måte kanskje like enkelt som:
ad_bus <= ram_bus når rd ='0 'else
"(andre => 'Z');

 
Prosessen 2 er galt fordi det vil generere klinke når rd = 1, hva er resultatet?
Men jeg kan ikke forstå hvor er galt i prosessen 4

 
75 sinfocia wrote:

signal rd, dr.: std_logic;

ad_bus, ram_bus: inout;

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying eller Veldig trist" border="0" />
1.

prosessen (rd) ---- høyre.

begynne

if (rd ='0 'og dr ='1') og deretter

ad_bus_out <= ram_bus;

ellers

ad_bus_out <= "ZZZZZZZZ";

end if;

ad_bus <= ad_bus_out;

end prosessen;2.

prosessen (rd) ---- feil.

begynne

if (rd ='0 ') og deretter

hvis dr ='1 'deretter

ad_bus_out <= ram_bus;

ellers

ad_bus_out <= "ZZZZZZZZ";

end if;

end if;

ad_bus <= ad_bus_out;

end prosessen;3.

prosessen (rd, dr) ---- høyre.

begynne

if (rd ='0 ') og deretter

ad_bus_out <= ram_bus;

ellers

ad_bus_out <= "ZZZZZZZZ";

end if;

ad_bus <= ad_bus_out;

end prosessen;4.

prosessen (rd) ---- feil.

begynne

if (rd ='0 ') og deretter

ad_bus_out <= ram_bus;

ellers

ad_bus_out <= "ZZZZZZZZ";

end if;

ad_bus <= ad_bus_out;

end prosessen;
 
Hei,
Jeg tror det første er å fullføre sensitive liste over prosessen, ellers kan du ikke simulere den riktig.

 
Alle fire kvartaler er sensitiviteten listen ufullstendig.Vhdl er en sterk type språk, ikke du får en feilmelding om at når du kompilere kodene?

 
Hei,
2 er feil fordi designer vil klinke "z" tilstand.det
er ulovlig.

 
Hei
4 er simulert feil fordi ufullstendig sensitive listen, men kan syntese riktig og gate simulering riktig.

 
kan du lese VHDL boken nøye alle sensitive liste bør ta med i prosessen.eller du får en feil resultat.

 

Welcome to EDABoard.com

Sponsor

Back
Top