Integer Multipliers. Multipliers. A must have circuit in most DSP applications A variety of multipliers exists that can be chosen based on their performance Serial, Serial/Parallel,Shift and Add, Array, Booth, Wallace Tree,…. r. e. e. s. n. e. r. t. e. e. s. n. e. t. RA.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Multipliers • A must have circuit in most DSP applications • A variety of multipliers exists that can be chosen based on their performance • Serial, Serial/Parallel,Shift and Add, Array, Booth, Wallace Tree,….
r e e s n e r t e e s n e t RA converter 16x16 multiplier Converter r RC e e s n e t RB converter
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Slide 2
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Slide 3
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Slide 4
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Slide 5
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Slide 6
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 7
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 8
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 9
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 10
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 11
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 12
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 13
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 14
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 15
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 16
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 17
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 18
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 19
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 20
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 21
X: x3x2x1x0Y:y 3y2y1y0 Input Sequence for G1: 00x3x2x1x00x3x2x1x0 0x3x2x1x0 0x3x2x1x0 00y 3y3y3y3 0y 2y2y2y2 0y 1y1y1y1 0y 0y0y0y0 Reset:010000100001000010000 Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 21
Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 3
Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 4
Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 5
Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 6
Si: the ith bit of the final result Ci: the only carry from column i Sij: the jth partial sum for column i Cij: the jth partial carry from column i Slide 7
INPUT Ain (7 downto 0) REGA 0 MUX INPUT Bin (7 downto 0) 8 bit Adder REGB REGC Result (7 downto 0) Result (15 downto 8) CLOCK Shift Add Multiplier Design Implementation
Synchronous Shift and Add Multipliercontroller • Multiplication process: • 5 states: Idle, Init, Test, Add, and Shift&Count. • Idle: Starts by receiving the Start signal; • Init: Multiplicand and multiplier are loaded into a load register and a shift register, respectively; • Test: The LSB in the shift register which contains the multiplier is tested to decide the next state;
Synchronous Shift and Add Multiplier ControllerDesign • Add: If LSB is ‘1’, then next state is to add the new partial product to the accumulation result, and the state machine transits to shift&count state ; • Shift&Count: If LSB is ‘0’, then the two shift register shift their contains one bit right, and the counter counts up byone step. After that, the state machine transits back to test state; • When the counter reaches to N , a Stopsignal is asserted and the state machine goes to the idle state; • Idle: In the idle state, a Donesignal is asserted to indicate the end of multiplication.
n-bit Multiplier: Q0=1: Multiplicand is added to register A; the result is stored in register A; registers C, A, Q are shifted to the right one bit Q0=0: Registers C, A, Q are shifted to the right one bit Slide 1