VHDL STD_LOGIC_VECTOR Valores curinga

Estou tentando escrever uma máquina de estado finito em código VHDL para um processador simples de 16 bits que estou implementando em uma placa Altera DE1. Na máquina de estados finitos, eu tenho umCASE instrução que lida com as diferentes instruções de 16 bits, que são trazidas para o FSM por um STD_LOGIC_VECTOR de 16 bits. No entanto, estou tendo um pequeno problema no estado de decodificação em que a Máquina de estados finitos decodifica a instrução. Uma das instruções é um ADD que recebe dois registradores como operandos e um terceiro como registrador de destino. No entanto, também tenho uma instrução ADD que aceita um registro e um valor imediato de 5 bits como operandos e um segundo registro para o destino. Meu problema é que noCASE, preciso ser capaz de diferenciar entre as duas instruções ADD diferentes. Por isso, pensei que se eu usasse valores curinga como "-" ou "X" noCASE, eu seria capaz de diferenciar os dois com apenas dois casos, em vez de listar todas as combinações possíveis de registro / valor imediato. Por exemplo

    CASE IR IS --(IR stands for "Instruction Register")
      WHEN "0001------0-----" => (Go to 3-register add);
      WHEN "0001------1-----" => (Go to 2-register/immediate value add);
      WHEN OTHERS => (Do whatever);
    END CASE;

Essas não são as únicas duas instruções que tenho, apenas as coloquei para tornar este post um pouco mais curto. Quando eu compilo e executo esse código, o processador para de executar quando chega ao estado "decodificar". Além disso, o Quartus fornece muitos e muitos avisos dizendo coisas como "Aviso de escolha de VHDL em LC3FSM.vhd (37): escolha ignorada contendo meta-valor" "0001 ------ 0 -----" "" Estou em uma perda de como realizar isso. REALMENTE não preciso e provavelmente não preciso definir todas as combinações de 16 bits e espero que haja uma maneira de usar curingas em um STD_LOGIC_VECTOR para minimizar o número de combinações que precisarei definir.

Alguém sabe como fazer isso?

Obrigad

questionAnswers(4)

yourAnswerToTheQuestion