11
GPS Waypoint NavigationGPS Waypoint NavigationTeam M-2:Team M-2:
Charles Norman (M2-1)Charles Norman (M2-1)Julio Segundo (M2-2)Julio Segundo (M2-2)
Nan Li (M2-3)Nan Li (M2-3)Shanshan Ma (M2-4)Shanshan Ma (M2-4)
Design ManagerDesign Manager: Zack Menegakis : Zack Menegakis
Presentation 5: Top-Level IntegrationFebruary 20, 2006
Overall Project Objective:Design a chip that navigates an aircraft to pre-determined waypoints.
22
StatusStatus Design ProposalDesign Proposal
Project chosenProject chosen Architecture ProposalArchitecture Proposal
MATLAB simulatedMATLAB simulated Behavioral Verilog written & simulatedBehavioral Verilog written & simulated
FloorplanFloorplan Structural Verilog written & simulated (except left side due Structural Verilog written & simulated (except left side due
to clock/buffer issues)to clock/buffer issues) Accurate transistor countAccurate transistor count
Schematic DesignSchematic Design Schematic done, not tested completelySchematic done, not tested completely
LayoutLayout SimulationsSimulations
33
Design DecisionsDesign Decisions AccuracyAccuracy
– Latitude and longitude inputs in decimal format (6 decimal places)Latitude and longitude inputs in decimal format (6 decimal places)
– GPS ~105 feet to 1 footGPS ~105 feet to 1 foot PowerPower
– On/Off Power Control for Logic ModulesOn/Off Power Control for Logic Modules I/O pinsI/O pins
– Reduced from >200 to 74 pinsReduced from >200 to 74 pins Clock speed/buffersClock speed/buffers
– Reduced 6 different clock speeds to 4Reduced 6 different clock speeds to 4– All clock dividers depend on input clock to reduce delayAll clock dividers depend on input clock to reduce delay– Transistor count went from 6,000Transistor count went from 6,00012,00012,0009,0009,000– Demux Demux Serial-Parallel Shift Register Serial-Parallel Shift Register
Ripple carry adder Ripple carry adder – Consume 60,000 times less static power than dynamic power at Consume 60,000 times less static power than dynamic power at
1.8V1.8V– Added two invertors to comparators with carry outs to strengthen Added two invertors to comparators with carry outs to strengthen
signalsignal
44
Clock SpeedClock Speed
Input Input –61.44 kHz for input –61.44 kHz for input –Serial to parallel => 61.44kHz/30 = 2048Hz –Serial to parallel => 61.44kHz/30 = 2048Hz
HeadingHeading –8Hz for registers before the heading calculation –8Hz for registers before the heading calculation –To observe changes in both longitude and latitude –To observe changes in both longitude and latitude
50 knots = 50*105 feet/min = 5250 feet/480 cyc ~ 11 feet/cyc50 knots = 50*105 feet/min = 5250 feet/480 cyc ~ 11 feet/cyc
– –Gives accurate direction and speedGives accurate direction and speed Output to Black boxOutput to Black box
–Parallel to serial => 8Hz *30 = 240hz –Parallel to serial => 8Hz *30 = 240hz
55
Clock SpeedClock Speed/* Clock converter from 61.44KHz to 2048Hz */module inputclk (output clk, input clock,rst); wire [4:0] sum,num;
reg5 r(num,sum,clock,rst,clk); add1_30 a1(sum,num); and (clk,num[4],num[3],num[2],num[1]);endmodule
/* Clock converter from 61.44KHz to 240Hz */module rclk (output clkr, input clock,rst); wire [7:0] sum,num; reg8 r(num,sum,clock,rst,clkr); add1_255 a(sum,num); and (clkr1,num[7],num[6],num[5]); and (clkr2,num[4],num[3],num[2]); and (clkr,clkr1,clkr2,num[1],num[0]);endmodule
/* Clock converter from 61.44KHz to 8Hz*/module outputclk (output clock8, input clock,rst); wire [12:0] sum,num; reg13 r(num,sum,clock,rst,clock8); add1_7680 a(sum,num); and (clock8,num[12],num[11],num[10],num[9]);endmodule
/* Counter for Blackbox */module counterr (output [29:0] ar, input clkr,clock,rst); wire [4:0] sum, numr;
reset rcl(reset,clock,rst); reg5 r(numr,sum,clkr,reset,rest); add1_30 a(sum,numr); andnum an(ar,numr); and (rest,numr[4],numr[3],numr[2],numr[0]);
endmodule
module reset (output sto, input clock,rst); wire [8:0] sum,num; reg_9 r(num,sum,clock,rst,sto); add1_511 a(sum,num); and (clkr1,num[7],num[6],num[5]); and (clkr2,num[4],num[3],num[2]); and (st,clkr1,clkr2,num[1],num[0]); xor (sto,st,num[8]);
endmodule
66
Serial - Parallel Shift RegisterSerial - Parallel Shift Register
77
Ripple Carry AdderRipple Carry Adder
88
Ripple Carry AdderRipple Carry Adder
99
Overflow CaseOverflow Case
Problem : Flying over the border +180 to -180
Solution : if either longitude is negative and it’s close to the border, add 360 to the negative value
1010
Block Level System DiagramBlock Level System Diagram
1111
Transistor EstimatesTransistor Estimates
ComponentComponent Last CountLast Count Recent CountRecent Count
FSMFSM 214214 272272
SRAMSRAM 25402540 30503050
Registers/BuffersRegisters/Buffers 61006100 94309430
Speed Comparator Speed Comparator
Angle ComparatorAngle Comparator
Altitude ComparatorAltitude Comparator
Waypoint ComparatorWaypoint Comparator
380380
470470
750750
29002900
184184
908908
472472
35263526
Heading CalculatorHeading Calculator 26002600 32323232
Distance CalculatorDistance Calculator 30203020 23322332
Speed CalculatorSpeed Calculator 10701070 11341134
TotalTotal 20,10020,100 24,54024,540
1212
SRAMSRAM
1313
ProblemsProblems Over flow cases = transistor counts BOOM!Over flow cases = transistor counts BOOM! Clock delay causes problems…Clock delay causes problems…
– Different reset timesDifferent reset times fsmfsm sramsram counter (Parallel-Serial to blackbox)counter (Parallel-Serial to blackbox)
– Transistor countTransistor count
1414
What’s Next…What’s Next…
Here’s what’s on our agenda for next Here’s what’s on our agenda for next week…week…
Finish testing SchematicsFinish testing Schematics Creating Module LayoutCreating Module Layout
1515
Questions?Questions?Comments?Comments?
Ideas?Ideas?