mirror of
https://github.com/verilator/verilator.git
synced 2025-04-25 10:06:54 +00:00
Add --bbox-unsup option to black-box unsupported UDP tables.
This commit is contained in:
parent
deda877355
commit
934dc842e0
2
Changes
2
Changes
@ -30,6 +30,8 @@ indicates the contributor was also the author of the fix; Thanks!
|
|||||||
|
|
||||||
**** Add Makefile VM_GLOBAL_FAST, listing objects needed to link executables.
|
**** Add Makefile VM_GLOBAL_FAST, listing objects needed to link executables.
|
||||||
|
|
||||||
|
**** Add --bbox-unsup option to black-box unsupported UDP tables.
|
||||||
|
|
||||||
**** Fix creating implicit variables for expressions, bug196. [Byron Bradley]
|
**** Fix creating implicit variables for expressions, bug196. [Byron Bradley]
|
||||||
|
|
||||||
**** Fix MinGW compilation, bug184. [by Shankar Giri]
|
**** Fix MinGW compilation, bug184. [by Shankar Giri]
|
||||||
|
@ -190,6 +190,7 @@ descriptions in the next sections for more information.
|
|||||||
--assert Enable all assertions
|
--assert Enable all assertions
|
||||||
--autoflush Flush streams after all $displays
|
--autoflush Flush streams after all $displays
|
||||||
--bbox-sys Blackbox unknown $system calls
|
--bbox-sys Blackbox unknown $system calls
|
||||||
|
--bbox-unsup Blackbox unsupported language features
|
||||||
--bin <filename> Override Verilator binary
|
--bin <filename> Override Verilator binary
|
||||||
--cc Create C++ output
|
--cc Create C++ output
|
||||||
--compiler <compiler-name> Tune for specified C++ compiler
|
--compiler <compiler-name> Tune for specified C++ compiler
|
||||||
@ -291,6 +292,11 @@ Arguments to such functions will be parsed, but not otherwise checked.
|
|||||||
This prevents errors when linting in the presence of company specific PLI
|
This prevents errors when linting in the presence of company specific PLI
|
||||||
calls.
|
calls.
|
||||||
|
|
||||||
|
=item --bbox-unsup
|
||||||
|
|
||||||
|
Black box some unsupported language features, currently UDP tables. This
|
||||||
|
may allow linting when unsupported constructs are present.
|
||||||
|
|
||||||
=item --bin I<filename>
|
=item --bin I<filename>
|
||||||
|
|
||||||
Rarely needed. Override the default filename for Verilator itself. When a
|
Rarely needed. Override the default filename for Verilator itself. When a
|
||||||
@ -463,8 +469,8 @@ appropriate `begin_keywords.
|
|||||||
|
|
||||||
Check the files for lint violations only, do not create any other output.
|
Check the files for lint violations only, do not create any other output.
|
||||||
|
|
||||||
If the design is not to be completely Verilated see also the --bbox-sys
|
If the design is not to be completely Verilated see also the --bbox-sys and
|
||||||
option.
|
--bbox-unsup options.
|
||||||
|
|
||||||
=item --MMD
|
=item --MMD
|
||||||
|
|
||||||
|
@ -336,8 +336,8 @@ private:
|
|||||||
|
|
||||||
virtual void visit(AstUdpTable* nodep, AstNUser*) {
|
virtual void visit(AstUdpTable* nodep, AstNUser*) {
|
||||||
UINFO(5,"UDPTABLE "<<nodep<<endl);
|
UINFO(5,"UDPTABLE "<<nodep<<endl);
|
||||||
if (!v3Global.opt.lintOnly()) {
|
if (!v3Global.opt.bboxUnsup()) {
|
||||||
nodep->v3error("Unsupported: Verilog 1995 UDP Tables");
|
nodep->v3error("Unsupported: Verilog 1995 UDP Tables. Use --bbox-unsup to ignore tables.");
|
||||||
} else {
|
} else {
|
||||||
// Massive hack, just tie off all outputs so our analysis can proceed
|
// Massive hack, just tie off all outputs so our analysis can proceed
|
||||||
AstVar* varoutp = NULL;
|
AstVar* varoutp = NULL;
|
||||||
|
@ -656,6 +656,7 @@ void V3Options::parseOptsList(FileLine* fl, int argc, char** argv) {
|
|||||||
else if ( onoff (sw, "-assert", flag/*ref*/) ) { m_assert = flag; m_psl = flag; }
|
else if ( onoff (sw, "-assert", flag/*ref*/) ) { m_assert = flag; m_psl = flag; }
|
||||||
else if ( onoff (sw, "-autoflush", flag/*ref*/) ) { m_autoflush = flag; }
|
else if ( onoff (sw, "-autoflush", flag/*ref*/) ) { m_autoflush = flag; }
|
||||||
else if ( onoff (sw, "-bbox-sys", flag/*ref*/) ) { m_bboxSys = flag; }
|
else if ( onoff (sw, "-bbox-sys", flag/*ref*/) ) { m_bboxSys = flag; }
|
||||||
|
else if ( onoff (sw, "-bbox-unsup", flag/*ref*/) ) { m_bboxUnsup = flag; }
|
||||||
else if ( !strcmp (sw, "-cc") ) { m_outFormatOk = true; m_systemC = false; m_systemPerl = false; }
|
else if ( !strcmp (sw, "-cc") ) { m_outFormatOk = true; m_systemC = false; m_systemPerl = false; }
|
||||||
else if ( onoff (sw, "-coverage", flag/*ref*/) ) { coverage(flag); }
|
else if ( onoff (sw, "-coverage", flag/*ref*/) ) { coverage(flag); }
|
||||||
else if ( onoff (sw, "-coverage-line", flag/*ref*/) ){ m_coverageLine = flag; }
|
else if ( onoff (sw, "-coverage-line", flag/*ref*/) ){ m_coverageLine = flag; }
|
||||||
|
@ -95,6 +95,7 @@ class V3Options {
|
|||||||
bool m_assert; // main switch: --assert
|
bool m_assert; // main switch: --assert
|
||||||
bool m_autoflush; // main switch: --autoflush
|
bool m_autoflush; // main switch: --autoflush
|
||||||
bool m_bboxSys; // main switch: --bbox-sys
|
bool m_bboxSys; // main switch: --bbox-sys
|
||||||
|
bool m_bboxUnsup; // main switch: --bbox-unsup
|
||||||
bool m_coverageLine; // main switch: --coverage-block
|
bool m_coverageLine; // main switch: --coverage-block
|
||||||
bool m_coverageToggle;// main switch: --coverage-toggle
|
bool m_coverageToggle;// main switch: --coverage-toggle
|
||||||
bool m_coverageUser; // main switch: --coverage-func
|
bool m_coverageUser; // main switch: --coverage-func
|
||||||
@ -206,6 +207,7 @@ class V3Options {
|
|||||||
bool assertOn() const { return m_assert; } // assertOn as __FILE__ may be defined
|
bool assertOn() const { return m_assert; } // assertOn as __FILE__ may be defined
|
||||||
bool autoflush() const { return m_autoflush; }
|
bool autoflush() const { return m_autoflush; }
|
||||||
bool bboxSys() const { return m_bboxSys; }
|
bool bboxSys() const { return m_bboxSys; }
|
||||||
|
bool bboxUnsup() const { return m_bboxUnsup; }
|
||||||
bool coverage() const { return m_coverageLine || m_coverageToggle || m_coverageUser; }
|
bool coverage() const { return m_coverageLine || m_coverageToggle || m_coverageUser; }
|
||||||
bool coverageLine() const { return m_coverageLine; }
|
bool coverageLine() const { return m_coverageLine; }
|
||||||
bool coverageToggle() const { return m_coverageToggle; }
|
bool coverageToggle() const { return m_coverageToggle; }
|
||||||
|
@ -13,7 +13,7 @@ compile (
|
|||||||
# Unsupported: UDP Tables
|
# Unsupported: UDP Tables
|
||||||
make_top_shell => 0,
|
make_top_shell => 0,
|
||||||
make_main => 0,
|
make_main => 0,
|
||||||
v_flags2 => ["--lint-only"],
|
v_flags2 => ["--lint-only --bbox-unsup"],
|
||||||
verilator_make_gcc => 0,
|
verilator_make_gcc => 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user