Tightly coupled INS/GPS system using particle filter D0928- system architecture and math functions Part A - Final presentation Students: Royzman Danny Peleg Nati Supervisor: Fiksman Evgeni
Math functions ▫Overview ▫Trigonometric ▫Exp{-x} ▫SQRT ▫Implementation ▫Performance Infrastructure – Phase1 ▫Main difficulties ▫Block diagram ▫Controllers diagram Gantt Chart Agenda
Math functions - Overview sine & Cosine exp sqrt Particle propagation Revaluation GPS update + Neff Dk computation Reweight
Math functions - guidelines The following guidelines were defined for function implementation: I/O format : signed fixed point. Maximum flexibility. Low FPGA resource usage. Reasonable accuracy.
Math functions – Overview Initial proposal Initially proposed implementation based on CORDIC algorithm Iterative algorithm. I/O format : variable width signed fixed point. Low HW requirements. Easily adjustable and easily implementable. Allows a generic unified core, for all the functions needed. Rough accuracy estimation is one bit for each iteration.
Math functions – Overview CORDIC R&D FunctionIssues Trigonometric Pre and post processing units needed to cover ±Π Exponential Very large convergence zone needed, impractical for CORDIC use Square rootVery large IO format needed, impractical for CORDIC use See project book for more details
Math functions – Overview Algorithm adjustments FunctionAlgorithm Trigonometric CORDIC algorithm Exponential“Invariants” method Square root“A non-restoring square root “ algorithm
Math functions – Implementation Trigonometric functions Variable-width variable-pipeline CORDIC algorithm. ▫ Sine, Cosine functions implemented in single unit. ▫ Pre & Post processing units added for broader input coverage. ▫ Pipe core contains datapath and control stages. ▫ Pipe core combined from variable (2,4..16) amount of single stages, separated by a register. ▫ Default values: (HW cost/accuracy trade off). Stages total amount : 32 units. Input/output width :32 bit. IO format input, output
Math functions – Implementation Trigonometric functions Pre-Processing unit Pipe Core Post-Processing unit Default values LUT Input Sine Cosine
Math functions – Implementation Trigonometric functions Single pipe stage
Math functions – Implementation Trigonometric functions Pre processing unit
Math functions – Implementation Trigonometric functions Post processing unit
Math functions – Implementation Exponential function “Invariants” method will be used ▫ 17 single stages. ▫ Executing a 4-stages pipe flow. ▫ 5 unique “integer” stages. ▫ 6 unique “fractal” stages, repeated twice for better coverage. ▫ Pipe core contains datapath and control stages. ▫ IO format input, output.
Math functions – Implementation Exponential function Single stage
Math functions – Implementation Square root function “A non-restoring square root” algorithm will be used ▫ Fully combinatorial implementation ▫ 48 unique iterations, can be pipelined. ▫ IO format input, output.
Math functions – Implementation Square root function Schematic
Math functions – Performance PerformanceResource usage Pipe size Clock(MHz) Mean accuracy(%) Comb.ALUDedicated logic registers Trig block 2÷ ÷ ÷ ÷1381 Exp block SQRT block
Infrastructure Infrastructure mile stone - GPS Phase I is done Infrastructure – Phase1 ▫Main difficulties ▫Block diagram ▫Controllers diagram
Infrastructure Main difficulties Integration problems between frames. Hardware adjustments for debug. Long compilation time.
Infrastructure Phase1 - block diagram Taken from Gadi&Eran’s D1418_BOOK
Infrastructure Phase1 - connectivity
Infrastructure Phase1 - controllers diagram Main controller1 F.S.M
Infrastructure Phase1 - controllers diagram Local controller2 F.S.M
Infrastructure Phase1 - controllers diagram Main controller3 F.S.M
Infrastructure Phase1 - controllers diagram Main controller4 F.S.M
Infrastructure Phase1 - From Debug
Infrastructure Phase1 - From Debug +100 cycles
Infrastructure Gantt Chart ינוארדצמברנובמבר Phase4 Phase3 Phase2
Q&A
Backup
אלגוריתם CORDIC סיבוב וקטור – התמרה כללית :
אלגוריתם CORDIC
הצובר הזוויתי:
אלגוריתם CORDIC שני מצבי עבודה : Rotation by Volder.1– מצב סיבוב 2.Vectoring – מצב וקטורי
אלגוריתם CORDIC בסה"כ עבור מצב סיבוב :
אלגוריתם CORDIC
Regular single stagesAdditional single stages Proposed HW implementation Hyperbolic functions Pre Process Unit Mathematical actions required, compared to regular single stage X. Hu, R. Huber, S. Bass, “Expanding the Range of Convergence of the CORDIC Algorithm”, IEEE Transactions on Computers. Vol. 40, Nº 1, pp , Jan Daniel R. Llamocca-Obregón,Carla P. Agurto-Ríos; A FIXED-POINT IMPLEMENTATION OF THE EXPANDED HYPERBOLIC CORDIC ALGORITHM Back
Proposed HW implementation Hyperbolic functions Pre Process Unit C simulation results, acquired by running D0228 (Neta & Moti) project code. Maximum Exponential input : Minimum Exponential input : Average Exponential input : Convergence zone expansion: Total values checked : > (One million) Back Values coveredNegative stages 1%0(default) 63%5 87%10