Manuals >User's Guide >Simulating
Print version of this Book (PDF file)
prevnext

Remote Simulation

You can perform a simulation on a computer other than the computer on which you are working by using the remote simulation feature. You might do this for one of the following reasons:

    • Running the simulation on a faster machine
    • Running the simulation on a computer authorized to run a particular simulator

To execute a remote simulation, the remote machine must meet the following requirements:

    • It runs Linux, SunOS, or a similar operating system that supports execution of Berkeley's remote shell (remsh or rsh) and remote file copy (rcp) commands.
    • Both local and remote machines know each other. This means both machines are connected by a network and the IP address database is updated to talk to the other machine. This database is usually found in /etc/hosts.
    • It allows remote shell and copy program execution from your local host without entering a password (relaxed network security).
    • It allows for removal of files using /bin/rm.
    • The remote machine is expected to have a directory named /var/tmp for writing temporary files unless an alternate directory is specified in the usersimulators file for that simulator's host_name field. See host_name for details.

The procedure for setting up the appropriate network security for your simulator depends on your remote host's operating system.

Remote Simulation Algorithm

The name of the remote host is specified in the usersimulators file found in $ICCAP_ROOT/iccap/lib. Remote simulation is supported in both CAN_PIPE and CANNOT_PIPE mode for most simulators. However, some simulators may only work in CANNOT_PIPE mode. See Linking a Simulator to IC-CAP.

The machine name for a simulator in this file determines where each simulator runs.

    • When a remote machine is not specified, the simulation takes place locally on your host computer.
    • If the remote machine is specified, check to see if this name is the same as the current host name. When the remote machine is identical to the current host, the simulation is executed on the current host directly.
    • If a remote machine is specified and this name is not the same as the current host name, a remote simulation is performed by a remote shell command which is /usr/ucb/rsh on SunOS and Linux, and cygwin rsh on the PC.
    • In non-piped simulation, necessary files are copied to the remote machine using a remote file copy command which is /usr/ucb/rcp on SunOS and Linux, and cygwin rcp on the PC.

Network Security

When the remote commands listed above are executed, the current user ID is used to establish access to the remote machine. Therefore, it is necessary to have the same user ID on both local and remote machines. Also, the following files may be modified to allow remote program execution from a particular host.

    • /usr/adm/inetd.sec
    • /etc/hosts.equiv
    • .rhosts

When the security is set up, make sure the following command returns the current date without any errors (substitute your remote machine name where <remote_machine> appears in the example).

On SunOS or Linux, type:

rsh  <remote_machine>  date 

For the PC, execute the following line of PEL in an IC-CAP macro. The results are displayed in the status window.

print system$("rsh <remote machine> date")

If your remote simulator requires licensing variables, you should write a small shell-script on the remote host machine that sets all required environment variables before invoking the simulator. This shell script is then specified in your usersimulators file instead of the actual simulator executable.

Example:

 #!/bin/sh
LM_LICENSE_FILE=my_license_file.lic
export LM_LICENSE_FILE
PATH=/path/to/my/simulator/bin:$PATH
export PATH
/path/to/my/simulator/bin/xxxxx $*

The $* on the last line is required to pass along the IC-CAP command line parameters.

Executing a Remote Simulation

After the usersimulators file is set up correctly and the network security is adjusted, the steps for performing a remote simulation are identical to those required to perform a non-remote simulation. For more information, refer to Performing a Simulation.


Note


Make sure that there are no commands in the .cshrc file on the remote host that may generate output. Also, do not perform terminal related operations in your .cshrc file such as termset or stty. Since there is no physical terminal with remote shell commands, commands expecting one in your .cshrc file lead to errors.


Remote Simulation Examples

The following example specifications for running the template simulators remotely can be added to the usersimulators file in $ICCAP_ROOT/iccap/lib.


Note


If you prefer to preserve the defaults as shipped, you can add the specifications to your local, or Home, directory by copying and editing the usersimulators file. If you set the specifications in your home directory, you must change the pointers in your configuration file. Copy the file $ICCAP_ROOT/config/iccap.cfg to $HOME/hpeesof/config/iccap.cfg. See the Installation and Customization Guide for additional information.


The examples contain sample user-assigned simulator names, remote host machine names, and directory path (on the remote machine) information that should be replaced by the actual names in your system. The purpose of these examples is to show the names of the simulator executable files.

You must specify a full path name for each simulator because the PATH variable on the remote machine may not have the necessary search path to find your simulator.


Note


