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