Title: M3: ProDiver 525
1Kavita Arora (M3-1) Lisa Gentry (M3-2) Steven
Wasik (M3-3) Karolina Werner (M3-4)
Stage 9 Mar 29 Chip Level Simulation
Design Manager Steven Beigelmacher
Overall Project Objective To design a chip for a
SCUBA diver that does real-time calculations to
warn the diver of safety concerns including
decompressions sickness and lung overexpansion.
2Status
- Schematic Verification (done)
- LVS
- PressureCalc(done)
- timetoflight (done)
- timeleft (done)
- ascensionWatch (done)
- getK (done)
- safetyWatch (done)
- maxDepth (done)
- bottomTime (done)
- Top (done)
- Spice Entire Chip (6 out of 8 modules)
3Verilog Verification (gate level)
SCENERIO diver goes 80 feet for 35 min, 40 feet
for 20 min, 0 feet for 40 min
MATLAB depthvector 80ones(1,6035)
40ones(1,6020) 0ones(1,6040) bodyvector,out
pressurecalculator(depthvector) bodyvector(603
5) ans 25.5304 bodyvector(6055) ans
28.3850 bodyvector(6095) ans 18.2900
VERILOG time 2,safetywatch
0 Test where the user will go down to 80 feet for
35 minutes, then 40 feet for 20 minutes, then 0
feet 40 minutes time
6090,safetywatch 1 time
6305,pres25,depth 80 time
9054,safetywatch 2 time
9908,pres28,depth 40 time
10272,safetywatch 1 time
12165,safetywatch 0 time
17110, pres18,depth 0
4Top Level Schematic
5Internal Routing
6Top Layout
7Summary of Design Characteristics
Final area 20315130653
Transistor Count 10110
Transistor Density 0.329820898
Aspect Ratio 1.344370861
8Why Modular Spice Simulation Strategy ?
- Due to the large no. of edge cases, this
simulation strategy gives us greater accuracy
than a single global vector set would - Testing time for global testing is unfeasible
because it takes on the order of 150 clock cycles
to cause some outputs to change - This is quicker and allows us to better focus our
energies
9Spice Simulation Strategy
- Used vector sets from the verilog verification
- Tested the edge cases
- In order to decrease testing time, we brought
lower order bits out of the modules (shows
seconds as well as minutes, and uses fractions of
a pressure unit)
10Bottom Time Inputs
11Bottom Time Outputs
12Get K Inputs
13Get K Outputs
14Max Depth1 Inputs
15Max Depth1 Outputs
16Max Depth2 Inputs
17Max Depth2 Outputs
18PressureCalc case X0 Y0
19PressureCalc 2nd set of inputs x0,y0
20PressureCalc outputs x0, y0
21PressureCalc 2nd set of outputs x0, y0
22PressureCalc x0 y1
23PressureCalc 2nd set of inputs - x0 y1
24PressureCalc Outputs x0, y1
25PressureCalc 2nd set of Outputs x0, y1
26PressureCalc x1, y0
27PressureCalc 2nd set of x1, y0
28PressureCalc Outputs x1,y0
29PressureCalc 2nd set of Outputs x1,y0
30PressureCalc x1,y1
31PressureCalc 2nd set of inputs x1,y1
32PressureCalc Outputs x1,y1
33PressureCalc 2nd set of Outputs x1,y1
34SafetyWatch
35Clock Speed
- Critical Path From the depth input through
pressureCalc, then through safetywatch, and out
to the safetywatch output signal - Estimated Final Clock Speed 1Hz
36Critical Path Layout
37Spice glitch
- error only 1 connection at node 29318
- Correction a floating unconnected wire in the
design
38Power Consumption
- Strategy to test power consumption test the
effects of several different power levels on the
module in order to find the lowest at which it
still works. - Also, we want to see if making any optimizations
to the layout to decrease power consumption
39