parent
2082f1aa9e
commit
a01a21db86
1
Changes
1
Changes
|
|
@ -45,6 +45,7 @@ Verilator 5.027 devel
|
||||||
* Fix elaborating foreach loops (#5285). [Arkadiusz Kozdra, Antmicro Ltd.]
|
* Fix elaborating foreach loops (#5285). [Arkadiusz Kozdra, Antmicro Ltd.]
|
||||||
* Fix initializing static array in dynamic arrays and queues (#5287). [Baruch Sterin]
|
* Fix initializing static array in dynamic arrays and queues (#5287). [Baruch Sterin]
|
||||||
* Fix randomizing current object with `rand` class instance member (#5292). [Krzysztof Bieganski, Antmicro Ltd.]
|
* Fix randomizing current object with `rand` class instance member (#5292). [Krzysztof Bieganski, Antmicro Ltd.]
|
||||||
|
* Fix Python3 path discovery in make flows to avoid mixing system and user python interpreters (#5307) [Markus Krause]
|
||||||
|
|
||||||
|
|
||||||
Verilator 5.026 2024-06-15
|
Verilator 5.026 2024-06-15
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,10 @@ class CMakeEmitter final {
|
||||||
|
|
||||||
*of << "\n### Constants...\n";
|
*of << "\n### Constants...\n";
|
||||||
cmake_set(*of, "PERL", V3OutFormatter::quoteNameControls(V3Options::getenvPERL()),
|
cmake_set(*of, "PERL", V3OutFormatter::quoteNameControls(V3Options::getenvPERL()),
|
||||||
"FILEPATH", "Perl executable (from $PERL)");
|
"FILEPATH", "Perl executable (from $PERL, defaults to 'perl' if not set)");
|
||||||
|
cmake_set(*of, "PYTHON3", V3OutFormatter::quoteNameControls(V3Options::getenvPYTHON3()),
|
||||||
|
"FILEPATH",
|
||||||
|
"Python3 executable (from $PYTHON3, defaults to 'python3' if not set)");
|
||||||
cmake_set(*of, "VERILATOR_ROOT",
|
cmake_set(*of, "VERILATOR_ROOT",
|
||||||
V3OutFormatter::quoteNameControls(V3Options::getenvVERILATOR_ROOT()), "PATH",
|
V3OutFormatter::quoteNameControls(V3Options::getenvVERILATOR_ROOT()), "PATH",
|
||||||
"Path to Verilator kit (from $VERILATOR_ROOT)");
|
"Path to Verilator kit (from $VERILATOR_ROOT)");
|
||||||
|
|
|
||||||
|
|
@ -151,8 +151,11 @@ public:
|
||||||
of.puts("default: lib" + v3Global.opt.prefix() + "\n");
|
of.puts("default: lib" + v3Global.opt.prefix() + "\n");
|
||||||
}
|
}
|
||||||
of.puts("\n### Constants...\n");
|
of.puts("\n### Constants...\n");
|
||||||
of.puts("# Perl executable (from $PERL)\n");
|
of.puts("# Perl executable (from $PERL, defaults to 'perl' if not set)\n");
|
||||||
of.puts("PERL = " + V3OutFormatter::quoteNameControls(V3Options::getenvPERL()) + "\n");
|
of.puts("PERL = " + V3OutFormatter::quoteNameControls(V3Options::getenvPERL()) + "\n");
|
||||||
|
of.puts("# Python3 executable (from $PYTHON3, defaults to 'python3' if not set)\n");
|
||||||
|
of.puts("PYTHON3 = " + V3OutFormatter::quoteNameControls(V3Options::getenvPYTHON3())
|
||||||
|
+ "\n");
|
||||||
of.puts("# Path to Verilator kit (from $VERILATOR_ROOT)\n");
|
of.puts("# Path to Verilator kit (from $VERILATOR_ROOT)\n");
|
||||||
of.puts("VERILATOR_ROOT = "
|
of.puts("VERILATOR_ROOT = "
|
||||||
+ V3OutFormatter::quoteNameControls(V3Options::getenvVERILATOR_ROOT()) + "\n");
|
+ V3OutFormatter::quoteNameControls(V3Options::getenvVERILATOR_ROOT()) + "\n");
|
||||||
|
|
|
||||||
|
|
@ -637,6 +637,8 @@ string V3Options::getenvBuiltins(const string& var) {
|
||||||
return getenvMAKE();
|
return getenvMAKE();
|
||||||
} else if (var == "PERL") {
|
} else if (var == "PERL") {
|
||||||
return getenvPERL();
|
return getenvPERL();
|
||||||
|
} else if (var == "PYTHON3") {
|
||||||
|
return getenvPYTHON3();
|
||||||
} else if (var == "SYSTEMC") {
|
} else if (var == "SYSTEMC") {
|
||||||
return getenvSYSTEMC();
|
return getenvSYSTEMC();
|
||||||
} else if (var == "SYSTEMC_ARCH") {
|
} else if (var == "SYSTEMC_ARCH") {
|
||||||
|
|
@ -666,6 +668,10 @@ string V3Options::getenvPERL() { //
|
||||||
return V3Os::filenameCleanup(V3Os::getenvStr("PERL", "perl"));
|
return V3Os::filenameCleanup(V3Os::getenvStr("PERL", "perl"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string V3Options::getenvPYTHON3() { //
|
||||||
|
return V3Os::filenameCleanup(V3Os::getenvStr("PYTHON3", "python3"));
|
||||||
|
}
|
||||||
|
|
||||||
string V3Options::getenvSYSTEMC() {
|
string V3Options::getenvSYSTEMC() {
|
||||||
string var = V3Os::getenvStr("SYSTEMC", "");
|
string var = V3Os::getenvStr("SYSTEMC", "");
|
||||||
// Treat compiled-in DEFENV string literals as C-strings to enable
|
// Treat compiled-in DEFENV string literals as C-strings to enable
|
||||||
|
|
@ -1955,6 +1961,7 @@ void V3Options::showVersion(bool verbose) {
|
||||||
cout << "Environment:\n";
|
cout << "Environment:\n";
|
||||||
cout << " MAKE = " << V3Os::getenvStr("MAKE", "") << "\n";
|
cout << " MAKE = " << V3Os::getenvStr("MAKE", "") << "\n";
|
||||||
cout << " PERL = " << V3Os::getenvStr("PERL", "") << "\n";
|
cout << " PERL = " << V3Os::getenvStr("PERL", "") << "\n";
|
||||||
|
cout << " PYTHON3 = " << V3Os::getenvStr("PYTHON3", "") << "\n";
|
||||||
cout << " SYSTEMC = " << V3Os::getenvStr("SYSTEMC", "") << "\n";
|
cout << " SYSTEMC = " << V3Os::getenvStr("SYSTEMC", "") << "\n";
|
||||||
cout << " SYSTEMC_ARCH = " << V3Os::getenvStr("SYSTEMC_ARCH", "") << "\n";
|
cout << " SYSTEMC_ARCH = " << V3Os::getenvStr("SYSTEMC_ARCH", "") << "\n";
|
||||||
cout << " SYSTEMC_INCLUDE = " << V3Os::getenvStr("SYSTEMC_INCLUDE", "") << "\n";
|
cout << " SYSTEMC_INCLUDE = " << V3Os::getenvStr("SYSTEMC_INCLUDE", "") << "\n";
|
||||||
|
|
|
||||||
|
|
@ -720,6 +720,7 @@ public:
|
||||||
static string getenvMAKE();
|
static string getenvMAKE();
|
||||||
static string getenvMAKEFLAGS();
|
static string getenvMAKEFLAGS();
|
||||||
static string getenvPERL();
|
static string getenvPERL();
|
||||||
|
static string getenvPYTHON3();
|
||||||
static string getenvSYSTEMC();
|
static string getenvSYSTEMC();
|
||||||
static string getenvSYSTEMC_ARCH();
|
static string getenvSYSTEMC_ARCH();
|
||||||
static string getenvSYSTEMC_INCLUDE();
|
static string getenvSYSTEMC_INCLUDE();
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ run(
|
||||||
verilator_run => 1,
|
verilator_run => 1,
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach my $var (qw(MAKE PERL SYSTEMC SYSTEMC_ARCH SYSTEMC_LIBDIR VERILATOR_ROOT)) {
|
foreach my $var (qw(MAKE PERL PYTHON3 SYSTEMC SYSTEMC_ARCH SYSTEMC_LIBDIR VERILATOR_ROOT)) {
|
||||||
run(
|
run(
|
||||||
cmd => ["$ENV{VERILATOR_ROOT}/bin/verilator --getenv ${var}"],
|
cmd => ["$ENV{VERILATOR_ROOT}/bin/verilator --getenv ${var}"],
|
||||||
logfile => "$Self->{obj_dir}/simx.log",
|
logfile => "$Self->{obj_dir}/simx.log",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue