Kuka voi kertoa minulle, mitä eroa niistä?

7

75 sinfocia

Guest
signaali rd, dr: std_logic;
ad_bus, ram_bus: INOUT;<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying tai Erittäin surullista" border="0" />1.
prosessi (vp) ---- oikeassa.
aloittaa
if (rd ='0 'ja dr ='1') sitten
ad_bus_out <= ram_bus;
muuten
ad_bus_out <= "ZZZZZZZZ";
end if;
ad_bus <= ad_bus_out;
Lopeta prosessi;

2.
prosessi (vp) ---- virhe.
aloittaa
if (rd ='0 ') sitten
jos dr = "1" sitten
ad_bus_out <= ram_bus;
muuten
ad_bus_out <= "ZZZZZZZZ";
end if;
end if;
ad_bus <= ad_bus_out;
Lopeta prosessi;

3.
prosessi (rd, dr) ---- oikeassa.
aloittaa
if (rd ='0 ') sitten
ad_bus_out <= ram_bus;
muuten
ad_bus_out <= "ZZZZZZZZ";
end if;
ad_bus <= ad_bus_out;
Lopeta prosessi;

4.
prosessi (vp) ---- virhe.
aloittaa
if (rd ='0 ') sitten
ad_bus_out <= ram_bus;
muuten
ad_bus_out <= "ZZZZZZZZ";
end if;
ad_bus <= ad_bus_out;
Lopeta prosessi;

 
Hei,

Se ei ole selvää, mitä dr, ad_bus_out ja mitä todella haluavat toteuttaa ne 2 signaaleja.Yksi asia mitä sinun on syytä pitää mielessä on tehdä sensitivitly luettelo täydellinen prosessi, jos haluat käyttää prosessi.

Tai muuten, Toinen tapa ehkä aivan yhtä yksinkertainen kuin:
ad_bus <= ram_bus kun rd ='0 'muu
"(muut => 'Z');

 
Prosessi 2 on väärin, koska se tuottaa salpa, kun rd = 1, mikä on tulos?
Mutta en voi ymmärtää, jos on väärässä prosessi 4

 
75 sinfocia wrote:

signaali rd, dr: std_logic;

ad_bus, ram_bus: INOUT;

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying tai Erittäin surullista" border="0" />
1.

prosessi (vp) ---- oikeassa.

aloittaa

if (rd ='0 'ja dr ='1') sitten

ad_bus_out <= ram_bus;

muuten

ad_bus_out <= "ZZZZZZZZ";

end if;

ad_bus <= ad_bus_out;

Lopeta prosessi;2.

prosessi (vp) ---- virhe.

aloittaa

if (rd ='0 ') sitten

jos dr = "1" sitten

ad_bus_out <= ram_bus;

muuten

ad_bus_out <= "ZZZZZZZZ";

end if;

end if;

ad_bus <= ad_bus_out;

Lopeta prosessi;3.

prosessi (rd, dr) ---- oikeassa.

aloittaa

if (rd ='0 ') sitten

ad_bus_out <= ram_bus;

muuten

ad_bus_out <= "ZZZZZZZZ";

end if;

ad_bus <= ad_bus_out;

Lopeta prosessi;4.

prosessi (vp) ---- virhe.

aloittaa

if (rd ='0 ') sitten

ad_bus_out <= ram_bus;

muuten

ad_bus_out <= "ZZZZZZZZ";

end if;

ad_bus <= ad_bus_out;

Lopeta prosessi;
 
Hei,
Mielestäni ensimmäinen asia on täydellinen arkaluontoiset listan prosessi, muuten et voi simuloida sen oikein.

 
Kaikki neljä lohkot ovat herkkyys luettelo puutteellisia.VHDL on vahva tyyppi kieltä, eivät saat virheilmoituksen siitä, että kun kokoamaan koodit?

 
Hei,
2 on virhe, koska suunnittelija halua linkku "z"-tilassa.se on laitonta.

 
Hei
4 on simuloitava virhe, koska puutteellinen herkkä luettelo, mutta jota voidaan synteesi oikein ja porttikohtaisen simulointi oikein.

 
lue VHDL kirja huolellisesti, kaikki herkkien luettelo olisi sisällytettävä prosessiin.tai saat virheen seurauksena.

 

Welcome to EDABoard.com

Sponsor

Back
Top