summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-06-08 23:48:19 +0200
committerClifford Wolf <clifford@clifford.at>2013-06-08 23:48:19 +0200
commit6c8a424872ff2925c4c87fce6d9a9c9fc74a0800 (patch)
treef61b2ab8c2f28b1c5c2b0535cd81937d7d5c2988
parent5a592b37398b5cc441471019c56a28e8a6cac680 (diff)
Added "make abc" and "make install-abc"
-rw-r--r--.gitignore2
-rw-r--r--Makefile10
-rw-r--r--README5
-rw-r--r--passes/abc/abc.cc7
4 files changed, 20 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 191b9599..0ea495e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,9 @@ qtcreator.config
qtcreator.creator
qtcreator.creator.user
Makefile.conf
+abc
yosys
+yosys-abc
yosys-config
yosys-filterlib
yosys-svgviewer
diff --git a/Makefile b/Makefile
index 79220486..a84a787d 100644
--- a/Makefile
+++ b/Makefile
@@ -83,6 +83,11 @@ yosys-svgviewer: libs/svgviewer/*.h libs/svgviewer/*.cpp
cd libs/svgviewer && qmake-qt4 && make
cp libs/svgviewer/svgviewer yosys-svgviewer
+abc:
+ test -d abc || hg clone https://bitbucket.org/alanmi/abc abc
+ cd abc && hg pull && make
+ cp abc/abc yosys-abc
+
test: yosys
cd tests/simple && bash run-test.sh
cd tests/hana && bash run-test.sh
@@ -91,6 +96,9 @@ test: yosys
install: $(TARGETS)
install $(TARGETS) /usr/local/bin/
+install-abc:
+ install yosys-abc /usr/local/bin/
+
clean:
rm -f $(OBJS) $(GENFILES) $(TARGETS)
rm -f libs/*/*.d frontends/*/*.d passes/*/*.d backends/*/*.d kernel/*.d
@@ -128,6 +136,6 @@ config-gprof: clean
-include backends/*/*.d
-include kernel/*.d
-.PHONY: all top-all test clean mrproper qtcreator
+.PHONY: all top-all abc test install install-abc clean mrproper qtcreator
.PHONY: config-clean config-clang-debug config-gcc-debug config-release
diff --git a/README b/README
index a4a21863..699b83ba 100644
--- a/README
+++ b/README
@@ -63,6 +63,11 @@ To build Yosys simply type 'make' in this directory.
$ make test
$ sudo make install
+To also build and install ABC (recommended) use the following commands:
+
+ $ make abc
+ $ sudo make install-abc
+
Yosys can be used with the interactive command shell, with
synthesis scripts or with command line arguments. Let's perform
a simple synthesis job using the interactive command shell:
diff --git a/passes/abc/abc.cc b/passes/abc/abc.cc
index 9a13a446..3c670014 100644
--- a/passes/abc/abc.cc
+++ b/passes/abc/abc.cc
@@ -630,6 +630,7 @@ struct AbcPass : public Pass {
AbcPass() : Pass("abc", "use ABC for technology mapping") { }
virtual void help()
{
+ // |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
log("\n");
log(" abc [options] [selection]\n");
log("\n");
@@ -637,8 +638,8 @@ struct AbcPass : public Pass {
log("library to a target architecture.\n");
log("\n");
log(" -exe <command>\n");
- log(" use the specified command name instead of \"abc\" to execute ABC. This\n");
- log(" can e.g. be used to call a specific version of ABC or a wrapper script.\n");
+ log(" use the specified command name instead of \"yosys-abc\" to execute ABC.\n");
+ log(" This can e.g. be used to call a specific version of ABC or a wrapper.\n");
log("\n");
log(" -script <file>\n");
log(" use the specified ABC script file instead of the default script.\n");
@@ -664,7 +665,7 @@ struct AbcPass : public Pass {
log_header("Executing ABC pass (technology mapping using ABC).\n");
log_push();
- std::string exe_file = "abc";
+ std::string exe_file = "yosys-abc";
std::string script_file, liberty_file;
bool cleanup = true;