【问题标题】:Whether combinational circuit will have less frequency of operation than sequential circuit?组合电路的工作频率是否会低于时序电路?
【发布时间】:2016-05-02 05:16:09
【问题描述】:

我设计了一种算法——SHA3 算法有两种方式——组合 和顺序。 综合时以时钟为设计概要的时序设计为

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

而没有时钟设计并放在输入和输出寄存器之间的组合式给出的综合报告为

最小时钟周期 1701.691 ns 和最大频率 0.588 MHz。

所以我想问一下,组合的频率低于顺序的频率是否正确?

就理论而言,组合设计应该比顺序设计更快。但是我得到的连续模拟结果是在 30 个时钟周期之后,其中组合输出没有延迟,因为没有时钟。通过这种方式,组合更快,因为我们获得了即时输出,但是为什么组合的操作频率小于顺序的操作频率。为什么这个设计很慢,谁能解释一下? 该设计已在 Xilinx ISE 中进行了仿真

现在,我通过在 5 个进行计算的主要块之间插入寄存器,将流水线应用于组合逻辑。而且这些寄存器是由时钟控制的,所以现在这个流水线设计给出了设计总结

时钟周期 1.575 ns 和频率 634.924 MHz

最小周期 1.718 ns 和频率 581.937。

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

【问题讨论】:

  • 这个问题似乎与编程无关。它应该在电子电路设计网站上。
  • 这个问题没有意义,因为只有时序电路才有频率,而组合电路只有最大延迟。
  • 你说的顺序是流水线吗?您应该在组合电路周围放置输入和输出寄存器以获得正确的结果。否则,静态时序分析 (STA) 会包含 I/O 引脚延迟。
  • 是的,我已经在我的组合电路周围放置了输入输出寄存器,然后我在 xilinx 中合成了它并获得了 0.588MHz 的最大频率,这是正确的吗?
  • 而你的顺序意味着使用时钟,因此最大 feq 为 700MHz。但是有人告诉我,组合应该更快,并且应该比顺序更频繁。

标签: fpga xilinx sequential digital flip-flop


【解决方案1】:

您所看到的是流水线及其性能优势。组合电路将导致每个输入通过整个算法的传播延迟,这在您正在使用的 FPGA 上将花费高达 1701.691ns,因为计算结果所需的组合电路中最慢的关键路径将花费直到那么长。您的模拟器并没有告诉您一切,因为行为模拟不会显示门传播延迟。您只会在模拟中看到组合函数的即时计算。

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

【讨论】:

  • 现在我通过在 5 个进行计算的主要块之间插入寄存器,将流水线应用于组合逻辑。这些寄存器是由时钟控制的,所以现在这个流水线设计给出了设计摘要,时钟周期为 1.575 ns,频率为 634.924 MHz,最小周期为 1.718 ns,频率为 581.937。所以现在这个 1.575 ns 是两个寄存器之间的延迟,它不是整个算法的传播延迟,所以我如何计算整个流水线算法的传播延迟。
  • @june 简单。延迟是寄存器到寄存器的延迟 (1.575ns) 乘以流水线步数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-10
  • 2017-05-10
相关资源
最近更新 更多