Skip to content

Unidade de Comparação para Desvio

Topologia

alt text

Interface genérica

DATA_WIDTH GENERIC

Largura dos vetores de dados.

  • Tipo: natural
  • Padrão: XLEN

FUNCTION_WIDTH GENERIC

Largura da função usada como seletor.

  • Tipo: natural
  • Padrão: FUNCT3_WIDTH + 1

Interface de portas

enable INPUT

Entrada do sinal que ativa o componente.

  • Tipo: std_logic

select_function INPUT

Entrada do vetor de seleção da operação de comparação a ser realizada.

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

source_1 INPUT

Entrada primária de dados.

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

source_2 INPUT

Entrada secundária de dados.

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

forward INPUT

Entrada de registro que contém dados encaminhados da etapa MEM.

  • Tipo: t_FORWARD_BRANCH

data_source_1 OUTPUT

Saída de valor de registrador primária do banco de registradores para JALR.

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

destination OUTPUT

Saída de sinal que ativa desvio.

  • Tipo: std_logic

Usagem

vhdl
BRANCH_COMPARE_UNIT: entity WORK.MODULE_BRANCH_COMPARE_UNIT(RV32I)
    port map (
        enable             => control_id.enable_branch,
        select_function    => "0" & WORK.RV32I.to_INSTRUCTION(source_0.data_instruction).funct_3,
        source_1           => data_source_1,
        source_2           => data_source_2,
        forward            => forward,
        data_source_1      => forward_source_1,
        destination        => enable_branch
    );

Diagrama RTL

TO DO

to do

Casos de teste

TO DO

to do

Publicado sob a Licença MIT.