Initial commit
This commit is contained in:
26
Libs/RiscV/HEIRV32/hdl/extend_rtl.vhd
Normal file
26
Libs/RiscV/HEIRV32/hdl/extend_rtl.vhd
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
ARCHITECTURE rtl OF extend IS
|
||||
BEGIN
|
||||
|
||||
extend : process(input, src)
|
||||
begin
|
||||
case src is
|
||||
when "00" => -- I-type
|
||||
extended <= (12 to 31 => input(31)) &
|
||||
input(31 downto 20) after g_tExt;
|
||||
when "01" => -- S-types (stores)
|
||||
extended <= (12 to 31 => input(31)) &
|
||||
input(31 downto 25) & input(11 downto 7) after g_tExt;
|
||||
when "10" => -- B-type (branches)
|
||||
extended <= (12 to 31 => input(31)) & input(7) &
|
||||
input(30 downto 25) & input(11 downto 8) & '0' after g_tExt;
|
||||
when "11" => -- J-type (jal)
|
||||
extended <= (20 to 31 => input(31)) &
|
||||
input(19 downto 12) & input(20) &
|
||||
input(30 downto 21) & '0' after g_tExt;
|
||||
when others => -- impossible
|
||||
extended <= (others => '-') after g_tExt;
|
||||
end case;
|
||||
end process extend;
|
||||
|
||||
END ARCHITECTURE rtl;
|
||||
Reference in New Issue
Block a user