vhdl中具有相同输入向量的位到位异或
我想用相同的输入向量进行逐位异或运算,如:vhdl中具有相同输入向量的位到位异或,vhdl,Vhdl,我想用相同的输入向量进行逐位异或运算,如: 输入(0)异或输入(2)异或输入(3)到输入(187) 我得到的答案是: 输出(0)到输出(94) 这意味着我必须依次执行xor。如果我有10输入位,我得到的最后一个答案是5位输出。编写整个向量非常困难,而且不是一个好方法 有人知道如何用vhdl编写这方面的高效代码吗 我有个办法。首先提取偶数索引位,然后提取奇数索引位,然后执行异或操作,但运气不好,请帮助我。听起来您需要a或a 并发语句 大量异或:对于0到94中的i生成 输出(i)你能给出一些样本数据
输入(0)异或输入(2)异或输入(3)
到输入(187)
我得到的答案是:
输出(0)到输出(94)
这意味着我必须依次执行xor
。如果我有10
输入位,我得到的最后一个答案是5
位输出。编写整个向量非常困难,而且不是一个好方法
有人知道如何用vhdl编写这方面的高效代码吗
我有个办法。首先提取偶数索引位,然后提取奇数索引位,然后执行异或操作,但运气不好,请帮助我。听起来您需要a或a 并发语句
大量异或:对于0到94中的i生成
输出(i)你能给出一些样本数据和预期输出吗?我不确定为什么在您的示例中跳过了输入(1)
,而输入0、2和3一起涉及。以及为什么结果是95个输出。也许可以简化这个例子,并(再次)给出输入和预期输出。我猜他指的是长向量的并行2输入异或门input@Damien_The_Unbeliever:我想被跳过的input(1)
是一个打字错误。@sharth-如果这是Garp的建议,有太多的fencepost错误和排版错误,如果你能改变初衷,那就去算命吧-你想计算奇偶校验吗?首先,我想提取奇数索引上的值,而不是偶数索引上的值,因此,如果我有std_逻辑_向量(9到0),这意味着我首先有10个索引,我想提取5个偶数索引值,而不是5个奇数索引值,而不是xor。
lots_of_xor: for i in 0 to 94 generate
output(i) <= input(2*i + 0) xor input(2*i + 1);
end generate;
for i in 0 to 94 loop
output(i) <= input(2*i + 0) xor input(2*i + 1);
end loop;