• 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. Problem when running simulation with Verilog-AMS and SystemVerilog...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 65
  • Views 19910
  • 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

Problem when running simulation with Verilog-AMS and SystemVerilog together with irun

solomonchoi
solomonchoi over 11 years ago

 Hi,

 I am now working on a AMS verification using irun. I have an analog module (Verilog-AMS model, .vams) and a logic module (SystemVerilog RTL netlist, .sv) and want to integrate them together for system verification, especially on the control of the analog module by the logic one. The testbench I am using is in .vams format. When I compiled it with irun, it gave the following error message and I don't know how to fix it. May I know if you have an idea on this issue? Thanks a lot in advance.

 ncvlog: *E,WOUPSR (/rtl/sv/dtcm_dsc_enc_ich.sv,293|27): A reference to an entire array is not permitted in this context [SystemVerilog].
(`include file: /rtl/sv/dtcm_dsc_enc_ich.sv line 372, file: all.sv line 121)
        history[i] = history_m[i];

Best Regards,

Solomon

  • Cancel
Parents
  • StephenH
    StephenH over 11 years ago

    There are no industry-standard specifications for the way the different languages connect together, e.g. VHDL to Verilog or AMS, so if the docs say it's prohibited it would generally mean it's something that's limited by the tool implementation instead of by a standard.

    In your specific case I have a suspicion that the problem comes from your declaration of  "output reg [26:0] history [31:0]". If possible, try changing this to a wire declaration like "output wire [26:0] history [31:0]", then use a continuous assignment from a new internal reg signal onto the wire port. I can't promise that will fix your issue, but it does look like a limitation that another customer showed me this week, and which I'm still investigating.

    Alternatively change the unpacked declaration to a packed one: "output reg [26:0][31:0] history".

    If you do try this, please share the result here for others to benefit.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • StephenH
    StephenH over 11 years ago

    There are no industry-standard specifications for the way the different languages connect together, e.g. VHDL to Verilog or AMS, so if the docs say it's prohibited it would generally mean it's something that's limited by the tool implementation instead of by a standard.

    In your specific case I have a suspicion that the problem comes from your declaration of  "output reg [26:0] history [31:0]". If possible, try changing this to a wire declaration like "output wire [26:0] history [31:0]", then use a continuous assignment from a new internal reg signal onto the wire port. I can't promise that will fix your issue, but it does look like a limitation that another customer showed me this week, and which I'm still investigating.

    Alternatively change the unpacked declaration to a packed one: "output reg [26:0][31:0] history".

    If you do try this, please share the result here for others to benefit.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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