2014-03-28 47 views
1

我有一个vhdl设计测量两个样本(输入)之间的距离, d(s1,s2)。和我想提一个问题我该怎么处理vhdl设计?

如果我有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-我应该使用该模块一次并存储在距离寄存器 和复位然后模块测量接下来的两个 样本之间的距离,并再次等存储结果在另一个寄存器....

因为我将需要的距离结果总和他们都找到他们的意思,马x值和std偏差。

感谢您的帮助。

回答

3

要么。

假设这个模块是输入和输出端口的实体,还有你可以用它两种基本方法,为你的建议:

  1. 实例化作为它的,因为你需要并线的投入多少份和直接输出。
  2. 实例化它一次,像状态机一样通过单个实体对输入和输出进行排序,并将每个输出存储在寄存器(或数组)中,直到它们全部准备好。

第一种方法是最简单和最快的,因为它并行执行所有6个计算。

第二种方法使用约六分之一的硬件(加上状态机,输入多路复用器和输出存储器)。

合成实体,看它有多快,多大,然后决定哪种方法最符合您的目标,包括FPGA的大小。