Получились какие-то пики. Напишите что Вы хотите, там есть варианты. Тепрь по коду. Ну не пишут так. Не пишите в процессе работу по разным фронтам и асинхронную. Мало того что это не стильно, не всякий компилятор это поймет.
То что там написано можно написать так. И написание, просто ужастное.
process(load) begin if load = '1' then codfreeq <= const_codfreeq; end if; end process;
process(clk) begin if (clk'event and clk = '1') then centr <= centr + 1; count <= centr; centr_out <= count; c1 <= count; end if; end process;
process(clk) begin if (clk'event and clk = '0') then c2 <= not c1; end if; end process;
U_df: for i in 0 to 7 generate c4(i) <= codfreeq(7 - i); end generate; c3 <= c4 and c2 and c1;
f_out <= OR_REDUCE(c3);
Возможно биты в codfreeq не нужно менять местами. Если OR_REDUCE в библиотеке нет (std_logic_misc) сделайте это вручную