• 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. Digital Implementation
  3. How to handle assign statements

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 91
  • Views 18076
  • 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 handle assign statements

archive
archive over 18 years ago

In our design, we have few signals which need to be tied to 1'b0, 1'b1, as shown below.

    assign z[16] = 1'b0 ;
    assign port_comp[0] = 1'b1;

During PD, I want to tie these nets to VDD and GND nets. Can somebody help on how to do this?

Thanks in Advance,
Krishna


Originally posted in cdnusers.org by gukumar
  • Cancel
  • archive
    archive over 18 years ago

    Try adding tie cells before writing verilog.
    If you work with RTL - Compiler it looks like:
    remove_assigns
    insert_tiehilo_cells


    Originally posted in cdnusers.org by Stalker
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hi Stalker,

    The ASIC vendors that we are dealing with do not have TieHi/TieLo cells in their library. So we need to connect these nets directly to vdd/gnd. Is there a way to do this, either in SoCE or RTL-C.

    Thanks;
    Krishna


    Originally posted in cdnusers.org by gukumar
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    I never connected cells directly to the grid.
    As far as I know LVS tools recognize 1'b0/1'b1 as vss/vdd


    Originally posted in cdnusers.org by Stalker
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    so can we leave the nets floating. i thought there is a way to connect all 1'b0 to gnd and 1'b1 to vdd.


    Originally posted in cdnusers.org by gukumar
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hi Krishna,

    Make sure you have the following in your .conf file before loading the design: (NOTE this is an example; make sure to use your specific pwr/gnd net names and std cell pin names. These are usually VDD/VSS, but can be different.)

    set rda_Input(ui_pg_connections) [list \
    {PIN:VDD:} \
    {PIN:VSS:} \
    {TIEHI::} \
    {TIELO::} \
    ]
    set rda_Input(PIN:VDD:) {VDD}
    set rda_Input(PIN:VSS:) {VSS}
    set rda_Input(TIEHI::) {VDD}
    set rda_Input(TIELO::) {VSS}

    This should setup tiehi/lo nets and nanoroute should connect them.

    Hope that helps,

    - Kari


    Originally posted in cdnusers.org by Kari
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Thanks Kari. It worked.


    Originally posted in cdnusers.org by gukumar
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    You're welcome, Krishna. I'm glad that worked for you.

    - Kari


    Originally posted in cdnusers.org by Kari
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • PramodSabnis
    PramodSabnis over 16 years ago

    Hi Kari/ Krishna,

    In this, I understand that VDD and VSS are the power and ground nets. But, what are "TIEHI::" and "TIELO::" keyword?

    Sorry for this stupid question. But I am facing the same problem.

    Regards,

    Pramod

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

     Hi Pramod,

    There are no stupid questions! :-)

    The TIEHI and TIELO keywords are just saying that pins tied high (1'b1) will be connected to VDD, and those tied low (1'b0) will be tied to VSS. Your pwr/gnd names may be different, but the keywords TIEHI and TIELO do not change here.

    Hope that helps,

    - Kari 

    • 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