DRC runs much slower in deep mode compared to default (flat) mode

Hi,

I'm currently encountering a performance issue when running DRC.
Here’s the structure of my test layout and what I’ve observed:

I have one rule that checks area, and it runs much slower in deep mode.
In my test, the deep mode runtime is about 375 seconds, while the default (flat) mode only takes 22 seconds — roughly 10× faster.

I saw a talk mentioning that deep mode should actually be faster in some cases (if I understood correctly).
https://peertube.f-si.org/videos/watch/37358e7b-34f5-40c9-8fe9-f13a1825559a

I also tried different ways of writing the rule, such as using .drc(area) vs .with_area(), but there was no noticeable speed difference (unlike .drc(width) vs .width() which can differ).

Is there anything I can do to optimize or speed up my DRC in deep mode?

Thank you!

Comments

  • edited November 11

    Hi @Dylan_Lai,

    The runtimes are highly dependent on the actual use case. If deep mode runs slower for you, just don't use it.

    It's your choice. Performance is not a warranty I give.

    Matthias

  • Hi Matthias,

    Thanks for responding, I am also wondering about this.
    My test layout has many cells, and each cell contains several subcells. From my understanding, deep mode should be more suitable for this kind of hierarchical structure.
    Is that correct, or does it still depend more on the actual layout patterns?

    I am trying to understand what types of layouts are better suited for deep mode versus flat mode, so I can choose the best approach for my DRC deployment.

    I really appreciate your explanation.

Sign In or Register to comment.