• 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 obtain Congestion Statistics after Routing is complete...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 91
  • Views 18359
  • 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 obtain Congestion Statistics after Routing is complete?

Narasimhan
Narasimhan over 16 years ago
Hi, I am using SOC Encounter for the first time. I have done the placement and routing of a circuit using Encounter(with the help of a few tutorials). I want the congestion statistics of the design after the detailed routing is complete. On reading the User Guide, I understand that dumpCongestArea command gives the congestion statistics after the trial route or global route. I used the command after trial route to get the congestion statistics. It showed me negative values of remaining tracks. Then, I did detailed routing and used the dumpCongestArea command. The two files have the same data. But, if i try exporting the gds layout and do a post layout simulation on the circuit, it produces the correct output. Hence, I concluded that the circuit has been routed properly. So, there cannot be negative values of remaining tracks after detailed routing. Can someone explain me the procedure to get the congestion data of the design after detailed routing? Thank you. Lakshminarasimhan
  • Cancel
  • archive
    archive over 16 years ago

    Hello Narasimhan,

     I do not clearly understand what do you mean by "statastics".When you run global detail route you have the information on tracks and Gcell usage.Here is the example snippet.

     Resource Analysis:
    #
    #               Routing  #Avail      #Track     #Total     %Gcell
    #  Layer      Direction   Track     Blocked      Gcell    Blocked
    #  --------------------------------------------------------------
    #  Metal 1        H        7607        9692     1336335    62.57%
    #  Metal 2        H        7507        9792     1336335    55.84%
    #  Metal 3        V        7636        9663     1336335    59.51%
    #  Metal 4        H        8609        8691     1336335    52.02%
    #  Metal 5        V        5747       11551     1336335    56.39%
    #  Metal 6        H        5400       11899     1336335    55.09%
    #  Metal 7        V        1831        2486     1336335    55.30%
    #  Metal 8        H        2415        1903     1336335    43.85%
    #  --------------------------------------------------------------
    #  Total                  46753      56.99%    10690680    55.07%
    #
    #  589 nets (0.47%) with 1 preferred extra spacing.

    Do elaborate if you are looking for something else, would try to help.

    Hope this helps.

     Thanks,

    Vishnu

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

    Hello Vishnu,

     I need to obtain a histogram with congestion ratio on the x-axis and the number of nets with that much congestion in the y-axis. as shown below

    Congestion map

     In order to obtain this congestion map, I use the command,

     dumpCongestArea -all <filename>

    The file obtained gives me, the count of remaining tracks and total tracks of all cells. Example data shown below.


         Area              Density  remain/total tracks
    ---------------------------------------------------
    (0, 0) (15800, 16000) V: 19/20 H: 19/20
    (15800, 0) (30400, 16000) V: 17/18 H: 18/20
    (30400, 0) (34400, 16000) V: 5/5 H: 18/20

    I import this into a spreadsheet program and compute the congestion ratio as,

    congestion ratio = (Total tracks - remain tracks)/Total tracks

    From the values of congestion ratio, I obtain the histogram that was shown above.

    My problem is, this data obtained from dumpCongestArea is got after trialRoute. (dumpNanoCongestArea gives data after global route)

    But I need to draw a similar histogram after the detailed routing is complete. For this, I need information about the utilised to total tracks ratio(after detailed routing)

    Thank you.

     Lakshminarasimhan

    P.S:Also, I am trying to create a congested design, so that I can try tweaking the schematic and reduce the congestion. As a result, I have overflow after global routing, which is getting removed after detailed routing. So I am interested in the Congestion data after detailed routing. 

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

    Hi Narasimhan,

      Thanks for using Nanoroute!    The Nanoroute detail route search and repair iterations “repair” any over congestion by legalizing/detouring the routing.  

      If you stop after iteration zero, you will have a db with more congestion for your analysis:

      setNanoRouteMode drouteEndIteration 0 

    The database at this point will have spacing violations that are not repaired by the router.   

    By default, Nanoroute global route considers an area to be fully utilized when the track assignment in a gcell reaches 85% of the available tracks.     

    There is a hidden variable to adjust this metric:   

    setNanoRouteMode grouteCongThreshold    0.850000 (float, default setting)   

    You can use this variable to generate a global route that has more congestion.   

    To dump statistics on the NR congestion, use the following command:   

    dumpNanoCongestArea   

    You can use this command after global route finishes, and also after detail route. 

      You will notice a difference in the output if you allow detailRoute to clean up the violations in the design.

    Eric
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Narasimhan
    Narasimhan over 16 years ago
    Hi Eric, The dumpNanoCongestArea command is giving me the same congestion statistics after global route and after detailed route. Is this meant to be this way. I am interested in obtaining the Congestion statistics after detailRoute completes. Also, the isn't the db file saved in a non-readable format. How do I get the information from the db file after iteration zero?
    • 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