• 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. ncelab: segmentation of a signal

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 92
  • Views 13584
  • 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

ncelab: segmentation of a signal

konx
konx over 14 years ago

 Hello everyone.

I try to be specific:


- I wrote some Verilog modules for a design (counter, shift registers, etc..)

- Using RTL Compiler I do the synthesis of the design

- I load the desing in Encounter and I do P&R

- Send back the layout to Virtuoso using OpenAccess database

- Encounter produces a post-P&R verilog netlist: saveNetlist name_of_netlist.v -includePowerGround

- Import the post-P&R verilog netlist in Virtuoso using the Import->Verilog option you can find in the Virtuoso menu': this generates the schematic view for all the verilog blocks I wrote for this design

- Run DRC and LVS: during the LVS there is a mistake. One gate (NAND2) is supposed to have input A connected to VDD but Encounter did not make the connection. Ok, I do the connection by hand and LVS is clean.

- Now I want to run AMS-simulations. I setup everything, netlist is ok and compiler is ok, but when I arrive at the Elaboration I receive the following error:

ncelab: *E,CUVNAS (<my_path>/counter_12bit/schematic/verilog.vams,206|19): segmentation of  a signal
.VDD( VDD ), .A( VDD ), .B( reset ) );

Now, this is exactly the port that I connected by hand in Virtuoso and wasn't connected by Encounter (so, I guess there is something related here).

This connection has not been made by me, but it is the result of the synthesized netlist, so I guess that the synthesizer knew what it was doing when it connected the pin A of the NAND2 gate to VDD.

I assume this is some kind of "bug" or something that requires a workaround.

 

Any idea how to solve the problem or where the problem could come from?

 

Thanks

 

Francesco

 

PS: I hope this is the correct forum; sorry for any mistakes

  • Cancel
Parents
  • diablo
    diablo over 14 years ago

    Thanks Scrivner. I have all those globalNetConnect defined and i do run them after floorplan.

    The problem is with my netlist out of RTL compiler. There were some ports tied to constants and not replaced with tiehi/tielo connection.I am using ' insert_tiehilo_cells -hi TIEHI_A7TULL -lo TIELO_A7TULL', which actually doesn't replace all constants unless I use '-all' switch. Those constants were not recognized by encounter and not routed. However, if i save netlist from encounter those constants 1'b0/1'b1 are replace with VSS/VDD. This causes LVS issue. 

    In my case, i believe the problem will be solved if i make sure there are no constants(1'b0/1'b1) in the netlist out of rtl compiler. This may also be true in your case Knox.

    Thanks 


     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • diablo
    diablo over 14 years ago

    Thanks Scrivner. I have all those globalNetConnect defined and i do run them after floorplan.

    The problem is with my netlist out of RTL compiler. There were some ports tied to constants and not replaced with tiehi/tielo connection.I am using ' insert_tiehilo_cells -hi TIEHI_A7TULL -lo TIELO_A7TULL', which actually doesn't replace all constants unless I use '-all' switch. Those constants were not recognized by encounter and not routed. However, if i save netlist from encounter those constants 1'b0/1'b1 are replace with VSS/VDD. This causes LVS issue. 

    In my case, i believe the problem will be solved if i make sure there are no constants(1'b0/1'b1) in the netlist out of rtl compiler. This may also be true in your case Knox.

    Thanks 


     

    • 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