Skip to content

Segmentation fault while processing blif #472

@Vadimatorik

Description

@Vadimatorik

Hi, this is my first time using this app. My goal is to create the most optimized seven-segment display decoder circuit possible (I've already simplified it on paper and want to make sure there's no more efficient solution). However, I've encountered a problem. The app crashes with a segmentation fault. The incident report is below.

System: Ubuntu 24.04.3 LTS

Actions for install:

apt install libreadline-dev
git clone https://github.com/berkeley-abc/abc.git
cd abc
make -j

Test file:

.model seg_7
.inputs X3 X2 X1 X0
.outputs G F E D C B A
.exdc
.names X3 X2 X1 X0
1010 -
1011 -
1100 -
1101 -
1110 -
1111 -
.end
.names X3 X2 X1 X0 A
0000 1
0010 1
0011 1
0101 1
0110 1
0111 1
1000 1
1001 1
.names X3 X2 X1 X0 B
0000 1
0001 1
0010 1
0011 1
0100 1
0111 1
1000 1
1001 1
.names X3 X2 X1 X0 C
0000 1
0001 1
0011 1
0100 1
0101 1
0110 1
0111 1
1000 1
1001 1
.names X3 X2 X1 X0 D
0000 1
0010 1
0011 1
0101 1
0110 1
1000 1
1001 1
.names X3 X2 X1 X0 E
0000 1
0010 1
0110 1
1000 1
.names X3 X2 X1 X0 F
0000 1
0100 1
0101 1
0110 1
1000 1
1001 1
.names X3 X2 X1 X0 G
0010 1
0011 1
0100 1
0101 1
0110 1
1000 1
1001 1
.end

I tried to simply generate statistics and a verlog file:

./abc/abc  -c "read_blif seg_7.blif; write_verilog seg_7_optimized.v; print_stats"
======== ABC command line "read_blif seg_7.blif; write_verilog seg_7_optimized.v; print_stats"
Warning: The design contains EXDC network.
Segmentation fault (core dumped)

If I delete this section, everything works:

.exdc
.names X3 X2 X1 X0
1010 -
1011 -
1100 -
1101 -
1110 -
1111 -
.end

Run:

./abc/abc  -c "read_blif seg_7.blif; write_verilog seg_7_optimized.v; print_stats"
======== ABC command line "read_blif seg_7.blif; write_verilog seg_7_optimized.v; print_stats"
seg_7                         : i/o =    4/    7  lat =    0  nd =     7  edge =     28  cube =    49  lev = 1

I want to point out that I'm only interested in the input range from 0 to 9. I don't need the range from 10 to 15 inclusive. Such values ​​will never be returned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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