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

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





Michael Riepe wrote:

>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?
>
The source code, of course. If some one need it, I can send it.

Like Whygee has previously said me this is not a ieee package (it's 
copyrighted Synopsis), it is why I have never said than it is a 
normalized package of ieee. But in the header of the package, Synopsis 
give right to use this package without restriction.

>
>
>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.
>
If your target techno have it. More the timing can change if your target 
techno have native 8-and or more.

>
>>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.
>

-- 
______________________________
"The matrix is my world, I am a shadow.
Shadow in world, shadow in life. Don't try to keep me,
I am a Corpo's Killer.
Don't follow me or die..."
		The KingWalker - 1996



*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/