-
Notifications
You must be signed in to change notification settings - Fork 56
Basic Examples With Poorly Drawn Diagrams
Julian Kemmerer edited this page Oct 24, 2018
·
22 revisions
Here is the PipelineC code that describes a pipelined floating point adder:
float main(float x, float y)
{
return x + y;
}
Here is the PipelineC code that describes a pipelined binary tree summation of 8 values by instantiating 7 floating point adders:
float main(float x0, float x1, float x2, float x3,
float x4, float x5, float x6, float x7)
{
// First layer of 4 sums in parallel
float sum0;
float sum1;
float sum2;
float sum3;
sum0 = x0 + x1;
sum1 = x2 + x3;
sum2 = x4 + x5;
sum3 = x6 + x7;
// Next layer of two sums in parallel
float sum4;
float sum5;
sum4 = sum0 + sum1;
sum5 = sum2 + sum3;
// Final layer of a single sum
float sum6;
sum6 = sum4 + sum5;
return sum6;
}

