Você está na página 1de 19

011000010111001101100001011011100111101001100001

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

011000010111001101100001011011100111101001100001
DISEO DE UN SISTEMA DIGITAL MULTIPLICADOR

Sistemas Digitales II

Ing. Vctor Asanza Armijos

01101010011001010110000101101110

Se desea disear un circuito Multiplicador de dos nmeros binarios sin signo,


cada uno de n bits.
Utilizaremos en el diseo el mismo mtodo de multiplicacin que se utiliza en el
proceso de multiplicacin manual.
El Producto esta formado por una serie de operaciones de suma.
Para cada i bit del Multiplicador_B que es igual a 1 sumamos al Producto el valor
de Multiplicando_A desplazado a la izquierda i veces.

011000010111001101100001011011100111101001100001

Tambin necesitamos un registro de desplazamiento de izquierda a derecha de n


bits para analizar bit por bit el nmero Multiplicador_B.

El sumador debe ser de 2n bits tambin y necesitamos un registro de


sostenimiento de 2n bits para el Producto_P.
Inicialmente el registro P debe estar en 0. Ya que no podemos usar Resetn
debemos cargarlo con 0. Utilizaremos un conjunto de mux de 2-a-1 de 2n bits.
Cuando la entrada Sel= 0 a las entradas del registro P llegan 0 y cuando Sel=1 el
registro P puede ser cargado con P+A proveniente del sumador.
Tambin necesitamos la puerta NOR para detectar que todos los bits del
Multiplicador_B son iguales a 0.
Sistemas Digitales II

Ing. Vctor Asanza Armijos

01101010011001010110000101101110

En el Procesador de Datos debemos usar un registro de desplazamiento


de derecha a izquierda de 2n bits para el nmero Multiplicando_A. El
Multiplicando_A es de n bits, pero debe ser desplazado n-1 veces, por lo tanto
debe tener 2n bits.

011000010111001101100001011011100111101001100001
Bosquejo del Procesador de Datos.

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

011000010111001101100001011011100111101001100001
Diagrama ASM del Controlador

Sistemas Digitales II

Ing. Vctor Asanza Armijos

01101010011001010110000101101110

Para implementar en VHDL nuestro diseo, primero desarrollamos individualmente cada


componente del procesador de datos:

011000010111001101100001011011100111101001100001
Diagrama de tiempo del circuito MULTIPLICADOR

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

011000010111001101100001011011100111101001100001
Cdigo VHDL para el registro de desplazamiento_d_i

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

011000010111001101100001011011100111101001100001
Cdigo VHDL para el registro de desplazamiento_i_d

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

011000010111001101100001011011100111101001100001
Cdigo VHDL para el registro de sostenimiento

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

011000010111001101100001011011100111101001100001
Cdigo VHDL para un BUS MUX 2 a 1

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

10

011000010111001101100001011011100111101001100001
Creacin del paquete COMPONENTES

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

11

011000010111001101100001011011100111101001100001
Creacin del paquete COMPONENTES

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

12

011000010111001101100001011011100111101001100001
Cdigo VHDL del circuito total Multiplicador de dos palabras de n bits.

Sistemas Digitales II

Ing. Vctor Asanza Armijos

13

01101010011001010110000101101110

El numero de bits de los datos DataA y DataB es establecido por el parmetro genrico n.
Ya que los registros A y P deben ser de 2n bits se define un segundo parmetro genrico
nn para representar el tamao 2 x n.
Cambiando los valores de los parmetros genricos se puede usar el mismo cdigo VHDL
para nmeros de cualquier tamao.

011000010111001101100001011011100111101001100001

Sistemas Digitales II

Ing. Vctor Asanza Armijos

14

01101010011001010110000101101110

La entrada de carga en paralelo del Multiplicando_A es de 2n bits, pero el DataA es solo de


n bits. Por lo tanto se usa la seal interna n_zeros para completar con ceros los 2n bits.
La seal Ain concatena estos bits con DataA para cargarlos en el registro Multiplicando_A.
Los procesos MSS_transiciones y MSS_salidas definen las transiciones de estados y
generacin de salidas del circuito Controlador.

011000010111001101100001011011100111101001100001
Los procesos MSS_transiciones y MSS_salidas definen las transiciones de
estados y generacin de salidas del circuito Controlador.

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

15

011000010111001101100001011011100111101001100001
El Procesador de Datos esta descrito por el siguiente cdigo VHDL:

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

16

011000010111001101100001011011100111101001100001
INTERFASES
Interfas de Entrada INTERFASES

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

17

011000010111001101100001011011100111101001100001
Diagrama ASM

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

18

011000010111001101100001011011100111101001100001
Interfaz de Salida

01101010011001010110000101101110

Sistemas Digitales II

Ing. Vctor Asanza Armijos

19

Você também pode gostar