From: Martin W. <ic...@ma...> - 2019-08-17 12:26:05
|
It shouldn't be hard to add support for those keywords in the SDF parser, but the syntax used for the PATHPULSEPERCENT delay specification in your example doesn't match what I find in the SDF 3.0 spec. The spec. says deltype ::= ... ||= ( PATHPULSEPERCENT input_output_path? value value? ) ... value ::= ( NUMBER? ) ||= (triple?) NUMBER is a single number. triple is three numbers separated by colons. So what does two numbers separated by a comma mean? Stefan Droege via Iverilog-devel wrote: > Hi everyone, > > I was trying to run a post-synthesis simulation using iverilog with a netlist generated by Xilinx Vivado. > > I ran into a problem that iverilog complains about the SDF file containing invalid syntax, as some of the keywords are not implemented in iverilogs sdf parser. The problematic constructs for my case are `PATHPULSEPERCENT` within the `DELAY` construct and `PERIOD` within the `TIMINGCHECK` construct. See the end of the email for a snippet of the sdf file. > > > > I checked the IEEE1497-2001 standard and the problematic constructs are valid as far as I can see (so no Xilinx specific weirdness here) > > > > I dont really need the functionality offered by these constructs, but it would be nice if iverilog could still accept the file as valid and simulate only with the supported subset, maybe printing a warning about what was ignored. > > > > The problematic sdf code: > > > > (DELAYFILE > > (SDFVERSION "3.0" ) > > (DESIGN "top") > > (DATE "Tue Aug 13 18:03:42 2019") > > (VENDOR "XILINX") > > (PROGRAM "Vivado") > > (VERSION "2019.1") > > (DIVIDER /) > > (TIMESCALE 1ps) > > (CELL > > (CELLTYPE "BUFGCE") > > (INSTANCE clk_IBUF_BUFG_inst) > > (DELAY > > (PATHPULSEPERCENT (30,0)) > > (ABSOLUTE > > (IOPATH I O (40.0:47.0:47.0) (40.0:47.0:47.0)) > > ) > > ) > > (TIMINGCHECK > > (SETUPHOLD (posedge CE) (posedge I) (84.0:275.0:275.0) (0.0:0.0:0.0)) > > (SETUPHOLD (negedge CE) (posedge I) (84.0:275.0:275.0) (0.0:0.0:0.0)) > > (PERIOD (posedge I) (1499.0:1499.0:1499.0)) > > (PERIOD (negedge I) (1499.0:1499.0:1499.0)) > > (WIDTH (negedge CE) (550.0:550.0:550.0)) > > (WIDTH (posedge CE) (550.0:550.0:550.0)) > > ) > > ) > > ) > > > > > > Kind Regards, Stefan > > > > > > > _______________________________________________ > Iverilog-devel mailing list > Ive...@li... > https://lists.sourceforge.net/lists/listinfo/iverilog-devel > |