Presentation is loading. Please wait.

Presentation is loading. Please wait.

M3: The Pro-Diver 525 Kavita Arora (M3-1) Lisa Gentry (M3-2) Steven Wasik (M3-3) Karolina Werner (M3-4) Design Manager: Steven Beigelmacher Final Presentation.

Similar presentations


Presentation on theme: "M3: The Pro-Diver 525 Kavita Arora (M3-1) Lisa Gentry (M3-2) Steven Wasik (M3-3) Karolina Werner (M3-4) Design Manager: Steven Beigelmacher Final Presentation."— Presentation transcript:

1 M3: The Pro-Diver 525 Kavita Arora (M3-1) Lisa Gentry (M3-2) Steven Wasik (M3-3) Karolina Werner (M3-4) Design Manager: Steven Beigelmacher Final Presentation 12 April 2004

2 Outline Project description Project description Marketing appeal Marketing appeal Design Description & Flow Design Description & Flow Design process Design process Floorplan evolution Floorplan evolution Road to verification Road to verification Issues encountered Issues encountered Specifications Specifications Layout Layout Conclusions Conclusions Emulations Emulations

3 Project Description

4 Our Project Description Objective 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 Goals Goals –small, dense design –good aspect ratio –low power –transistor minimization

5 Marketing Appeal

6 The SCUBA Market 5-7 million active divers in the world 5-7 million active divers in the world Diving is a huge commercial industry Diving is a huge commercial industry Divers range from tourists on vacation to regular recreational divers to professionals (such as in the Navy) Divers range from tourists on vacation to regular recreational divers to professionals (such as in the Navy)

7 What is SCUBA diving? SCUBA = Self Contained Underwater Breathing Apparatus SCUBA = Self Contained Underwater Breathing Apparatus Generally considered safe, as long as one follows certain parameters Generally considered safe, as long as one follows certain parameters Every 33 feet down, the air compresses one atmosphere (pressure increases) Every 33 feet down, the air compresses one atmosphere (pressure increases) Nitrogen intake also increases and becomes dangerous at certain levels Nitrogen intake also increases and becomes dangerous at certain levels Can cause Decompression Sickness, also known as “the bends” Can cause Decompression Sickness, also known as “the bends” Proper use of tables tells the diver how long he or she can safely stay at certain depths Proper use of tables tells the diver how long he or she can safely stay at certain depths

8 Dive Tables

9 Why use a SCUBA computer? Safer – decreased risk for decompression sickness because information is more accurate Safer – decreased risk for decompression sickness because information is more accurate Many divers forget how to use dive tables and/or use them improperly – the consequences can be severe Many divers forget how to use dive tables and/or use them improperly – the consequences can be severe More fun – enjoy your dive without having to constantly re-check the tables More fun – enjoy your dive without having to constantly re-check the tables More time to dive – tables count on the worst case scenario More time to dive – tables count on the worst case scenario Records accurate information for your dive log book Records accurate information for your dive log book

10 Why use the Pro-Diver 525? Customized to body type, circumstances of dive Customized to body type, circumstances of dive Easy to Use Easy to Use –Digital display –All information at the touch of a button –Can be easily integrated into a watch Makes Diving More Fun Makes Diving More Fun –Alerts you of safety concerns, so you can enjoy your dive –Tells you how long before you can fly, helping for planning the return trip after a fabulous weekend diving in South America –Allows for extended dives past the extremely conservative dive tables for most teens and adults Not going to break your wallet Not going to break your wallet –100% customized and.34 density  fabrication is cheaper –Porosity is to metal 4 in 86% of the circuit reducing the number of masks needed for production. –Customization also allows for minimal transistor usages, lowering the minimum core voltage to 1.6V  longer battery life

11 Pro-Diver 525 Features Records stats for your dive log Records stats for your dive log –Water Temp –Bottom Time –Max Depth Gives important safety information Gives important safety information –Do I need a safety stop or decompression stop? –Am I ascending too fast? –How long can I safely remain at my present depth? –How long before I can safely fly on a commercial flight?

