[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [f-cpu] FPU Adder....
sorry for the stupid copy&paste error.
nicO
Le Mardi 30 Décembre 2003 19:26, Nicolas Boulay a écrit :
> I thing that vhdl standard say that variable can't be view as waveformes.
> MTI/modeltech don't do it either.
>
> -- return true is F only have 0
> function fl_isnull(F: std_ulogic_vector) return boolean is
> variable res : boolean;
> variable m : std_ulogic_vector(1 to F'length) := F;
> begin
> res := true;
> for i in 1 to F'length loop
> if m(i) = '1' then
> res := false;
> end if;
> end loop;
> return res;
> end;
>
> You can't use that.
> -- return true is F only have 0
> function fl_isnull(F: std_ulogic_vector) return boolean is
> variable res : boolean;
> variable m : std_ulogic_vector(1 to F'length) := F;
> begin
> res := (F = 0);
> return res;
> end;
> You could use normal operation. If it don't work translate it to
> std_logic_vector.
>
> Long chain of elsif must absolutly avoided if possible because it's slow.
> Use switch case instead if possible.
>
> "En" signal must not be in the process sensitivity list of a clocked
> process.
>
<...>
>
> while (S5MP(MSIZE) /= '1') loop
> S5EP := fl_decr(S5EP);
> S5MP(MSIZE downto 1) := S5MP(MSIZE-1 downto 0);
> S5MP(0) := '0';
> end loop;
>
> Dynamic loop can't be synthetised. Synthetiser unroll such loop but can't
> do anything with that. It look like it need a clock but which one ?
> If you want to use loop use only argument that end the loop that can be
> decided at compile time.
>
> nicO
>
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu in the body. http://f-cpu.seul.org/