«« ( Date ) »» // «« ( Thread ) »» // vlsi-nastava - 2008

Re: Pitanje - inertial

by masa hrasovec
nedelja, 02. novembar 2008 - 23:26.

At 08:10 02/11/2008 +0100, you wrote:
>>>>
Jel moze neki kolega da pomogne oko zatatka sa inertial. Vec par dana ne
mogu da uskladim kako se radi:) Evo npr. pogledajmo ovaj rok dole. Nije
jasno kako se koristi promenljiva c. Da li se koristi njena vrednost u
trenutku racunanja a ili b, ili vrednost na kraju procesa? Znaci u slucaju
racunanja "b <= reject 1.5ns inertial b nand(a or c) after 2ns;" koju
vrednost c-a uzimamo, onu izracunatu na pocetku procesa, ili onu izracunatu
sledecim iskazom c := a and b? Dodatno, ukoliko se koristi stara vrednost
(ona sa pocetka procesa), i posto dolazi do njene promene na kraju procesa,
da li se iskaz sa inertial za a ili b izvrsava ili se ignorise, posto ne
traje dovoljno dugo? Ako neko moze, bilo bi super da okaci resenje za neki
zadatak!:)

entity apr is end apr;

architecture aapr of apr is

signal a:bit:='1'; signal b:bit:='0';

begin

process

variable c:bit:='0';

begin

if c='0' then a<= reject 1ns inertial not c after 1ns;

else a<= reject 1.5ns inertial not c after 2ns;

end if;

b <= reject 1.5ns inertial b nand(a or c) after 2ns;

c := a and b;

wait on a, b;

end process;

end aapr;

<<<<

mislim da je ovako: u ovom primeru se c dodeli na kraju a izrazi <= se
racunaju sa starom vrednoscu, da je := na pocetku onda bi se prvo
izracunalo, ali to je isti trenutak samo 0+ i 0-...

malo je zbrkano bilo bi mi lakse da objasnim uzivo. nek se jos neko ukljuci


moje resenje ne znam da li je ok: gledam od 0 do 7 ns

c je 0 pa se penje na 2ns na 1, pa se spusta na 4ns na 0, pa na 6 se penje
( u 2- je 0 a u 2+ je 1 (c) )
b prati c - isto
a je sve vreme 1 (na 6 bi moglo da se spusti ali posto se onda na 7 penje
ne moze zbog inertial i reject i impuls bi bio 1ns (u prvom <= ovaj reject
i nema smisla posto je inertial vec odradio taj uslov). pitanje: da li
reject odnosno inertial - da li ta vrednost znaci "ne ignorise se ono sto
je duze od te vrednosti" znaci impuls od 1ns se ignorise u prvom slucaju
- mislim da je tako, ali 1.00001ns impuls se ne ignorise