matteof93
Newbie level 3
Hello, I am working on a script for PT Shell that must be able to swap cells in order to meet a leakage power constraint. The script works correctly and the idea is to get all the timing paths in the design and swap every cell in the path which has the maximum slack in order to possibly guarantee that the final slack will not be violated. If the constraint is met ok, otherwise continue with the next path.
I have a problem when I set a really "strong" constraint, let's say I want to save 50% of leakage. What I currently see is that in some cases I swap all the cells even in the most critical path, which by the way still has a positive slack, and so I reach a point where all cells listed in get_timing_paths (not directly by the command, of course) have been swapped to "low power" cells (LVT to HVT).
Now the problem is that when I run a "report_cell" command I still see many cells that have not been swapped to "low power" cells. Is it possible that the cells that can be extrapolated from the get_timing_paths command are not all the cells in the circuit?
I have a problem when I set a really "strong" constraint, let's say I want to save 50% of leakage. What I currently see is that in some cases I swap all the cells even in the most critical path, which by the way still has a positive slack, and so I reach a point where all cells listed in get_timing_paths (not directly by the command, of course) have been swapped to "low power" cells (LVT to HVT).
Now the problem is that when I run a "report_cell" command I still see many cells that have not been swapped to "low power" cells. Is it possible that the cells that can be extrapolated from the get_timing_paths command are not all the cells in the circuit?