RB2FSDB Howto |
|
Home Links Download Howto |
Since RuleBase does not run on many platforms (yet anyway) I'll not be working on a configure script, so a few manual changes to the Makefile will be necessary and problems may be expected :) To start with you'll need the following tools and APIs:
BUILDING AND INSTALLINGTo start with install g++, perl, and swig. These are fairly standard pieces of equipment for any system (except maybe Swig) so if you need help you'll have to follow the instructions on the site for the tools that are listed above. First CD to the rb2fsdb directory and make two directories named "FsdbWriter" and "libcmd". Then download the API tarballs from Novas into the corresponding directory (or mv/cp the files there if you downloaded to a different spot like your home directory in the example below):
cd rb2fsdb
mkdir FsdbWriter
mkdir libcmd
mv ~/FsdbWriter*.tar.gz ./FsdbWriter
mv ~/libcmd*.tar.gz ./libcmd
Next unzip/untar both the APIs:
cd FsdbWriter
tar -xvzf FsdbWriter*.tar.gz
cd ../libcmd
tar -xvzf libcmd*.tar.gz
cd ../
Or for the GNU tar challenged:
cd FsdbWriter
gunzip FsdbWriter*.tar.gz
tar -xvf FsdbWriter*.tar
cd ../libcmd
gunzip libcmd*.tar.gz
tar -xvf libcmd*.tar
cd ../
Now that all of software is installed you need to edit the Makefile to
make sure everything is correct. Open Makefile in your favorite text
editor and edit the values of the following variables to fit your
platform:
swigincdir - This is the path to the include files for the SWIG
wrappers that are generated. Specifically EXTERN.h
perl.h, and XSUB.h. Your path should probably be very
similar to the default value, perhaps with sun4-solaris
changed to your platform.
api_arch - This is the architecture abbreviation used by the Novas APIs
to divide up their libraries. You can see the choices by
doing an ls in either the FsdbWriter or libcmd directories.
But since RuleBase only runs on a couple platforms, it's
probably not useful to set this to anything other than SOL2
or IBM43 (I have not checked IBM43 functionality).
fsdbdir - This is the path to the FsdbWriter package you installed.
If you followed the directions above you can leave this value
alone. Otherwise change it to the path to the toplevel directory
where you unpacked FsdbWriter.
libcmddir - Same as fsdbdir but for the libcmd package. See above.
INSTALL_DIR - The location where the script and accompanying libraries
will be installed. This can actually be anywhere you want
(since I'll be setting an ENV variable shortly), but I
suggest putting it in a directory along with RuleBase to
keep things tidy. Also please make sure the directory
exists or the make install (which is very stupid) will
not work correctly.
That's it for the Makefile. One last thing before building, edit the
rb2fsdb.pl script and make sure the first line points to the correct
location of the perl binary (try `which perl` to find out). Leave the
"#!" at the beginning of the line, this is very important ;)
Finally try building the package, and if you don't see any errors,
then install it:
make
make install
If everything went according to plan, you have a new script that is
ready to process the output of RuleBase and load it up in Debussy for
you. The last thing I have to do is tell RuleBase about this script
so at the command line or in a startup script (ie .cshrc or .bashrc)
set the RB_SCOPE environmental variable to the path of the rb2fsdb.pl
script. This will be the same as the INSTALL_DIR path you put into
Makefile with "/rb2fsdb.pl" slapped on the end. You set this variable
like this:
with bash shells(example):
export RB_SCOPE=/usr/local/tools/rulebase/v1.3/lib/rb2fsdb.pl
or tcsh/csh shells(example):
setenv RB_SCOPE /usr/local/tools/rulebase/v1.3/lib/rb2vcd.pl
Now that the RB_SCOPE var is set you should be able to load up
RuleBase, open a waveform (ie "show timing diagram", etc...) and
a Debussy nWave window should pop up with the appropriate wave in
it and all the same signals you'd expect from RuleBase's wave
viewer are already added to the display. You can leave the nWave
window open and next time you open a waveform through RuleBase it
will Refresh in nWave. Be careful of the bug below however...
|