[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [f-cpu] New snapshot for EU_INC and EU_CMP



On Mon, Jul 29, 2002 at 08:48:13PM +0200, Etienne LABARRE wrote:
> Hi all,
> 
> New snapshot include a lot of changes and features :
> 
> INC unit and CMP unit are now two different units, for simplify and
> decrease latency
> 
> Both units are based to the same component : find_lsb
>  It's a binary tree for find the first null lsb in a word.
>  It supports SIMD operations (size of chunk = 8, 16, 32, 64, 128, 256
>  bits)
>  It's based to only one function : and_reduce. It's is a standard
>  function of ieee.std_logic_1164 library.

Did you find source code or documentation for package std_logic_misc?

I noted that you use ieee.numeric_std in your designs, which is a
no-no. Or did you include it by mistake?

>  Latency of find_lsb is not exactly know, but i can estimate this
>  to 3 level of 4-and, and 1 level of mux, or more exactly 2 level of
>  8-and, and 1 level of mux. The precise latency is not important,
>  because max latency will be fixed by timing constraints during synthetisis process.
>  (It's an explain of my choice of standard function. "Just an
>  Illusion"
>  will can explain this more easy that me, i think...)

I'm afraid that a timing constraint will `blow up' the unit.
BTW: for 256 bits, you need *four* levels of 4-and.

> For INC unit, the data flow is :
>  1 level of mux
>  find_lsb : 3 level of 4-and, 1 level of mux
>  1 level of xor
>  2 level of mux
>  total is 8 levels.
>  Critical datapath is only for ABS operation.
> 
>  Supported operations :
>  INC, DEC, NEG, ABS, LSB0, LSB1
> 
>  All operations are tested by my testbenches.
> 
> For CMP unit, the data flow is :
>  1 level of xor,
>  1 level of mux,
>  find_lsb : 3 level of 4-and, 1 level of mux
>  2 level of mux,
>  total is 8 levels.
>  Critical datapath is for CMP, MIN, MAX, SORT operations.

I doubt that you can get away with 8 cycles. From my experience, 64-bit
CMP alone needs 1 level of 2-xor, 3 levels of 4-and, 1 level of 2-xor,
1 level of 2-and plus 3 levels of 4-or, giving a total of 9 levels.

-- 
 Michael "Tired" Riepe <Michael.Riepe@stud.uni-hannover.de>
 "All I wanna do is have a little fun before I die"
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/