Merge pull request #908 from mole99/sdf-info

Move `SDF INFO`,  `SDF WARNING`, `SDF ERROR` to start of line
This commit is contained in:
Cary R 2023-06-04 21:13:22 -07:00 committed by GitHub
commit c74048a526
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 41 deletions

View File

@ -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

View File

@ -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);
}
}