Estoy tratando de diseñar una calculadora básica que pueda agregar, sub, mul y div con Logisim. Para almacenar los operandos voy a utilizar registros de desplazamiento. Recientemente he aprendido sobre ellos y entiendo qué son las entradas en serie y la carga en paralelo. También sé cómo cambiar los bits. He copiado este registro de cambio universal de mi libro de texto. (Diseño digital de Morris Mano) p>
Lacalculadorafuncionarásoloen4dígitos.Poresocombiné4Registrosdecambiosuniversalesdelasiguientemanera
Aquí, cada vez que cambio el valor (Izquierda o Derecha), el registro cambia solo 1 bit. Lo que necesito es poder cambiar 4 bits a la vez. Debido a que estoy almacenando mis dígitos en BCD, necesito poder mover todos los 4 bits a la derecha o a la izquierda juntos en un solo pulso de reloj.
He buscado esto en google y todo lo que pude encontrar fue:
Serial In Serial Out Shift Register,
Serial In Parallel Out Shift Register,
Parallel In Serial Out Shift Register,
Parallel In Parallel out Shift Register.
Pero todos estos registros pueden cambiar solo un bit por pulso de reloj. Entonces, para poder almacenar mis representaciones BCD, ¿cómo puedo cambiar los bits en paralelo (4 bits a la vez)?
¿O debería de alguna manera controlar el reloj para que suene solo 4 veces? (Si es así, por favor, explícame cómo)
Indique si hay una mejor manera de almacenar mis operandos.