filmov
tv
Binary Division Circuit

Показать описание
----Info for the imaginary People who's watching this----------
unfortunately the pictures hosted online expired, and I no longer have screenshots of the various parts of the circuit :(
I've finally made a division circuit capable of dividing any 8 bit number with an equal or lesser (why? see bottom paragraph) 8 bit number, this circuit has 16 main inputs, one reset and 16 outputs, most of the logic is made only with basic ports, but to save me from "OUT OF MEMORY" errors, I've decided to use some pre-made components like the SIPO register and JK ports.
the hole circuit operates atm @50KHz and it have the option of being operated manually for debugging.
So far the only problem with this design is that if you divide 34 with 9 then it wont stop until the shift register has overflown and adding 1 to the SIPO register for every clock until sum=FF...
it works by subtracting the divisor from the dividend and shifting it right:
circuit logic in text form:
A= dividend
B= divisor
shift B to the left until MSB of B is on 8th bit place
(if B was 00000010 then B becomes 10000000)
now
if B is equal or smaller than A then add 1 to sum and update A to the new value
shift B right and repeat:
(B is now 01000000 so on and so on)
else if B is greater than A add a 0 to sum
shift B right
endif
end when LSB of B is on the 1th bit place
(when B = B original)
This whole circuit was designed by me without any help from the internet. That's because I haven't found any good explanation on how to build a division circuit or any explanation for that mater... when I do a search fro Binary division I get "how to divide binary" and when I search for circuits I get nothing that helps at all.
If anybody has good info I would love to read it.
Inside the circuit Photos
New circuit:
8 Pictures
unfortunately the pictures hosted online expired, and I no longer have screenshots of the various parts of the circuit :(
I've finally made a division circuit capable of dividing any 8 bit number with an equal or lesser (why? see bottom paragraph) 8 bit number, this circuit has 16 main inputs, one reset and 16 outputs, most of the logic is made only with basic ports, but to save me from "OUT OF MEMORY" errors, I've decided to use some pre-made components like the SIPO register and JK ports.
the hole circuit operates atm @50KHz and it have the option of being operated manually for debugging.
So far the only problem with this design is that if you divide 34 with 9 then it wont stop until the shift register has overflown and adding 1 to the SIPO register for every clock until sum=FF...
it works by subtracting the divisor from the dividend and shifting it right:
circuit logic in text form:
A= dividend
B= divisor
shift B to the left until MSB of B is on 8th bit place
(if B was 00000010 then B becomes 10000000)
now
if B is equal or smaller than A then add 1 to sum and update A to the new value
shift B right and repeat:
(B is now 01000000 so on and so on)
else if B is greater than A add a 0 to sum
shift B right
endif
end when LSB of B is on the 1th bit place
(when B = B original)
This whole circuit was designed by me without any help from the internet. That's because I haven't found any good explanation on how to build a division circuit or any explanation for that mater... when I do a search fro Binary division I get "how to divide binary" and when I search for circuits I get nothing that helps at all.
If anybody has good info I would love to read it.
Inside the circuit Photos
New circuit:
8 Pictures
Комментарии