Note: I have assuemed that f0 is a std_logic_vector and you are using these libaries.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
If you will need to use different conversion functions.
Here is one small issue while simulating below code
signal parallel_data:std_logic_vector(55 downto 0):= "00000000000000000000000000000000000000000000000000000000";
process( clock,reset)
variable count: integer range 0 to 56 := 0;
begin
if clock'event and clock = '1' then
if reset = '0' then
count := 0;
parallel_data <= "00000000000000000000000000000000000000000000000000000000";
parallel_data_out <= "00000000000000000000000000000000000000000000000000000000";
Device_en <= '0';
else
if(count <= 55) then
parallel_data(count-1) <= serial_data_in;
count := count +1
In the above code simulator is strucked at this line
parallel_data(count-1) <= serial_data_in;
serial_data_in is single bit signal
and giving error like below
# Fatal error in Process line__17 at D:/Vlsiprojects/Student_projects/Sunitha_pj/Code_development/frame_synchronizer/Vhdl_Ver/serial_2_parallel.vhd line 28