User-assigned simulator names can be whatever you choose except for reserved names. See Reserved Simulator Names. To use a user-assigned simulator, make sure the simulator name is listed in the first column of the usersimulators file, then set your simulator in IC-CAP to the same name.


To run spectre on the remote Solaris machine called cadencebox, enter the line:

remspectre_SS spectre443 /cadence/5.0.0/tools/bin/spectre "cadencebox" CANNOT_PIPE

where:

spectre443 is the template for spectre version 4.4.3 and greater, which causes IC-CAP to parse its circuit page expecting spice syntax.

From a PC, enter the line:

remspectre_SS spectre443.be /cadence/5.0.0/tools/bin/spectre "cadencebox" CANNOT_PIPE

Since the Solaris machine's byte order is big endian, the .be extension must be appended to the template name.

To run native spectre on the remote Solaris machine called cadencebox, enter the line:

remspectre spectre /cadence/5.0.0/tools/bin/spectre "cadencebox" CANNOT_PIPE

where:

spectre is the template for native spectre, which causes IC-CAP to parse its circuit page expecting native spectre syntax. See SPECTRE Interfaces in the Reference manual, chapter 4, "SPECTRE Simulator."

From a PC, enter the line:

remspectre spectre.be /cadence/5.0.0/tools/bin/spectre "cadencebox" CANNOT_PIPE

Since the Solaris machine's byte order is big endian, the .be extension must be appended to the template name.

To run UCB SPICE 2G.6 on the remote machine called spice2mach, enter the line:

 spice2rem spice2 /usr/iccap/bin/ucbspice2g6 "spice2mach" CAN_PIPE 
where:

spice2rem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls.

To run UCB SPICE 3E2 on the remote machine called spice3mach, enter the line:

spice3rem spice3 /usr/iccap/bin/spice3e2 "spice3mach" CAN_PIPE

where:

spice3rem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls

To run HPSPICE on the remote machine called hpspicemach, enter the line:

hpspicerem hpspice /usr/iccap/bin/shpspice "hpspicemach" CAN_PIPE

where:

hpspicerem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls

When performing remote simulations using the HPSPICE simulator, both of the executable files called shpspice and spice2.4n1 must be present on the remote machine.

To run HSPICE on the remote machine called hspicemach, enter the line:

 hspicerem hspice /usr/bin/hspice "hspicemach" CANNOT_PIPE 
where:

hpspicerem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls

Depending on the version of HSPICE you have installed, the execution script called hspice may exist in a different directory path from /usr/bin/hspice. In this case, create a symbolic link from /usr/bin/hspice to the actual hspice script that will be called. For example, if your hspice script exists under /usr/meta/h9007/bin/hspice, then execute the following command to create the required symbolic link:

 ln -s /usr/meta/h9007/bin/hspice /usr/bin/hspice 

Note that you must be in the root directory when executing the above command.

To run ELDO on the remote machine called eldomach, enter the line:

eldorem eldo<anacad_root>/eldo/<version>/com/eldo"eldomach" CANNOT_PIPE

where:

<anacad_root> and <version> are replaced with the home directory of the ANACAD software and the current version number of ELDO, respectively; eldorem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls.

To run Saber on the remote machine called sabermach enter the line:

 saberrem saber /usr/saber/bin/saber "sabermach" CAN_PIPE 
where:

saberrem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls

To run MNS on the remote machine called mnsmach enter the line:

 mnsrem mns /usr/hp85150/lib/mns "mnsmach" CAN_PIPE 
where:

mnsrem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls.

mns is the simulator name.

The third field (an arbitrary example in this statement) is the path to the simulator's location installed on the remote machine.

To run HPEESOFSIM on the remote machine called hpsimmach enter the line:

 hpsimrem hpeesofsim <simulator path> "hpsimmach" CAN_PIPE
where:

hpsimrem represents the name of the simulator and pipe creates an interprocess channel that responds to read/write calls.

hpeesofsim is the simulator name.

The third field is the path to the simulator's location installed on the remote machine.

To launch an external simulation, you must copy the file $ICCAP_ROOT/bin/hpeesofsim_start to some location on the remote machine. You must then modify the file (as explained within the file) to set HPEESOF_DIR and HPEESOFSIMFRONT_DIR for the remote machine. Then you must insure hpeesofsim_front is on the remote machine. If the remote machine is the same OS as the local machine, then you can copy $ICCAP_ROOT/bin/hpeesofsim_front from the local machine. If the remote machine is a different architecture, hpeesofsim_front for all architectures can be found on your distribution CD under the subdirectory simlinks. Finally, modify the file usersimulators to refer to the remote host and the path to hpeesofsim_start on the remote host.


prevnext