Estoy desarrollando un núcleo en Spartan 6 que necesita hacer divisiones como 1/6, 2/4, etc., por lo que los valores siempre están entre 0 y 1. Como no necesito la precisión del punto flotante, quiero usar un divisor de punto fijo ya que la división es costosa. Encontré algunos divisores en opencores.org pero todos ellos pueden computar problemas de división normales como 4/2, 8/4, etc... bueno, pero no pueden hacer operaciones del tipo 1/6. ¿Alguien puede señalar un divisor adecuado para mi aplicación?
Gracias
Dices que has encontrado divisores que hacen una división "normal". La división de punto fijo es una división normal, excepto que el dividendo debe escalarse (desplazarse a la izquierda). Mueva el dividendo a la izquierda 8 lugares (multiplique por 256), luego haga una división normal. El resultado fraccionario de punto fijo es igual al resultado entero de la división, dividido por 256. Entonces, si desea calcular 1/6, en realidad dividirá (1*256)/6, que es 42. El resultado real es por lo tanto, 42/256 = 0,1640625, que está razonablemente cerca del valor real de 0,1666... Normalmente diríamos que este resultado es un número de punto fijo con 8 bits a la derecha del punto decimal. Si desea una mayor precisión, utilice un factor de escala mayor.
joe hass
david tweed
david tweed
joe hass
david tweed
8A52
8A52
usuario20555
clabacchio