Verilog::Verilog-Perl man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Verilog-Perl(3)	      User Contributed Perl Documentation      Verilog-Perl(3)

NAME
       Verilog-Perl - Overview of Verilog language packages for Perl

DESCRIPTION
       The Verilog-Perl distribution provides Perl parsing and utilities for
       the Verilog Language.  This file provides an overview of the
       distribution, for specific details on each component, see that
       component's manpage.

       You may also want to try the AUTO features present in
       http://www.veripool.org/verilog-mode <http://www.veripool.org/verilog-
       mode> Verilog-Mode.

INSTALLATION
       Skip this section if Verilog-Perl has already been installed.

   Supported Systems
       Verilog-Perl should run on any system with Perl, G++, Flex, and Bison.
       It is known to work on at least:

       ·   sparc-sun-solaris2.5.1

       ·   i386-linux

       ·   i686-w2k-cygwin

   CPAN Installation
	   Easiest installation is using the "CPAN" command line that comes
	   with Perl.  After configuring CPAN the first time, simply

	      $ cpan
	      cpan> install Verilog-Perl

	   Read the rest of this file for details on the programs provided.

   Manual Installation
	   Download the latest version from <http://www.perl.org/CPAN/>, or
	   from http://www.veripool.org/verilog-perl
	   <http://www.veripool.org/verilog-perl>.

	   "cd" to the directory containing this README notice.

	   Type "perl Makefile.PL" to configure Verilog for your system.

	   Type "make" to compile Verilog.  Some Solaris users have had
	   trouble with "open" being redefined.	 If this happens, try editing
	   the Makefile to change _FILE_OFFSET_BITS to 32 instead of 64.

	   Type "make test" to check the package.  If you don't have Synopsys'
	   VCS, the test will print a warning, which you can ignore.

	   Type "make install" to install the programs and any data files and
	   documentation.

	   Read the rest of this file for details on the programs provided.

SCRIPTS
       The following scripts are installed by Verilog-Perl:

       vhier
	   Vhier reads the Verilog files passed on the command line and
	   outputs a tree of all of the filenames, modules, and cells
	   referenced by that file.

       vpassert
	   Vpassert will read the specified Verilog files and preprocess
	   special PLI assertions.

       vppreproc
	   Vppreproc (Verilog-Perl Pre Processor) reads the Verilog files
	   passed on the command line and outputs preprocessed output.

       vrename
	   Vrename will allow a signal to be changed across all levels of the
	   design hierarchy, or to create a cross reference of signal names.

PACKAGES
       Verilog::Getopt
	   Verilog::Getopt provides standardized handling of options similar
	   to Verilog/VCS and cc/GCC.

       Verilog::Language
	   Verilog::Language provides general utilities for using the Verilog
	   Language, such as parsing numbers or determining what keywords
	   exist.

       Verilog::Netlist
	   Verilog::Netlist reads and holds interconnect information about a
	   whole design database.

       Verilog::Netlist::Cell
	   A Verilog::Netlist::Cell object is created by Verilog::Netlist for
	   every instantiation in the current module.

       Verilog::Netlist::ContAssign
	   A Verilog::Netlist::ContAssign object is created by
	   Verilog::Netlist for every continuous assignment in the current
	   module.

       Verilog::Netlist::File
	   Verilog::Netlist::File allows Verilog::Netlist objects to be read
	   and written in Verilog format.

       Verilog::Netlist::Module
	   A Verilog::Netlist::Module object is created by Verilog::Netlist
	   for every module in the design.

       Verilog::Netlist::Net
	   A Verilog::Netlist::Net object is created by
	   Verilog::Netlist::Module for every signal and input/output
	   declaration in the current module.

       Verilog::Netlist::Pin
	   A Verilog::Netlist::Pin object is created by Verilog::Netlist::Cell
	   for for each pin connection on a cell.

       Verilog::Netlist::Port
	   A Verilog::Netlist::Port object is created by
	   Verilog::Netlist::Module for every port connection in the module.

       Verilog::Netlist::Subclass
	   The Verilog::Netlist::Subclass is used as a base class for all
	   Verilog::Netlist::* structures.

       Verilog::Parser
	   Verilog::Parser will tokenize a Verilog file and invoke various
	   callback methods.

       Verilog::Preproc
	   Verilog::Preproc reads Verilog files, and preprocesses them
	   according to the Verilog specification.  Programs can be easily
	   converted from reading a IO::File into reading preprocessed output
	   from Verilog::Preproc.

       Verilog::SigParse
	   Verilog::SigParser builds upon the Verilog::Parser package to
	   provide callbacks for when a signal is declared, a module
	   instantiated, or a module defined.

