Flow metrics and statistics

  • khusid
Posted: Mon, 08/17/2009 - 11:44

One common requirement for a flow is to collect some important statistics/metrics of the flow.  In the EDA flow, this could be total negative slack, maximum frequency, area, etc.  Usually this is implemented by parsing certain report outputs/logs and entering this information in a database, then this data is plotted.

Does FlowTracer provide this capability or how would you recommend implementing it?  Perhaps a way to post-process tool's output after execution and storing in a database?

Reply: Flow Metrics and Statistics

  • casotto
  • 05/08/09
  • Mon, 08/24/2009 - 14:41

You are correct that an important part of the flow execution is the collection of metrics.  FlowTracer provides essentially two mechanisms: the ability to interface to an SQL database (SQLite, MySQL, or Oracle at the moment), and the ability to execute "triggers" (a new feature in 2009.08). 

SQL: The definition of the SQL schema is up to the user.  The code to extract metrics from the log files is also up to the user. To interface with a database, you will have to set the databases parameters in  the file PROJECT.swd/db/config.tcl, after which you can use the utility "vovsql_query" from the command line, or the lower level vtk_sql_query API for Tcl scripts.

Triggers: To execute scripts upon certain events, such as job termination, you can deploy vovtriggerd, a daemon that watches for events like job termination or job failure and executes simple Tcl commands based on the TRIGGER property attached to those jobs (more details available in the docs).

FlowTracer also does its own plotting.  The plot routine API (vtk_waveplot_create vtk_waveplot_addwave and vtk_waveplot_creategif) were not intended for general usage, but you could find them useful.  Please email support@rtda.com for more details.