commit | b9e90e54023fde74b1ec145b121172ab612f491c | [log] [tgz] |
---|---|---|
author | Alain Dargelas <5085492+alainmarcel@users.noreply.github.com> | Sat Nov 23 13:30:29 2019 -0800 |
committer | GitHub <noreply@github.com> | Sat Nov 23 13:30:29 2019 -0800 |
tree | 8a8c9abdd22a7cd36a95ac7baab1df9502dd9b5f | |
parent | 65fd78c13d99b2458421a51929e88a01303f44a1 [diff] | |
parent | e86112fb27627e0397d6b846c2bd077b3eda8a9c [diff] |
Merge pull request #110 from alainmarcel/alainmarcel-patch-1 Guard for misuse of python API, fix example that had a misuse, add -DNO_TCMALLOC in case of tcmalloc issues
System Verilog 2017 Pre-processor, Parser
This project aims at providing a complete System Verilog 2017 front-end: a preprocessor, a parser, an elaborator for both design and testbench.
Linter, Simulator, Synthesis tool, Formal tools can use this front-end. They either can be developed as plugins (linked with) or use this front-end as an intermediate step of their compilation flows using the on-disk serialized models.
This project is open to contributions from any users! From the commercial vendor to the Verilog enthousiast, all are welcome.
INSTALL
make make install (/usr/local/bin and /usr/local/lib/surelog by default, use DESTDIR= for alternative locations)
For more build/test options and system requirements for building see src/README
file.
The executable is located here (If not installed in:
STANDARD VERILOG COMMAND LINE:
FLOWS OPTIONS:
TRACES OPTIONS:
OUTPUT OPTIONS:
RETURN CODE
The file slformatmsg.py
illustrates how messages can be reformated.
The file src/API/slSV3_1aPythonListener.py
illustrates how a listener can be created to listen to the Parser AST.
A simple example of creating a new error message and generating errors can be found here: python_listener.py
The complete Python API is described in the following files: SLAPI.h
vobjecttypes
Waivers can be installed in slwaivers.py files in the execution directory or install directory /usr/local/lib/surelog/python
src/README
file.