标准逻辑向量XNOR的VHDL意外行为

标准逻辑向量XNOR的VHDL意外行为,vhdl,logical-operators,Vhdl,Logical Operators,在我的结构化VHDL代码中有一系列25个64位std_逻辑_向量。这些应该始终是相同的,我想测试是否有任何翻转一点的故障。我的代码如下所示: outX <= mt1_op XNOR mr2_op XNOR mt3_op XNOR .... XNOR mt25_op; outX系统工作正常: '0' XNOR '0' XNOR ... XNOR '0' = '0' -- For 25 XNOR '0's '1' XNOR '1' XNOR ... XNOR '1' = '1' -- F

在我的结构化VHDL代码中有一系列25个64位std_逻辑_向量。这些应该始终是相同的,我想测试是否有任何翻转一点的故障。我的代码如下所示:

outX <= mt1_op XNOR mr2_op XNOR mt3_op XNOR .... XNOR mt25_op;
outX系统工作正常:

'0' XNOR '0' XNOR ... XNOR '0' = '0'  -- For 25 XNOR '0's
'1' XNOR '1' XNOR ... XNOR '1' = '1'  -- For 25 XNOR '1's
因此,如果将相同的向量赋给
XNOR
,表达式将返回参数向量

要检查所有向量是否相同,可以执行以下操作:

or_all <= mt1_op OR mt2_op OR ... OR mt25_op;    
and_all <= mt1_op AND mt2_op AND ... AND mt25_op; 
identical <= or_all = and_all;  -- Boolean as resulting type
该系统工作正常:

'0' XNOR '0' XNOR ... XNOR '0' = '0'  -- For 25 XNOR '0's
'1' XNOR '1' XNOR ... XNOR '1' = '1'  -- For 25 XNOR '1's
因此,如果将相同的向量赋给
XNOR
,表达式将返回参数向量

要检查所有向量是否相同,可以执行以下操作:

or_all <= mt1_op OR mt2_op OR ... OR mt25_op;    
and_all <= mt1_op AND mt2_op AND ... AND mt25_op; 
identical <= or_all = and_all;  -- Boolean as resulting type
该系统工作正常:

'0' XNOR '0' XNOR ... XNOR '0' = '0'  -- For 25 XNOR '0's
'1' XNOR '1' XNOR ... XNOR '1' = '1'  -- For 25 XNOR '1's
因此,如果将相同的向量赋给
XNOR
,表达式将返回参数向量

要检查所有向量是否相同,可以执行以下操作:

or_all <= mt1_op OR mt2_op OR ... OR mt25_op;    
and_all <= mt1_op AND mt2_op AND ... AND mt25_op; 
identical <= or_all = and_all;  -- Boolean as resulting type
该系统工作正常:

'0' XNOR '0' XNOR ... XNOR '0' = '0'  -- For 25 XNOR '0's
'1' XNOR '1' XNOR ... XNOR '1' = '1'  -- For 25 XNOR '1's
因此,如果将相同的向量赋给
XNOR
,表达式将返回参数向量

要检查所有向量是否相同,可以执行以下操作:

or_all <= mt1_op OR mt2_op OR ... OR mt25_op;    
and_all <= mt1_op AND mt2_op AND ... AND mt25_op; 
identical <= or_all = and_all;  -- Boolean as resulting type

“0”XOR“0”=“0”和XNOR应该是互补函数?是
“0”XNOR“0”=“1”
,和
“0”XOR“0”=“0”
;答案根据维基百科XNOR描述更新。请注意,
'0'XNOR'0'XNOR。。。XNOR“0”=“0”
仅对奇数的
'0
为真。最后一行“完全相同”
或_all=和_all
只是简单的比较,但结果类型是
布尔
,而不是
标准逻辑
,正如您可能声明为
完全相同
的类型一样。我最终使用了条件赋值语句,而不是布尔比较器,但除此之外,效果非常好,谢谢0'XOR'0'='0'和XNOR应该是互补函数?是
'0'XNOR'0'='1'
,和
'0'XOR'0'='0'
;答案根据维基百科XNOR描述更新。请注意,
'0'XNOR'0'XNOR。。。XNOR“0”=“0”
仅对奇数的
'0
为真。最后一行“完全相同”
或_all=和_all
只是简单的比较,但结果类型是
布尔
,而不是
标准逻辑
,正如您可能声明为
完全相同
的类型一样。我最终使用了条件赋值语句,而不是布尔比较器,但除此之外,效果非常好,谢谢0'XOR'0'='0'和XNOR应该是互补函数?是
'0'XNOR'0'='1'
,和
'0'XOR'0'='0'
;答案根据维基百科XNOR描述更新。请注意,
'0'XNOR'0'XNOR。。。XNOR“0”=“0”
仅对奇数的
'0
为真。最后一行“完全相同”
或_all=和_all
只是简单的比较,但结果类型是
布尔
,而不是
标准逻辑
,正如您可能声明为
完全相同
的类型一样。我最终使用了条件赋值语句,而不是布尔比较器,但除此之外,效果非常好,谢谢0'XOR'0'='0'和XNOR应该是互补函数?是
'0'XNOR'0'='1'
,和
'0'XOR'0'='0'
;答案根据维基百科XNOR描述更新。请注意,
'0'XNOR'0'XNOR。。。XNOR“0”=“0”
仅对奇数的
'0
为真。最后一行“完全相同”
或_all=和_all
只是简单的比较,但结果类型是
布尔
,而不是
标准逻辑
,正如您可能声明为
完全相同
的类型一样。我最终使用了条件赋值语句,而不是布尔比较器,但除此之外,效果非常好,谢谢