Re: Error???
> @W:"C:\Fakultet\VLSI\Domaci\SerijskiPort\src\receiver.vhd":58:5:58:6|Reset/S
> et on register state is tied to a constant
> @W:"C:\Fakultet\VLSI\Domaci\SerijskiPort\src\receiver.vhd":58:5:58:6|Reset/S
> et on register state is tied to a constant
> buff:process(rst,rx_clk,rx_clk_x16) is
> begin
> if (rst='1') then
> obf<='0';
> else
> obf<='0'; <<<<<<<<<
> if (state=STOP and rising_edge(rx_clk_x16)) then
> obf<='1';
> end if;
> if (rx_en='1' and rising_edge(rx_clk)) then
> obf<='0';
> end if;
> end if;
> end process buff;
Ove warning-e imas zato sto i za slucaj resetovanja i u svim ostalim
slucajevima dodeljujes istu vrednost signalu obf. Drugo, signali state i
rx_en trebalo bi da budu u sensitivity listi procesa. Trece, ne znam kako
ti sintetizator nije pravio probleme za ovo reagovanje na ivicu dva
razlicita signala. Nemam iskustva sa Simplify, ali imam sa nekim drugim
alatima i provereno svaki od njih javlja gresku i nece da izvrsi sintezu
ako se nesto ovakvo napise.
Mislim da bi u simulaciji trebalo da bude isto i ako bi izbacio liniju
obelezenu strelicama. Za signal svakako efekat ima samo poslednja dodela
vrednosti u procesu. Problem onda ostaje: sta ako nije ispunjen ni jedan
uslov iz if-ova?
Moj predlog je (ako nesto od ova dva uslova moze da bude veceg prioriteta
ili se sigurno desava ranije):
else --od rst
if (uslov2) then
obf <= '0';
else
if (uslov1) then
obf <= '1';
else
obf <= '0';
end if;
end if;
end if;
Ovaj kod bi trebalo da ima istu funkciju kao onaj gore.
Pozdrav,
Marija
- References:
- Re: Error???
- From: "Prijic Aleksandar" <aleksap@galeb.etf.bg.ac.yu>
- Re: Error???
Previous by date: Re: Error???
Next by date: SEL_O/I()
Previous by thread: Re: Error??? Next by thread: sinteza i TB
Previous by thread: Re: Error??? Next by thread: sinteza i TB