CREATING A NEW VERILOG 
----------------------

  In order to use Undertow's connectivity tools and VCD file limiting
capability you need to build a new Verilog executable which contains 
routines supplied by Veritools.
  To build this new Verilog executatable use the utility called vconfig
which comes with the release of Verilog XL.
This document will describe how to invoke this utility to build a new
Verilog executable which contains the connectivity and VCD limiting
routines. Below are the steps required:



1). Create an environment variable called ver_install. In order to
    do this you will need to know the complete path name to the directory
    where you installed Verilog. For this example we will assume that
    you have installed Verilog in the directory: /user/cdsmgr/verilog.

    If you are running under a "C" shell (csh) then enter the
    following at the command prompt:

    setenv ver_install /user/cdsmgr/verilog

    If you are running under a "Bourne" shell (sh) then enter the
    following at the command prompt:

    ver_install=/user/cdsmgr/verilog

2). Invoke the utility vconfig. This can be done by entering the following
    at the command prompt:

    $ver_install/vconfig

Only the answers to two questions requested by vconfig are specifically 
required to link the Undertow PLI routines to Verilog. These are:

	Question #1

	If you have any user routines which need to be linked to Verilog,
	the output script will include a section to compile them, and they
	will be included in the link statment.
	The user template file 'veriuser.c' (veriuser.o if the C compiler
	is not available on this system) must always be included in the link
	statment. What is the path name of this file?
	
		ENTER: (path)/veriuser.c    where (path) is the path
	where veriuser.c is installed.


	Question #2

	Please list any other user files to be linkedwith
	this VERILOG. Files ending with a '.c' will be taken
	as C source files and compiled before being linked
	with VERILOG. All other files are taken to be binary
	object files. List the files one at a time, terminating
	the list with a carriage return.

		ENTER: (path)/utpli.o where (path) is the path where
		you have installed utpli.o

		ENTER: <cr>

	
	Finally execute the script that is produced, making
	sure that you have placed the path to the Undertow pli routines
	into your path statment.

	Below is the actual output from running vconfig. The prompts 
	from the vconfig utility will be identified and the proper
	response explained. For this example, it is assumed that
	the complete path name to the directory where the Undertow pli
	routines are installed is:

		/user/undertow/pli


    Vconfig will display the following banner:

****************************************************

    VCONFIG VERSION  2.0a, THE CONFIGURATION PROGRAM
          FOR THE VERILOG FAMILY OF PRODUCTS

****************************************************

  o This program will prompt you for the VERILOG configuration
    options to create a shell script for your operating system
    that will compile and link your VERILOG executable.

  o The default answers to all questions appear inside of'<>'.

  o Once you have finished with VCONFIG, the script which
    is produced can be run to create your executable.

  o The environment variable ver_install should be set to 
    point at the top of the V-Tool installation directory. 

  o Environment variable  ver_install  is currently set to:

    /user/cdsmgr/verilog

  o Hit <RETURN> to continue...


****************************************************




****************************************************

    Using the files sent with this release, the following
    configurations of VERILOG are possible:

        VERILOG version 1.6b with -
            NATIVE Graphics version 1.2c
            X Graphics version 1.2c
            Logic Automation interface version 2.0.5
            Standard Delay File Annotator version 1.1_0929
            Access Routines version 1.6b




****************************************************




  Vconfig will then prompt for the name of the script which will
  create the Verilog executable. For this example we will assume this
  name to be cr_utvlog.

  Here is vconfig's prompt:

    What should I name the output script ?
-----------><cr_vlog> 


  Enter: cr_utvlog


  Next vconfig will want to know what name you want to give the new Verilog
  executable. For this example we will assume utVerilog.

  Here is vconfig's prompt:

****************************************************

    What do you want to name the VERILOG executable ?
-----------><verilog> 


  Enter: utVerilog


  Vconfig will next prompt for which version of Verilog to link. We will
  assume that is the version which is identified by the ver_install environment
  variable created in step 2 above.

  Here is vconfig's prompt:

****************************************************

    Which version of VERILOG should be linked ?
-----------><version sent with release - 1.6b> 


  Enter: <cr>

  Vconfig will next prompt for the location of the verilog object file.

  Here is vconfig's prompt:

    Path name of VERILOG object file vlog.o ?
-----------><file sent with this release - /user/cdsmgr/verilog/vlog_1.6b/src/vlog1.6b/vlog.o> 


  Enter: <cr>


  Vconfig will next ask if you want to include graphics with this new
  executable. We will assume that you do want graphics.

  Here is vconfig's prompt:
  
****************************************************

    Do you want to include graphics in this VERILOG ?
-----------><yes> 

  Enter: <cr>


  Vconfig will next ask if you want 'NATIVE' or 'X' graphics. We will
  assume that you want X Windows graphics.

  Here is vconfig's prompt:

    Do you want  'NATIVE'  graphics or  'X'  graphics?
-----------> < X >


  Enter: <cr>


  Vconfig will next ask for the version of the Verilog X object files. We
  will assume that you want the most recent version.
  
  Here is vconfig's prompt:

    Which version of X GRAPHICS should be linked ?
-----------><version sent with release - 1.2c> 


  Enter: <cr>


  Vconfig will next as for the location of the Verilog graphic object files.

  Here is vconfig's prompt:

    Path name of GRAPHICS object file grx_vlog.o ?
