verilog-to-routing / vtr-verilog-to-routing

Verilog to Routing -- Open Source CAD Flow for FPGA Research
https://verilogtorouting.org
Other
980 stars 378 forks source link

Can Titan benchmarks be used for power analysis? #2578

Open DuqingF opened 4 weeks ago

DuqingF commented 4 weeks ago
    As I know, Titan benchmarks  are input directly to vpr, so that skip the ACE step necessary to perform power analysis. So I can't perform power analysis directly by run_vtr_flow.py. When I wanted to perform power analysis in Titan benchmarks using only vpr, I am prompted to Titan benchmarks that do not have the required "power nodes "and "clocks nodes" in those architecture files, so how should I perform power analysis against Titan benchmarks to obtain the ".power" files?
vaughnbetz commented 3 weeks ago

Adding @jgoeders who probably knows best. If you created the activity files in a 3rd party simulator / Quartus, you could probably map them to the appropriate format for use with VTR (and of course you'd need to actually add power per toggle data to whatever arch file you wanted to use).

jgoeders commented 3 weeks ago

As I know, Titan benchmarks are input directly to vpr, so that skip the ACE step necessary to perform power analysis. So I can't perform power analysis directly by run_vtr_flow.py.

The power analysis requires an activity file that indicates toggle rates of the various nets in the design. The activity estimation tool uses ABC, which is not part of the titan flow. As @vaughnbetz mentioned, you would need to generate these activity files yourself. See https://docs.verilogtorouting.org/en/latest/vtr/power_estimation/#power-ace, which documents the format:

User’s may with to use their own activity estimation tool. The produced activity file must contain one line for each net in the BLIF file, in the following format: \ \ \

Titan benchmarks that do not have the required "power nodes "and "clocks nodes" in those architecture files, so how should I perform power analysis against Titan benchmarks to obtain the ".power" files?

You would need to update these architectures with annotations about how you want power analysis to be done for the various PB types in the architecture. I would suggest taking a look at this architecture and noting the various \<power> annotations. This section of the documentation describes the various options.

DuqingF commented 3 weeks ago

I got it, thank you so much @vaughnbetz @jgoeders

vaughnbetz commented 2 weeks ago

You're very welcome!