salut à tous

réellement c'est un Emeteur UART. composée d'un registre de décalage qui consiste à décomposer une trame quelquanque (Entrée) et la découper on des ptites trames chacune contient 8 bits, et cette derniére sera transmis à un modulateur PPM2 qui sert à convertir cette trame en un signal sur cette forme :
0 : 11111111110000000000
1 : 00000000001111111111

voici le code Vhdl que j'ai réaliser mais il y a une petite faute dans la compilation j'arrive pas à l'identifier


LIBRARY ieee;
use ieee.STD_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity modulateur is
port (data_in: in std_logic_vector(7 downto 0);
clk: in std_logic ;
data_out: out std_logic );
end modulateur;
architecture arch_modul of modulateur is

begin
process(clk)
signal c: integer:=0;
signal comp: integer:=0;
begin
if (clk'event and clk='1') then
if (c<8) then
if (data_in(c)='0') then
if (comp<10) then
data_out<='1';
comp<=comp+1;
elsif (comp > 9) and (comp < 20) then
data_out<='0';
comp<=comp+1;
else comp<=0;
end if;
c<=c+1;
end if;
elsif (comp<10) then
data_out<='0';
comp<=comp+1;
elsif (comp>9)and (comp < 20) then
data_out<='1';
comp<=comp+1;
else comp<=0;
end if;
c<=c+1;
end if;
end if;
end if;
end if;
end process;
end arch_modul;