Unidade de Execução
Topologia
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:
4
Interface de portas
select_source_1
INPUT
Entrada do seletor primário do valor a ser usado pela ULA.
- Tipo:
std_logic_vector
- Largura:
2
select_source_2
INPUT
Entrada do seletor secundário do valor a ser usado pela ULA.
- Tipo:
std_logic_vector
- Largura:
2
select_function
INPUT
Entrada do vetor de seleção da operação a ser realizada na ULA.
- Tipo:
std_logic_vector
- Largura: variável
(FUNCTION_WIDTH - 1) downto 0
address_program
INPUT
Entrada do valor do PC.
- Tipo:
std_logic_vector
- Largura: variável
(DATA_WIDTH - 1) downto 0
source_1
INPUT
Entrada do valor do registrador primário.
- Tipo:
std_logic_vector
- Largura: variável
(DATA_WIDTH - 1) downto 0
source_2
INPUT
Entrada do valor do registrador secundário.
- Tipo:
std_logic_vector
- Largura: variável
(DATA_WIDTH - 1) downto 0
immediate
INPUT
Entrada do valor do Imediato.
- Tipo:
std_logic_vector
- Largura: variável
(DATA_WIDTH - 1) downto 0
overflow
OUTPUT
Saída de sinal que indica se houve overflow na ULA.
- Tipo:
std_logic
destination
OUTPUT
Saída da ULA.
- Tipo:
std_logic_vector
- Largura: variável
(DATA_WIDTH - 1) downto 0
Usagem
vhdl
MODULE_EXECUTION_UNIT : entity WORK.MODULE_EXECUTION_UNIT(RV32I)
port map (
select_source_1 => source_0.control_ex.select_source_1,
select_source_2 => source_0.control_ex.select_source_2,
select_function => select_function,
address_program => source_0.address_program,
source_1 => data_source_1,
source_2 => data_source_2,
immediate => source_0.data_immediate,
destination => destination.data_destination
);
Diagrama RTL
Casos de teste
TO DO
md
### Caso 1 <Badge type="info" text="tb_module_execution_unit_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_execution_unit_case_1.svg){.w-full .dark-invert}
</pan-container>