12 The Algorithm & Design Flow

13 Nitrogen Absorption The level of nitrogen absorption is proportional to the difference between the body’s internal pressure and the external pressure The level of nitrogen absorption is proportional to the difference between the body’s internal pressure and the external pressure dP t (t)/dt = k*(P(t)-P t (t)) dP t (t)/dt = k*(P(t)-P t (t)) Can be modeled as a difference equation Can be modeled as a difference equation –P t (t) = P t (t-1) + k*(P(i)- P t (t-1)) Our design takes in a depth value (feet) every second Our design takes in a depth value (feet) every second Nitrogen level is OK until the body’s tissue pressure reaches 33 feet Nitrogen level is OK until the body’s tissue pressure reaches 33 feet

14 Our Design Flow: Overall (1) Get K (2) Pressure Calculator (3) Safety Watch (4) Max Depth (8) Ascension Watch (5) Bottom Time (7) Time Left (6) Time to Flight Body Water temp age k depth pres

15 (1) Get K inverter AND OR inverter OR AND Comp 7 bit Body Type Age Water Temp 1b’1000001 1b’1110000 1b’1000101 7 7 Out[0] 1 AND OR Out[1] 1 Body Type inverter

16 (2) Pressure Calculator 9 bit Subtractor 25 bit Reg 25 bit adder 9 bit SM converter 25 bit SM converter 11 bit Multiplier Depth 9 9 Internal Pressure [20:16] [24:0] User Inputs 2 25 Gnd! 25 [7:0] [11:0] [23:12] [24] 9 Clk Rst

17 (3) Safety Watch 5 bit comparator OR Inverter AND Out 21 1 1 1 1 Pressure 1b’11110 5 1b’11011 1b’11000 1

18 (4) Max Depth 8 bit Register8 bit Get Max Depth Max Depth 8 Clock Reset 8 8

19 (5) Bottom Time 17 bit add one 8 bit Comp. 8 bit Register Inverter AND 8 bit Comp.8 bit Register Depth Clock Reset Bottom Time [16:8] 8 1 8 1 8 8b’00001111 1 1 17

20 (6) Time to Flight Rom/Demux 17 bit Register 17 bit get maxMinus 117 bit mux Pressure 5 Clock Reset 17 11 Time To Flight 17 11 17

21 (7) Time Left NOR 7 bit INV 8 bit Subtractor 1 bit Reg 9 bit Reg 5 bit Mux ROM Demux 9 bit Reg9 bit Subtractor Depth 1b’11111 Pressure 5 5 [7:0] [6:0] [7:0] 7 479 9 9 9 Time Left Clock 1

22 (8) Ascension Watch 8 bit reg 9 bit Subtractor 8 bit SM conversion AND 8 bit comparator 1 1 Depth 8 8 1 Gnd! 1 9 9 out[8] 8 1 1b’11111000 out[7:0] Ascension Watch

23 The Design Process

24 Design Process: Initial Design Problem: The equations for equivalent body pressure were not available online, except general theory Problem: The equations for equivalent body pressure were not available online, except general theory Solution: We used the standard dive tables along with the differential equation to come up with formulas. This involved a great deal of experimentation with Matlab to find the proper constants. Solution: We used the standard dive tables along with the differential equation to come up with formulas. This involved a great deal of experimentation with Matlab to find the proper constants.

25 Design Process: Initial Design For our design, we choose a real time application with a clock speed of 1 Hz For our design, we choose a real time application with a clock speed of 1 Hz This is due to the fact that a diver’s pressure changes so gradually that data more frequently than every second would be superfluous and a waste of power This is due to the fact that a diver’s pressure changes so gradually that data more frequently than every second would be superfluous and a waste of power

