• Home
  • Tutorials
  • Interviews
  • Info Seed
  • Forums
  • Projects
  • Links
  • Contact Us
Digital Electronics
NUMBER SYSTEM
BINARY CODES
BOOLEAN ALGEBRA
K MAPS
COMBINATIONAL CKT
SEQUENTIAL CIRCUITS
INTRODUCTION
CLOCK
BISTABLE MULTIVIBRATOR
DERIVATION of FLIPFLOP circuit
RS FLIPFLOP
RS FLIPFLOP(NAND IMPLEMENTATION)
R'S' FLIPFLOP
Clocking RS LATCH
Other LATCHes
Timing problem in LATCHES
MORE QUESTIONS
TIMING CIRCUITS

 

QUESTIONS

Q-Implement binary multiplication using shifter:

Eg. If we are multiply 11 * 4

Then 11 = 1011                  4 = 0100

Algorithm: For multiplication we first multiply the LSB of 4 (multiplier) with multiplicand and then shift it towards right. Then we multiply the next bit and then add it to the shifted result. Again we MULTIPLY, ADD & Shift or if bit of multiplier is 1 then ADD multiplicand and SHIFT and if bit of multiplier is 0 then ADD zero (or don’t perform ADD but just) SHIFT. We store multiplier in register Q & multiplicand in A and use adder as:

Now I’ll show the contents of shifter at every clock tick if we have to find A* B =  1011 * 0100

Clock tick                             contents of register                                        Function

1st tick                                   0              0000       0100                       Initial data is stored in register from inputs

2nd tick                                  0              0000       0100                       Result of adder is stored

2nd tick                                  0              0000       0010                       it is shifted towards right

3rd tick                                   0              0000       0010                       Result of adder is stored

3rd tick                                   0              0000       0001                       shifted right again

4th tick                                   0              1011       0001                       firstly result of adder is stored

4th tick                                   0              0101       1000                       now right shifted

5th tick                                   0              0101       1000                       Result of adder is stored

5th tick                                   0              0010       1100                       Again right shifted

And we get the answer as 001011002

 


previous next
| Copyright © 2009 exploreroots- All Rights Reserved | Disclaimer |