• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. e testflow

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 65
  • Views 13771
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

e testflow

myonlyscreen
myonlyscreen over 11 years ago

 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.

I will be happy to hear your feedbacks.

 

  • Cancel
  • hannes
    hannes over 11 years ago

    Hello,

    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; 

    Regards,
    -hannes 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • myonlyscreen
    myonlyscreen over 11 years ago

     Hi 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 ? 

    Regards,

    E.M.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hannes
    hannes over 11 years ago
    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)

    Regards,
    -hannes
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information