0
\$\begingroup\$

I have a project with a clock period of 5.9ns. During simulation, it takes 233 clock cycles to produce the output. Therefore, I calculated latency as 233*5.9 = 1347.7ns.

Given the latency, how do I calculate the throughput? This is a non-pipelined design.

\$\endgroup\$
1
  • \$\begingroup\$ Reciprocate and convert to bits-per-second. \$\endgroup\$
    – Mitu Raj
    Commented Aug 8, 2021 at 12:31

2 Answers 2

0
\$\begingroup\$

If this is a non-pipelined design, then the throughput is just the number of results that can be calculated per second. If you now how long it takes to calculate one result, finding the throughput is just the reciprocal of that value.

\$\endgroup\$
2
  • \$\begingroup\$ The solution provides a 128-bit output every 1347.7ns. Therefore, every second I can produce (1000000000 (1 second)/1347.7 )* 128-bits Is that correct? \$\endgroup\$ Commented Aug 8, 2021 at 11:12
  • \$\begingroup\$ And if it's a 233 registered pipeline, the throughput is just the clock rate, ~168 MHz, or ~168 million results/sec. \$\endgroup\$
    – SteveSh
    Commented Dec 12, 2023 at 12:42
0
\$\begingroup\$

\begin{align} \text{Throughput} &= \left(\frac{\text{Number of bits}}{\text{Result}}\right)\times \left(\frac{\text{Number of results}}{\text{Clock cycle}}\right)\times \left(\frac{\text{Number of clock cycles}}{\text{Time}} \right) \\ &= \frac{\text{Number of bits}}{\text{Time}} \\ &= \left( 128\frac{\text{Bits}}{\text{Result}}\right)\times\left(\frac{1 \text{ Result}}{233\text{ Clock Cycles}}\right) \times \left(\frac{1 \text{ Clock cycle}}{5.9\text{ ns}}\right) \\ &= 93.1\frac{\text{Mbits}}{\text{s}} \\ \end{align} where "M" here stands for \$10^6\$.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.