*Kavita Arora (M3-1) Lisa Gentry (M3-2) Steven Wasik (M3-3) Karolina Werner (M3-4)

Post on 19-Mar-2016

49 views 4 download

description

*Kavita 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 - PowerPoint PPT Presentation

transcript

M3: ProDiver 525M3: ProDiver 525*Kavita Arora (M3-1)*Kavita Arora (M3-1)Lisa Gentry (M3-2)Lisa Gentry (M3-2)Steven Wasik (M3-3)Steven Wasik (M3-3)Karolina Werner Karolina Werner (M3-4)(M3-4)

Stage : Stage : 9 Mar 299 Mar 29Chip Level Chip Level SimulationSimulation

Overall Project Objective:To design a chip for a SCUBA diver that does real-time calculations to warn 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 the diver of safety concerns including decompressions sickness and lung overexpansion.overexpansion.

Design Manager: Design Manager: Steven BeigelmacherSteven Beigelmacher

M3: ProDiver 525M3: ProDiver 525

StatusStatus• Schematic Verification (done)Schematic Verification (done)• LVSLVS

– PressureCalc(done)PressureCalc(done)– timetoflight (done)timetoflight (done)– timeleft (done)timeleft (done)– ascensionWatch (done)ascensionWatch (done)– getK (done)getK (done)– safetyWatch (done)safetyWatch (done)– maxDepth (done)maxDepth (done)– bottomTime (done)bottomTime (done)– Top (done)Top (done)

• Spice Entire Chip (6 out of 8 modules)Spice Entire Chip (6 out of 8 modules)

M3: ProDiver 525M3: ProDiver 525

Verilog Verification (gate Verilog Verification (gate level)level)

MATLAB:depthvector = [80*ones(1,60*35) 40*ones(1,60*20) 0*ones(1,60*40)];[bodyvector,out]=pressurecalculator(depthvector);bodyvector(60*35): ans = 25.5304bodyvector(60*55): ans = 28.3850bodyvector(60*95): ans = 18.2900

SCENERIO: diver goes 80 feet for 35 min, 40 feet for 20 min, 0 feet for 40 min

VERILOG:time= 2,safetywatch = 0Test where the user will go down to 80 feet for 35 minutes, then 40 feet for 20 minutes, then 0 feet 40 minutestime= 6090,safetywatch = 1time = 6305,pres=25,depth= 80time= 9054,safetywatch = 2time = 9908,pres=28,depth= 40time= 10272,safetywatch = 1time= 12165,safetywatch = 0time = 17110, pres=18,depth= 0

M3: ProDiver 525M3: ProDiver 525

Top Level SchematicTop Level Schematic

M3: ProDiver 525M3: ProDiver 525

Internal RoutingInternal Routing

M3: ProDiver 525M3: ProDiver 525

Top LayoutTop Layout

M3: ProDiver 525M3: ProDiver 525

Summary of Design Summary of Design CharacteristicsCharacteristics

Final area 203*151=30653

Transistor Count 10110

Transistor Density 0.329820898

Aspect Ratio 1.344370861

M3: ProDiver 525M3: ProDiver 525

Why Modular Spice Why Modular Spice Simulation Strategy ?Simulation Strategy ?

• Due to the large no. of edge cases, this Due to the large no. of edge cases, this simulation strategy gives us greater accuracy simulation strategy gives us greater accuracy than a single global vector set wouldthan a single global vector set would

• Testing time for global testing is unfeasible Testing time for global testing is unfeasible because it takes on the order of 150 clock because it takes on the order of 150 clock cycles to cause some outputs to change cycles to cause some outputs to change

• This is quicker and allows us to better focus This is quicker and allows us to better focus our energiesour energies

M3: ProDiver 525M3: ProDiver 525

Spice Simulation Spice Simulation StrategyStrategy• Used vector sets from the verilog Used vector sets from the verilog

verificationverification• Tested the edge casesTested the edge cases• In order to decrease testing time, we In order to decrease testing time, we

