As part of the Vela project experiment, MSU is providing ECAD library services via the WWW. These library services are meant to complement the CMOS standard cell libraries which have been developed within our Microsystems Prototyping Lab (MPL) . The library services are provided using a Java client GUI which interacts with a custom server running on MPL compute resources. The library services effort is also used to support Microelectronics education courses taught within the ECE department at MSU. Other work at MSU on the Vela project can be found here .
Library Services which are currently available are:
The services are configured to work with libraries (standard cell and FPGA) which are of interest to Vela project members and which are used by Microelectronics courses as MSU.
All 'services' are accessed via a common Java-based GUI (JavaCADD) application. There is only one GUI class - runtime customization of the GUI based on service type is done via a parameter file which is loaded from the server at GUI startup. At startup, the JavaCADD GUI queries the server for a list of available services. The user chooses the desired service and another copy of the JavaCADD GUI is invoked for that service. The user fills in parameter templates for the job to be done, and the job is dispatched to the server along with parameter information and any local files for completing the task. A log window is opened back to the client so that the user can view job progress; at job completion result files are sent back to the local client and placed in a user-specified directory.
To use JavaCADD download the following archive: jcadd113.zip .
This archive contain the Java classes that define the JavaCADD GUI (look here for information on the JavaCADD server). This is a Java application, not an applet, which means that you cannot run it from a web browser. To run the JavaCADD GUI, you will either need the Java Development Kit (JDK) or the Java Runtime Environment (JRE). Either of these are available from the Javasoft homepage .
If you using JavaCADD from an ERC machine, the command 'swsetup java' will setup your environment correctly.
Once you have unpacked the zip file, you will find the following
files located inside of the JavaCADD directory:
JavaCADD csh script for Unix users using the JDK JavaCADD.bat bat file for Win95/NT users using the JDK JavaCADD_JRE csh script for Unix users using the JRE JavaCADD_JRE.bat bat file for Win95/NT users using the JRE README explains use of script files classes/ directory which contains JavaCADD classes
The contents of the JavaCADD csh script illustrates how java is used to execute the JavaCADD application:
#!/bin/csh -f setenv CLASSPATH classes java JavaCADD titan.erc.msstate.edu 23573
java JavaCADD titan.erc.msstate.edu 23573starts the JavaCADD GUI as a Java application. The hostname 'titan.erc.msstate.edu' is the hostname which will run the services, and the port number is the port number for the release version of our ECAD server. One problem we have found is that Unix installations whose hostname services do not return fully qualified host names may have a problem during the JavaCADD GUI operation in exchanging data with the remote server.
Win95/WinNT users may want to edit the properties on the appropriate bat file and set the environment space to at least 1024 (use the memory tab), set the DOS window to be minimized on startup and closed on exit.
The first window which appears will list the available services found
at the server/port combination given to the JavaCADD application. This
is shown below:
Left clicking on a service will select the service; then left clicking
on Launch Tool will cause the JavaCADD application to query the
server for the GUI-specifics for that tool. Once the tool
personalization information has been returned, the JavaCADD
application window customized for that tool will appear. The JavaCADD
application window for the "Synopsys Synthesis" service appears below:
There is no limit to the number of active tool application windows; you can also have multiple JavaCADD launch windows present, each connected to a different server if desired (currently, the only JavaCADD server available is "titan.erc.msstate.edu").
Below are a set of tutorials for some of the currently available services.It is not necessary to download a new version of the JavaCADD GUI if we add additional services; the JavaCADD GUI queries the server to determine the available services.
Currently, there are no restrictions on outside use of these services. We welcome other WWW CAD researchers to try it out, and educators who are curious about the commercial tools which perform the services. We are making these services available as part of the Vela Distributed CAD project; feel free to experiment but remember that these services are running on MPL computing resources using MPL tool licenses. If we find that outside use becomes too heavy or that the services are being used for production use then remote access will be shut down. Service use is logged for monitoring purposes. The server can be installed on any Sun workstation running Solaris; if you are interested in setting up a JavaCADD server for local use please see the JavaCADD Server documentation. Setting up a JavaCADD server for ECAD services requires knowledge of the local ECAD tool environment. The JavaCADD GUI is designed so that adding new tool services does not requiring writing any java code, only Perl scripts. Knowing Java helps in understanding some of the provided Java code samples, but is not necessary.
Please contact us if you have any questions or comments about the JavaCADD application.