WHICH PARSER PACKAGE?
       If you are starting a new application which needs to parse the Verilog
       language you have several tools available to you.  Which you pick
       depends on how low level and complete the information you need is.

       VParseBison.y
	   The low level VParse* source files may be of use when you need a
	   starting point for your own a full C++ SystemVerilog grammar
	   parser, using Bison and Flex.  It understands the full
	   SystemVerilog 2009 grammar (1800-2009 Appendix A).

       Verilog::Preproc
	   Verilog::Preproc is useful when you need only text out, or a list
	   of defines, etc.  It can preprocess a file, or be used to provide
	   the Verilog macro language on top of synthesis scripts.  It
	   understands the full SystemVerilog 2009 preprocessor syntax.

       Verilog::Parser
	   Verilog::Parser is useful when you need to tokenize or write source
	   filters (where you need everything including whitespace).  It can
	   take raw files, or preprocessed input.  It understands all
	   SystemVerilog 2005 keywords.

       Abstract Syntax Tree
	   Verilog::Parser knows enough to make a complete Abstract Syntax
	   Tree (AST) of Verilog syntax, however this hasn't been implemented
	   yet.	 This would allow any arbitrary transformation of Verilog
	   syntax (everthing is known excluding whitespace).  If you'd find
	   this useful please contact the author.

       Verilog::SigParser
	   Verilog::SigParser is useful when you need a list of modules,
	   signals, ports, functions, etc.  It requires a preprocessed file,
	   and can parse all SystemVerilog 2005 files, but only provides
	   callbacks on certain interesting things.

       Verilog::Netlist
	   Verilog::Netlist is useful for when you need the hierarchy, and a
	   list of signals per module, pins per cell, etc.  It builds upon the
	   output of Verilog::SigParser, so requires preprocessed files.  It
	   parses all SystemVerilog 2005 files, but not all SystemVerilog
	   constructs are loaded into objects.

	   This is probably the most popular choice.

       VPI Using the VPI is the best way to access the behavior of the design.
	   It is not part of this package as it requires a compliant simulator
	   and C++ code to call the VPI, and understands as much of the
	   language as the simulator supports.	This allows writing lint
	   checks and full knowledge of all parts of the code, but generally
	   requires the most work (short of writing a parser from scratch.)

       Verilator
	   The Verilator program also contains a very similar front end as
	   Verilog-Perl.  It also understands how to elaborate and connect
	   complex pins and types.  If you're looking to add some lint like
	   checks against netlists, this may be a better starting point.

       Verilog-Mode for Emacs
	   Although not a parser, a common requested use of Verilog-Perl is to
	   automatically make shell modules and interconnect modules.
	   Verilog-Mode is a better solution to this problem, as it results in
	   completely portable code; the program (Verilog-Mode) isn't needed
	   for others to update the design.  It's also in very common usage,
	   including by many IP providers.

FAQ
       Why do I get "unexpected `do'" or "unexpected `bit'" errors?
	   Do, bit, ref, return, and other words are now SystemVerilog
	   keywords.  You should change your code to not use them to insure it
	   works with newer tools.  Alternatively, surround them by the
	   Verilog 2005/SystemVerilog begin_keywords pragma to indicate
	   Verilog 2001 code.

	      `begin_keywords "1364-2001"
		 integer bit; initial bit = 1;
	      `end_keywords

	   Alternatively use the --language (for vhier) or
	   Verilog::Language::language_standard call to specify "1364-2001",
	   or for really old code, "1364-1995".

	   But, again, you really should fix the Verilog code.

DISTRIBUTION
       Verilog-Perl is part of the <http://www.veripool.org/> free Verilog EDA
       software tool suite.  The latest version is available from CPAN and
       from http://www.veripool.org/verilog-perl
       <http://www.veripool.org/verilog-perl>.

       Copyright 2000-2012 by Wilson Snyder.  This package is free software;
       you can redistribute it and/or modify it under the terms of either the
       GNU Lesser General Public License Version 3 or the Perl Artistic
       License Version 2.0.

       This code is provided with no warranty of any kind, and is used
       entirely at your own risk.

AUTHORS
       Wilson Snyder <wsnyder@wsnyder.org>

SEE ALSO
       vhier, vpassert, vppreproc, vrename

       Verilog::EditFiles, Verilog::Getopt, Verilog::Language
       Verilog::Netlist, Verilog::Parser, Verilog::Preproc, Verilog::SigParser

       Verilog::Netlist::Cell, Verilog::Netlist::ContAssign,
       Verilog::Netlist::File, Verilog::Netlist::Interface,
       Verilog::Netlist::ModPort, Verilog::Netlist::Module,
       Verilog::Netlist::Net, Verilog::Netlist::Pin, Verilog::Netlist::Port,
       Verilog::Netlist::Subclass,

       And the http://www.veripool.org/verilog-mode
       <http://www.veripool.org/verilog-mode>Verilog-Mode package for Emacs.

perl v5.14.2			  2012-02-27		       Verilog-Perl(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net