El concepto de memorias para guardado de datos, en este caso números, no es de nuestro conocimiento. Sin embargo, se presenta la propuesta de generar una «memoria falsa» por medio de la multiplexación del teclado. Esta nos permitirá generar un multiplicador de cuatro por cuatro bits, mediante el aprovechamiento de la multiplexación.
-Materiales:
- PSoC 5LP
- Protoboard
- Teclado matricial de botones 4×4
- 3 Displays 7 segmentos
- Demultiplexor 74138
- Resistencias y cables
-Desarrollo de la práctica:
Para realizar esta «memoria falsa» debemos imaginar que tenemos dos teclados completamente diferentes que generan dos números diferentes, para ello, adaptaremos el concepto de multiplexación.
Entonces así, se requiere una pequeña modificación al esquema que teníamos del teclado matricial, agregando un selector que permita activar uno de los «dos» teclados, así podremos «guardar» los dos datos.

El multiplicador que se conforma de sumadores de cuatro bits y compuertas and es el siguiente:
Sumador de 2 bits:

Con sumadores de 2 bits podemos generar sumadores de 4 bits

Demultiplexor 1a2:
La función básica de un demultiplexor es que a una entrada se puede obtener varias salidas. La única restricción para poder aplicar un demultiplexor es que la relación salida/entrada debe ser potencia de 2.

Puenteando selectores podemos obtener un demux de 4 entradas a 8 salidas

Luego de tener todos los componentes básicos para formar nuestro multiplicador, debemos entender que un multiplicador se centra en dos operaciones básicas, multiplicar (por medio de compuertas AND), y sumar (por medio de sumadores) para así llegar a un resultado total. Por ello, el resultado esquemático final del multiplicador es el siguiente:

En este momento de la práctica podemos enlazar el multiplicador a la multiplexación del teclado y así poder montar. Pero nos encontramos con un gran obstáculo, la memoria de PSoC no es suficiente para soportar todo el proyecto, el cual inicialmente ocupaba el 118%, y para poder trabajar PSoC acepta máximo el 86%.
Para solucionarlo intentamos bajar a lo máximo el porcentaje utilizado pero siempre fue en vano, debido a que lo máximo que logramos bajar fue un 1.6%. Por esta razón decidimos dividir el proyecto en dos PSoC, una la cual llevaría la multiplexación del teclado y el multiplicador, y otra que se encargaría de la visualización dinámica. Cabe resaltar que existen otra soluciones para disminuir el porcentaje de uso, como lo es colocar ciertos componentes que ocupen más espacios externamente de la PSoC, entre otros.
Así, los dos esquemas a programar en las PSoC son:
Esquemático 1:

Esquema 2:

La visualización dinámica requiere que las entradas se encuentren en StrongDrive, puesto que son las salidas del multiplicador y así mismo queremos recibir los datos; es decir, como si las dos PSoC estuvieran cableadas. También requiere un convertidor de Binario a BCD, para ello, nos basaremos en el integrado 74185, implementándolo por medio de LUT.
Para el montaje del circuito, en términos de visualización al igual que en la práctica anterior, colocaremos el demultiplexor 74138 que permite habilitar los tres displays para visualización dinámica externo a la PSoC. Lo cual nos permite en cierto modo reciclar el montaje anterior.
El resultado final de la práctica se muestra a continuación:
