In RTL compiler, I have successfully used the following flow
- Read Verilog Netlist
- Read VCD Annotation Data between times t0 and t1 (Chip "Active")
- Report Power for "Active"
- Reset Design
- Read VCD Annaotation Data between times t2 and t3 (Chip "Standby")
- Report Power for "Standby"
This has worked succesfully and reported "Active" and "Standby" power is as excpected
I am now trying to improve the flow by reading the CPF file, which defines the power modes. So, now I attempting to report power for each power mode, whilst also including the VCD annotation data.
Unfortunately, this does not seem to work. As far as I can tell, the VCD annotation data is not being used in the power calculation such that the power is the same in both "Active" and "Standby".
Has anyone used this flow? Should it work?
The solution to your problem would be one of the following.
Solution #1: Annotate switching activities for each power mode in your cpf file. Check update_power_mode -activity_file command .
Solution #2: Your flow should look something like this:
//diagnostics, reports etc here
Notice that we read tcf (or vcd or saif) AFTER read_cpf . If you try to read it before, you won't get accurate results
Hope I helped,