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

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
qtcreator.creator.user qtcreator.creator.user
Makefile.conf Makefile.conf
abc
yosys yosys
yosys-abc
yosys-config yosys-config
yosys-filterlib yosys-filterlib
yosys-svgviewer yosys-svgviewer

View file

@ -83,6 +83,11 @@ yosys-svgviewer: libs/svgviewer/*.h libs/svgviewer/*.cpp
cd libs/svgviewer && qmake-qt4 && make cd libs/svgviewer && qmake-qt4 && make
cp libs/svgviewer/svgviewer yosys-svgviewer 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 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
@ -91,6 +96,9 @@ test: yosys
install: $(TARGETS) install: $(TARGETS)
install $(TARGETS) /usr/local/bin/ install $(TARGETS) /usr/local/bin/
install-abc:
install yosys-abc /usr/local/bin/
clean: clean:
rm -f $(OBJS) $(GENFILES) $(TARGETS) rm -f $(OBJS) $(GENFILES) $(TARGETS)
rm -f libs/*/*.d frontends/*/*.d passes/*/*.d backends/*/*.d kernel/*.d rm -f libs/*/*.d frontends/*/*.d passes/*/*.d backends/*/*.d kernel/*.d
@ -128,6 +136,6 @@ config-gprof: clean
-include backends/*/*.d -include backends/*/*.d
-include kernel/*.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 .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 $ make test
$ sudo make install $ 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 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
a simple synthesis job using the interactive command shell: 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") { } AbcPass() : Pass("abc", "use ABC for technology mapping") { }
virtual void help() virtual void help()
{ {
// |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
log("\n"); log("\n");
log(" abc [options] [selection]\n"); log(" abc [options] [selection]\n");
log("\n"); log("\n");
@ -637,8 +638,8 @@ struct AbcPass : public Pass {
log("library to a target architecture.\n"); log("library to a target architecture.\n");
log("\n"); log("\n");
log(" -exe <command>\n"); log(" -exe <command>\n");
log(" use the specified command name instead of \"abc\" to execute ABC. This\n"); log(" use the specified command name instead of \"yosys-abc\" to execute ABC.\n");
log(" can e.g. be used to call a specific version of ABC or a wrapper script.\n"); log(" This can e.g. be used to call a specific version of ABC or a wrapper.\n");
log("\n"); log("\n");
log(" -script <file>\n"); log(" -script <file>\n");
log(" use the specified ABC script file instead of the default script.\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_header("Executing ABC pass (technology mapping using ABC).\n");
log_push(); log_push();
std::string exe_file = "abc"; std::string exe_file = "yosys-abc";
std::string script_file, liberty_file; std::string script_file, liberty_file;
bool cleanup = true; bool cleanup = true;