• 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. Custom IC Design
  3. how to pass array of parameters through CDF down to a verilogA...

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 127
  • Views 22705
  • 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

how to pass array of parameters through CDF down to a verilogA code?

naderi
naderi over 13 years ago

 Hello all,

 Is there any way to pass an array of parameters down to a verilogA code?

if I put following statement in a verilogA sub-circuit.

parameter real vdc[3:0] ={0,0,1,0};

Then {0, 0, 1, 0} appears in CDF parameters for vdc. However, spectre complains later during circuit read-in.The error message is :

 Error found by spectre during circuit read-in.
    ERROR (SFE-874): "input.scs" 1087: Unexpected block statement "{".

I realized if I enter the parameters within double-qoute as "{0, 0, 1, 0}" at CDF, then spectre will be happy and goes for simulation, but the results are incorrect.

 

I wonder if there is any solution?

Thanks,

Ali

  • Cancel
Parents
  • kawan
    kawan over 11 years ago

     Andrew,

    I ran into the same problem and I tried out your solution. It did not work and I wonder if the solution is now different with cadence 6.1.5 ?

     // VerilogA for zakir_sim1, bb_prereg_ldo, veriloga

    `include "constants.vams"
    `include "disciplines.vams"

    module trim3bits(sel);
    output [2:0] sel;
    electrical [2:0] sel;

    parameter real trim[2:0] ={0,0,0};

    analog begin

    V(sel[2]) <+ trim[2]*1.1;
    V(sel[1]) <+ trim[1]*1.1;
    V(sel[0]) <+ trim[0]*1.1;

    end

    endmodule p, li { white-space: pre-wrap; }

    Begin Incremental Netlisting Oct 8 16:44:23 2013

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    End netlisting Oct 8 16:44:23 2013

    ERROR (OSSHNL-514): Netlisting failed due to errors reported before. Netlist may be corrupt or may not be produced at all. Fix reported errors and netlist again.

    ...unsuccessful.

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

     Andrew,

    I ran into the same problem and I tried out your solution. It did not work and I wonder if the solution is now different with cadence 6.1.5 ?

     // VerilogA for zakir_sim1, bb_prereg_ldo, veriloga

    `include "constants.vams"
    `include "disciplines.vams"

    module trim3bits(sel);
    output [2:0] sel;
    electrical [2:0] sel;

    parameter real trim[2:0] ={0,0,0};

    analog begin

    V(sel[2]) <+ trim[2]*1.1;
    V(sel[1]) <+ trim[1]*1.1;
    V(sel[0]) <+ trim[0]*1.1;

    end

    endmodule p, li { white-space: pre-wrap; }

    Begin Incremental Netlisting Oct 8 16:44:23 2013

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    "ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'I6' in design 'zakir_sim1/test1/schematic'. Ensure that argument to this function is a valid terminal name and netlist again.\n\n"

    End netlisting Oct 8 16:44:23 2013

    ERROR (OSSHNL-514): Netlisting failed due to errors reported before. Netlist may be corrupt or may not be produced at all. Fix reported errors and netlist again.

    ...unsuccessful.

    • 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