CIRCT 21.0.0git
|
Options that control how Verilog input files are parsed and processed. More...
#include <ImportVerilog.h>
Public Types | |
enum class | Mode { OnlyLint , OnlyParse , Full } |
Limit importing to linting or parsing only. More... | |
Public Attributes | |
Mode | mode = Mode::Full |
bool | debugInfo = false |
Generate debug information in the form of debug dialect ops in the IR. | |
bool | lowerAlwaysAtStarAsComb = true |
Interpret always @(*) as always_comb . | |
std::vector< std::string > | includeDirs |
A list of include directories in which to search for files. | |
std::vector< std::string > | includeSystemDirs |
A list of system include directories in which to search for files. | |
std::vector< std::string > | libDirs |
A list of library directories in which to search for missing modules. | |
std::vector< std::string > | libExts |
A list of extensions that will be used to search for library files. | |
std::vector< std::string > | excludeExts |
A list of extensions that will be used to exclude files. | |
std::vector< std::string > | ignoreDirectives |
A list of preprocessor directives to be ignored. | |
std::optional< uint32_t > | maxIncludeDepth |
The maximum depth of included files before an error is issued. | |
std::vector< std::string > | defines |
A list of macros that should be defined in each compilation unit. | |
std::vector< std::string > | undefines |
A list of macros that should be undefined in each compilation unit. | |
std::optional< bool > | librariesInheritMacros |
If true, library files will inherit macro definitions from primary source files. | |
std::optional< std::string > | timeScale |
A string that indicates the default time scale to use for any design elements that don't specify one explicitly. | |
std::optional< bool > | allowUseBeforeDeclare |
If true, allow various to be referenced before they are declared. | |
std::optional< bool > | ignoreUnknownModules |
If true, ignore errors about unknown modules. | |
std::vector< std::string > | topModules |
If non-empty, specifies the list of modules that should serve as the top modules in the design. | |
std::vector< std::string > | paramOverrides |
A list of top-level module parameters to override, of the form <name>=<value> . | |
std::optional< uint32_t > | errorLimit |
The maximum number of errors to print before giving up. | |
std::vector< std::string > | warningOptions |
A list of warning options that will be passed to the DiagnosticEngine. | |
std::vector< std::string > | suppressWarningsPaths |
A list of paths in which to suppress warnings. | |
std::optional< bool > | singleUnit |
If set to true, all source files will be treated as part of a single compilation unit, meaning all of their text will be merged together. | |
std::vector< std::string > | libraryFiles |
A list of library files to include in the compilation. | |
Options that control how Verilog input files are parsed and processed.
See slang::driver::Driver::Options
for inspiration. Also check out Driver::addStandardArgs()
for some inspiration on how to expose these on the command line.
Definition at line 38 of file ImportVerilog.h.
|
strong |
Limit importing to linting or parsing only.
Definition at line 40 of file ImportVerilog.h.
std::optional<bool> circt::ImportVerilogOptions::allowUseBeforeDeclare |
If true, allow various to be referenced before they are declared.
Definition at line 104 of file ImportVerilog.h.
bool circt::ImportVerilogOptions::debugInfo = false |
Generate debug information in the form of debug dialect ops in the IR.
Definition at line 51 of file ImportVerilog.h.
Referenced by circt::registerFromVerilogTranslation().
std::vector<std::string> circt::ImportVerilogOptions::defines |
A list of macros that should be defined in each compilation unit.
Definition at line 86 of file ImportVerilog.h.
std::optional<uint32_t> circt::ImportVerilogOptions::errorLimit |
The maximum number of errors to print before giving up.
Definition at line 123 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::excludeExts |
A list of extensions that will be used to exclude files.
Definition at line 73 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::ignoreDirectives |
A list of preprocessor directives to be ignored.
Definition at line 76 of file ImportVerilog.h.
std::optional<bool> circt::ImportVerilogOptions::ignoreUnknownModules |
If true, ignore errors about unknown modules.
Definition at line 107 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::includeDirs |
A list of include directories in which to search for files.
Definition at line 61 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::includeSystemDirs |
A list of system include directories in which to search for files.
Definition at line 64 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::libDirs |
A list of library directories in which to search for missing modules.
Definition at line 67 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::libExts |
A list of extensions that will be used to search for library files.
Definition at line 70 of file ImportVerilog.h.
std::optional<bool> circt::ImportVerilogOptions::librariesInheritMacros |
If true, library files will inherit macro definitions from primary source files.
Definition at line 93 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::libraryFiles |
A list of library files to include in the compilation.
Definition at line 140 of file ImportVerilog.h.
bool circt::ImportVerilogOptions::lowerAlwaysAtStarAsComb = true |
Interpret always @(*)
as always_comb
.
Definition at line 54 of file ImportVerilog.h.
std::optional<uint32_t> circt::ImportVerilogOptions::maxIncludeDepth |
The maximum depth of included files before an error is issued.
Definition at line 83 of file ImportVerilog.h.
Mode circt::ImportVerilogOptions::mode = Mode::Full |
Definition at line 48 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::paramOverrides |
A list of top-level module parameters to override, of the form <name>=<value>
.
Definition at line 116 of file ImportVerilog.h.
std::optional<bool> circt::ImportVerilogOptions::singleUnit |
If set to true, all source files will be treated as part of a single compilation unit, meaning all of their text will be merged together.
Definition at line 137 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::suppressWarningsPaths |
A list of paths in which to suppress warnings.
Definition at line 129 of file ImportVerilog.h.
std::optional<std::string> circt::ImportVerilogOptions::timeScale |
A string that indicates the default time scale to use for any design elements that don't specify one explicitly.
Definition at line 101 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::topModules |
If non-empty, specifies the list of modules that should serve as the top modules in the design.
If empty, this will be automatically determined based on which modules are unreferenced elsewhere.
Definition at line 112 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::undefines |
A list of macros that should be undefined in each compilation unit.
Definition at line 89 of file ImportVerilog.h.
std::vector<std::string> circt::ImportVerilogOptions::warningOptions |
A list of warning options that will be passed to the DiagnosticEngine.
Definition at line 126 of file ImportVerilog.h.