I am using e testflow, and encountering an interesting case that i would like to share and get your feedbacks.
I have an environment "A" with tf_domain == domain_a.
Under this environment i am instantiating an environment "B" which is testflow unit and have 2 sequence drivers which are also testflow units.
According to the Cadence test flow document, if the tf_domain field is untouched, it is determined to be (with soft constraint) to be the same as the nearest enclosing testflow unit, if there isn't such tf_domain is set to DEFAULT.
However, what i see is:
env_b.tf_domain = domain_a
env_b.seq_driver_1.tf_domain = domain_a
env_b .seq_driver_2.tf_domain =DEFAULT
How come the second sequence driver didn't got the same tf_domain value like the other units?
Moreover, the tf_domain field is declared as const, thus can not be changed after generation.
I will be happy to hear your feedbacks.
I've create a small testcase to try and reproduce your issue. However (as so often) it works fine here. I'm using 13.10.010-s and I only constrain the env tf_domain. All sub units (which are all testflow_units) inherit they tf_domain setting from the enclosing unit. If you want to force the tf_domain, you can use constraints, i.e.:(in the env)keep seq_driver_2.tf_domain==tf_domain;
In reply to hannes:
First, thanks for your quick response, I have tried your suggestion and it fix the problem.
Moreover, even constraining only the env "B" solve it.
It seems like the generation solver somehow ignored the soft constrain.
The explicit keep on the tf_domain solve this problem.
While we are talking on e testflow I want to ask one more question.
Does the usage of testflow make the e objection mechanism redundant ?
What are Cadence recommendation on this subject ?
In reply to myonlyscreen: