cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Teacher
Teacher
8,078 Views
Registered: ‎03-31-2012

adding PIPELINE rewind & dataflow pragmas explode run-time

I have a design which sythesizes in less than 10 minutes (actually significantly less). I decided to add dataflow to it which gave me a "loop with multiple exits" dataflow synthesis error so I added pipeline rewind.

With these two pragmas added the design has been running for more 1.5 hrs (94 mins) now. Is there any hope that it will complete? Any suggestions on how to get more optimization in shorter time?

 

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Tags (2)
0 Kudos
2 Replies
Highlighted
Teacher
Teacher
8,068 Views
Registered: ‎03-31-2012

Re: adding PIPELINE rewind & dataflow pragmas explode run-time

It's been 352 minutes of cpu time and hls is still cranking. It doesn't look like it's going to terminate. Any suggestions?
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
Highlighted
Explorer
Explorer
8,061 Views
Registered: ‎07-13-2015

Re: adding PIPELINE rewind & dataflow pragmas explode run-time

Normally that happens when it's tried to unroll a huge loop completely, which is itself a result of applying pipelining at too high a level. For example, if you code looks like this:

for (y = 0; y < 1024; y++) {
#pragma HLS PIPELINE
	for (x = 0; x < 768; x++) {
		// Do something to an image
	}
}

then it'll attempt to completely unroll (all 768 iterations) of the inner loop, so it can all run in one clock cycle. What you need is this:

for (y = 0; y < 1024; y++) {
	for (x = 0; x < 768; x++) {
#pragma HLS PIPELINE
		// Do something to an image
	}
}
0 Kudos