IF all you want is to display a number directly out of avalon, then yes, all you need is a bit extract and it probably wont use a lot of logic (you'll need some to do the hex display decode).
State machines are only required when you need to control dataflow over time - so not appropriate here.
For this, all you need is something like this:
case av_ip(31 downto 24) is
when x"00" => seven_seg <= x"80";
when x"01" => seven_seg <= x"F1";
--etc
This would be inside a PROCESS, as it is processes that get converted to logic. Procedures and functions must be called from a process, so why not put the code in a process.
You really MUST learn about digital logic, otherwise it's very easy to write code that either creates a really really bad circuit, or just will not compile at all. You MUST start from digital basics.