hammer icon indicating copy to clipboard operation
hammer copied to clipboard

Discrete clock auto-clock gating logic?

Open edwardcwang opened this issue 5 years ago • 6 comments

Follow up to ucb-bar/hammer-cad-plugins#83

@colinschmidt @jwright6323 Unfortunately it turns out that ucb-bar/hammer-cad-plugins#83 does break some technologies by default, FYI. Not sure if this is actually the case or whether some technologies require special attention to force Genus to recognize the cell?

In particular, is Genus' suggestion of enabling lp_insert_discrete_clock_gating_logic useful?

Error   : Cannot find any usable integrated clock-gating cell. [POPT-78] [syn_generic]
        : The provided library does not have a usable integrated clock-gating cell.
        : If the library has an integrated clock-gating cell, but this cell has either a 'dont_use' or a 'dont_touch' attribute set to 'true', the cell is considered unusable. To make the cell usable, set the 'avoid' attribute for the lib_cell to 'false' in Genus. If the library has no integrated clock-gating cell, you can set the 'lp_insert_discrete_clock_gating_logic' root attribute to 'true' to allow Genus to create discrete clock-gating logic for the insertion.
1

edwardcwang avatar Apr 30 '19 05:04 edwardcwang

It sounds like this technology just might not have clock gaters. Let's dicuss this offline.

jwright6323 avatar Apr 30 '19 15:04 jwright6323

@edwardcwang is this still high priority? I can't remember if we figured this out.

jwright6323 avatar Jun 04 '19 05:06 jwright6323

We worked around it by turning off the clock gating altogether, though it's probably not idea. CCing @jamesdunn

edwardcwang avatar Jun 05 '19 18:06 edwardcwang

I'm not sure what this issue is intended to track- are you proposing that in the auto mode we turn off clock gating if a technology doesn't have ICG cells?

jwright6323 avatar Jun 06 '19 23:06 jwright6323

If the technology (for whatever reason) is missing ICG cells, it would be nice to not have Genus crash and burn in auto mode (e.g. a possible fix is to just ignore and proceed as if clock gating was turned off)

edwardcwang avatar Jun 07 '19 06:06 edwardcwang

ok, I think we could do something like

if {llength [get_db .base_cells -if {.is_integrated_clock_gating}] > 0} { <clock gating commands> }

jwright6323 avatar Jun 07 '19 06:06 jwright6323