bug while parsing sdf file for annotation

Dsim fail with the attached example, as follows:
dsim -top tb_test -sdf-verbose -timescale 1ns/1ps tb_test.sv
=N:[UsageMeter (2025-02-04 15:00:09 +0100)] usage server initial connection
=N:[License]
Licensed for Metrics Design Automation.
=N:[License] New lease granted.
Analyzing...
Elaborating...
Top-level modules:
$unit
tb_test
Found 6 unique specialization(s) of 6 design element(s).
=F:[SdfParseError]:
Parser errors encountered at the following locations:
netlist.sdf:16:19 expected 'IDENTIFIER' instead of 'e'
Altair DSim version: 20240923.5.0 (b:R #c:0 h:e17d082b08 os:ubuntu_22.04)
The error disappears if another name (different from 'e') is used for the port of the module test.
Answers
-
Hi Antonio,
`e` is being treated as a key word. In the SDF documentation, it shows up in the definition of a real number as the exponential (reference A.1.7 Fundamental lexical elements in "IEEE 1497 ™ Delay and power calculation standards –
Part 3: Standard Delay Format (SDF) for the electronic design process"):integer ::= decimal_digit { decimal_digit }
real_number ::=
integer
| integer [ . integer ]
| integer [ . integer ] e [ sign ] integerI'll file a bug report and keep you posted. Fow now, you already know the workaround of using another identifier besides `e`.
0