diff --git a/ivtest/gold/sdf_header-iverilog-stderr.gold b/ivtest/gold/sdf_header-iverilog-stderr.gold deleted file mode 100644 index e69de29bb..000000000 diff --git a/ivtest/gold/sdf_header-iverilog-stdout.gold b/ivtest/gold/sdf_header-iverilog-stdout.gold deleted file mode 100644 index e69de29bb..000000000 diff --git a/ivtest/gold/sdf_header-vvp-stderr.gold b/ivtest/gold/sdf_header-vvp-stderr.gold deleted file mode 100644 index e69de29bb..000000000 diff --git a/ivtest/gold/sdf_header-vvp-stdout.gold b/ivtest/gold/sdf_header-vvp-stdout.gold index 0b6de0b8e..fc0185ed4 100644 --- a/ivtest/gold/sdf_header-vvp-stdout.gold +++ b/ivtest/gold/sdf_header-vvp-stdout.gold @@ -1,11 +1,11 @@ -ivltests/sdf_header.sdf:2:SDF INFO: Version: 3.0 -ivltests/sdf_header.sdf:3:SDF INFO: Design: test -ivltests/sdf_header.sdf:4:SDF INFO: Date: Wed Mar 8 12:34:56 2023 -ivltests/sdf_header.sdf:5:SDF INFO: Vendor: No Vendor -ivltests/sdf_header.sdf:6:SDF INFO: Program: Human -ivltests/sdf_header.sdf:7:SDF INFO: Program Version: 1.0.0 -ivltests/sdf_header.sdf:8:SDF INFO: Divider: "/" -ivltests/sdf_header.sdf:9:SDF INFO: Voltage: 5.000000 -ivltests/sdf_header.sdf:10:SDF INFO: Process: best=0.65:nom=1.0:worst=1.8 -ivltests/sdf_header.sdf:11:SDF INFO: Temperature: 25.000000 -ivltests/sdf_header.sdf:12:SDF INFO: Timescale: 1ps +SDF INFO: ivltests/sdf_header.sdf:2: Version: 3.0 +SDF INFO: ivltests/sdf_header.sdf:3: Design: test +SDF INFO: ivltests/sdf_header.sdf:4: Date: Wed Mar 8 12:34:56 2023 +SDF INFO: ivltests/sdf_header.sdf:5: Vendor: No Vendor +SDF INFO: ivltests/sdf_header.sdf:6: Program: Human +SDF INFO: ivltests/sdf_header.sdf:7: Program Version: 1.0.0 +SDF INFO: ivltests/sdf_header.sdf:8: Divider: "/" +SDF INFO: ivltests/sdf_header.sdf:9: Voltage: 5.000000 +SDF INFO: ivltests/sdf_header.sdf:10: Process: best=0.65:nom=1.0:worst=1.8 +SDF INFO: ivltests/sdf_header.sdf:11: Temperature: 25.000000 +SDF INFO: ivltests/sdf_header.sdf:12: Timescale: 1ps diff --git a/vpi/sdf_parse.y b/vpi/sdf_parse.y index 50d4935d2..dc1e1947a 100644 --- a/vpi/sdf_parse.y +++ b/vpi/sdf_parse.y @@ -108,7 +108,7 @@ sdf_header_item sdfversion : '(' K_SDFVERSION QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Version: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Version: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -116,7 +116,7 @@ sdfversion design_name : '(' K_DESIGN QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Design: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Design: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -124,7 +124,7 @@ design_name date : '(' K_DATE QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Date: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Date: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -132,7 +132,7 @@ date vendor : '(' K_VENDOR QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Vendor: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Vendor: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -140,7 +140,7 @@ vendor program_name : '(' K_PROGRAM QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Program: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Program: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -148,7 +148,7 @@ program_name program_version : '(' K_VERSION QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Program Version: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Program Version: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -157,15 +157,15 @@ program_version hierarchy_divider : '(' K_DIVIDER '.' ')' { sdf_use_hchar = '.'; - if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Divider: \"%c\"\n", sdf_parse_path, @1.first_line, sdf_use_hchar); + if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Divider: \"%c\"\n", sdf_parse_path, @1.first_line, sdf_use_hchar); } | '(' K_DIVIDER '/' ')' { sdf_use_hchar = '/'; - if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Divider: \"%c\"\n", sdf_parse_path, @1.first_line, sdf_use_hchar); + if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Divider: \"%c\"\n", sdf_parse_path, @1.first_line, sdf_use_hchar); } | '(' K_DIVIDER HCHAR ')' { /* sdf_use_hchar no-change */ - if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Divider: \"%c\"\n", sdf_parse_path, @1.first_line, sdf_use_hchar); + if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Divider: \"%c\"\n", sdf_parse_path, @1.first_line, sdf_use_hchar); } ; @@ -173,20 +173,20 @@ voltage : '(' K_VOLTAGE rtriple ')' { /* The value must be defined. */ if (! $3.defined) { - vpi_printf("%s:%d: SDF ERROR: Chosen value not defined.\n", sdf_parse_path, @1.first_line); + vpi_printf("SDF ERROR: %s:%d: Chosen value not defined.\n", sdf_parse_path, @1.first_line); } - else if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Voltage: %f\n", + else if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Voltage: %f\n", sdf_parse_path, @2.first_line, $3.value); } | '(' K_VOLTAGE signed_real_number ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Voltage: %f\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Voltage: %f\n", sdf_parse_path, @2.first_line, $3); } ; process : '(' K_PROCESS QSTRING ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Process: %s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Process: %s\n", sdf_parse_path, @2.first_line, $3); free($3); } @@ -196,25 +196,25 @@ temperature : '(' K_TEMPERATURE rtriple ')' { /* The value must be defined. */ if (! $3.defined) { - vpi_printf("%s:%d: SDF ERROR: Chosen value not defined.\n", sdf_parse_path, @1.first_line); + vpi_printf("SDF ERROR: %s:%d: Chosen value not defined.\n", sdf_parse_path, @1.first_line); } - else if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Temperature: %f\n", + else if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Temperature: %f\n", sdf_parse_path, @2.first_line, $3.value); } | '(' K_TEMPERATURE signed_real_number ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Temperature: %f\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Temperature: %f\n", sdf_parse_path, @2.first_line, $3); } ; time_scale : '(' K_TIMESCALE REAL_NUMBER IDENTIFIER ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Timescale: %f%s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Timescale: %f%s\n", sdf_parse_path, @2.first_line, $3, $4); free($4); } | '(' K_TIMESCALE INTEGER IDENTIFIER ')' - { if (sdf_flag_inform) vpi_printf("%s:%d:SDF INFO: Timescale: %lu%s\n", + { if (sdf_flag_inform) vpi_printf("SDF INFO: %s:%d: Timescale: %lu%s\n", sdf_parse_path, @2.first_line, $3, $4); free($4); } @@ -283,7 +283,7 @@ deltype | '(' K_ABSOLUTE del_def_list ')' | '(' K_INCREMENT del_def_list ')' | '(' error ')' - { vpi_printf("%s:%d: SDF ERROR: Invalid/malformed delay type\n", + { vpi_printf("SDF ERROR: %s:%d: Invalid/malformed delay type\n", sdf_parse_path, @1.first_line); } ; @@ -299,11 +299,11 @@ del_def free($4); } | '(' K_IOPATH error ')' - { vpi_printf("%s:%d: SDF ERROR: Invalid/malformed IOPATH\n", + { vpi_printf("SDF ERROR: %s:%d: Invalid/malformed IOPATH\n", sdf_parse_path, @2.first_line); } | '(' K_COND conditional_port_expr '(' K_IOPATH port_spec port_instance delval_list ')' ')' - { if (sdf_flag_warning) vpi_printf("%s:%d: SDF WARNING: " + { if (sdf_flag_warning) vpi_printf("SDF WARNING: %s:%d: " "COND not supported.\n", sdf_parse_path, @2.first_line); free($6.string_val); @@ -311,7 +311,7 @@ del_def } | '(' K_COND QSTRING conditional_port_expr '(' K_IOPATH port_spec port_instance delval_list ')' ')' - { if (sdf_flag_warning) vpi_printf("%s:%d: SDF WARNING: " + { if (sdf_flag_warning) vpi_printf("SDF WARNING: %s:%d: " "COND not supported.\n", sdf_parse_path, @2.first_line); free($3); @@ -319,28 +319,28 @@ del_def free($8); } | '(' K_COND error ')' - { vpi_printf("%s:%d: SDF ERROR: Invalid/malformed COND\n", + { vpi_printf("SDF ERROR: %s:%d: Invalid/malformed COND\n", sdf_parse_path, @2.first_line); } | '(' K_CONDELSE '(' K_IOPATH port_spec port_instance delval_list ')' ')' - { if (sdf_flag_warning) vpi_printf("%s:%d: SDF WARNING: " + { if (sdf_flag_warning) vpi_printf("SDF WARNING: %s:%d: " "CONDELSE not supported.\n", sdf_parse_path, @2.first_line); free($5.string_val); free($6); } | '(' K_CONDELSE error ')' - { vpi_printf("%s:%d: SDF ERROR: Invalid/malformed CONDELSE\n", + { vpi_printf("SDF ERROR: %s:%d: Invalid/malformed CONDELSE\n", sdf_parse_path, @2.first_line); } /* | '(' K_INTERCONNECT port_instance port_instance delval_list ')' */ | '(' K_INTERCONNECT port_interconnect port_interconnect delval_list ')' - { if (sdf_flag_warning) vpi_printf("%s:%d: SDF WARNING: " + { if (sdf_flag_warning) vpi_printf("SDF WARNING: %s:%d: " "INTERCONNECT not supported.\n", sdf_parse_path, @2.first_line); free($3); free($4); } | '(' K_INTERCONNECT error ')' - { vpi_printf("%s:%d: SDF ERROR: Invalid/malformed INTERCONNECT\n", + { vpi_printf("SDF ERROR: %s:%d: Invalid/malformed INTERCONNECT\n", sdf_parse_path, @2.first_line); } ; @@ -500,12 +500,12 @@ delval { $$ = $1; } | '(' rvalue rvalue ')' { $$ = $2; - vpi_printf("%s:%d: SDF WARNING: Pulse rejection limits ignored\n", + vpi_printf("SDF WARNING: %s:%d: Pulse rejection limits ignored\n", sdf_parse_path, @3.first_line); } | '(' rvalue rvalue rvalue ')' { $$ = $2; - vpi_printf("%s:%d: SDF WARNING: Pulse rejection limits ignored\n", + vpi_printf("SDF WARNING: %s:%d: Pulse rejection limits ignored\n", sdf_parse_path, @3.first_line); } ; @@ -557,7 +557,7 @@ rtriple } /* At least one of the values must be defined. */ if (! ($1.defined || $3.defined || $5.defined)) { - vpi_printf("%s:%d: SDF ERROR: rtriple must have at least one " + vpi_printf("SDF ERROR: %s:%d: rtriple must have at least one " "defined value.\n", sdf_parse_path, @1.first_line); } }