1 Reply Latest reply on Feb 8, 2016 1:07 AM by user_293098075

    Multiplication without processor with DFB

    user_293098075

      This is only a test ! 

         

      I am waiting for your suggest.

         
         

      Target: The solution to the situation where the timing is inadequate.

         

      Operation : 16 Bit square operation

         

      Max Value: 0xFFFF

         

      Min Value: 0x0020

         

      Note 0: The first 4 bytes of neglect

         

      Note 1: If you want to reduce the min value, you must reduce the maximum value.

         
         


      I tried this; X = Y + Z => X^2 = X . Y + X . Z

         

      X = 0xaabb

         

      Y = 0xaa00

         

      Z = 0x00bb

         

      => X^2 = 0xaabb . 0xaa00 + 0xaabb . 0x00bb

         
         

      In DFB; I'm doing move for top 24 bits.

         

      X << 7 (shift) => 0x55 5D80

         

      Y << 7 (shift) => 0x55 0000

         

      Z << 15 (shift) => 0x5D 8000

         

      X.Y = 0x38 B017 (Hold A)

         

      X.Z = 0x3E 5B4C (Hold B)

         

      Outside the DFB;

         

      Y1 = 0x38 B017 (Hold A)

         

      Z1 = 0x3E 5B4C (Hold B)

         

      With DMA;

         

      Y1 = 0x38B0 1700 (Memory Map)

         

      Z1 = 0x3E 5B4C X^2 = (Y1 + Z1) * 4

         

      X^2 = 0x38EE 724C * 4 = 0x29 0952 F3E8