НЕСКОЛЬКО ВОПРОСОВ ПО VHDL
1. Что скрывается за словом process и для чего указывать все используемые сигналы? Сколько это отъедает макроячеек?
2. Можно ли написать конструкцию типа if then else без process?
Code:
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. Какая разница: сначала получить сигнал из нескольких с помощью логических конструкций, а потом записать по фронту в процессе или тоже самое, но в процессе ожидается фронт, а потом логические конструкции для получения сигнала?
|