• 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. Logic Design
  3. naming style for generate statement in RTL

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 63
  • Views 17960
  • 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

naming style for generate statement in RTL

diablo
diablo over 16 years ago

 I have a generate statement in my verilog RTL.

 generate
        for(g=0; g<num_reg; g=g+1) begin

            wb_reg #(._address(reg_addr[g*_width+:_width]), ._default(reg_default[g*_width+:_width]),
                    ._bit_mask(reg_bit_mask[g*_width+:_width]), ._autoclr(reg_autoclr[g*_width+:_width])) wb_regs (
                .CLK_I(CLK_I),
                .RST_N_I(RST_N_I),
                .TEST_EN_I(TEST_EN_I),
                .ADR_I(SADR_I),
                .DAT_I(SDAT_I),
                .DAT_O(dat_o[g]),
                .ACK_O(ack_o[g]),
                .CYC_I(SCYC_I),
                .STB_I(SSTB_I),
                .WE_I(SWE_I),
                .REG_SEL_O(reg_sel_o[g]),
                .REG_DATA_O(reg_data_o[g]),
                .REG_DATA_I(ro_data[g*_width+:_width]),
                .REG_UPDATE_I(reg_update_i[g]));
        end
    endgenerate

After synthesizing with RC 8.1, the netlist generated for this block has following naming style.

 wb_reg__address8h03__default8h08__bit_mask8h8f__autoclr8hff\genblk1[0].wb_regs

Same naming sytle is in SDF file generated for this design using write_sdf  -design foo -version "OVI 3.0" -delimiter "/" > ${_OUTPUTS_PATH}/${DESIGN}_netlist.sdf . 

The problem is "." before wb_regs is causing syntax issue when running simulation using SDF file. The error is

 ncsdfc: *E,SDFIRE: "../../../synthesis/foo/outputs/foo_netlist.sdf", line 50115: Syntax error ".".
ncelab: *W,SDFCNC: Cannot compile SDF file, ../../../synthesis/foo/outputs/foo_netlist.sdf - skipping annotation.

I have tried 

 set_attribute hdl_array_naming_style "%s_%d"
set_attribute hdl_array_generator "%s_%d"
set_attribute hdl_reg_naming_style "%s_reg%s"

in synthesis scripts but none of these fix the problems.

Is there a certain attribute related to module generate naming style that may fix the problem. Pls suggest.

Thanks for your time. 

 

  • Cancel
  • grasshopper
    grasshopper over 16 years ago

     Hi Diablo,

     in RC91 you can use the following

       attribute name: hdl_generate_index_style
              category: elab (controls elaboration)
           object type: root
           access type: read-write
             data type: string
         default value: %s[%d]
                  help: Format of 'for generate' block labels.

        attribute name: hdl_generate_separator
              category: elab (controls elaboration)
           object type: root
           access type: read-write
             data type: string
         default value: .
                  help: String used to separate generate block labels.
       

    I am not sure if RC81 also had these

    gh-

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • diablo
    diablo over 16 years ago

    Thanks gh. I appreciate your help. It worked  after using those two attributes.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mclarke
    mclarke over 16 years ago

     Hi diablo,

       Three other attributesare used to control the naming style for generate statements in RC

    # Specifies whether 'if' generate labels should be used to prefix instances, default true, allowed [ true | false ]

    set_attr hdl_use_if_generate_prefix           false    /

    # Specifies whether 'for' generate labels should be used to create instance names, default true, allowed [ true | false ]

    set_attr hdl_use_for_generate_prefix          false    /

    # String used to separate generate block labels, default "."

    set_attr hdl_generate_separator                  ""    /
     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • diablo
    diablo over 16 years ago

     Thanks mclarke, this is even more helpful.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • angelster
    angelster over 16 years ago

     Badly needed this2 attributes, glad to find it here..thanks 

    • 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