You are on page 1of 3

alanmi / ABC Bitbucket

https://bitbucket.org/alanmi/abc

alanmi
ABC

Overview

ACTIONS

HTTPS

English

Sign up

Log in

https://bitbucket.org/alanmi/abc

Clone

Compare

Last updated
Branches

Fork

1
Tag

Website

11

NAVIGATION

LanguageForks

Overview

52
Watchers

Access level

Source

Unlimited private and


public hosted
repositories. Free for
small teams!
Sign up for free

Recent activity

Commits

1 commit

Branches

Pushed to alanmi/abc

Pull requests
Issues
Wiki
Downloads

33

ABC: System for Sequential


Logic Synthesis and Formal
Verification
ABC is always changing but the current snapshot is
believed to be stable.

67565dc Improving Wlc_Ntk_t data-structu

alanmi yesterday

1 commit
Pushed to alanmi/abc
1b9cba0 Do not add reset logic to un-initial

alanmi yesterday

Compiling:
To compile ABC as a binary, download and unzip the
code, then type make .
To compile ABC as a static library, comment out
#define ABC_LIB in file "src/base/main/main.c", then
type make libabc.a .
When ABC is used as a static library, two additional
procedures, Abc_Start() and Abc_Stop() , are
provided for starting and quitting the ABC framework in
the calling application. A simple demo program (file
src/demo.c) shows how to create a stand-alone
program performing DAG-aware AIG rewriting, by
calling APIs of ABC compiled as a static library.
To build the demo program

1 commit
Pushed to alanmi/abc
0530cd5 Clarifying 'cec' and 'dsec' usage

alanmi yesterday

1 commit
Pushed to alanmi/abc
c3493db Verilog benchmark generation co

alanmi 3 days ago

1 commit
Pushed to alanmi/abc
9e9df6d Improved bit-blasting of various o

alanmi 3 days ago

Copy demo.cc and libabc.a to the working


directory
Run gcc -Wall -g -c demo.c -o demo.o
Run gcc -g -o demo demo.o libabc.a -lm

1 commit

-ldl -rdynamic -lreadline -ltermcap

alanmi 4 days ago

-lpthread

To run the demo program, give it a file with the logic


network in AIGER or BLIF. For example:

Pushed to alanmi/abc
3f768fa Improved bit-blasting of adders a

1 commit
Pushed to alanmi/abc
31c9ac3 Print-out for char arrays.

[...] ~/abc> demo i10.aig


alanmi 5 days ago
i10
: i/o = 257/ 224 lat =
0 and =
2396 lev
i10
: i/o = 257/ 224 lat =
0 and =
1851 lev
1 commit
Networks are equivalent.
Pushed
Reading =
0.00 sec
Rewriting =
0.18 sec
Verification
= to alanmi/abc

The same can be produced by running the binary in


the command-line mode:

f5fffde Print-out for char arrays.

alanmi 5 days ago

[...] ~/abc> ./abc


1 commit
UC Berkeley, ABC 1.01 (compiled Oct 6 2012 19:05:18)
Pushed to alanmi/abc
abc 01> r i10.aig; b; ps; b; rw -l; rw -lz; b; rw -lz; b; ps; c
83586b2 Assertion fail after 'print_supp -w'.

1 of 3

Saturday 18 July 2015 03:25 PM

alanmi / ABC Bitbucket

https://bitbucket.org/alanmi/abc

alanmi
ABC

i10
: i/o = 257/
i10
: i/o = 257/
Networks are equivalent.

ACTIONS

224
224

lat =
lat =

and =
and =

[...] ~/abc> ./abc -c "r i10.aig; b;


ABC command line: "r i10.aig; b; ps;
i10
: i/o = 257/ 224 lat
i10
: i/o = 257/ 224 lat
Networks are equivalent.

Compare
Fork

