Skip to content

[Crash] Assertion failure 'Gia_ObjLevel(p, pObj) > 0' in Gia_ManChoiceLevel during FPGA mapping #466

@zhihaoxu1325

Description

@zhihaoxu1325

Hi here, I encountered a reproducible crash (assertion failure) in ABC when running a specific sequence of synthesis and mapping commands (&if). The issue seems to be triggered by the interaction between dch (which introduces choices) and &if (which utilizes them).

Error Log:

abc: src/aig/gia/giaIf.c:836: Gia_ManChoiceLevel: Assertion `Gia_ObjLevel(p, pObj) > 0' failed.
Aborted (core dumped)

Steps to Reproduce

Load the attached design file: input.blif.

Run the following command sequence:

Bash

./abc -c "read_blif input.blif; strash; refactor; rewrite -z; dch -f; &get; &if -K 4; &put; refactor; print_stats"

Observation The crash occurs specifically during the &if -K 4 step (or immediately following it within the GIA manager operations).

It appears that Gia_ManChoiceLevel encounters a node (pObj) with an invalid level (likely 0) when processing choice nodes. This might be a state consistency issue resulting from the preceding dch -f command, which adds choice nodes to the network.

Environment

OS: Linux

ABC Version: Master branch (latest)

Attachments

input.blif.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions