Skip to content

ROM

Abrir arquivo fonte ⧉

Memória de apenas leitura

Topologia

Diagram

Genericos

NomeTipoValorDescrição
DATA_WIDTHnatural8Largura dos vetores de dados
ADDRESS_WIDTHnatural8Largura do vetor de endereço
ADDRESSABLE_WIDTHnatural7Largura do vetor de endereço mapeado na memória
INIT_FILEstringCaminho para o arquivo .mif de inicialização da memória

ATENÇÃO!

ADDRESSABLE_WIDTH deve ser menor ou igual a ADDRESS_WIDTH.

Portas

NomeDireçãoTipoDescrição
clockinputstd_logicSinal de clock
addressinputstd_logic_vector<ADDRESS_WIDTH>Vetor de endereço
destinationoutputstd_logic_vector<DATA_WIDTH>Vetor de dados endereçado

Usagem

ROM Genérica

Implementação a partir de componentes genéricos e lógica a nível de registradores e portas lógicas.

vhdl
ROM : entity WORK.GENERIC_ROM(RTL)
    generic map (
        DATA_WIDTH        => 8;
        ADDRESS_WIDTH     => 8;
        ADDRESSABLE_WIDTH => 5;
        INIT_FILE         => "path/to/init_file.mif"        
    )
    port map (
        source       => signal_source,
        destination  => signal_destination
    );

Propriedade Intelectual altsyncram Intel® FPGA

Saiba mais.

vhdl
ROM : entity WORK.GENERIC_ROM(SYN)
    generic map (
        DATA_WIDTH        => 8;
        ADDRESS_WIDTH     => 8;
        ADDRESSABLE_WIDTH => 5;
        INIT_FILE         => "path/to/init_file.mif"
    )
    port map (
        source       => signal_source,
        destination  => signal_destination
    );

ATENÇÃO!

Para utilizar o IP é preciso incluir o arquivo GENERIC_ROM_QUARTUS.vhd ao invés do GENERIC_ROM.vhd. Esta usagem da entidade só está disponível para síntese dentro da plataforma de desenvolvimento para placas FPGA Intel® Quartus® Prime Lite

Diagrama RTL

Diagrama de RTL da ROM{.w-full .dark-invert}

Casos de teste

Abrir arquivo fonte ⧉

tb_GENERIC_ROM_case_1

Forma de onda do caso de teste 1 da ROM{.w-full .dark-invert}

Publicado sob a Licença MIT.