Vous êtes sur la page 1sur 3

INFORME PROYECTO SISTEMAS DIGITALES

DATAPATH Y UNIDA DE CONTROL


RAIZ CUARTA
Polanco Hctor (0810058) Estudiante de Pregrado
Ingeniera Electrnica
Universidad Del Valle.

AbstractEn este documento se muestra el funcionamiento de una unidad de control y el datapath especfico para realizar la
operacin de la raz cuarta, se parte del datapath especifico de la raz cuadrada el cual se modifica para poder realizar la operacin
en mencin (raz cuarta).
ndex Termsdatapath, raz cuarta, unidad de control,

I. DATAPATH ESPECIFICO

veces debe iterar para obtener el resultado en el registro


Q debe cargarse con el valor del tamao de palabra del
reistro Q (6 en ente caso) recordando que en el datapath
de la raz cuadrada este valor esta en n/2.
III. ALGORITMO DE CONTROL

Figura No 1 (Datapath Especifico)

En la figura anterior se muestra el dapath especifico


implementado en quartus para realizar la operacin.

II. DESCRIPCIN DE FUNCIONAMIENTO

la unidad de control es similar a la unidad para realizar


la raz cuadrada pero solo teniendo en cuenta que el
contador que le indica a la unidad de control cuantas

Figura No 2 (Algoritmo de Control)

INFORME PROYECTO SISTEMAS DIGITALES

Se puede observar en el algoritmo de control que los


cambios que se hacen con respecto a la unidad de
clculo de la raz cuadrada radica bsicamente en iterar
n veces el algoritmo para despus cargar el dato
calculado en el registro D e iterar de nuevo hasta
conseguir la segunda raz, de este modo se est
calculando la raz cuadrada de la raz cuadrada.
En el siguiente ejemplo se describe como se llega al
resultado siguiendo el algoritmo.

bit para la parte entera y 5 bits para la parte decimal.


Este comportamiento es razonable ya que al calcular la
raz cuarta la parte entera del numero se hace mas
pequea mientras que para la parte decimal se debe
tener un mayor numero de cifras significativas para
tener una mayor precisin.
A continuacin se muestran los registros de
desplazamiento que se implementaron con ayuda de la
mega funcin de altera.

Se quiere calcular la raz cuarta de 10:

Primero se calcula la raz cuadrada de 10, siguiendo el


algoritmo se obtiene

= .

Despues se carga este valor calculado de nuevo en el


registro D y se limpian A y Q para volver a iterar el
algoritmo.

Figura No 3 (Registros A,D)

De este modo se tiene entonces:

= .

Se puede ver que se pierde el ultimo dato que dara mas


precisin en el resultado, si los registros de la unidad de
ejecucin fueran de mayor cantidad de bits entonces el
resultado seria:

= .

Entonces el resultado esta truncado en precisin por el


echo de no contar con la suficiente cantidad de bits en
la unidad de ejecucin, de este modo el resultado es
4

= .

= .

Se llega entonces a la conclusin que se puede mejorar


la precisin del algoritmo para calcular la raz cuarta
teniendo utilizando una mayor cantidad de bits para la
unidad de ejecucin asi como tambin tener un mayor
rango de valores a los cuales le podemos aplicar el
algoritmo para calcular su raiz4.
Vale la pena aclarar que con la unidad de control que
se utiliz donde n=6, solo se puede calcular la raz de
los nmeros en el rango de 0000 a 1111 ya que el
algoritmo al iterar la primera vez para calcular la
primera raz queda restringido a 3 bits para la parte
entera y tres bits para la parte decimal, ya en el segundo
calculo de la raz la parte entera queda restringida a 1

Figura No 4 (Registro Q y ALU)


En la figura No 3 se puede observar que el registro D
siempre desplaza a la izquierda con cero y que el bit
mas significativo se desplaza hacia A para hacer la
operacin shl(A,D),0 (2)

INFORME PROYECTO SISTEMAS DIGITALES

Vale la pena mencionar que la nica forma que se da desplazamiento en los registros es cuando llega un flanco de reloj
y esta activado el Enable de cada registro para el caso en que se deben cargar datos en los registros de deben activar
las seales Load y Enable de cada registro, y en el caso que se necesita limpiar los registros, estos se configuraron de
tal forma que el clear sea asncrono de esta forma deben haber tres seales activas en el registro para limpiar un registro
Enable,Clear y Load.
De esta forma entonces se colocan las seales de control en cada estado para que realice la operacin que se requiere,
a contincuacion se muestra parte del cdigo VHDL que da un buen entendimiento al desarrollo del algoritmo mediante
la maquina de estados.

Figura No 5 (cdigo VHDL de la FSM)


De esta forma se obtuvo una buena aproximacin del calculo de la raz cuarta de un numero comprendido en el rango
de 0 a 15. Esta condicin en el rango de los datos de entrada es dada por la limitacin en el tamao de palabra de los
registros de la unidad de ejecucin.
Por ultimo a continuacin se puede ver todas la seales de control que tiene la FSM para gobernar sobre la unidad de
ejecucin.

Vous aimerez peut-être aussi