Процесс - функционально самостоятельный кусок схемы. Все реакции внутри процесса происходят только при событиях на описанных в заголовке сигналах. Нет события ни на одном сигнале - процесс "стоит". Если ты опишешь не все сигналы "чувствительности" - анализатор сделает это сам и выдаст об этом предупреждение.
Нельзя. Допутимо так - xxx<=yy when (aaa) else zz;
Можно немного уменьшить количество ячеек, переключая приоритеты компилятора. Их три варианта - скорость работы, количество ячеек, сбалансированно. По дефолту стоит скорость. Это выбирается где-то в properties проекта.
Ну ты накрутил! Разница может быть, оценить это можно только мозгом или симулятором. Это моя излюбленная ошибка (в сложных процессах). Если по логике разницы никакой, то так оно и будет.
Х.з. Чтото похожее было разочек, но вроде было связано с рулением ног inout, когда я некорректно указал когда нужно переключаться в Z-состояние.