division de restas sucesivas en vhdl

Amigos buenos dias me preguntaba si alguno de ustedes me pueden ayudar en la elaboracion de una division de 16 bits/8 bits por restas sucesivas en codigo vhdl.. por favor la ayuda que me brinden se las agradecera enormemente
 
Puedes usar el "While" como si fuera C pero cerrandolo con el "Loop"

result := A;
C := 1;
WHILE C = 1 LOOP
result := result - B;
if result < B then
C = 0;
end if;
END LOOP;

O algo de este estilo deberia ser
 
Puedes usar el "While" como si fuera C pero cerrandolo con el "Loop"

result := A;
C := 1;
WHILE C = 1 LOOP
result := result - B;
if result < B then
C = 0;
end if;
END LOOP;

O algo de este estilo deberia ser

primero que todo agradezco tu interes ahora podrias explicarme bien la tonica es que soy nuevo en esto y necesito orientacion no se ni por donde arrancar
 
La tonica ??

A ve...............

El lenguaje VHDL es basicamente crear circuitos a base de programacion, como cuando haces un programa en C, solo que con la de años que tiene este lenguaje y no se ha actualizado, parece que programas en Pascal mas que otra cosa.

El programa en si que te he escrito es lo que pedias, dividir a base de restas ejemplo :

7 / 2 => 7-2 = 5 , 5 - 2 = 3 , 3 - 2 = 1 , y aqui paras porque no se puede volver a dividir usando enteros porque 1 < 2.

Entonces usas como condicion de parada del bucle que el resultado sea menor al que resta.

Asi que has dividido 7/2 haciendo restas sucesivas, en este caso 3.



Entonces en el while podrias poner directamente que la condicion del resultado fuese menos que el restador, pero yo prefiero usar variables externas que activo cuando quiero, como si fueran booleanas.

He visto que en lo que te pase falta el contador para el resultado, porque solo de devuelve el resto, no la division, asi que lo conseguirias haciendo un contador que al final de cada loop haga un d := d +1; que previamente deberias haber inicializado a 0.

Y no se que mas explicarte la verdad, con una pregunta concreta es facil, pero con una tan generica..............
 
Hola , que tal ... soy nuevo en el foro no sé como postear o abrir un nuevo tema , necesito ayuda en un laboratorio que me han dejado , no tengo ni idea de como empezar. Te adjunto la guia... cualquier ayuda que me des te lo agradeceria mucho.


 
Atrás
Arriba