1. Что скрывается за словом process и для чего указывать все используемые сигналы? Сколько это отъедает макроячеек?

2. Можно ли написать конструкцию типа if then else без process?

Код:
process (SET_FK_OUT, VIDEO_H, VIDEO_V, VGA_V)
begin

  if (VIDEO_H(0) = '1') then -- если цикл записи в ОЗУ:
      A(7 downto 0)  <= VIDEO_H(9 downto 2); -- мл. адреса - счетчик точек VIDEO
      if (SET_FK_OUT = '1') then        -- если выходная частота кадров 50/48 Гц
          A(16 downto 8) <= "00000000" & VIDEO_V(0); -- текущий адрес строки
      else                     -- иначе, 60 Гц:
          A(16 downto 8) <= VIDEO_V(8 downto 0);
      end if;    
   else                       -- иначе, цикл чтения из ОЗУ:    
...
3. Причины ошибки типа "требуется 7 выходов, а у устройства только 6"? Подозреваю, что это ограничивает число процессов, на которые можно подать один сигнал. Как из этого выходить?

4. Как уменьшать объем прошивки в макроячейках для серии MAX3000A?

5. Какая разница: сначала получить сигнал из нескольких с помощью логических конструкций, а потом записать по фронту в процессе или тоже самое, но в процессе ожидается фронт, а потом логические конструкции для получения сигнала?