2) Diseñe un circuito divisor expandible para números en binario natural: A(2n bits) / B(n
bits). Diseño solo con circuitos combinacionales (sin reloj).
Se debe mostrar el cociente y el residuo.
a) Para números en binario natural.
b) Para números con signo en complemento a DOS.
El concepto de divisor expandible es un divisor completo, el cual consta de las siguientes etapas:
Restador, Cociente Q y residuo (r1, r0).
Inductivamente haremos un divisor expandible con n=2, es decir, A (4bits)/ B (2bits) con un
circuito combinacional partiendo del siguiente diagrama de bloques:
Dividendo B3B2B1B0 Divisor d1d2 cociente Q3Q2Q1Q0 y Residuo r1r0
El diagrama de bloques representa en el fondo el proceso de la división tal como la conocemos.
El bloque base es un restador de 5 entradas y 3 salidas:
El funcionamiento de este se describe a continuación:
Si 𝐵 < 𝑏 entonces 𝑟 = 〈𝐵1 𝐵0 〉 𝑦 𝑄 = 0
Si no 𝑟 = 〈𝐵2 𝐵1 𝐵0 〉 − 〈𝑏1 𝑏0 〉 𝑦 𝑄 = 1
Entonces realizamos un mapa de Karnaught de 5 variables:
Para 𝑄:
𝐵1 𝐵0 𝐵1 𝐵0
00 01 11 10 00 01 11 10
𝑏1 𝑏0 00 1 1 1 1 𝑏1 𝑏0 00 1 1 1 1
01 0 1 1 1 01 1 1 1 1
11 0 0 1 0 11 1 1 1 1
10 0 0 1 1 10 1 1 1 1
̅̅̅
𝐵2 𝐵2
𝑄 = ̅̅̅̅
𝐵2 (𝑏̅̅̅̅̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅
1 𝑏0 + 𝐵 1 𝐵 0 + 𝑏1 𝐵 0 + 𝑏1 𝐵 1 + 𝐵 1 𝑏0 ) + 𝐵 2
Circuito dsch
Para 𝑟0 :
𝐵1 𝐵0 𝐵1 𝐵0
00 01 11 10 00 01 11 10
𝑏1 𝑏0 00 0 1 1 0 𝑏1 𝑏0 00 0 1 1 0
01 0 0 0 1 01 1 0 0 1
11 0 1 0 0 11 1 0 0 1
10 0 1 1 0 10 0 1 1 0
̅̅̅
𝐵2 𝐵2
𝑟0 = ̅̅̅ ̅̅̅0 𝐵0 + 𝑏1 ̅̅̅
𝐵2 (𝑏 𝐵1 𝐵0 + 𝑏̅1 𝑏0 𝐵1 ̅̅̅ ̅̅̅0 𝐵0 + 𝑏0 ̅̅̅
𝐵0 ) + 𝐵2 (𝑏 𝐵0 )
Circuito dsch
Para 𝒓𝟏
𝐵1 𝐵0
00 01 11 10
00 0 0 1 1
01 0 0 1 0
𝑏1 𝑏0
11 0 0 0 1
10 0 0 0 0
̅̅̅
𝐵2
𝐵1 𝐵0
00 01 11 10
00 0 0 1 1
𝑏1 𝑏0
01 1 0 1 0
11 0 1 0 1
10 1 1 0 0
𝐵2
̅̅̅1 𝐵1 𝐵0 + 𝑏
𝑟1 = 𝑏 ̅̅̅1 ̅̅̅
𝑏0 𝐵1 + 𝑏1 𝑏0 ̅̅̅
𝐵1 ̅̅̅ ̅̅̅1 𝑏0 ̅̅̅
𝐵0 + 𝐵2 (𝑏 ̅̅̅0 𝐵0 + 𝑏1 ̅̅̅
𝐵1 + 𝑏 𝐵1 𝐵0 + ̅̅̅
𝑏1 𝑏0 𝐵1 ̅̅̅
𝐵0 )
Circuito dsch
El bloque principal quedaría de la siguiente manera:
Creamos un bloque base para comprimir el circuito completo y asi poder manipular las
entradas y salidas con el objetivo de siseñar nuestro divisor
Divisor de 4bits/2bits
Simulación en dsch
Entradas
B3B2B1B0 <> D3D2D1D0 b1b0<>d1d0
Circuito verilog en el microwind
Entradas y salidas
SIMULACION EN MICROWIND
Se muestra la división de:
D=7 y d=1 entonces Q=7 y r= 0
D=6 y d=1 entonces Q=6 y r=0
D=5 y d=2 entonces Q=2 y r=1