URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
[/] [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);
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.