Skip to content

Contador de Programa

Topologia

alt text

Interface genérica

DATA_WIDTH GENERIC

Largura dos vetores de dados.

  • Tipo: natural
  • Padrão: XLEN

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

selector INPUT

Entrada do sinal que seleciona o endereço da memória ROM a ser acessado.

  • Tipo: std_logic

source INPUT

Entrada do vetor de dados.

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

destination OUTPUT

Saída do valor atual do PC.

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

Usagem

vhdl
PROGRAM_COUNTER : entity WORK.MODULE_PROGRAM_COUNTER(RV32I)
    port map (
        clock        => clock,
        clear        => clear,
        enable       => enable, -- AND NOT(source.enable_stall),
        selector     => source.select_source,
        source       => address_jump,
        destination  => address_program
    );

Diagrama RTL

Diagrama de RTL do Contador de Programa

Casos de teste

TO DO

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

Forma de onda:

<pan-container :grid="false">

![Forma de onda do caso de teste 1 da Controlador da Unidade de Execução/images/reference/entities/tb_module_program_counter_case_1.svg){.w-full .dark-invert}

</pan-container>

Publicado sob a Licença MIT.