OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_cpu_decompressor.vhd] - Diff between revs 53 and 58

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 53 Rev 58
Line 79... Line 79...
  begin
  begin
    -- defaults --
    -- defaults --
    ci_illegal_o <= '0';
    ci_illegal_o <= '0';
    ci_instr32_o <= (others => '0');
    ci_instr32_o <= (others => '0');
 
 
    -- 22-bit sign-extended immediate for J/JAL --
    -- helper: 22-bit sign-extended immediate for J/JAL --
    imm20_v := (others => ci_instr16_i(12)); -- sign extension
    imm20_v := (others => ci_instr16_i(12)); -- sign extension
    imm20_v(00):= '0';
    imm20_v(00):= '0';
    imm20_v(01):= ci_instr16_i(3);
    imm20_v(01):= ci_instr16_i(3);
    imm20_v(02):= ci_instr16_i(4);
    imm20_v(02):= ci_instr16_i(4);
    imm20_v(03):= ci_instr16_i(5);
    imm20_v(03):= ci_instr16_i(5);
Line 94... Line 94...
    imm20_v(08):= ci_instr16_i(9);
    imm20_v(08):= ci_instr16_i(9);
    imm20_v(09):= ci_instr16_i(10);
    imm20_v(09):= ci_instr16_i(10);
    imm20_v(10):= ci_instr16_i(8);
    imm20_v(10):= ci_instr16_i(8);
    imm20_v(11):= ci_instr16_i(12);
    imm20_v(11):= ci_instr16_i(12);
 
 
    -- 12-bit sign-extended immediate for branches --
    -- helper: 12-bit sign-extended immediate for branches --
    imm12_v := (others => ci_instr16_i(12)); -- sign extension
    imm12_v := (others => ci_instr16_i(12)); -- sign extension
    imm12_v(00):= '0';
    imm12_v(00):= '0';
    imm12_v(01):= ci_instr16_i(3);
    imm12_v(01):= ci_instr16_i(3);
    imm12_v(02):= ci_instr16_i(4);
    imm12_v(02):= ci_instr16_i(4);
    imm12_v(03):= ci_instr16_i(10);
    imm12_v(03):= ci_instr16_i(10);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.