Vous êtes sur la page 1sur 5

USO DE MEMORIAS RAM Para un nmero k grande de registros, es preferible utilizar una memoria SRAM en lugar de usar k registros.

Las herramientas CAD usualmente proporcionan mdulos predefinidos que representan SRAM. El editor grfico de Max+plusII proporciona algunos mdulos de SRAM. Seleccionaremos el mdulo : lpm_ram_dq.
84

La memoria SRAM a utilizar tiene una entrada/salida de datos de 8 bits, una entrada de direcciones de 4 bits y la seal de control we. La memoria entonces es de 24 x 8. Al ser asincrnica, cuando We=1, el dato presente en la entrada DATA se escribe en la direccin presente en la entrada ADDRESS. Cuando We=0 el dato de la direccin que est en la entrada ADDRESS se lee en la salida Q.

Los subcircuitos a utilizar son los mismos que el diseo original, esto es: Bloque de multiplexores 2 a 1, Registro de sostenimiento, sumador, contador down (hacia abajo), circuito divisor y circuito controlador. El controlador debe ser modificado para soportar el proceso de escritura y lectura de la memoria.
85

Diagrama ASM modificado para el Controlador

Los estados S1, S2 y S3 son para el ingreso de datos a la memoria SRAM. Si write=1 escribimos un dato en la direccin n-1. Cuando write=0 nuevamente, el contador se decrementa, y luego se pregunta si ya fue usado el ltimo dato de la memoria o si se activ la seal start para empezar el clculo del promedio igual que antes.

86

Cdigo VHDL del Controlador

87

Usaremos los diseos elaborados en los ejemplos anteriores. Se debe agregar una bloque para el BUS de MUX 2 a 1. En el Editor Grafico realizaremos la implementacin del circuito Generador de Numero Promedio utilizando todos los componentes necesarios, anteriores y nuevos.
88

Particin funcional en el editor grfico

89

90

DISEO DE UN SISTEMA DIGITAL ORDENADOR DE NUMEROS


Disear un circuito Ordenador de Nmeros: Dados k nmeros de n-bits cada uno almacenados en k registros Ri (R0,, Rk-1) se desea ordenarlos en forma ascendente. Los datos vienen en la entrada DataIn, cuando WrInit es verdadera, el dato presente en DataIn, se graba en el registro que tenga la direccin Radd. Para mostrar los datos la seal Rd debe ser verdadera, en ese momento el se muestra en la salida DaraOut el dato presente en el registro de direccin Radd.

91

La idea de solucin es comparar cada el dato de cada registro con todos los registros siguientes. Si el nuevo dato es menor, se realiza un intercambio de datos, sino queda igual. Al terminar de comparar un registro se toma el siguiente, hasta que todos se hayan comparado entre s .
R0 6 4 2 2 2 2 2 2 2 2 2 R1 4 6 6 6 4 4 4 4 4 4 4 R2 7 7 7 7 7 7 6 5 5 5 5 R3 6 6 6 6 6 6 7 7 6 6 6 R4 2 2 4 4 6 6 6 6 7 7 6 R5 5 5 5 5 5 5 5 6 6 6 7

92

Algoritmo de control: Podemos describir el algoritmo de control del circuito de la siguiente manera: En el estado inicial S1, mientras Start (s)= 0, los registros (R0,, Rk-1) deben ser cargados desde la entrada externa. Un contador Ci que representa el nmero del registro i se pone en cero. Al activar la entrada Start el circuito pasa al estado S2. En S2 el registro A es cargado con el contenido del registro Ri (inicialmente R0). Tambin, un contador Cj que representa el nmero del registro j se carga con el mismo valor de i. Los contadores Ci y Cj se utilizan para habilitar los registros de los cuales se desea sacar la informacin para compararla e intercambiarla de ser necesario.

93