Pushed to alanmi/abc
3aaa228 Compiler warning.
ps; b; rw -l; rw -lz; b; r
2015-07-12
b; rw -l; rw -lz; b;alanmi
rw -l
=
0 and
1 commit
=
0 and

Overview

Compiling as C or C++

Source

The current version of ABC can be compiled with C


compiler or C++ compiler.

Commits
Branches
Pull requests

Wiki
Downloads

Pushed to alanmi/abc
bf96d80 Adding new Python API 'is_func_

NAVIGATION

Issues

2396alanmi
lev 2015-07-12
1851 lev

1 commit

or in the batch mode:

Clone

0
0

33

alanmi 2015-07-12

To compile as C code (default): make sure that


CC=gcc and ABC_NAMESPACE is not defined.
To compile as C++ code without namespaces:
make sure that CC=g++ and ABC_NAMESPACE is
not defined.
To compile as C++ code with namespaces:
make sure that CC=g++ and ABC_NAMESPACE is
set to the name of the requested namespace.
For example, add -DABC_NAMESPACE=xxx to
OPTFLAGS.

Bug reporting:
Please try to reproduce all the reported bugs and
unexpected features using the latest version of ABC
available from https://bitbucket.org/alanmi/abc/
If the bug still persists, please provide the following
information:
1. ABC version (when it was downloaded from
BitBucket)
2. Linux distribution and version (32-bit or 64-bit)
3. The exact command-line and error message
when trying to run the tool
4. The output of the ldd command run on the
exeutable (e.g. ldd abc ).
5. Versions of relevant tools or packages used.

Troubleshooting:
1. If compilation does not start because of the
cyclic dependency check, try touching all files as
follows: find ./ -type f -exec touch "{}"
\;

2. If compilation fails because readline is missing,


install 'readline' library or compile with make
READLINE=0

3. If compilation fails because pthreads are


missing, install 'pthread' library or compile with
make PTHREADS=0

See http://sourceware.org/pthreadswin32/ for pthreads on Windows


Precompiled DLLs are available from
ftp://sourceware.org/pub/pthreadswin32/dll-latest
4. If compilation fails in file "src/base

2 of 3

Saturday 18 July 2015 03:25 PM

alanmi / ABC Bitbucket

https://bitbucket.org/alanmi/abc

alanmi
ABC

/main/libSupport.c", try the following:


Remove "src/base/main/libSupport.c"
from "src/base/main/module.make"
Comment out calls to Libs_Init() and
Libs_End() in "src/base/main/mainInit.c"
5. On some systems, readline requires adding
'-lcurses' to Makefile.

ACTIONS

Clone

Compare

The following comment was added by Krish


Sundaresan:

Fork
NAVIGATION

"I found that the code does compile correctly on Solaris


if gcc is used (instead of g++ that I was using for some
reason). Also readline which is not available by default
on most Sol10 systems, needs to be installed. I
downloaded the readline-5.2 package from
sunfreeware.com and installed it locally. Also modified
CFLAGS to add the local include files for readline and
LIBS to add the local libreadline.a. Perhaps you can
add these steps in the readme to help folks compiling
this on Solaris."

Overview
Source
Commits
Branches
Pull requests
Issues
Wiki
Downloads

33

The following tutorial is kindly offered by Ana


Petkovska from EPFL: https://www.dropbox.com
/s/qrl9svlf0ylxy8p/ABC_GettingStarted.pdf

Final remarks:
Unfortunately, there is no comprehensive regression
test. Good luck!
This system is maintained by Alan Mishchenko
alanmi@berkeley.edu. Consider also using ZZ
framework developed by Niklas Een:
https://bitbucket.org/niklaseen/abc-zz
This file was last modified on June 18, 2014

Blog

Support

Plans & pricing

Documentation

API

Site status

Version info

Terms of service

Privacy policy
JIRA

3 of 3

Confluence

Bamboo

Stash

SourceTree

HipChat

Saturday 18 July 2015 03:25 PM

You might also like