Do I miss something?

I defined a variable named "somelength"

On pin-pair "A", formula I wrote "=somelength"

On another pin-pair, "B", I use the variable in a formula like "=5000-somelength+/-100th"

The last formula is templated and used on several pin-pairs.

how can I get a violation on the first formula?

It is a definition of the value of the variable.

Second question about tuning.

Is it reasonable to get tuning constraints violations when the autorouter has plenty of space to tune?

Thanks

Lary

Hello Larry,

The variables are used to quickly and easily associate multiple nets/pin-pairs etc together in a similar way to match groups but providing more scope of flexibility. I think that it is probably best to use an example. If I have three nets A,B,C and I add the formula to them using the variable MatchMe then I would see...

A=MatchMe+/-1

B=MatchMe+/-1

C=MatchMe+/-1

In this example if

A=10

B=11

C=15

We obviously break the requirement but the question is which one of the nets do we hightlight in error?

The algorithm is such that it simply trys to solve all the formulas using a value for the variable MatchMe and then highlights those which are outside the tolerance.

When we have the statement of A=MatchMe we are not setting MatchMe to equal A; what we are setting is that A equals the variable MatchMe and MatchMe will be determined by solving the formula for all nets that use this variable.

So in your original example where you have A=SomeLength and then B=5000-SomeLength+/-10 it is not setting SomeLength = to the length of A.

Regards

Andy