Title: Random Number Generator
1Random Number Generator
March 1, 2006 Component Layout and Floorplan
- Dmitriy Solmonov W1-1
- David Levitt W1-2
- Jesse Guss W1-3
- Sirisha Pillalamarri W1-4
- Matt Russo W1-5
- Design Manager Thiago Hersan
Project Objective Create a Cryptologically
Secure Pseudo-Random Number Generator
2Need for Encryption
- Explain how a good random number can make data
transfer that much more secure.
3Random Number?
- Pseudo-random number generator
- Uses RC4 encryption algorithm
- Cryptographically secure
- Internally Updated Seed
- not in programmer's visible state
- hacker
4Usage
5Demand
- Potential markets
- Defense and Intelligence Organizations
- Gambling
- Component of future secure mobile communications
6The IBAA Algorithm
define ALPHA (8) define SIZE (1ltltALPHA) define
ind(x) ((x)(0x1F)) define barrel(a)
(((a)ltlt19)((a)13)) /beta32, shift19/ yy1b
mind(i)y bmind(ygtgtALPHAx rind(i)b f
or(i0iltSIZEi) Xmind(i) Abarrel(a)mind
(I 16) Y1mind(x)a Yy1b Mind(i)y Bm
ind(y)gtgtALPHAx Rind(i)b
7Algorithm Animation
8Algorithm to Architecture
- Explain progression from C code to choice of
hardware.
9Algorithm to Architecture
- Explain the choice for a 2-Stage Pipeline with
multiple cycles per stage.
10Algorithm to Architecture
- Explain why 4 cycles per stage yields the best
throughput under hardware assumptions
11typedef unsigned int u4 / unsigned four bytes,
32 bits / define ALPHA (8) define SIZE
(1ltltALPHA) define ind(x) ((x)(SIZE-1))
define barrel(a) (((a)ltlt19)((a)gtgt13)) /
beta32,shift19 / static void ibaa(m,r,aa,bb)
u4 m / Memory array of SIZE ALPHA-bit terms
/ u4 r / Results the sequence, same size as
m / u4 aa / Accumulator a single value /
u4 bb / the previous result / register
u4 a,b,x,y,i a aa b bb for (i0
iltSIZE i) x mi a barrel(a)
mind(i(SIZE/2)) / set a / mi y
mind(x) a b / set m / ri b
mind(ygtgtALPHA) x / set r / bb b
aa a
SRAM (M)
(M1, M2, M3) Registers
Adder
(X) Reg
(M4) Reg
Counter
Control Logic
FSM
Counter
Register
SRAM (R)
Adder
(B) Reg
(Y) Reg
Adder
(Y1) Reg
Adder
(A) Reg
12Floorplan Evolution 1
13Floorplan 2
14Final Floorplan
15- Animation showing what happens on every cycle of
the loop.
16DFM ME
- The Rules
- Everything is on a grid
- Everything is mono-directional
- All metal widths are the same
- Contacts same width as metals
17Why DFM
- Easier to perform RET
- Manufacturability
- A must for the new generation of transistor sizes.
18Pros
- Regular Layout
- Enforced Standardization
- More Accurate Resolution
- Contacts match metal widths
19Example Group Propagate
20CONS
- Harder to cut-corners
- More time-involving
- Increased Area
- Decreased Speed
- More Metal Layers
- Learning Curve
21Adder
- Four adders execute 256 times each to generate
one number. - Hybrid carry skip, carry look ahead, conditional
sum, - Fast and low power.
- Chirca, Schulte, Glossner, et al. A Static
Low-Power, High-Performance 32-bit Carry Skip
Adder - http//mesa.ece.wisc.edu/publications/cp_2004-12.p
df
2232-Bit Adder
Block Diagram
A2710
B2710
A3128
B3128
A30
B30
A94
B94
C0
C4
C10
C28
C32
CS4
CS18
CS6
CS4
S3128
S2710
S94
S30
23First CS4 Block
32-Bit Adder
24CS18 Block
32-Bit Adder
2532 Bit Fast Adder
26Adder Performance
- Discuss trade offs in speed and power.
27SRAM
Single Bus Cell
Double Bus Cell
28SRAM Single Bus
29Dual Bus SRAM
30Discuss Speed and Power
- SRAM power consumption
- Why we cant do better with the SRAM
31Verification
- Tested architectural verilog against C code for
matching 1024-bit number results. - Tested architectural verilog against structural
verilog for matching port outputs.
32Verification
- Verified Schematic against Verilog implementation
in cadence - Made sure that output was the same
- Checked delays and voltage levels
- Verified layout vs. schematic
- Checked levels with parasitics
- Performed LVS test
33(No Transcript)
34Poly Density 7.06
35Metal Density 19.59
36Metal2 Density 18.85
37Metal3 Density 19.24
38Metal4 Density 8.91
Metal5 Density 4.75
39Critical Delay
40Specs
- Pins
- 40 input pins (including clock, vdd, gnd)
- 32 output pins (the random number)
- 475 MHz chip speed
- 436 KHz throughput
41Putting it All Together
42Questions