Random Number Generator - PowerPoint PPT Presentation

About This Presentation
Title:

Random Number Generator

Description:

Matt Russo W1-5. Design Manager Thiago Hersan. March 1, 2006. Component Layout and Floorplan ... Static Low-Power, High-Performance 32-bit Carry Skip Adder' ... – PowerPoint PPT presentation

Number of Views:246
Avg rating:3.0/5.0
Slides: 43
Provided by: dso47
Category:

less

Transcript and Presenter's Notes

Title: Random Number Generator


1
Random 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
2
Need for Encryption
  • Explain how a good random number can make data
    transfer that much more secure.

3
Random Number?
  • Pseudo-random number generator
  • Uses RC4 encryption algorithm
  • Cryptographically secure
  • Internally Updated Seed
  • not in programmer's visible state
  • hacker

4
Usage
5
Demand
  • Potential markets
  • Defense and Intelligence Organizations
  • Gambling
  • Component of future secure mobile communications

6
The 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
7
Algorithm Animation
  • TBC

8
Algorithm to Architecture
  • Explain progression from C code to choice of
    hardware.

9
Algorithm to Architecture
  • Explain the choice for a 2-Stage Pipeline with
    multiple cycles per stage.

10
Algorithm to Architecture
  • Explain why 4 cycles per stage yields the best
    throughput under hardware assumptions

11
typedef 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
12
Floorplan Evolution 1
13
Floorplan 2
14
Final Floorplan
15
  • Animation showing what happens on every cycle of
    the loop.

16
DFM ME
  • The Rules
  • Everything is on a grid
  • Everything is mono-directional
  • All metal widths are the same
  • Contacts same width as metals

17
Why DFM
  • Easier to perform RET
  • Manufacturability
  • A must for the new generation of transistor sizes.

18
Pros
  • Regular Layout
  • Enforced Standardization
  • More Accurate Resolution
  • Contacts match metal widths

19
Example Group Propagate
20
CONS
  • Harder to cut-corners
  • More time-involving
  • Increased Area
  • Decreased Speed
  • More Metal Layers
  • Learning Curve

21
Adder
  • 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

22
32-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
23
First CS4 Block
32-Bit Adder
24
CS18 Block
32-Bit Adder
25
32 Bit Fast Adder
26
Adder Performance
  • Discuss trade offs in speed and power.

27
SRAM
Single Bus Cell
Double Bus Cell
28
SRAM Single Bus
29
Dual Bus SRAM
30
Discuss Speed and Power
  • SRAM power consumption
  • Why we cant do better with the SRAM

31
Verification
  • Tested architectural verilog against C code for
    matching 1024-bit number results.
  • Tested architectural verilog against structural
    verilog for matching port outputs.

32
Verification
  • 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)
34
Poly Density 7.06
35
Metal Density 19.59
36
Metal2 Density 18.85
37
Metal3 Density 19.24
38
Metal4 Density 8.91
Metal5 Density 4.75
39
Critical Delay
40
Specs
  • Pins
  • 40 input pins (including clock, vdd, gnd)
  • 32 output pins (the random number)
  • 475 MHz chip speed
  • 436 KHz throughput

41
Putting it All Together
42
Questions
Write a Comment
User Comments (0)
About PowerShow.com