1 SystemC::Vregs **************** This is the SystemC Vregs Package, aka Vregs. 1.1 Copyright ============= This package is Copyright 2001-2007 by Wilson Snyder . This program is free software; you can redistribute it and/or modify it under the terms of either the GNU General Public License or the Perl Artistic License. This code is provided with no warranty of any kind, and is used entirely at your own risk. 1.2 Summary =========== The publicly licensed Vregs package provides a means for extracting registers, classes, enumerations, and defines from documentation. Vregs then extracts header files for C++, Verilog, and Perl. Being very object oriented, the program can easily be extended to support additional output languages and output files. You can download Vregs from the link off of http://www.veripool.com/vregs.html Vregs does not require SystemC or C++ to be useful, though some of the generated header files are only useful in object oriented languages like C++. 1.3 Description =============== Vregs converts documentation to C++, Verilog, and perl headers. First, you write your specification using the example documentation in Microsoft Word format in vregs_spec.doc, or using any editor that can produce HTML code. Vregs only cares about the general table layout, not style and font issues; almost any program will do, both Microsoft Word and Adobe Framemaker have been used in the past. When the document is ready for conversion, save the document as HTML. Microsoft Word annoyingly opens the HTML after saving; be sure to exit the HTML version immediately. You then run Vregs, which reads the HTML code and writes out a .vspec file, which contains a summary of the extracted information. This file can be examined for errors, or edited standalone. Vregs also produces header fields with #defines for all of the constants and magic numbers in the spec. Vregs can be customized to change the code it creates using templates; see 'man vreg' for details. 1.4 Obtaining Distribution ========================== Vregs is part of the L free Verilog software tool suite. The latest version is available from `http://www.perl.org/CPAN/', and from `http://www.veripool.com/vregs.html'. Download the latest package from that site, and decompress. `gunzip SystemC-Vregs_version.tar.gz ; tar xvf SystemC-Vregs_version.tar' You will also need to have installed Bit::Vector, HTML::TableExtract, and Verilog::Language from CPAN. If you wish, simply try and install Vregs and it will tell you what prerequisites are missing. 1.5 Supported Systems ===================== This version of Vregs has been built and tested on: * i386-linux It should run on any system with Perl. 1.6 Installation ================ 1. `cd' to the directory containing this README notice. 2. Type `perl Makefile.PL' to configure Vregs for your system. 3. Type `make' to compile. 4. Type `make test' to check the compilation. Note that vregs_spec.doc with this distribution is converted into the files in the test_dir directory. 5. Type `make install' to install the programs and any data files and documentation. 6. Install `vregs-mode.el' in your Emacs site-lisp directory. 7. Add the `include' directory to your project's build path, if you wish to use the register information classes produced by Vregs. 8. Examine the example document under vregs_spec.doc and vregs_spec.html. This document is used to produce the header files you see when you do a `make test'. 9. If you wish to examine data structures created by vregs, see the vderegs.cpp program provided in the include directory.