RAM del parámetro HDL Verilog con puertos de entrada y salida separados

author-image

Por

Este ejemplo muestra cómo crear instancias de un bloque de memoria utilizando la función LPM lpm_ram_dq. La ram variable utiliza la función lpm_ram_dq de la biblioteca LPM. Los puertos se definen inicialmente y luego se mapean a los puertos LPM, como se muestra en el texto rojo. A continuación, se pasan los valores de parámetro con la palabra clave defparam. En este ejemplo, se crea una instancia de un bloque de RAM de 16 x 256; puede utilizar un proceso similar para crear instancias de bloques de RAM de otros tamaños.

El parámetro lpm_file hace referencia al archivo de inicialización de memoria (.mif) que especifica el contenido inicial de un bloque de memoria (RAM o ROM). Un MIF es un archivo de texto ASCII que se puede crear manualmente o guardarse a partir de la salida de una simulación. En un MIF, debe especificar los valores de profundidad y ancho de memoria y, opcionalmente, puede especificar los radixes utilizados para mostrar e interpretar las direcciones y los valores de datos. Estos valores se muestran en el texto rojo en el extracción del archivo de muestra, map_lpm_ram.mif, que se incluye a continuación. Un MIF se utiliza como un archivo de entrada para la inicialización de memoria en el compilador y simulador MAX+PLUS II.

Para obtener más información sobre el uso de este ejemplo en su proyecto, vaya a:

Ejemplos de Verilog HDL ›

RAMviya.v

// instantiation of lpm_ram_dq, 16-bit data, 256 address location

module map_lpm_ram (dataout, datain, addr, we, inclk, outclk);

// port instantiation

input   [15:0] datain;
input   [7:0] addr;
input   we, inclk, outclk;

output  [15:0] dataout;

// instantiating lpm_ram_dq

lpm_ram_dq ram (.data(datain), .address(addr), .we(we), .inclock(inclk), 
                .outclock(outclk), .q(dataout));

// passing the parameter values

defparam ram.lpm_width = 16;
defparam ram.lpm_widthad = 8;
defparam ram.lpm_indata = "REGISTERED"
defparam ram.lpm_outdata = "REGISTERED"
defparam ram.lpm_file = "map_lpm_ram.mif"

endmodule

Extraer del archivo MIF

Descargar map_lpm_ram.mif

WIDTH = 16;
DEPTH = 256;

ADDRESS_RADIX = HEX;
DATA_RADIX = HEX;

CONTENT BEGIN
   0   :   ffff;
   1   :   0000;
   2   :   bbf3;
   3   :   0000;
   4   :   0000;
   .
   .
   .
   fb   :   0000;
   fc   :   0000;
   fd   :   0000;
   fe   :   0000;
   ff   :   0000;
END;

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.