implementación de RAM de 4x1 bits

2

Tengo un circuito de 4x1 bit RAM. Debería implementar esto en LAB. En este caso, puedo hacer esto fácilmente pero no sé qué elemento se usa con qué propósito. Aquí está la figura.

Lo busqué en Google pero no pude encontrar algo útil.

  1. ¿Por qué usamos decodificador y selector de datos?
  2. ¿Por qué no usamos puerta?
  3. ¿Qué sucede al cambiar el estado de escritura / lectura?

Saludos cordiales.

    
pregunta Emre dağıstan

1 respuesta

0

Brillante! No he estudiado la implementación de RAM antes, pero esto tiene sentido para mí y es divertido de aprender. Estudie sobre la operación de flip-flop J / K; Hay muchos recursos buenos en la web como este:

Operación J / K Flip-Flop

Necesita un elemento lógico secuencial para cada bit en su matriz de RAM para almacenar los datos y mantenerlos para su posterior recuperación. Es por eso que hay cuatro flip-flops para cada bit en la matriz. Debe elegir a qué flip-flop desea dirigir utilizando las líneas de dirección, de modo que eso es lo que hacen el decodificador y el selector de datos (respuesta a la pregunta 1).

El decodificador (demultiplexador) toma los dos bits de dirección y los convierte en cuatro líneas de selección de flip-flop que se dirigen a un solo flip-flop a la vez. Parece que esta salida del decodificador actúa como el reloj que le dice al flip-flop cuándo bloquear los datos y almacenarlos.

Una puerta es lógica combinacional por naturaleza, lo que significa que puede pasar / bloquear / transformar señales, pero no puede guardar datos de un ciclo a otro. En un circuito lógico combinacional, obtiene la misma salida para una entrada dada y ese comportamiento nunca cambia de un ciclo a otro. Esta es la razón por la cual se usan los flip-flops en su lugar. Por naturaleza, la RAM es un circuito lógico secuencial.

Decir que un circuito lógico es secuencial es una forma elegante de decir que el circuito tiene algún tipo de estado que se conserva y / o cambia de ciclo de reloj a ciclo de reloj. A menudo, los circuitos lógicos secuenciales están formados por circuitos lógicos combinacionales en los que las salidas se retroalimentan a las entradas y cambian el comportamiento del circuito de ciclo a ciclo (observe la forma en que funciona un flip-flop J / K en el enlace de arriba y verá lo que quiero decir). En este caso, debe conservar el estado entre un ciclo de escritura y un ciclo de lectura, por lo que necesita un circuito lógico secuencial para hacerlo. Por sí misma, una puerta no puede hacer esto (respuesta a la pregunta 2).

El estado de lectura es seleccionar (o multiplexar) los datos almacenados en los flip-flops y hacerlos disponibles en el pin de salida cuando se desee. El estado de escritura es cargar los flip-flops con nuevos datos utilizando el decodificador como un convertidor de dirección a reloj (respuesta a la pregunta 3).

Esto es algo divertido. Espero que lo construyas en el laboratorio para hurgar y aprender cómo funciona. ¡Gracias por publicar la pregunta!

    
respondido por el mhilden

Lea otras preguntas en las etiquetas