¿Cómo amplío el divisor?

1

Estoy tratando de hacer un divisor de 128 bits en Logisim usando la biblioteca aritmética incorporada de Logisim. ¿Cómo conecto los divisores para que pueda trabajar con una división de más de 32 bits?

Lo que he considerado:

  1. Cree el divisor a partir de puertas lógicas (toma demasiado tiempo y podría bloquear la simulación).
  2. Escriba mi propia biblioteca divisoria (no conozco bien el código fuente de Java o Logisim y sigo con el problema original).
  3. Trabaja con los divisores como hice con los multiplicadores, pero encadénalos en el orden inverso (¿es eso incluso plausible?).
  4. Escriba una aplicación para generar el divisor (el circuito resultante bloquearía la simulación).

Podría ser capaz de proporcionar una captura de pantalla de lo que describí para el # 3 con mi multiplicador si necesito aclarar ese punto.

Edit: Esto es lo que he encontrado hasta ahora basado en la respuesta que obtuve:

    
pregunta Timothy Chapman

1 respuesta

0

Cuando desee crear un multiplicador de 64 bits a partir de los de 32 bits, puede usar la ecuación (a + b) * (c + d) = ac + bc + ad + bd Tienes cuatro multiplicaciones de números de 32 bits para una multiplicación de 64.

Cuando quiere construir un divisor de 64 bits a partir de los de 32 bits, la ecuación es (a + b) / (c + d) = a / (c + d) + b / (c + d) pero esto no ayuda mucho, todavía tienes que dividir 32 bits por 64 bits. Puede probar (a + b) / (c * d) = a / c / d + b / c / d, pero esto es útil solo si el divisor puede dividirse en dos factores, cada uno menor de 32 bits.

Las propiedades de la operación de división no permiten una expansión como la de la multiplicación.

    
respondido por el Uwe

Lea otras preguntas en las etiquetas