Bueno, una captura de la A.L.U. de 4 bits simulada con ksimus. Ya esta funcionando (teóricamente) con clock y realiza 8 operaciones básicas, basadas en las más utilizadas por los pic's.
Bueno, voy a mencionar algunas características:
- Esta compuesta por módulos que operan 1 bit, y trabaja de forma escalable para poder realizar las operaciones con más, en este caso 4 bits.
- El bus para la interconexión es bastante simple y requiere sólo un cuidado especial para las rotaciones de bits. Sólo se una un D-Latch externo para sincronizar el Carry Out de salida del grupo.
- Cada módulo de un bit controla la sincronización del la salida Out pero no así del Carry Out, puesto que esto no es necesario, pudiendo así obtener las salidas prácticamente en el mismo tiempo respecto a la frecuencia del clock.
- En cada uno de los módulos se utilizaron compuertas AND, NAND e INV BUF para homogenizar el desarrollo. Sólo los D-Latch y los MUX no fueron concebidos de la misma forma.
- XOR - Operación OR exclusiva.
- AND.
- OR.
- Add - Operación de adición de bits.
- Sub - Sustracción usando complemento a 1.
- RRF - Rotación de 1 bit a la derecha.
- RLF - Rotación de 1 bit a la izquierda.
- Comp1 - Complemento a 1.
A.L.U. de 1 bit |
Se puede notar que la operación de XOR es un módulo también, esto es por la normalización de las compuertas.
Compuerta XOR como módulo |
También se modularizo la operación de adición, puesto que al ser utilizada por la de sustracción es mucho más cómodo generar un módulo.
Módulo de adición de 1 bit |
La sustracción es la operación de suma pero a complemento a 1. ¿Porqué? Es mucho más interesante y sencillo al momento de generar un módulo escalable.
Módulo de sustracción utilizando comp. a 1 |
En la siguiente imagen se detallan las partes que componen el módulo ALU de 1 bit.
Detalles sobre el módulo ALU de 1 bit. |
El esquemático se realizo con la suite kicad, básicamente posee los módulos propios que se denotan en la simulación más puntos de testeo (test point) y el conexionado apropiado de las compuertas que no se utilizan para que no queden "al aire".
Esquemático del módulo ALU de 1 bit en kicad. |
Pistas del PCB en kicad. |
PCB en 3D con kicad. |
Seguiré aumentando la documentación y cuando este terminado lo subiré.
3 comentarios:
Flogg, terrible blog. La verdad muy buena publicacion. A favoritos y a esperar que amplies la data !!!
Bueno amigo! El problema no es ampliar la data... es que sea de media calidad por lo menos... jajaja
mucho no entiendo, pero se ve bastante completo.. lindo lindo..lo felicito señor
Publicar un comentario