-----------><file sent with this release - /user/cdsmgr/verilog/vlog_1.6b/src/grx_vlog1.2c/grx_vlog.o> 


  Vconfig will next ask if you want Dynamic LAI support. We will assume
  that you do not want this support.

  Here is vconfig's prompt:

****************************************************

    Do you want to include the Dynamic LAI interface in
    this VERILOG ?
-----------><no> 

  Enter: <cr>


  Vconfig will next ask if you want Static LAI support. We will assume
  that you do not want this support.

  Here is vconfig's prompt:

****************************************************

    Do you want to include STATIC LOGIC AUTOMATION models in
    this VERILOG ?
-----------><no> 

  Enter: <cr>


  Vconfig will ask if you want LMSI support. We will assume that you do not
  want this support.

  Here is vconfig's prompt:

****************************************************

    Do you want to include the LMSI HARDWARE MODELER
    interface software in this VERILOG ?
-----------><no> 


  Enter: <cr>


  Vconfig will next ask if you want Mixed-Signal support.

  Here is vconfig's prompt:

****************************************************

    Do you want to include the Verilog Mixed-Signal 
    interface software in this VERILOG ?
-----------><no> 


  Enter: <cr>


  Next vconfig will ask if you want SDFA support. We will assume that you
  do want this support.

  Here is vconfig's prompt:

****************************************************

    Do you want to include the Standard Delay File
    Annotator in this VERILOG ?
-----------><yes> 


  Enter: <cr>

  
  Next vconfig will ask for the location of the SDFA support files.

  Here is vconfig's prompt:

    Path name to SDFA library files ?
-----------><files sent with this release - /users/cdsmgr/verilog/vlog_1.6b/src/sdfa1.1_0929> 


  Enter: <cr>


  Next vconfig will ask if you which version of the access routines to
  include with this Verilog.

  Here is vconfig's prompt:

****************************************************



    Which version of the ACCESS ROUTINE
    software should be linked ?
-----------><version sent with release - 1.6b> 


  Enter: <cr>


  Next vconfig will ask for the location of the access routines.

  Here is vconfig's prompt:

    Path name of the ACCESS ROUTINE
    object file acc.o ?
-----------><file sent with this release - /users/cdsmgr/verilog/vlog_1.6b/src/acc1.6b/acc.o> 


  Enter: <cr>


  Next vconfig will ask for information regarding user routines which you
  want linked to this new Verilog executable. You will need to tell vconfig
  where the Veritool PLI routines are located. We will assume they in the
  directory /user/undertow/pli (see step 1 above).

  Here is vconfig's prompt:

****************************************************

    If you have any user routines which need to be linked to
    VERILOG, the output script will include a section to
    compile them, and they will be included in the link
    statement.

    The user template file 'veriuser.c' (veriuser.o
    if the C compiler is not available on this system) must
    always be included in the link statement.  What is
    the path name of this file ?
-----------><file sent with this release - /user/cdsmgr/verilog/vlog_1.6b/src/vlog1.6b/veriuser.c> 


  Enter: /user/undertow/pli/veriuser.c


  Next vconfig will ask for the location of the object files for the user
  routines.

  Here is vconfig's prompt:

    Please list any other user files to be linked with
    this VERILOG.  Files ending with '.c' will be taken
    as C source files and compiled before being linked
    with VERILOG.  All other files are taken to be binary
    object files.  List the files one at a time, terminating
    the list with a carriage return. (<CR>)
-----------><end of list> 

  Enter: /user/undertow/pli/utpli.o
  Enter: <cr>

  Vconfig will then inform you that it has successfully completed.

  Here is vconfig's prompt:

*** SUCCESSFUL COMPLETION OF VCONFIG
*** EXECUTE THE SCRIPT cr_utvlog TO LINK VERILOG


5). Now you will need to execute the script created by vconfig. Enter
    the following at the command prompt:

  cr_utvlog

6). Make sure that you have placed the Veritool's pli routines
    directory into your path statement. From a "C" shell (csh) this
    can be done as follows:

    setenv PATH $PATH:/user/undertow/pli

7). You have now completed the building of a new Verilog executable
    which contains the Veritool's connectivity and VCD limiting
    system tasks. For instructions on how to use these new facilities
    please see below or read the Undertow README file.


USING THE UNDERTOW PLI ROUTINES
________________________________

$utConnectivity

  This system task will create a dump file which Undertow uses to
provide connectivity tracing capabilities. It can be invoked as follows:

initial $utConnectivity;

The name of the connectivity file that is produced when the Verilog
simulation is run is utConnectivity.



$utLimitVCD

  This system task will limit a VCD file. You pass an argument to the
routine indicating how many mega-bytes of storage to limit the VCD
file. This routine will setup a circular buffer to hold the VCD file.
This means that you will end up with a VCD file containing signal information
for the last activity in the circuit. The amount of simulation time which
is saved is defined by the user, by specifying a number in the system task
call, which defines the size of the saved file in megabytes. The size
does not include the VCD header file, which is the portion of the
file that holds the module and variable names. For example if your
header file is three mega-bytes long and you invoke $utLimitDump as follows:

  initial $utLimitVCD(3);

then your VCD file can be as large as six mega-bytes (three for the header
and up to three for the signal states).
