Error (10500): VHDL syntax errors in quartus (VHDL)

Error (10500): VHDL syntax errors in quartus (VHDL)

所以这是 VHDL 中的硬件分配。我们正在比较一个 4 位二进制数的前 2 位和后 2 位,当前两位大于后两位时,它应该输出 1 到 gt。但是,我遇到了 2 个错误,而且我不知道如何修复它们。我们没有为此作业使用过程语句。

----------------------------------
--Written by K Moore
--HW 2
--9/8/2021
-----------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_unsigned.all;
--import libraries

entity HW_two is
   port (a1    :in std_logic;
         a0    :in std_logic;
         b1    :in std_logic;
         b0    :in std_logic;
         gt    :out std_logic);
end HW_two;

--Unsimplified equation
 --A1'A0B1'B0'+ A1A0'B1'B0' + A1A0'B1'B0 + A1A0B1'B0' + A1A0B1'B0 + A1A0B1B0' = gt
--Simplified equation => gt= A0B1' + A0B1'B0' + A1A0B0'


architecture compare of HW_two is

begin
   gt <= (a1 not and a0 and b1 not and b0 not) or (a1 and a0 not and b1 not and b0 not) or (a1 and a0 not and b1 not and b0) or
   (a1 and a0 and b1 not and b0 not) or (a1 and a0 and b1 not and b0) or (a1 and a0 and b1 and b0 not);
    
end compare;

Error (10500): VHDL syntax error at hw_two_kmoore.vhd(28) near text "not"; expecting ")", or ","

Error (10500): VHDL syntax error at hw_two_kmoore.vhd(29) near text "not"; expecting ")", or ","

没有not and运算符。 not 期望其右侧有一个值。 可接受的逻辑运算符是:

  • 没有
  • 异或
  • nand
  • 也不
  • xnor