Diseñe un chip de memoria de 32x4 usando un chip de memoria de 32x8

0

Sé cómo diseñar chips de memoria a partir de chips de memoria con palabras más pequeñas, pero ¿podemos diseñar un chip de memoria utilizando chips de memoria con palabras más grandes? Nuestro profesor nos dijo que no podemos diseñar una memoria de 32x4 con 8x8 porque la palabra con 8 bits está escrita en conjunto y no podemos escribir una palabra de 4 bits, pero dijo que se puede diseñar una memoria de 32x4 desde Una memoria de 32x8 pero en ese caso tenemos memoria no utilizada. Estoy confundido.

    
pregunta Kleona

2 respuestas

4

Pasar de 32x8 a 32x4 es trivial, simplemente no usas la mitad.

Hacer un 32x4 a partir de un solo 16x8 requiere luces estroboscópicas de escritura. Con solo las luces estroboscópicas de byte tienes que recurrir a la lectura-modificación-escritura. ¡Pero todavía no es imposible!

Probablemente tu maestro esté frunciendo el ceño al perder la mitad de la memoria. La mayoría de las tareas escolares son del tipo "Cómo compilo una memoria AxB a partir del tipo CxD" y siempre encuentra que necesita exactamente un número entero de bloques CxD.

Por cierto: los FPGA a menudo tienen una memoria de 36 bits de ancho. Muchos de los diseños solo necesitan 8/16 o 32 bits y eliminan los últimos 4 bits. Por lo tanto, prácticamente la caída de bits se realiza muy, muy regularmente.

    
respondido por el Oldfart
1

No hay ninguna razón terrenal por la que no puedas usar 2 8x8s como 32 x 4 siempre que puedas ajustar tu tiempo. Para simplificar, hablemos sobre el uso de un solo 8 x 8 como un 16 x 4; deberías poder extrapolar. En este caso, asumiré entradas y salidas separadas, con las salidas siempre habilitadas. Luego, la clave está en utilizar multiplexores para seleccionar datos y proporcionar un impulso de escritura retardado. Suponiendo que el pulso de escritura está activo bajo,

simular este circuito : esquema creado usando CircuitLab

El nuevo MSB de la dirección, A3, cumple una doble función: selecciona qué nibble de salida de memoria se presentará como salida de RAM, y selecciona qué salida enclavada se conservará durante una escritura, mientras que la otra salida se descartará a favor de nuevos datos.

El flanco descendente del pulso de escritura se invierte y se usa para agarrar la salida de memoria actual. Después de un tiempo suficiente para que los datos se propaguen a través del tiempo de configuración del pestillo, la selección de MUX y la RAM, el pulso de escritura diferido escribe una combinación de datos antiguos y nuevos en la RAM.

Bueno, nunca dijiste que querías algo práctico.

    
respondido por el WhatRoughBeast

Lea otras preguntas en las etiquetas