Skip to content

Arquivo de Registradores

Topologia

alt text

Interface genérica

DATA_WIDTH GENERIC

Largura dos vetores de dados.

  • Tipo: natural
  • Padrão: XLEN

ADDRESS_WIDTH GENERIC

Largura dos endereços do banco de registradores.

  • Tipo: natural
  • Padrão: REGISTER_WIDTH

Interface de portas

clock INPUT

Entrada do sinal de clock.

  • Tipo: std_logic

clear INPUT

Entrada do sinal que limpa o(s) dado(s) do componente.

  • Tipo: std_logic

enable INPUT

Entrada do sinal que ativa o componente.

  • Tipo: std_logic

select_destination INPUT

Entrada do endereço do registrador de destino.

  • Tipo: std_logic_vector
  • Largura: variável (ADDRESS_WIDTH - 1) downto 0

select_source_1 INPUT

Entrada do endereço do registrador primário.

  • Tipo: std_logic_vector
  • Largura: variável (ADDRESS_WIDTH - 1) downto 0

select_source_1 INPUT

Entrada do endereço do registrador secundário.

  • Tipo: std_logic_vector
  • Largura: variável (ADDRESS_WIDTH - 1) downto 0

data_destination INPUT

Entrada do valor do registrador de destino.

  • Tipo: std_logic_vector
  • Largura: variável (DATA_WIDTH - 1) downto 0

data_source_1 OUTPUT

Saída do valor do registrador primário.

  • Tipo: std_logic_vector
  • Largura: variável (DATA_WIDTH - 1) downto 0

data_source_2 OUTPUT

Saída do valor do registrador secundário.

  • Tipo: std_logic_vector
  • Largura: variável (DATA_WIDTH - 1) downto 0

Usagem

vhdl
MODULE_REGISTER_FILE : entity WORK.MODULE_REGISTER_FILE(RV32I)
    port map (
    clock              => clock,
    clear              => '0',
    enable             => enable_destination,
    select_destination => select_destination,
    data_destination   => data_destination,
    select_source_1    => WORK.RV32I.to_INSTRUCTION(source_0.data_instruction).select_source_1,
    select_source_2    => WORK.RV32I.to_INSTRUCTION(source_0.data_instruction).select_source_2,
    data_source_1      => data_source_1,
    data_source_2      => data_source_2
);

Diagrama RTL

Diagrama de RTL do Arquivo de Registradores

Casos de teste

TO DO

md
### Caso 1 <Badge type="info" text="tb_module_register_file_case_1" />

Forma de onda:

<pan-container :grid="false">

![Forma de onda do caso de teste 1 do Arquivo de Registradores](/images/reference/entities/tb_module_register_file_case_1.svg){.w-full .dark-invert}

</pan-container>

Publicado sob a Licença MIT.