В данном случае case Вам не очень нужен. (В AHDL при описании автоматов надо описывать также не используемые состояния. Короче автомат у Вас работает не правильно). Можно обойтись приоритетным мультиплексированием, при условии что всегда нажата одна какая либо кнопка if /Input1 == gnd then table counter[11..9] => Output1, Output2, Output3, Output4, Output5, Output6, Output7, Output8; 0 => 1,1,1,1,1,1,1,1; 1 => 0,1,1,1,1,1,1,0; 2 => 0,0,1,1,1,1,0,0; 3 => 0,0,0,1,1,0,0,0; 4 => 0,0,0,0,0,0,0,0; 5 => 1,0,0,0,0,0,0,1; 6 => 1,1,0,0,0,0,1,1; 7 => 1,1,1,0,0,1,1,1; end table; elsif /Input2 == gnd then table counter[11..9] => Output1, Output2, Output3, Output4, Output5, Output6, Output7, Output8; 0 => 1,1,1,0,0,1,1,1;
|