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
    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\$
1
  • \$\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\$ Aug 8, 2021 at 11:12
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 that you have read and understand our privacy policy and code of conduct.

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