[HARDWARE] Just Curious......]]
taniwha at taniwha.com
Sun Sep 19 23:32:14 EDT 1999
Robert Norton wrote:
>> As I said above I think you need either a lot of clocks or a lot of
>> silicon (your design would be at the 'lot of silicon' end of the
>> spectrum - and would probably take roughly the same area as
>> 25 1Mkey/sec engines laid down side-by-side - it probably won't
>> fit on a $100 FPGA.
>I'm quite disappointed. I understand that there are 78 "steps" now, and that each step needs a
>latch, and a barrel shifter, some adders and a mux, all 32 bits wide. So that might be 78*32* N
>gates, where N is a relatively small number (10?) Is it the feeding forward that makes this N**2
>instead of linear with steps? Thanks, Bob Norton.
sadly N is much larger than 10 - a 'gate' as usually quoted is a
basic 2-input nand gate (ie 4 transistors) - a hold flop (with
scan) comes out at 9-10 'gates', a D flop maybe 6-8 'gates',
a latch is ~3 'gates', hand laid out structures like srams
are going to be a bit smaller.
Consider a pipe stage consisting just of a barrell shifter (doing rotate)
(forget the mutiple 32-bit adders for the moment) - each bit of such
a structure is basicly a 32:1 mux - a quick estimate of size for
this is ~40 gates - so each bit of the pipe is going to be 6 (D flop)
plus 40 (mux) - 46 'gates'.
In reality things are much more complex - it's probably about a year
since I immersed myself in this problem but from memory primitives
you need to build this with are 2 barrel shifters, 6 32-bit adders,
a 32-bit xor, some misc logic, a and about 700 bits of temp storage
(I think that some of the adders could be reused between phases - or
with more storage you could have more keys in flight through the
pipe - maybe 3 sets).
The design I did (again see my web page) is further piped to bring
up the clock rate - I did this primarily for FPGA implementation
because in a lot of modern FPGAs flops and sram arrays are pretty
cheap while random logic (and routing for it) is slow. I don't have
much recent experience with FPGAs - they seem sooo slow compared with
the silicon I usually design with where clocks in the 200-500MHz
range are common and gates are cheap but wiring is expensive (at
least these days it is). In the end I didn't get past putting the
design into Xylinx's cheapo cad program - mistly because I couldn't
figure out how to turn my design into an OS source hardware project
that real people could build (again - this was the 'how will ordinary
mortals actually solder these @#$!* SMT things' problem).
BTW I this project would actually make a great senior project for
someone - it has some great technical problems to solve along with
manufacturability etc etc - if it took off it would look great
on someone's resume
Paul Campbell aka Taniwha
To unsubscribe, send 'unsubscribe hardware' to majordomo at lists.distributed.net
More information about the Hardware