• 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. Mixed-Signal Design
  3. How to include a verilog file/functional view in HED?

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 65
  • Views 6456
  • 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 include a verilog file/functional view in HED?

Johanny Saenz
Johanny Saenz over 3 years ago

Hi all

I'm doing an AMS simulation and I'm instantiating a block whose definition is included in a Verilog file and also a functional view. In the HED, I can't define a hierarchy beneath a functional view.

How can include that file definition in an easy way?

Thanks all. 

  • Cancel
  • Johanny Saenz
    Johanny Saenz over 3 years ago

    Hi all

    I'm doing an AMS simulation and I'm instantiating a block whose definition is included in a Verilog file and also a functional view. In the HED, I can't define a hierarchy beneath a functional view.

    How can include that file definition?

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Johanny Saenz

    Please do not post the same question in multiple forums (see the forum guidelines). It won't necessarily get answered any quicker - usually the opposite because it creates more work... 

    This time I've joined the two posts rather than deleting them both.

    It's not clear what you mean. What does it mean by "I'm instantiating a block whose definition is included in a Verilog file and also a functional view"? Where are you instantiating it? You can certainly have hierarchy beneath a functional view and you should be able to view switch using HED.

    Perhaps contacting customer support would be best?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Johanny Saenz
    Johanny Saenz over 3 years ago in reply to Andrew Beckett

    For example, I have the following verilog created as a functional view in Virtuoso:

    module SRAM_BLOCK
    #(parameter WIDTH_INPUT=64, WIDTH_OUTPUT=4,WIDTH_DATA=8)
    (
    input clk_fifo_i,
    input rst_mst_i,
    input eval_i,
    input [7:0] cmp_i,
    input [WIDTH_DATA-1:0] counter_i,
    input load_fifo_i,
    output [WIDTH_OUTPUT-1:0] SO
    );

    DESER_FIFO64 I_DESER ( clk_fifo_i, DATA[WIDTH_INPUT-1:0], rst_mst_i, load_fifo_i, SO[3:0]);

    endmodule

    In my HED I will have the stopped view configured to functional, but spectre is reporting me the following error:

    SRAM_BLOCK:module' was set to be stop view in Cadence Hierarchy Editor(HED) but this instance has hierarchy beneath it. Review and update its settings in HED appropriately

    I have to add somehow the DESER_FIFO64 definition. I have tried `include statement without success. 

    How can I do it from HED? 

    Thanks 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Johanny Saenz

    Why are you setting the functional view to be a stop view? It's not a stop view! You want the hierarchy expanded beneath it, so it makes no sense to make it a stopping view.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 3 years ago in reply to Johanny Saenz

    By the way, the function of the Stop View List is explained at https://support.cadence.com/apex/techpubDocViewerPage?path=assembler/assemblerIC6.1.8/asmNetlisting.html#pgfId-1024871 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Johanny Saenz
    Johanny Saenz over 3 years ago in reply to Frank Wiedmann

    Hi Andrew and Frank.

    I have found the issued Verilog portion :

    genvar i;

    generate
    for (i=0; i<7; i=i+1) begin
    SRAM I_SRAM( rst_mst_i, eval, counter_i[7:0], cmp_i[i], DATA[8*(i+1)-1:8*i]);
    end
    endgenerate

    Using generate statement, HED is unable to descend into SRAM hierarchy.

    How can I work around it?

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Johanny Saenz

    This unfortunately is a known limitation. The main issue is that generate blocks are parameterised connectivity and that cannot really be represented in parent-child database that HED uses. The workaround is to add a reference to the external file with the definition of the SRAM in the Verilog-AMS options.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 3 years ago in reply to Johanny Saenz

    ... as explained at https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000006DdhMUAS 

    • Cancel
    • Vote Up +1 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