|
First, you'll need to install a Java® system. The Sun Java® Runtime Environment, Standard Edition, for Linux can be downloaded from Sun's official site. On Linux, you'll want to change your PATH environment variable so that the "java" command is on your search path. On Windows, double-clicking any of the 6.004 files will run the program (assuming you've installed the Sun Java® environment).
Once you've installed a Java® environment and downloaded the 6.004 files, you can run JSim using the following command:
You may have to specify complete pathnames for "java" and "jsim.jar" depending on your current search path and working directory. Each of the arguments is explained below.
If you get an error of the form "Exception in thread "main" java.lang.NoClassDefFoundError: jsim/JSim", the Java® runtime didn't find the jsim.jar file -- try giving its full pathname, e.g.,
-Xms8m -Xmx32m sets the minimum heap size to 8MB and the maximum heap size to 32MB. Starting JSim with a generous heap allocation avoids a lot of garbage collection overhead the first time your circuit is processed. If you run out of memory, try specifying the -no-local-names option when running JSim. This will greatly reduce the size of the node name hashtable JSim constructs when processing the netlist. The downside of using this option is that nodes can only be referred to by using their name in the (sub)circuit where they were first defined.
-reporterrors asks JSim to provide a backtrace whenever it encounters an internal error.
file... are optional arguments specifying one or more JSim netlist files.
The netlist editor built into JSim is based on the JTextArea class in Swing. Many people find the editing facilities provided by this class to be underwhelming and prefer to use an external editor. jsim.el defines a new major mode for EMACS useful for editing JSim netlists. You can invoke the mode automatically when reading in a ".jsim" file by adding the following to your .emacs file:
;;; jsim support, assumes jsim.el lives in your home directory
(autoload 'jsim-mode "~/jsim" nil t)
(setq auto-mode-alist (cons '("\.jsim$" . jsim-mode) auto-mode-alist))
(add-hook 'jsim-mode-hook 'turn-on-font-lock)
Java® is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.