26 Design Process: Architecture Problem: the pressure calculator difference equation required a 8x4 multiplication Problem: the pressure calculator difference equation required a 8x4 multiplication Solution: Multiplier takes in one of a given set of constants so Multiplier was designed to be fixed point Solution: Multiplier takes in one of a given set of constants so Multiplier was designed to be fixed point

27 Design Process: Architecture Problem: Logarithms were needed for calculating time left and time to flight Problem: Logarithms were needed for calculating time left and time to flight Solution: We used static precharged ROMS to approximate the logarithmic outputs Solution: We used static precharged ROMS to approximate the logarithmic outputs

28 Design Process: Architecture Problem: Two simultaneous log values are needed to calculate timeleft output. Problem: Two simultaneous log values are needed to calculate timeleft output. Solution: Instead of using two identical ROMS, a slow clock operating at half the clock frequency was employed. Solution: Instead of using two identical ROMS, a slow clock operating at half the clock frequency was employed.

29 Design Process: Layout Problem: Wiring became impossible (literally) for more complex modules, caused by a great deal of wide wires (up to 25 bits) and feedback Problem: Wiring became impossible (literally) for more complex modules, caused by a great deal of wide wires (up to 25 bits) and feedback Solution: the bit slice! Solution: the bit slice!

30 Examples… Pressure Calculator– loops, loops, more loops! Time to Flight – new and improved with bitslice! Time to Flight – our first attempt…

31 Design Process: Simulation Problem: Minor glitches in the outputs of several modules Problem: Minor glitches in the outputs of several modules Solution: Added registers to the outputs of the modules Solution: Added registers to the outputs of the modules Problem: Still had glitches Problem: Still had glitches Solution: Resized those registers Solution: Resized those registers

32 Floorplan Evolution

33 Floorplan Evolution (milestone 3) Ascension Watch Pressure Calculator Bottom Time Max Depth Get K Safety Watch Time to Flight Time Left

34 Floorplan Evolution (milestone 5) Ascension Watch Pressure Calculator Bottom Time Max Depth Get K Safety Watch Time to Flight Time Left

35 Our Final Layout Ascension Watch Pressure Calculator Bottom Time Max Depth Get K Safety Watch Time to Flight Time Left

36 The Road to Verification

