нужна помощь в поиске синтаксической ошибки HDLCompiler: 806 - PullRequest
0 голосов
/ 25 апреля 2019

Я пытался заставить их работать операторы, но я не могу избавиться от синтаксической ошибки.

это ошибка, которую я получаю:

ОШИБКА: HDLCompiler: 806 - «D: /Lab_7/control.vhd» Строка 34: синтаксическая ошибка рядом с «=». ОШИБКА: ProjectMgmt - найдено 1 ошибок при анализе иерархии проекта.

entity control is
    port (
        opcode : in std_logic_vector(3 downto 0);
        alu_src : out std_logic;
        alu_op : out std_logic_vector(1 downto 0)
    );
end entity control;

architecture main of control is

    begin

        process(opcode)

        begin

        if opcode = "0100" then 
        alu_src <= "1";

        elsif opcode = "0101" then
        alu_src <= "1";

        elsif opcode = "0000" then
        alu_src <= "0";

        elsif opcode = "0001" then
        alu_src <= "0";

        elsif opcode = "0010" then
        alu_src <= "0";

        elsif opcode = "0011" then
        alu_src <= "0";

        else 
        alu_src = '0';

        end if;

    end process;

end architecture main;

1 Ответ

0 голосов
/ 25 апреля 2019

Вы используете двойные кавычки с сигналами std_logic.Используйте одинарные кавычки, как вы это делали для оператора else.

...