Improve SDF interconnect support, add -ginterconnect flag

This commit is contained in:
mole99
2023-08-23 12:56:11 +02:00
parent adb40e7572
commit 6d3e2bf344
20 changed files with 277 additions and 149 deletions
+8
View File
@@ -95,6 +95,14 @@ simulation, and in fact can hurt performance of the
simulation. However, disabling specify blocks reduces accuracy of
full-timing simulations.
.TP 8
.B -ginterconnect\fI|\fP-gno-interconnect
Enable or disable (default) SDF interconnect support. When enabled,
input and output buffers will be added to modules, so that VVP can
add interconnection delays. This option is commonly not needed for RTL
simulation, and in fact can hurt performance of the
simulation. However, disabling interconnection delays reduces accuracy of
full-timing simulations.
.TP 8
.B -gstd-include\fI|\fP-gno-std-include
Enable (default) or disable the search of a standard installation
include directory after all other explicit include directories. This
+9
View File
@@ -125,6 +125,7 @@ char depmode = 'a';
const char*generation = "2005";
const char*gen_specify = "no-specify";
const char*gen_interconnect = "no-interconnect";
const char*gen_assertions = "assertions";
const char*gen_xtypes = "xtypes";
const char*gen_icarus = "icarus-misc";
@@ -757,6 +758,12 @@ static int process_generation(const char*name)
else if (strcmp(name,"no-specify") == 0)
gen_specify = "no-specify";
else if (strcmp(name,"interconnect") == 0)
gen_interconnect = "interconnect";
else if (strcmp(name,"no-interconnect") == 0)
gen_interconnect = "no-interconnect";
else if (strcmp(name,"assertions") == 0)
gen_assertions = "assertions";
@@ -821,6 +828,7 @@ static int process_generation(const char*name)
"Other generation flags:\n"
" assertions | supported-assertions | no-assertions\n"
" specify | no-specify\n"
" interconnect | no-interconnect\n"
" verilog-ams | no-verilog-ams\n"
" std-include | no-std-include\n"
" relative-include | no-relative-include\n"
@@ -1368,6 +1376,7 @@ int main(int argc, char **argv)
if (mtm != 0) fprintf(iconfig_file, "-T:%s\n", mtm);
fprintf(iconfig_file, "generation:%s\n", generation);
fprintf(iconfig_file, "generation:%s\n", gen_specify);
fprintf(iconfig_file, "generation:%s\n", gen_interconnect);
fprintf(iconfig_file, "generation:%s\n", gen_assertions);
fprintf(iconfig_file, "generation:%s\n", gen_xtypes);
fprintf(iconfig_file, "generation:%s\n", gen_io_range_error);