Vhdl 如何计算一个向量中的元素?

Vhdl 如何计算一个向量中的元素?,vhdl,Vhdl,我不熟悉VHDL代码,我想弄清楚,在STD\u LOGIC\u VECTOR中计算元素的最简单方法是什么 因此,我的端口看起来是什么样子: Port ( D : in STD_LOGIC_VECTOR (width-1 downto 0); -- data input parity : out STD_LOGIC -- parity bit ); 所以我想做这样的事情(c代码) int-helper=0; 对于(int

我不熟悉VHDL代码,我想弄清楚,在STD\u LOGIC\u VECTOR中计算元素的最简单方法是什么

因此,我的端口看起来是什么样子:

Port ( D : in STD_LOGIC_VECTOR (width-1 downto 0);  -- data input
           parity : out STD_LOGIC                       -- parity bit
    );
所以我想做这样的事情(c代码)

int-helper=0;
对于(int i=0;i

如果我不太清楚,很抱歉,如果可能的话,我可以回答你的问题。

在VHDL中实现这一点的最好方法可能是使用
xor\u reduce
from
ieee.std\u logic\u misc
。加法模2与XOR完全相同,并且
XOR\u reduce
XOR将所有输入相加,得到输入位的加法模2。这看起来像:

Port ( D : in STD_LOGIC_VECTOR (width-1 downto 0);  -- data input
           parity : out STD_LOGIC                       -- parity bit
    );
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.std_logic_misc.xor_reduce;
实体奇偶校验是
通用(宽度:整数=8);
端口(D:标准逻辑向量(宽度-1到0);
奇偶校验:输出标准逻辑
);
结束奇偶校验;
奇偶校验发生器的结构bhv是
开始
过程(D)
开始

奇偶校验在IEEE软件包std_logic_1164中还有-2008一元xor(与xor_REDUCE做相同的事情)。条件赋值语句
奇偶校验