Skip to content

Emap - Arrival Time Assertion Triggered #688

@cowardsa

Description

@cowardsa

Thanks for the great tool suite - really helpful in my research - hit this bug and wondered if anyone was still working on this.

Bug

if ( node_data.map_refs[0] )
assert( node_data.arrival[0] < node_data.required[0] + epsilon );
if ( node_data.map_refs[1] )
assert( node_data.arrival[1] < node_data.required[1] + epsilon );

emap assert failed at node 1232 phase 1: arrival=293.97 required=257.73

Assertion triggered when trying to perform technology mapping using the multioutput library provided in the experiments/cell_library -reproduction details below. Have hit this bug for lots of different designs, so not an isolated issue - but unable to reproduce it when looking at smaller designs i.e. 2-4 bit inputs.

Reproduction

Synthesized the following design:

module FmaSgn #(
    BW = 16
)
(
    input logic   signed [BW-1:0] a,
    input logic   signed [BW-1:0] b,
    input logic   signed [BW-1:0] c,
    output logic  signed [2*BW-1:0] res
);

assign res = a*b + c;   

endmodule

Using yosys command:
yosys -f verilog -p "read_verilog -sv <filename>; synth; aigmap; write_aiger <aig_file>"

Then fed to emap with multioutput library (ASAP7nm with 2 multi-output cells) and asserted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions