M3: ProDiver 525M3: ProDiver 525Kavita 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 : 4 Feb 044 Feb 04Size Size Estimates/Estimates/Floor PlanFloor Plan
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
• Specification definition (done)Specification definition (done)• ArchitectureArchitecture
– Matlab Simulation (done)Matlab Simulation (done)– Verilog Simulation (done)Verilog Simulation (done)– Hardware diagrams (done)Hardware diagrams (done)– Floor Plan (done)Floor Plan (done)– Gate Level Design (done)Gate Level Design (done)
• Gate Level Verification (in progress)Gate Level Verification (in progress)• Component Layout (next week…)Component Layout (next week…)• Reevaluation of Floorplan (next week…)Reevaluation of Floorplan (next week…)
• Still have a long way to go…Still have a long way to go…
M3: ProDiver 525M3: ProDiver 525
Design DecisionsDesign Decisions
• Changed the comparators from signed Changed the comparators from signed comparators to unsigned comparators, by comparators to unsigned comparators, by looking only at the carry-out bit and not looking only at the carry-out bit and not the carry-out bit and the sum, in order to the carry-out bit and the sum, in order to minimize transistorsminimize transistors
• Changed the ROM from having values Changed the ROM from having values every five units to every four in order to every five units to every four in order to minimize control logicminimize control logic
M3: ProDiver 525M3: ProDiver 525
New Comparator Layout – New Comparator Layout – comp5bitcomp5bit
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
Previous Transistor CountPrevious Transistor CountMODULE= # MODULE= # transistorstransistors
SUBMODULES (# SUBMODULES (# transistors)transistors)
SUBMODULES (# SUBMODULES (# transistors)transistors)
Get K = 926Get K = 926 Control logic (68)Control logic (68) 3 7-bit comparators (858)3 7-bit comparators (858)
Pressure Calculator = Pressure Calculator = 36483648
2C to SM conv, 9 ,26 (1162)2C to SM conv, 9 ,26 (1162)
Multiplier, 8 by 4 (912)Multiplier, 8 by 4 (912)Register, 25 bit (400)Register, 25 bit (400)
Subtractor, 9 bit (324)Subtractor, 9 bit (324)
Adder, 25 bit (850)Adder, 25 bit (850)
Safety Watch = 656Safety Watch = 656 3 5-bit comparators (642)3 5-bit comparators (642) Control logic (14)Control logic (14)
Ascension Watch = Ascension Watch = 15641564
6 registers, 8 bit (768)6 registers, 8 bit (768)
Subtractor, 9 bit (324)Subtractor, 9 bit (324)
Comparator 8 bit (322)Comparator 8 bit (322)
2C -> SM conversion, 9 bit 2C -> SM conversion, 9 bit (144)(144)
Control logic (6)Control logic (6)
Bottom Time = 1852Bottom Time = 1852 Registers, 8 bit and 17 bit Registers, 8 bit and 17 bit (400)(400)
3 8 bit subtractors (864)3 8 bit subtractors (864)
Addone 4 bit, 17 bit (294)Addone 4 bit, 17 bit (294)
Comparator 5 bit (214)Comparator 5 bit (214)
Control logic (80)Control logic (80)
Time to Flight = 1836Time to Flight = 1836 ROM (64), demux (308)ROM (64), demux (308)
Register, 17 bit (272)Register, 17 bit (272)Minus1, 17 bit (272)Minus1, 17 bit (272)
GetMax, 17 bit (920)GetMax, 17 bit (920)
Max Depth = 596Max Depth = 596 Register, 8 bit (128)Register, 8 bit (128) GetMax, 8 bit (468)GetMax, 8 bit (468)
Time Left = 2026Time Left = 2026 Register, 8 bit x 2(256)Register, 8 bit x 2(256)
subtractor, 8 bit x 2 (576)subtractor, 8 bit x 2 (576)ROM (160), demux (724)ROM (160), demux (724)
Control logic- muxes (310)Control logic- muxes (310)
TOTAL = 13104TOTAL = 13104
M3: ProDiver 525M3: ProDiver 525
Actual Transistor CountActual Transistor CountMODULE= # MODULE= # transistorstransistors
SUBMODULES (# SUBMODULES (# transistors)transistors)
SUBMODULES (# SUBMODULES (# transistors)transistors)
Get K = 620Get K = 620 Control logic (68)Control logic (68) 3 7-bit comparators (552)3 7-bit comparators (552)
Pressure Calculator = Pressure Calculator = 36483648
2C to SM conv, 9 ,26 (1162)2C to SM conv, 9 ,26 (1162)
Multiplier, 8 by 4 (912)Multiplier, 8 by 4 (912)Register, 25 bit (400)Register, 25 bit (400)
Subtractor, 9 bit (324)Subtractor, 9 bit (324)
Adder, 25 bit (850)Adder, 25 bit (850)
Safety Watch = 404Safety Watch = 404 3 5-bit comparators (390)3 5-bit comparators (390) Control logic (14)Control logic (14)
Ascension Watch = Ascension Watch = 14521452
6 registers, 8 bit (768)6 registers, 8 bit (768)
Subtractor, 9 bit (324)Subtractor, 9 bit (324)
Comparator 8 bit (210)Comparator 8 bit (210)
2C -> SM conversion, 9 bit 2C -> SM conversion, 9 bit (144)(144)
Control logic (6)Control logic (6)
Bottom Time = 1768Bottom Time = 1768 Registers, 8 bit and 17 bit Registers, 8 bit and 17 bit (400)(400)
3 8 bit subtractors (864)3 8 bit subtractors (864)
Addone 4 bit, 17 bit (294)Addone 4 bit, 17 bit (294)
Comparator 5 bit (130)Comparator 5 bit (130)
Control logic (80)Control logic (80)
Time to Flight = 1836Time to Flight = 1836 ROM (64), demux (308)ROM (64), demux (308)
Register, 17 bit (272)Register, 17 bit (272)Minus1, 17 bit (272)Minus1, 17 bit (272)
GetMax, 17 bit (920)GetMax, 17 bit (920)
Max Depth = 596Max Depth = 596 Register, 8 bit (128)Register, 8 bit (128) GetMax, 8 bit (468)GetMax, 8 bit (468)
Time Left = 2026Time Left = 2026 Register, 8 bit x 2(256)Register, 8 bit x 2(256)
subtractor, 8 bit x 2 (576)subtractor, 8 bit x 2 (576)ROM (160), demux (724)ROM (160), demux (724)
Control logic- muxes (310)Control logic- muxes (310)
TOTAL = 12350TOTAL = 12350
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic – Top Gate Level Schematic – Top LevelLevel
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic – Pressure Gate Level Schematic – Pressure CalculatorCalculator
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic – Gate Level Schematic – bottomTimebottomTime
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic - Gate Level Schematic - safetyWatchsafetyWatch
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic - Gate Level Schematic - ascensionWatchascensionWatch
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic - getKGate Level Schematic - getK
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic - Gate Level Schematic - timetoflighttimetoflight
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic - Gate Level Schematic - timeLefttimeLeft
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic - Gate Level Schematic - timetoflightROMtimetoflightROM
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic – Gate Level Schematic – timeLefttimeLeft ROM1 ROM2 ROM1 ROM2
M3: ProDiver 525M3: ProDiver 525
Gate Level Schematic – Gate Level Schematic – multipliermultiplier
M3: ProDiver 525M3: ProDiver 525
Critical PathCritical Path
• Critical Path – From the Critical Path – From the depth input through depth input through pressureCalc, then pressureCalc, then through safetywatch, through safetywatch, and out to the and out to the safetywatch output safetywatch output signalsignal
• Critical path unimportant Critical path unimportant because the clock speed because the clock speed is 1 secondis 1 second
M3: ProDiver 525M3: ProDiver 525
Questions?Questions?