Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16592 Discussions

timing analyzer : about inter-path competition

Yogesh
Novice
1,099 Views

Suppose I get timing recommendations on two 8bit signals path_A and path_B , as below:

 

Duplicate the nodes specified in the details for the path from path_A to path_B
Issue: Inter-path Competition
From: path_A
To:      path_B

Nodes to duplicate:  path_A

Suppose i want Use the Manual Logic Duplication or Maximum Fan-Out logic options to create duplicate nodes.

 

FInd my questions below:

1)What should be added/filled in below fields of assignment editor for using Manual Logic Duplication ?

From:  path_A

To:  path_B

Assignment name: Manual Logic Duplication

Value: ??????????(is it some random user name)

enabled : Yes

2)What should be added/filled in below fields of assignment editor for using Maximum Fan-Out?

From:  path_A

To:  path_B

Assignment name: Maximum Fan-Out

Value: ??????????(is it some random number? if yes ?what number? How to choose this number?)

enabled : Yes

3) what is the difference between both Manual Logic Duplication and Maximum Fan-Out ? and which option will give better timing?

 

 

0 Kudos
4 Replies
sstrell
Honored Contributor III
1,094 Views

The short answer right off the bat is that you shouldn't use either assignment since you have very little control over how the software will adjust things in your design.  Perform manual register/node duplication in your HDL code to have complete control over how the design is adjusted to fix the timing issue.

The slightly longer answer is that all assignments in the Assignment Editor are discussed in detail in the built-in help.  From the help table of contents, look for the "Logic Options" section and you'll find this:

https://www.intel.com/content/www/us/en/programmable/quartushelp/current/index.htm#logicops/logicops/def_duplicate_atom.htm

And unfortunately, I'm looking at it and you're right that the help doesn't define what the value should be!  It actually is just the name you want to give to the duplicated node that you're creating.  For max fanout, the value is the fanout limit.  So if you set a value of 64 and the node has a fanout of 65, the node will be duplicated and one fanout will be moved to the duplicated node.  There's no defined strategy for what value to pick for this value, so that's why it's recommended to do this manually in HDL.

#iwork4intel

0 Kudos
Kenny_Tan
Moderator
1,085 Views

Yup, Usually best to do manual register duplication and preservation

We do not rely on MAX_FANOUT assignment, because

  • May make arbitrary groups of fanout nodes
  • You as the designer can make more intelligent fanout grouping choices



0 Kudos
Kenny_Tan
Moderator
1,069 Views

We do not receive any response from you to the previous question/reply/answer that I have provided. Please post a response in the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


0 Kudos
Yogesh
Novice
1,054 Views

Issue: Inter-path Competition
From: path_A
To: path_B

Nodes to duplicate: path_A

I Used the Manual Logic Duplication to create duplicate nodes.


In the assignment I used Manual Logic Duplication as below?

From: path_A
To: path_B
Assignment name: Manual Logic Duplication
Value : random name
enabled : Yes


But after this if I run fitter, I get below warning and timing doesnt improve .

Warning (171070): Can't duplicate node "<node_A>" -- node does not exist

What is wrong here?

0 Kudos
Reply