| commit | 8031c94f4eeffa1cf5ed82fe595a90f54b07f523 | [log] [tgz] |
|---|---|---|
| author | Alain <alainmarcel@yahoo.com> | Sat Nov 23 12:25:59 2019 -0800 |
| committer | Alain <alainmarcel@yahoo.com> | Sat Nov 23 12:26:09 2019 -0800 |
| tree | d5a76661600c359c4c2a2ecdba835c15d394e158 | |
| parent | df2b552061f5f4c6cea30676c70367495ebb8487 [diff] |
Guard for misuse of python API, fix example that had a misuse, add -DNO_TCMALLOC in case of tcmalloc issue Signed-off-by: Alain <alainmarcel@yahoo.com>
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.
INSTALLmake 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.