Add divider to header output

This commit is contained in:
mole99 2023-03-08 20:51:44 +01:00
parent cca7d15cc4
commit fd9f0b3c75
2 changed files with 22 additions and 12 deletions

View File

@ -4,7 +4,8 @@ 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:9:SDF INFO: Voltage : 5.000000
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
ivltests/sdf_header.sdf:11:SDF INFO: Temperature: 25.000000
ivltests/sdf_header.sdf:12:SDF INFO: Timescale: 1ps

View File

@ -155,9 +155,18 @@ program_version
;
hierarchy_divider
: '(' K_DIVIDER '.' ')' { sdf_use_hchar = '.'; }
| '(' K_DIVIDER '/' ')' { sdf_use_hchar = '/'; }
| '(' K_DIVIDER HCHAR ')' { /* sdf_use_hchar no-change */; }
: '(' 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);
}
| '(' 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);
}
| '(' 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);
}
;
voltage
@ -166,11 +175,11 @@ voltage
if (! $3.defined) {
vpi_printf("%s:%d: SDF ERROR: 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("%s:%d:SDF INFO: 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("%s:%d:SDF INFO: Voltage: %f\n",
sdf_parse_path, @2.first_line, $3);
}
;
@ -189,23 +198,23 @@ temperature
if (! $3.defined) {
vpi_printf("%s:%d: SDF ERROR: 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("%s:%d:SDF INFO: 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("%s:%d:SDF INFO: 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("%s:%d:SDF INFO: 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("%s:%d:SDF INFO: Timescale: %lu%s\n",
sdf_parse_path, @2.first_line, $3, $4);
free($4);
}