Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

initialize all FF before ModelSim simulation and estimate the power of a design

Status
Not open for further replies.

sajjad.hussain

Junior Member level 1
Joined
May 20, 2015
Messages
17
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,477
I synthesized Leon3 with two different options:

  • flatten-all & auto-ungroup:

It produce a single top level verlig module with all the module merged inside. During synthesis there are some uninitialized FF which cause 'x' propagation and results in incomplete annotation while doing power estimation. For that I can initialize all the FF in verilog file by searching all FF using Linux 'sed', before the modelsim simulation starts, then producing SAIF, then power estimation is done with 100% annotation.

But

  • no-auto-ungroup

It preserves the original design hierarchy in terms of verilog modules, and save synthesized netlist in a verilog file. Now there are many modules, before modelsim simulation how to initialize all the FF in different modules?

Please guide.

Best Regards, Sajjad
 
Last edited by a moderator:

I am afraid in the pre-simulation stage you need to find out the FFs in the RTL and initialize them. I would do it that way.
After that you can re-synth the entire design.

I don't know if there is a better way to do it!
 

it would be easier to issue a reset at say cycle 0, and generate the power report taking into cycles 1 and beyond.

the hierarchy (flat or hierarchical) shouldn't make a difference. Am I missing something here?
 

Thanks for the response dear dpaul. For a flattened design I can find the FF and initialize them. But still when try to do power estimation with PrimeTime it shows many not-annotated nets, I don't know the reason. With so many not-annotated net, still power estimation is right?
 

But still when try to do power estimation with PrimeTime it shows many not-annotated nets, I don't know the reason.
Even after initializing the FFs in the RTL and doing power analysis on the *new* netlist?
Are you sure you have re-synthesized your entire design and using the new netlist?

With so many not-annotated net, still power estimation is right?
I can't comment on this as I never done power estimation.
What are the rules/input-requirements for power estimation using PrimeTime? Is this info not available in the PrimeTime documentation?
 

1. For power estimation SAIF/VCD file is required, which is generated during ModelSim simulation. Before the simulation, I wrote a script to find all the FF and initialize them to a value. Still there is not 100% annotation.
2. In PrimeTime, as far as I studied, a synthesized netlist, library file, SAIF/VCD file is required.
 

With so many not-annotated net, still power estimation is right?
It can be close depending on the design/number of nets/margins/etc, but it is definitely not right. Depends primarily on the amount of non-annotated nets.

I would start by double checking the VCD generated and which netlist was used for that. Then you can debug the non-annotated nets one by one. Sometimes they are really not activated by the testbench, i.e., your testbench touches only one function.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top