Ошибки в VHDL при использовании WHEN ELSE - PullRequest
0 голосов
/ 30 мая 2020

Я новичок в VHDL и имею простые ошибки.

В основном у меня 4 двоичных входа и 3 двоичных выхода. Условия просты: если во всех 4 входах у меня только одна «1», выход l3 получает «1», а остальные «0», если у меня две «1», выход l2 получает «1» и слишком много ». 0 ', и если у меня больше двух' 1 ', выход l1 получает' 1 ', а остальные' 0 '.

В основном J1, J2, J3 и J4 являются входами. L1, L2 и L3 - выходы. Вы можете проверить таблицу истинности .

Я пытаюсь решить эту проблему с помощью этого кода в EDA Playground (https://www.edaplayground.com/)

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY SistemaVotacion IS
PORT (j1, j2, j3, j4: IN std_logic;
      l1, l2, l3: OUT std_logic);
END SistemaVotacion;

ARCHITECTURE SistemaArchitecture OF SistemaVotacion IS
BEGIN
    l1 <= '1' WHEN (j1 = '0' and j2 = '1' and j3 = '1' and j4 = '1')
    ELSE '1' WHEN (j1 = '1' and j2 = '0' and j3 = '1' and j4 = '1')
    ELSE '1' WHEN (j1 = '1' and j2 = '1' and j3 = '0' and j4 = '1')
    ELSE '1' WHEN (j1 = '1' and j2 = '1' and j3 = '1' and j4 = '0')
    ELSE '1' WHEN (j1 = '1' and j2 = '1' and j3 = '1' and j4 = '1')
    ELSE '0';
    l2 <= '1' WHEN (j1 = '0' and j2 = '0' and j3 = '1' and j4 = '1')
    ELSE '1' WHEN (j1 = '0' and j2 = '1' and j3 = '0' and j4 = '1')
    ELSE '1' WHEN (j1 = '0' and j2 = '1' and j3 = '1' and j4 = '0')
    ELSE '1' WHEN (j1 = '1' and j2 = '0' and j3 = '0' and j4 = '1')
    ELSE '1' WHEN (j1 = '1' and j2 = '0' and j3 = '1' and j4 = '0')
    ELSE '1' WHEN (j1 = '1' and j2 = '1' and j3 = '0' and j4 = '0')
    ELSE '0';
    l3 => '1' WHEN (j1 = '0' and j2 = '0' and j3 = '0' and j4 = '0')
    ELSE '1' WHEN (j1 = '0' and j2 = '0' and j3 = '0' and j4 = '1')
    ELSE '1' WHEN (j1 = '0' and j2 = '0' and j3 = '1' and j4 = '0')
    ELSE '1' WHEN (j1 = '0' and j2 = '1' and j3 = '0' and j4 = '0')
    ELSE '1' WHEN (j1 = '1' and j2 = '0' and j3 = '0' and j4 = '0')
    ELSE '0';
END SistemaArchitecture;

Но я получаю много ошибок, например:

  1. COMP96 ERROR COMP96_0015: "';' ожидается ". «design.vhd» 24 8
  2. COMP96 ERROR COMP96_0019: «Ожидается конец ключевого слова». "design.vhd" 24 8
  3. COMP96 ОШИБКА COMP96_0016: «Ожидается декларация единицы конструкции». "design.vhd" 24 11

Как я могу это сделать?

...