Разница между when select и when else в VHDL заключается в том, как они определяют значение сигнала. 1
When select позволяет присваивать разные значения сигналу на основе значения другого сигнала в проекте. 1 Варианты присваивания должны быть взаимоисключающими, то есть один вариант не может использоваться более одного раза. 23
When else позволяет присваивать разные значения сигналу на основе логических выражений. 1 Выражения после «when» оцениваются последовательно до тех пор, пока не будет найдено истинное выражение. 23 Затем выполняется присваивание, соответствующее этому истинному выражению. 23 Если ни одно из выражений не является истинным, выполняется последнее присваивание. 23
Таким образом, when select работает с общим управляющим выражением, а when else может работать с выражениями с разными аргументами. 23