Estoy construyendo una CPU casera y ahora he llegado al punto de diseñar la parte SRAM. Planeo usar una memoria RAM estática simple de 32 K x 8 bits (como la CY62256N de Chipre). Mi preocupación es que la parte es asíncrona pero quiero que actúe como una parte síncrona.
En el resto de mi diseño, los registros se escriben en el borde ascendente del reloj con el nuevo valor requerido ya en las líneas de datos. Durante el resto del período de reloj, la nueva instrucción se procesa y se puede colocar un nuevo valor en las líneas de datos. Esto está bien porque el registro solo se actualiza en el flanco ascendente y no más tarde, a pesar de que el reloj sigue siendo alto.
Supongo que este enfoque no funcionará con la SRAM asíncrona. Me preocupa que el flanco ascendente del reloj actualizará la SRAM, pero si el reloj sigue siendo alto cuando se actualiza el valor de las líneas de datos para la siguiente instrucción, se producirá otra actualización que no se desea.
¿Existe alguna técnica común para lograr lo que necesito?