0
votes

I have designed an algorithm-SHA3 algorithm in 2 ways - combinational and sequential. The sequential design that is with clock when synthesized giving design summary as

Minimum clock period 1.275 ns and Maximum frequency 784.129 MHz.

While the combinational one which is designed without clock and has been put between input and output registers is giving synthesis report as

Minimum clock period 1701.691 ns and Maximum frequency 0.588 MHz.

so i want to ask is it correct that combinational will have lesser frequency than sequential?

As far as theory is concerned combinational design should be faster than sequential. But the simulation results I m getting for sequential is after 30 clock cycles where as combinational there is no delay in the output as there is no clock. In this way combinational is faster as we are getting instant output but why frequency of operation of combinational one is lesser than sequential one. Why this design is slow can any one explain please? The design has been simulated in Xilinx ISE

Now I have applied pipe-lining to the combinational logic by inserting the registers in between the 5 main blocks which are doing the computation. And these registers are controlled by clock so now this pipelined design is giving design summary as

clock period 1.575 ns and freq 634.924 MHz

Min period 1.718 ns and freq 581.937.

So now this 1.575 ns is the delay between any of the 2 registers , its not the propagation delay of entire algorithm so how can i calculate propagation delay of entire pipelined algorithm.

1
This question does not appear to have anything to do with programming. It should be on a electronic circuit design site.drekka
The question does not make sense, since only a sequential circuit has a frequency, as a combinational circuit only has a maximum delay.Morten Zilmer
Do you mean pipelined by saying sequential? You should put input and output registers around your combinational circuit to get the correct results. Otherwise the static timing analysis (STA) includes I/O pin delays.Paebbels
ya i have put Input output registers around my combinational circuit after that i have synthesized it in xilinx and getting a maximum frequencyof 0.588MHz so is it correct ?june
And ya sequential means using clock so that is giving a max feq of 700MHz. But some one told me that combinational should be more faster and it should have greater frequency than the sequential one.june

1 Answers

0
votes

What you are seeing is pipelining and its performance benefits. The combinational circuit will cause each input to go through the propagation delays of the entire algorithm, which will take at up to 1701.691ns on the FPGA you are working with, because the slowest critical path in the combinational circuitry needed to calculate the result will take up to that long. Your simulator is not telling you everything, since a behavioral simulation will not show gate propagation delays. You'll just see the instant calculation of your combinational function in your simulation.

In the sequential design, you have multiple smaller steps, the slowest of which takes 1.275ns in the worst case. Each of those steps might be easier to place-and-route efficiently, meaning that you get overall better performance because of the improved routing of each step. However, you will need to wait 30 cycles for a result, simply because the steps are part of a synchronous pipeline. With the correct design, you could improve this and get one output per clock cycle, with a 30-cycle delay, by having a full pipeline and passing data through it at every clock cycle.