3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-13 04:28:18 +00:00

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 := gcc-debug
# CONFIG := release # CONFIG := release
# features (the more the better)
ENABLE_TCL := 1 ENABLE_TCL := 1
ENABLE_QT4 := 1 ENABLE_QT4 := 1
ENABLE_MINISAT := 1 ENABLE_MINISAT := 1
ENABLE_ABC := 1
# other configuration flags
ENABLE_GPROF := 0 ENABLE_GPROF := 0
DESTDIR := /usr/local DESTDIR := /usr/local
@ -61,6 +65,10 @@ ifeq ($(ENABLE_QT4),1)
TARGETS += yosys-svgviewer TARGETS += yosys-svgviewer
endif 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 += 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 OBJS += libs/bigint/BigIntegerAlgorithms.o libs/bigint/BigInteger.o libs/bigint/BigIntegerUtils.o
@ -107,6 +115,18 @@ endif
cd abc && $(MAKE) cd abc && $(MAKE)
cp abc/abc yosys-abc 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 test: yosys
cd tests/simple && bash run-test.sh cd tests/simple && bash run-test.sh
cd tests/hana && 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) mkdir -p $(DESTDIR)/share/yosys
$(INSTALL_SUDO) cp -r share/. $(DESTDIR)/share/yosys/. $(INSTALL_SUDO) cp -r share/. $(DESTDIR)/share/yosys/.
install-abc:
$(INSTALL_SUDO) install yosys-abc $(DESTDIR)/bin/
manual: manual:
cd manual && bash make.sh 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 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. "Workarounds for known build problems" at the end of this README file.
To also build and install ABC (recommended) use the following commands: Note that this also downloads, builds and installs ABC (using yosys-abc
as executeable name).
$ make abc
$ sudo make install-abc
Yosys can be used with the interactive command shell, with Yosys can be used with the interactive command shell, with
synthesis scripts or with command line arguments. Let's perform 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/abc.o
OBJS += passes/abc/vlparse.o OBJS += passes/abc/vlparse.o
OBJS += passes/abc/blifparse.o OBJS += passes/abc/blifparse.o
endif