37 Verilog Verification - PressureCalc 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.5304 bodyvector(60*55): ans = 28.3850 bodyvector(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 = 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,pres=25,depth= 80 time= 9054,safetywatch = 2 time = 9908,pres=28,depth= 40 time= 10272,safetywatch = 1 time= 12165,safetywatch = 0 time = 17110, pres=18,depth= 0

38 Verification – Spice

39 Verification – Rise Time and Propagation delay RiseTime = 32p seconds RiseTime = 32p seconds Propagation Delay = 1.5n seconds Propagation Delay = 1.5n seconds

40 Issues Encountered

41 Issues Encountered Nature of our design as very custom Nature of our design as very custom –Uniqueness of layout Floorplan Floorplan –Independence of modules meant they could fit anywhere, but where will minimize space –Had to re-layout some submodules to fit the overall design well Submodules’ internal routing Submodules’ internal routing –We love the bitslice!!! Difficulty of Verification Difficulty of Verification –Lots of feedback –Realtime means long time to fully test SPICE, signal degradation for vdd! and gnd! rails SPICE, signal degradation for vdd! and gnd! rails

42 Design Specifications

43 Pin Specs Clock 1 bit Internal Reset Internal Body type 1 bit User input Water temp (F) 7 bits User input Diver’s age (years) 7 bits User input Depth (feet) 8 bits From sensor Internal Pressure (feet) 5 bits The body’s equivalent pressure Max Depth (feet) 8 bits The maximum depth for this trip Time to Flight (minutes) 9 bits Time until the diver can safely fly a commercial flight Ascension Watch 1 bit Flashes a warning if diver ascends too quickly (1=danger, 0=safe) Bottom Time (minutes) 11 bits Time spent underwater this trip Time Left (minutes) 8 bits The amount of time the diver can safely remain at current depth Safety Level 2 bits The diver’s current safety level based on internal pressure (0=ok, 1=safety stop, 2=decompression stop, 3=terminate!) Inputs (25 bits) Outputs (44 bits)

44 Part Specs MODULE NUM. TRANSISTORS SIZE (sq. microns) DENSITY (trans/sq. micron) Get K 4941401.230.35 Max Depth 4041189.000.34 Pressure Calculator 346010616.470.33 Ascension Watch 15945215.410.31 Bottom Time 9642906.060.33 Time Left 15264057.230.38 Time to Flight 14604028.640.36 Safety Watch 320929.280.34 OVERALL DESIGN 1022230351 0.34 !

45 Chip Specs Transistor Count: 10222 Transistor Count: 10222 Size: 201.87 microns x 151.02 microns Size: 201.87 microns x 151.02 microns Area: 30351 sq. microns Area: 30351 sq. microns Aspect Ratio: 1.33:1 Aspect Ratio: 1.33:1 Density: 0.34 transistors/sq. micron Density: 0.34 transistors/sq. micron Core Voltage: 1.6 Core Voltage: 1.6

46 Layout

47 Our Final Layout Ascension Watch Pressure Calculator Bottom Time Max Depth Get K Safety Watch Time to Flight Time Left

48 Our Final Layout Ascension Watch Pressure Calculator Bottom Time Max Depth Get K Safety Watch Time to Flight Time Left body age Water temp k (2 bits) Depth (8 bits) Pres (5 bits)

49 Ascension Watch depth Asc watch

50 Time Left pres depth Time left

51 Pressure Calculator depth pres

52 Time to Flight pres ttf

53 Bottom Time depth Bottom time

54 Max Depth depth Max depth

55 Safety Watch & Get K age temp body k pres safety

56 Top Level (poly mask)

57 Top Level (metal 1)

58 Top Level (metal 2)

59 Top Level (metal 3)

60 Top Level (metal 4)

61 Conclusions

62 Conclusions Pros Pros –Interesting application –Unique for this class –Real world application –An architecture and design challenge We couldn’t just find code (or even an algorithm) on the web, we had to come up with all of the equations and features ourselves We couldn’t just find code (or even an algorithm) on the web, we had to come up with all of the equations and features ourselves Mixed feeling about our choice of design Mixed feeling about our choice of design Cons Cons –Class was not structured to our type of design Not enough time to develop our architecture before schematic was due Not enough time to develop our architecture before schematic was due Confusion about milestones – “all subcomponents must LVS” Confusion about milestones – “all subcomponents must LVS” –Amount of custom design no subcomponent was reused, except basic gates no subcomponent was reused, except basic gates

63 Conclusions This class isn’t just layout This class isn’t just layout –We underestimated verification and spice huge time consumers Cadence Spice is a poor tool for debugging Cadence Spice is a poor tool for debugging –“No convergence in operating point” really means “somewhere in your design a signal failed but I don’t want to tell you where”

64 Conclusions We are most proud of We are most proud of –Our compact layout –Our unique design –Our modular approach made LVSing the whole circuit fairly trivial after the main 8 LVSed made LVSing the whole circuit fairly trivial after the main 8 LVSed Made debugging easier Made debugging easier –Our efficient design that minimized transistors Our original transistor count was ~15,000 and we reduced it to 10,222 through logic minimization without compromising our accuracy Our original transistor count was ~15,000 and we reduced it to 10,222 through logic minimization without compromising our accuracy –We did it! We are going to happy hour on Wednesday to celebrate! We are going to happy hour on Wednesday to celebrate!

65 Matlab Demo.

66 Emulations Matlab demo Matlab demo


Download ppt "M3: The Pro-Diver 525 Kavita Arora (M3-1) Lisa Gentry (M3-2) Steven Wasik (M3-3) Karolina Werner (M3-4) Design Manager: Steven Beigelmacher Final Presentation."

Similar presentations


Ads by Google