The recommended methodology with VCS is to compile once and simulate many times. To do this you need to control the model from the Unix / DOS command line. This is done with "plusargs" such as +test=10 or +memfile+program.dat that pass arguments such as 10 or program.dat into the model as test parameters, and file names.
The IEEE Verilog has created an initial specification for reading these arguments and their values. I wrote this application while stuck in a boring meeting one afternoon. Give it a try!
The PLI application $value$plusargs allows you to read the value part of the plus argument in decimal, binary, octal, hexidecimal, floating point, or string.
Last updated 11/28/01 with changes from Craig Robson to check the PLI status codes.
Download the tar file.