Tighter integration of ABC build

This commit is contained in:
Clifford Wolf 2013-11-27 09:08:35 +01:00
parent bc3cc88719
commit 38e7fa6530
4 changed files with 35 additions and 7 deletions

11
CHANGELOG Normal file
View File

@ -0,0 +1,11 @@
List of incompatible changes and major milestones between releases
==================================================================
Yosys 0.1.0 .. Yoys 0.1.0+
--------------------------
- Tighter integration of ABC build with Yosys build. The make
targets 'make abc' and 'make install-abc' are now obsolete.

View File

@ -3,9 +3,13 @@ CONFIG := clang-debug
# CONFIG := gcc-debug
# CONFIG := release
# features (the more the better)
ENABLE_TCL := 1
ENABLE_QT4 := 1
ENABLE_MINISAT := 1
ENABLE_ABC := 1
# other configuration flags
ENABLE_GPROF := 0
DESTDIR := /usr/local
@ -61,6 +65,10 @@ ifeq ($(ENABLE_QT4),1)
TARGETS += yosys-svgviewer
endif
ifeq ($(ENABLE_ABC),1)
TARGETS += yosys-abc
endif
OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/calc.o
OBJS += libs/bigint/BigIntegerAlgorithms.o libs/bigint/BigInteger.o libs/bigint/BigIntegerUtils.o
@ -107,6 +115,18 @@ endif
cd abc && $(MAKE)
cp abc/abc yosys-abc
abc/abc-$(ABCREV):
if test "`cd abc && hg identify`" != "$(ABCREV)"; then \
test $(ABCPULL) -ne 0 || { echo; echo "!!! ABC not up to date and ABCPULL set to 0 in Makefile !!!"; echo; exit 1; }; \
test -d abc || hg clone https://bitbucket.org/alanmi/abc abc; \
cd abc && hg pull && hg update -r $(ABCREV); \
fi
cd abc && $(MAKE)
cp abc/abc abc/abc-$(ABCREV)
yosys-abc: abc/abc-$(ABCREV)
cp abc/abc-$(ABCREV) yosys-abc
test: yosys
cd tests/simple && bash run-test.sh
cd tests/hana && bash run-test.sh
@ -118,9 +138,6 @@ install: $(TARGETS) $(EXTRA_TARGETS)
$(INSTALL_SUDO) mkdir -p $(DESTDIR)/share/yosys
$(INSTALL_SUDO) cp -r share/. $(DESTDIR)/share/yosys/.
install-abc:
$(INSTALL_SUDO) install yosys-abc $(DESTDIR)/bin/
manual:
cd manual && bash make.sh

6
README
View File

@ -93,10 +93,8 @@ To build Yosys simply type 'make' in this directory.
If you encounter any problems during build, make sure to check the section
"Workarounds for known build problems" at the end of this README file.
To also build and install ABC (recommended) use the following commands:
$ make abc
$ sudo make install-abc
Note that this also downloads, builds and installs ABC (using yosys-abc
as executeable name).
Yosys can be used with the interactive command shell, with
synthesis scripts or with command line arguments. Let's perform

View File

@ -1,5 +1,7 @@
ifeq ($(ENABLE_ABC),1)
OBJS += passes/abc/abc.o
OBJS += passes/abc/vlparse.o
OBJS += passes/abc/blifparse.o
endif