• 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. vr_ad_file multiple instance

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 65
  • Views 14696
  • 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

vr_ad_file multiple instance

Ravisinha
Ravisinha over 15 years ago
Hello All, I have a situation where i want to implement 8 instance of some particular reg_file which all have many reg_def and reg_fld. For example : I have 8 instance of one DUT module (TEST0, TEST1,TEST2... TEST8), since its all are the instance so all the instance will have the sets of registers.. so to implement reg for one instance i can write code like.. extend vr_ad_reg_file_kind : [TEST0]; extend TEST0 vr_ad_reg_file { keep size == 256; }; reg_def EX_REG_TX_DATA TEST0 8’h00 { // name : type : mask : reset value reg_fld data : uint(bits:8) : RW : 0; }; But now the issue is inside 1 instance i have around 256 registers, and i need to implement for all the 8 instance.... so can anyone suggest me how we can make instance for vr_ad_reg_file, otherwise i have to write same code for all the 8 instance. Thanks
  • Cancel
  • StephenH
    StephenH over 15 years ago

    You can nest reg_files, which lets you achieve the replication you're looking for.

    extend vr_ad_reg_file_kind : [TOP_RF, TEST_RF];

    extend TEST_RF vr_ad_reg_file { keep size == 8; };

    reg_def EX_TX_DATA TREST_RF 8'h00 { ... };

    extend TOP_RF vr_ad_reg_file {
      keep size == 256;
      reg_list test_rfs[8] of TEST_RF;
    };

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ravisinha
    Ravisinha over 15 years ago
    Hi Stephen, Thanks for the solution.. i will work on that.. i have one more doubt related to this solution only... Lets us assume i have created 8 instance of TEST_RF by test_rfs[8] by using reg_list. now for writing into 1. test_rfs[0] of EX_TX_DATA register and 2. test_rfs[1] of EX_TX_DATA register i am not sure how to write the sequence for this. Basically we do write_reg EX_TX_DATA value 0xa5a5; But for this multiple instance can you tell me how to do the same thing. Thanks Ravi
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StephenH
    StephenH over 15 years ago

    Hi Ravi.

    I recommend you to look at the vr_ad examples inside vr_ad/examples/*.e, in particular vr_ad_mult_regs.e.
    This vr_ad_mult_regs.e file shows some different techniques to use the multiple registers.

    Enjoy!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ravisinha
    Ravisinha over 15 years ago
    hey thanks ... i got it...
    • 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