The Capsules

We need a capsule for each tool. Basically, a capsule is just a script that figures out the inputs and outputs of an invocation of the tool. In the following example, we show the capsule for the tool cdt_synth. The file name of a capsule should be in the form of vov_tool_name.tcl. In this case, the capsule file for cdt_synth is named vov_cdt_synth.tcl.

The usage of this tool is:
% cdt_synth unit
It takes two files as inputs:
  • rtl/unit.v
  • rtl/unit.scr
and it generates four output files:
  • results/unit.vg
  • results/unit.timing
  • results/unit.rpt
  • results/unit.synth.log

So the capsule is as simple as the following:

vov_cdt_synth.tcl
set unit [shift]

VovInput  rtl/$unit.v
VovInput  rtl/$unit.scr

VovOutput results/$unit.vg
VovOutput results/$unit.timing
VovOutput results/$unit.rpt

VovOutput logs/$unit.synth.log