e testflow

Started by myonlyscreen on 9 Dec 2013 5:15 AM. Topic has 3 replies and 5205 views.
Last post on 11 Dec 2013 3:59 AM by hannes.

Hi,

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.

3 Replies

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;

Hi E.M.in general testflow is very helpful in phaseing you environment. However, there are cases when it may be helpful to still use the TEST_DONE objection. For example there may be other units/UVCs which don't use testflow, or multiple unrelated domains. A good approach would be:

- in the phase TCM of the first phase (ENV_SETUP) – raise_objection(TEST_DONE)- as last thing of the last phase (FINISH_TEST) - drop_objection(TEST_DONE)