Added "make abc" and "make install-abc"

This commit is contained in:
Clifford Wolf 2013-06-08 23:48:19 +02:00
parent 5a592b3739
commit 6c8a424872
4 changed files with 20 additions and 4 deletions

2
.gitignore vendored
View File

@ -9,7 +9,9 @@ qtcreator.config
qtcreator.creator
qtcreator.creator.user
Makefile.conf
abc
yosys
yosys-abc
yosys-config
yosys-filterlib
yosys-svgviewer

View File

@ -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

5
README
View File

@ -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:

View File

@ -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;