FlowTracer

Moving the .swd directory

Do you need to move the .swd directory of existing RTDA projects, or control where it is created when making a new project?

When making a new project, use the -dir option of 'vovproject create'.

To move an existing .swd , you can do it a couple of different ways, but they both require the project's vovserver to be stopped first.

This must be done because the server periodically re-writes the registry-entry file for the project, where the swd location is saved.

NOTE: In what follows, I assume the RTDA registry dir is in the standard place, $VOVDIR/local/registry. If the env-var VOV_REGISTRY is set, that directory will be used instead.

The first method, you edit the project's regentry file, then re-start the server using the vovproject command as usual.

The second method, you delete the regentry file and start the server in a special way, and it creates a new regentry file.

After the vovserver is stopped, in method 1 you edit the project's registry entry, changing the 'swd' value to the new path. You do not need to fixup the swd map entries at the end, the server will re-write the new values for you.

Suppose you had the swd for sr_superchip in ~/vov/sr_superchip.swd, and want to move it to /data/srq/vov/sr_superchip.swd.

First method:

% vovproject stop sr_superchip
% vsi
   (verify that server is stopped)
% cd $VOVDIR/local/registry
% vi sr_superchip@somehost
   (change 'set swd  "/home/srq/vov"' to
    'set swd "/data/srq/vov"'
   write and quit
% mv ~/vov/sr_superchip.swd /data/srq/vov
   (move the actual .swd to the desired filesystem)
% vovproject list -l
   (-l option shows the swd path, verify that it is correct)
% vovproject start sr_superchip

Second method:

% vovproject stop sr_superchip
% vsi
   (verify that server is stopped)

% mv ~/vov/sr_superchip.swd /data/srq/vov
   (move the actual .swd to the desired filesystem)
% rm $VOVDIR/local/registry/sr_superchip@somehost
   (remove regentry file, or if worried, move it somewhere
    out of the registry directory as a backup)

% cd /data/srq/vov
  (note that this is the parent of the .swd dir)
% ves sr_superchip.swd/setup.tcl
   (enter the project environment)
% vovserver -jsb $VOV_PROJECT_NAME
  (server will create a new file $VOVDIR/local/registry/sr_superchip@somehost)
% vovserverdir
  (verify that the new directory is shown)

Flow metrics and statistics

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?

Intelligent log parsing, program status

I understand that FlowTracer relies on Unix exit status to determine if a particular program finished successfully or not.  This is similar to Make, however, not very reliable as not all tools control Unix status code accurately. 

Are there plans or current way to perform more intelligent log parsing after each execution stage to determine stage's status code?  For instance, some other similar tools allow to specify simple regexp expression (e.g. /.*Error.*/) on output logs fir fatal and non-fatal (warnings) errors.

Syndicate content