Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sumador- Restador
1. Se diseñó un testbench para comprobar el funcionamiento del código “adders.vhd”, tomando las
variables LARGE=6 y SMALL=4, quedando así:
Ilustración 1. Código testbench de adder.
Y se obtuvo:
3. Para mostrar el resultado en los siete segmentos es necesario el código add_subs, un código que
separe los dígitos del resultado obtenido en el código anterior y un código para convertir ese resultado
en los bits que encenderán cada segmento del display.
Cómo ya se tenía el primero, se procedió a crear el segundo, obteniendo el siguiente:
Se aclara que los siete segmentos se enumeraron de derecha a izquierda, donde el seg3 será el signo
y los segmentos 1 y 2 corresponderán al número; también que el 0 en la señal de salida de los siete
segmentos representa un segmento encendido en el display.
Al realizar la simulación en Model Sim tenemos:
Se aclara que el numero a se encuentra en los Switch del 4 al 7, y el número b del Switch 0 al
3 y que el botón que corresponde a add_subsn es el 2, para todos los casos.
Para una resta, en el segundo ejemplo, se tiene que a=0101 (5), b=0011 (3), la señal
add_subsn está en “0”, por lo que la salida debe ser el número 2. El seg3 está apagado ya que
el resultado es positivo, en el seg2 se muestra un 0 y en seg1 se muestra un 2. Cómo se
comprueba en la siguiente ilustración:
Para una resta con resultado negativo, en el tercer ejemplo, se tiene que a=0011 (3), b=0101
(5), la señal add_subsn está en “0”, por lo que la salida debe ser el número -2. El seg3 está
encendido y muestra el signo (-) ya que el resultado es negativo, en el seg2 se muestra un 0 y
en seg1 se muestra un 2. Cómo se comprueba en la siguiente ilustración:
En el cuarto ejemplo, se tiene que a=1111 (15), b=1111 (15), la señal add_subsn está en “1”,
por lo que la salida debe ser el número 30. El seg3 está apagado ya que el resultado es
positivo, en el seg2 y en seg1 se muestra una E en cada uno ya que cómo hay carry, se activa
la señal de error. Cómo se comprueba en la siguiente ilustración:
Ilustración 16. Resultado para overflow.