【发布时间】:2021-04-25 12:07:22
【问题描述】:
我正在使用 Quartus Prime Lite Edition,我想像这样在 std_logic_vector 上使用一元运算符 nand
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity example1 is
port(
BIN : in std_logic_vector (7 downto 0);
result : out std_logic
);
end;
architecture Beh of example1 is
begin
result <= nand BIN;
end Beh;
我尝试按照this 的说明,在编译器设置 的VHDL 输入 下更改了VHDL 版本。仍然没有效果并得到: 错误 (10500):lab2.vhd(16) 靠近文本“nand”的 VHDL 语法错误;期望“(”,或标识符(“nand”是保留关键字),或一元运算符
【问题讨论】:
-
nand是二元运算符,需要两个操作数。 -
@busybee 像这样的二进制操作符被添加到 VHDL 2008 以允许减少二进制数组。
-
@Piotr Chmielewski IIRC,Prime lite 没有完整的 VHDL 2008 支持,只有 prime pro 有。您是否在 Quartus 文档中检查了该功能是否受支持?您是否还检查了该文件是否指定或编译为 VHDL 2008?
-
Prime Lite 不再支持 VHDL 2008 intel.com/content/dam/www/programmable/us/en/pdfs/literature/po/…