2016-05-02 16 views
0

我设计了一种算法-Sha3算法2种方式 - 组合式 和顺序。 时钟合成时序设计给出设计摘要如下组合电路的工作频率是否比时序电路少?

最小时钟周期1.275 ns和最大频率784.129 MHz。

虽然组合一个被设计成没有时钟,并已放输入和输出寄存器之间是给合成报告

最小时钟周期1701.691 NS和最大频率0.588兆赫。

所以我想问的是,组合的频率会比顺序的频率低吗?

就理论而言,组合设计应该比顺序更快。但是我获得顺序的模拟结果是在30个时钟周期之后,因为没有时钟,组合的输出没有延迟。通过这种方式,组合的速度更快,但是为什么组合的操作频率比顺序的要少。为什么这个设计很慢可以让任何人解释一下? 该设计已在Xilinx ISE

中进行了仿真现在我已经通过在执行计算的5个主块之间插入寄存器来将管道线应用于组合逻辑。而这些寄存器由时钟控制,所以现在这个流水线设计是给设计内容摘要

时钟周期1.575 NS和频率634.924兆赫

分钟内1.718 NS和频率581.937。

所以现在这个1.575 ns是两个寄存器之间的延迟,它不是整个算法的传播延迟,所以我如何计算整个流水线算法的传播延迟。

+2

这个问题似乎与编程没有任何关系。它应该在电子电路设计网站上。 – drekka

+1

这个问题没有意义,因为只有一个时序电路有一个频率,因为组合电路只有最大延迟。 –

+0

你的意思是顺序说流水线吗?您应该在您的组合电路周围放置输入和输出寄存器以获得正确的结果。否则,静态时序分析(STA)包括I/O引脚延迟。 – Paebbels

回答

0

您所看到的是流水线及其性能优势。组合电路将导致每个输入经历整个算法的传播延迟,在您正在使用的FPGA上最多需要1701.691ns,因为组合电路中最慢的关键路径需要计算结果直到那么久。你的模拟器不会告诉你所有的事情,因为行为模拟不会显示门传播延迟。您只需在仿真中看到组合函数的即时计算。

在顺序设计中,您有多个较小的步骤,其中最慢的步骤最差的情况下需要1.275ns。这些步骤中的每一步都可能更容易放置和布线,这意味着由于每个步骤的路由改进,您的整体性能会更好。但是,对于结果,您需要等待30个周期,因为这些步骤是同步管道的一部分。通过正确的设计,您可以改进这一点,并在每个时钟周期获得一个输出,并具有30个周期的延迟,具有完整的流水线并在每个时钟周期传递数据。

+0

现在我已经通过在执行计算的5个主块之间插入寄存器来将管道线应用于组合逻辑。并且这些寄存器由时钟控制,所以现在这个流水线设计给出设计概要,时钟周期为1.575ns,频率为634.924MHz,最小周期为1.718ns,频率为581.937。所以现在1.575 ns是2个寄存器之间的延迟,它不是整个算法的传播延迟,所以我如何计算整个流水线算法的传播延迟。 – june

+0

@june简单。延迟是寄存器到寄存器的延迟(1.575ns)乘以流水线步数。 – hexafraction