VHDL中奇怪的XNOR行为 [英] Weird XNOR behaviour in VHDL
问题描述
引起问题的代码看起来像是普通的xnor操作,如下所示:
The code that is causing problems looks like a normal xnor operation as you can see below:
S(1) <= L(16) xnor L(26);
此行导致以下错误:
ncvhdl_p: *E,EXPSMI (HDL/aes_sbox_enc_depth16.vhd,169|14): expecting a semicolon (';') [9.5.1].
ncvhdl_p: *F,MAXERR: maximum error count reached (1).
TOOL: ncvhdl 10.20-s075: Exiting on Feb 14, 2012 at 12:56:05 GMT (total: 00:00:01)
任何人都知道这里出了什么问题,分号显然在那里. VHDL是否有可能 不支持xnor,如果支持,我该如何重写?
Anyone an idea what is going wrong here, the semicolon is clearly there. Is it possible that VHDL does not support xnor, if so, how do I have to rewrite it?
非常感谢!
推荐答案
我相信xnor
是为位和布尔值定义的,但不是为std_logic定义的.我认为这实际上取决于您使用的是哪个版本的VHDL(例如98/2002/2008).我见过的std_logic_1164.vhd
文件的某些版本中肯定对此做了注释.
I believe that xnor
is defined for bits and booleans, but not std_logic. I think it actually depends on which version of VHDL (e.g. 98 / 2002 / 2008) you're using. It's certainly commented out of some versions of the std_logic_1164.vhd
files I've seen.
仅反转xor
怎么样?
S(1) <= not (L(16) xor L(26));
这篇关于VHDL中奇怪的XNOR行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!