All Purpose sign extension VHDL?

Guest #2399230
Rate this post
• ▲ useful
▼ not useful
Hi, I was just wondering how it would be possible to make an all purpose 
sign extension entity in VHDL.


So I created this sign extension entity but it will only work if the 
input is 6 bits long. If I put in an input that was say 3 bits long. It 
wouldn't work. Is it possible to build a SEXT that doesn't have 
limitation on input bits?

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity SEXT5_0 is
  port ( data_in : in std_logic_vector(5 downto 0);
         data_out : out std_logic_vector(15 downto 0));
end SEXT5_0;


architecture behavioral of SEXT5_0 is
begin
  process (Input)
begin


  data_out(5 downto 0) <= data_in;
  data_out(15 downto 16) <= (15 downto 6 => data_in(5));

end process;
end behavioral;
Moderator (Company: Titel) #2399742
Rate this post
• ▲ useful
▼ not useful
> Is it possible to build a SEXT that doesn't have limitation on input bits?
Take the numeric_std package instead of the old and obsolete 
STD_LOGIC_ARITH and STD_LOGIC_UNSIGNED. And then simply write:
1
data_out <= std_logic_vector(resize(unsigned(data_in),data_out'width));

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.