---------------------------------------------------------------
      VHDL Parser in Prolog written by Peter B. Reintjes
Copyright 1990 by the Microelectronics Center of North Carolina

Revised to IEEE 1076-1993 Standard and ported to SWI-Prolog
by Krishnaprasad Thirunarayan, Wright State University, Dayton, OH 45435.
---------------------------------------------------------------

This directory contains the distribution for a VHDL (IEEE 1076-1993) 
parser in SWI-Prolog(Version 2.8.1). It also contains an experimental
VHDL93 Description Browser written in Tcl/TK (Version 7.5/4.1).

This distribution includes a "data" directory with seven sample
VHDL-87 files, a "test_data" directory with six VHDL-93 files,
a VHDL-93 formatter and a graphical user interface.

The first six test files (tp_1-tp_6) in the directory  data were 
typed directly from the book:
   VHDL: Hardware Design and Description, Kluwer Academic, 1989
The sixty design entities in the seventh test file are derived 
from the WRDC/ELED VHDL Benchmark Suite developed by 
Captain Michael A. Dukes and Captain Karen M. Serafino of 
Wright-Patterson Air Force Base (read the notice in data/tp_7.vhdl).

The VHDL-93 files in the directory test_data were written by 
Krishnaprasad  Thirunarayan using the examples in LRM-93, 
Model User News Letter, Internet postings, and Doug Perry's 
book on VHDL.

The VHDL-93 formatter (extracted from vhdl93_write.tex) produces 
a readable text file from the parse tree representing a VHDL-93 design.

To compile and test the parser, type: 	                    % make
To delete all generated files excluding the parser, type:   % make clean
To delete all generated files including the parser, type:   % make clean_all
To produce hardcopy of the documentation, type:	            % tex vhdl93       
To produce hardcopy of the tutorial, type:	            % tex tutorial
To print the documentation and the tutorial, type:          % make print
(NOTE: If this command does not work because of "fonts problem", 
       try "make print -i" for reasonable results.)
To extract "queries.pl" to run the tutorial example, type:  % make tutorial

This tutorial will take you step by step through the process of
writing and executing simple queries about the VHDL-93 designs
read in by the parser.

To read an arbitrary VHDL-93 file (e.g. "mine.vhdl"), type:
	% vhdl93_parser
	?- vhdl_read(mine).
	?- listing(design_unit).
	   .
	   .
	   .

To invoke the browser, "setenv VHDL93_DIR ..." and   type:  % gui.tcl

The file "browser-tutorial.text" briefly describes how to invoke
and use the GUI written in tcl/tk by Laura DeBrock of Wright State 
University.

----------------------------------------------------------
Technical Contact: Krishnaprasad Thirunarayan (Prasad) 
                   (Email:) tkprasad@cs.wright.edu
                   (Phone:) (937)-775-5109
      (Home Page): http://www.cs.wright.edu/people/faculty/tkprasad