brought lower order bits out of the brought lower order bits out of the modules (shows seconds as well as modules (shows seconds as well as minutes, and uses fractions of a minutes, and uses fractions of a pressure unit)pressure unit)

M3: ProDiver 525M3: ProDiver 525

Bottom Time Bottom Time InputsInputs

M3: ProDiver 525M3: ProDiver 525

Bottom Time Bottom Time OutputsOutputs

M3: ProDiver 525M3: ProDiver 525

Get K InputsGet K Inputs

M3: ProDiver 525M3: ProDiver 525

Get K OutputsGet K Outputs

M3: ProDiver 525M3: ProDiver 525

Max Depth1 Max Depth1 InputsInputs

M3: ProDiver 525M3: ProDiver 525

Max Depth1 Max Depth1 OutputsOutputs

M3: ProDiver 525M3: ProDiver 525

Max Depth2 Max Depth2 InputsInputs

M3: ProDiver 525M3: ProDiver 525

Max Depth2 Max Depth2 OutputsOutputs

M3: ProDiver 525M3: ProDiver 525

PressureCalc: case X=0; PressureCalc: case X=0; Y=0Y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc: 2PressureCalc: 2ndnd set of inputs set of inputs x=0,y=0x=0,y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc outputs: x=0, PressureCalc outputs: x=0, y=0y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc 2PressureCalc 2ndnd set of outputs: x=0, set of outputs: x=0, y=0y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc: x=0 PressureCalc: x=0 y=1y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc: 2PressureCalc: 2ndnd set of inputs - x=0 set of inputs - x=0 y=1y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc Outputs: x=0, PressureCalc Outputs: x=0, y=1y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc 2PressureCalc 2ndnd set of Outputs: x=0, set of Outputs: x=0, y=1y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc: x=1, y=0PressureCalc: x=1, y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc: 2PressureCalc: 2ndnd set of x=1, y=0 set of x=1, y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc Outputs: x=1,y=0PressureCalc Outputs: x=1,y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc 2PressureCalc 2ndnd set of Outputs: set of Outputs: x=1,y=0x=1,y=0

M3: ProDiver 525M3: ProDiver 525

PressureCalc: x=1,y=1PressureCalc: x=1,y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc: 2PressureCalc: 2ndnd set of inputs set of inputs x=1,y=1x=1,y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc Outputs: PressureCalc Outputs: x=1,y=1x=1,y=1

M3: ProDiver 525M3: ProDiver 525

PressureCalc 2PressureCalc 2ndnd set of Outputs: set of Outputs: x=1,y=1x=1,y=1

M3: ProDiver 525M3: ProDiver 525

SafetyWatchSafetyWatch

M3: ProDiver 525M3: ProDiver 525

Clock SpeedClock Speed• Critical Path – From Critical Path – From

the depth input the depth input through through pressureCalc, then pressureCalc, then through through safetywatch, and safetywatch, and out to the out to the safetywatch output safetywatch output signalsignal

• Estimated Final Estimated Final Clock Speed 1HzClock Speed 1Hz

M3: ProDiver 525M3: ProDiver 525

Critical Path LayoutCritical Path Layout

M3: ProDiver 525M3: ProDiver 525

Spice glitchSpice glitch• **error**: only 1 connection at node 29:318**error**: only 1 connection at node 29:318• Correction: a floating unconnected wire in the Correction: a floating unconnected wire in the

designdesign

M3: ProDiver 525M3: ProDiver 525

Power ConsumptionPower Consumption• Strategy to test power consumption – Strategy to test power consumption –

test the effects of several different test the effects of several different power levels on the module in order power levels on the module in order to find the lowest at which it still to find the lowest at which it still works.works.

• Also, we want to see if making any Also, we want to see if making any optimizations to the layout to optimizations to the layout to decrease power consumption decrease power consumption

M3: ProDiver 525M3: ProDiver 525

Questions?Questions?