UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
397 Views
Registered: ‎05-12-2018

What is a interval in synthesis report?

Jump to solution

Hi all,

I have run my design and I have a report attached this thres.

I have one question: what is the interval value in the report?

Please help me explain it.

Thank you,

Quan Nguyen

 

interval.PNG
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
389 Views
Registered: ‎08-16-2018

Re: What is a interval in synthesis report?

Jump to solution

@hongquan18196

The "interval" is actually the "initiation interval", which is defined as the number of clock cycles before the function can accept new input data (see attached figure from UG902). Further, the "PIPELINE pragma" reduces the initiation interval for a function or loop by allowing the concurrent execution of operations.

More specifically, in sequential languages such as C/C++, the operations in a loop/function are executed sequentially and the next iteration of the loop can only begin when the last operation in the current loop iteration is complete. Loop pipelining allows the operations in a loop to be implemented in a concurrent manner; therefore the loop can read input before completion of all the operations inside it; hence the value of initiation interval will be reduced.

Similarly, pipelining on the function level (instead of loop-level) is termed as "Dataflow" which can be seen in the attached report of the original post, where "pipeline type" is "dataflow". 

More details can be found at below link and UG902,

https://www.xilinx.com/html_docs/xilinx2018_2/sdaccel_doc/pragma-hls-pipeline-fde1504034360078.html

https://www.xilinx.com/html_docs/xilinx2018_2/sdsoc_doc/hhp1524097634074.html?hl=dataflow

 

interval.jpg
2 Replies
Moderator
Moderator
390 Views
Registered: ‎08-16-2018

Re: What is a interval in synthesis report?

Jump to solution

@hongquan18196

The "interval" is actually the "initiation interval", which is defined as the number of clock cycles before the function can accept new input data (see attached figure from UG902). Further, the "PIPELINE pragma" reduces the initiation interval for a function or loop by allowing the concurrent execution of operations.

More specifically, in sequential languages such as C/C++, the operations in a loop/function are executed sequentially and the next iteration of the loop can only begin when the last operation in the current loop iteration is complete. Loop pipelining allows the operations in a loop to be implemented in a concurrent manner; therefore the loop can read input before completion of all the operations inside it; hence the value of initiation interval will be reduced.

Similarly, pipelining on the function level (instead of loop-level) is termed as "Dataflow" which can be seen in the attached report of the original post, where "pipeline type" is "dataflow". 

More details can be found at below link and UG902,

https://www.xilinx.com/html_docs/xilinx2018_2/sdaccel_doc/pragma-hls-pipeline-fde1504034360078.html

https://www.xilinx.com/html_docs/xilinx2018_2/sdsoc_doc/hhp1524097634074.html?hl=dataflow

 

interval.jpg
Highlighted
367 Views
Registered: ‎05-12-2018

Re: What is a interval in synthesis report?

Jump to solution

Hi @meherp

I understood. Thank you for your support.

Quan Nguyen

0 Kudos