我有一个vhdl设计测量两个样本(输入)之间的距离, d(S1,S2)。我想问一个问题
如果我有4个样本,如[s1,s2,s3,s4],我想得到 每两个样本之间的距离,然后我会 d(s1,s2),d(s1,s3),d(s1,s4),d(s2,s3),d(s2,s4)和d(s3,s4)。 我应该做什么1或2
1-我应该重复那个模块6次,我将有6个组件 它连接在一起,以获得每个样本和之间的6个距离 另一个......或
2-我应该使用该模块一次并将距离存储在寄存器中 然后重置模块,然后测量下两个之间的距离 取样并将结果再次存储在另一个寄存器中等等......
因为我需要距离结果将它们全部加起来以找到它们的平均值,最大值和标准差。
感谢您的帮助。
答案 0 :(得分:3)
要么。
假设此模块是具有输入和输出端口的实体,您可以使用以下两种基本方法:
第一种方法最简单,最快,因为它并行执行所有6次计算。
第二种方法使用大约六分之一的硬件(加上状态机,输入多路复用器和输出存储器)。
合成实体,查看实体的速度和大小,然后确定哪种方法最符合您的目标,包括FPGA的大小。