Skip to content

Extensor de Sinal

Abrir arquivo fonte ⧉

Extende a largura de um vetor

Topologia

Diagram

Genericos

NomeTipoValorDescrição
SOURCE_WIDTHnatural4Largura do vetor de entrada
DESTINATION_WIDTHnatural8Largura do vetor de saída

Portas

NomeDireçãoTipoDescrição
sourceinputstd_logic_vector<SOURCE_WIDTH>Vetor de entrada
enable_unsignedinputstd_logicHabilita extensão lógica ao invés de aritmética (sem sinal)
destinationoutputstd_logic_vector<DESTINATION_WIDTH>Vetor de saída

Usagem

Extensão de Byte

Extende um sinal menor em outro maior. Para valores inteiros com sinal, preenche com o bit mais significativo a esquerda. Ex: de 10101010 para 1111111110101010 ou 0000000010101010 a depender de enable_unsigned.

vhdl
EXTEND_BYTE: entity WORK.GENERIC_SIGNAL_EXTENDER(LOWER_EXTEND)
    generic map (
        SOURCE_WIDTH      => 8,
        DESTINATION_WIDTH => 16
    )
    port map (
        enable_unsigned => enable_signed,
        source          => signal_source,
        destination     => signal_destination
    );

Extensão superior

Extende um sinal menor em outro maior, preenchendo com sinal lógico baixo a direita. Ex: de 10101010 para 1010101000000000.

vhdl
EXTEND_HALFWORD: entity WORK.GENERIC_SIGNAL_EXTENDER(LOGICAL_UPPER)
    generic map (
        SOURCE_WIDTH      => 8,
        DESTINATION_WIDTH => 16
    )
    port map (
        source          => signal_source,
        destination     => signal_destination
    );

Diagrama RTL

Diagrama de RTL do Extensor de Sinal

Casos de teste

Abrir arquivo fonte ⧉

TO DO

md
### `tb_generic_signal_extender_case_1`

Forma de onda:

<pan-container :grid="false">

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

</pan-container>

Publicado sob a Licença MIT.