diff options
author | Ruben Undheim <ruben.undheim@gmail.com> | 2018-07-27 20:57:41 +0200 |
---|---|---|
committer | Ruben Undheim <ruben.undheim@gmail.com> | 2018-07-27 20:57:41 +0200 |
commit | bdbb17a19d971c9e411c70909079aae9250e0e56 (patch) | |
tree | 7899215e5e3e4b2b19c489a8f1ec63cb811d05d1 |
Import yosys_0.7-5.debian.tar.xz
[dgit import tarball yosys 0.7-5 yosys_0.7-5.debian.tar.xz]
37 files changed, 1466 insertions, 0 deletions
diff --git a/changelog b/changelog new file mode 100644 index 00000000..334d7903 --- /dev/null +++ b/changelog @@ -0,0 +1,211 @@ +yosys (0.7-5) unstable; urgency=medium + + * debian/patches/0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch + - Fix "ModuleNotFoundError: No module named 'smtio'" (Closes: #904752) + * debian/tests/smtbc: + - Added CI test to check that 'yosys-smtbmc' can be started with no + import errors + + -- Ruben Undheim <ruben.undheim@gmail.com> Fri, 27 Jul 2018 20:57:41 +0200 + +yosys (0.7-4) unstable; urgency=medium + + * d/patches/0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch + - Another attempt of getting full reproducibility of PDF documents + in yosys-doc + + -- Ruben Undheim <ruben.undheim@gmail.com> Sat, 14 Jul 2018 23:47:09 +0200 + +yosys (0.7-3) unstable; urgency=low + + * debian/copyright: + - Use https protocol in Format field + * debian/control: + - Added dh-python as build-dependency (Closes: #896802) + - Changed VCS URLs to Salsa + - Mark 'yosys-doc' Multi-Arch: foreign + - Remove 'Testsuite: autopkgtest' since it is now handled automatically + - Updated Standards Version to 4.1.5 - requires reproducibility + * debian/patches: + - 0007-Disable-pretty-build.patch: New patch to disable pretty build + (Closes: #847110) + - 0008-Set-fixed-date-when-calling-pdflatex-for-presentatio.patch + Improve reproducibility + - 0009-Some-spelling-errors-fixed.patch: Fixed some spelling errors + detected by lintian + * debian/rules: + - Pass down changelog date to pdflatex + - Upstream source has moved to https://github.com/YosysHQ/yosys + - Use /usr/share/dpkg/pkg-info.mk instead of separate calls to + dpkg-parsechangelog + * debian/watch: + - Fix watch URL - now github.com/YosysHQ/yosys/releases + + -- Ruben Undheim <ruben.undheim@gmail.com> Thu, 12 Jul 2018 17:27:53 +0200 + +yosys (0.7-2) unstable; urgency=medium + + * debian/control: + - Moved berkeley-abc from Build-Depends-Indep to Build-Depends in order + to fix dependency problem during test. + + -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 06 Nov 2016 14:40:47 +0000 + +yosys (0.7-1) unstable; urgency=medium + + * New upstream release + * Refreshed patches. Some patches applied upstream and deleted. + * Updated man page for yosys + * Simplified debian/*.install files + * debian/patches/03_notruntests.patch deleted + - Tests can now be run during build since an updated version + of iverilog is in the archive + * debian/control: + - Depend on a newer version of berkeley-abc + - Build-depend on iverilog >= 10.1 + + -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 06 Nov 2016 11:28:06 +0100 + +yosys (0.6-7) unstable; urgency=medium + + [ Ruben Undheim ] + * Use gbp-pq for patches. + * debian/control: + - Removed dependency on GCC 5 which was added in 0.6-6. (Closes: #835953) + It causes problems now since GCC 6 is default. + + [Sebastian Kuzminsky] + * debian/patches/switch-to-free-font.patch: Switch manual tt font + from libertine to inconsolata. The yosys manual doesn't render with + libertine on sid, but it renders nicely with inconsolata. (Closes: #835678) + + -- Ruben Undheim <ruben.undheim@gmail.com> Thu, 22 Sep 2016 19:30:37 +0200 + +yosys (0.6-6) unstable; urgency=medium + + * Added versioned build-dependency on gcc-5 (>= 5.3.1-15) since it + now fails to build with older versions due to the fix for #822408. + (Closes: #823809) + * Updated Standards to 3.9.8 - no changes + + -- Ruben Undheim <ruben.undheim@gmail.com> Wed, 11 May 2016 22:20:00 +0200 + +yosys (0.6-5) unstable; urgency=medium + + [ Sebastian Kuzminsky ] + * debian/patches/fixup-initalization.patch: + - Add a bugfix patch from upstream's development branch. + + [ Ruben Undheim ] + * debian/patches/fix_ftbfs_cannot_find_infinite.patch: + - Fixes FTBFS due to std::isfinite not found. (Closes: #822408) + * Move PDFs in yosys-doc to /usr/share/doc/yosys in order to adhere to + Debian Policy 12.3. + * Refreshed patches + + -- Ruben Undheim <ruben.undheim@gmail.com> Tue, 03 May 2016 21:56:53 +0200 + +yosys (0.6-4) unstable; urgency=medium + + * debian/rules: + - Override dh_auto_build-arch instead of dh_auto_build to resolve + build issue for "all" package. + + -- Ruben Undheim <ruben.undheim@gmail.com> Sat, 09 Apr 2016 16:38:20 +0200 + +yosys (0.6-3) unstable; urgency=medium + + [ Sebastian Kuzminsky ] + * debian/patches/kfreebsd-support.patch: + - Fix a build problem on kFreeBSD. Use __unix__ instead of __linux__ + + [ Ruben Undheim ] + * debian/control: + - Define Build-Depends-Indep dependencies + * debian/rules: + - Override dh_auto_build-indep instead for building documentation. + + -- Ruben Undheim <ruben.undheim@gmail.com> Sat, 09 Apr 2016 14:29:32 +0200 + +yosys (0.6-2) unstable; urgency=medium + + * split the package into yosys, yosys-dev, and yosys-doc + - yosys is the tool itself + - yosys-dev is development files for building plugins + - yosys-doc is the manual (in pdf format) + * debian/rules: + - fail the build if upstream installs files that aren't picked up + by any of the debs + + -- Sebastian Kuzminsky <seb@highlab.com> Wed, 23 Mar 2016 18:46:51 -0600 + +yosys (0.6-1) unstable; urgency=medium + + * Uploaded to unstable. + * New upstream release: 0.6 (5869d26) + - 01_gitrevision.patch: refresh + - spelling-fixes.patch: fix upstream spelling mistakes + * debian/rules: + - don't run make as part of dh_auto_configure, it'll get run by + dh_auto_build later + - enable parallel build + - handle the new python dependencies of yosys-smtbmc + * debian/control: + - add Sebastian Kuzminsky to Uploaders + * add a manpage for the new yosys-smtbmc executable + + -- Sebastian Kuzminsky <seb@highlab.com> Sun, 28 Feb 2016 10:48:44 -0700 + +yosys (0.5.0+20151013gitf13e387-2~exp1) experimental; urgency=low + + * Added autopkg test for synthesis for iCE FPGA. + * Updated standards to 3.9.7 - no needed changes + + -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 21 Feb 2016 12:21:37 +0100 + +yosys (0.5.0+20151013gitf13e387-1) unstable; urgency=low + + * Uploaded to unstable + - New features in yosys are needed for the Icestorm tool chain + * New upstream version + - Drop patches 04_installpath.patch and 06_cflags_ldflags.patch + - Set PREFIX in d/rules + * debian/control: Fixed Vcs-Git to use https + + -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 07 Feb 2016 11:59:04 +0100 + +yosys (0.5.0+20151007gitba4cce9-1) experimental; urgency=low + + * New upstream version + - Refreshed patches + * debian/control: Added "python3" as build-dependency + + -- Ruben Undheim <ruben.undheim@gmail.com> Sat, 10 Oct 2015 09:21:17 +0200 + +yosys (0.5.0-1) unstable; urgency=low + + * New upstream release + * Added d/watch + * Updated copyright years in d/copyright + * Changed dependency from tcl8.5-dev to tcl-dev + * Added d/gbp.conf + * Added link from /usr/bin/yosys-abc to /usr/bin/berkeley-abc + - Also added man page for yosys-abc + * Fixed paths returned by yosys-config + - fix included in 04_installpath.patch + + -- Ruben Undheim <ruben.undheim@gmail.com> Mon, 09 Feb 2015 20:37:38 +0100 + +yosys (0.4.0-1) unstable; urgency=medium + + * New upstream release + * Few fixes in d/copyright + * Removed some strictly not needed dependencies + + -- Ruben Undheim <ruben.undheim@gmail.com> Wed, 12 Nov 2014 18:35:59 +0100 + +yosys (0.3.0+20140906git652345c-1) unstable; urgency=low + + * Initial release (Closes: #761365) + + -- Ruben Undheim <ruben.undheim@gmail.com> Thu, 16 Oct 2014 22:02:03 +0200 @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 00000000..e18ca98a --- /dev/null +++ b/control @@ -0,0 +1,85 @@ +Source: yosys +Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org> +Uploaders: Ruben Undheim <ruben.undheim@gmail.com>, + Sebastian Kuzminsky <seb@highlab.com> +Section: electronics +Priority: optional +Build-Depends: debhelper (>= 9), + dh-python, + tcl-dev, + libreadline-dev, + bison, + flex, + gawk, + libffi-dev, + pkg-config, + txt2man, + iverilog (>= 10.1), + python3, + berkeley-abc (>= 1.01+20161002hgeb6eca6+dfsg) +Build-Depends-Indep: + texlive-base, + texlive-generic-recommended, + texlive-fonts-recommended, + texlive-fonts-extra, + texlive-latex-base, + texlive-latex-extra, + texlive-font-utils, + texlive-science, + texlive-publishers, + texlive-bibtex-extra, + lmodern, + graphviz +Standards-Version: 4.1.5 +Vcs-Browser: https://salsa.debian.org/science-team/yosys +Vcs-Git: https://salsa.debian.org/science-team/yosys.git +Homepage: http://www.clifford.at/yosys + +Package: yosys +Architecture: any +Depends: ${shlibs:Depends}, + ${python3:Depends}, + ${misc:Depends}, + berkeley-abc (>= 1.01+20161002hgeb6eca6+dfsg), + xdot +Description: Framework for Verilog RTL synthesis + This is a framework for Verilog RTL synthesis. It currently has extensive + Verilog-2005 support and provides a basic set of synthesis algorithms for + various application domains. + . + Yosys can be adapted to perform any synthesis job by combining the existing + passes (algorithms) using synthesis scripts and adding additional passes as + needed by extending the yosys C++ code base. + +Package: yosys-dev +Architecture: any +Depends: ${shlibs:Depends}, + ${python3:Depends}, + ${misc:Depends} +Description: Framework for Verilog RTL synthesis (development files) + Yosys is a framework for Verilog RTL synthesis. It currently has extensive + Verilog-2005 support and provides a basic set of synthesis algorithms for + various application domains. + . + Yosys can be adapted to perform any synthesis job by combining the existing + passes (algorithms) using synthesis scripts and adding additional passes as + needed by extending the yosys C++ code base. + . + This package contains the headers and programs needed to build yosys plugins. + +Package: yosys-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Multi-Arch: foreign +Suggests: yosys +Description: Documentation for Yosys + Yosys is a framework for Verilog RTL synthesis. It currently has extensive + Verilog-2005 support and provides a basic set of synthesis algorithms for + various application domains. + . + Yosys can be adapted to perform any synthesis job by combining the existing + passes (algorithms) using synthesis scripts and adding additional passes as + needed by extending the yosys C++ code base. + . + This package contains the manual. diff --git a/copyright b/copyright new file mode 100644 index 00000000..99a7fc13 --- /dev/null +++ b/copyright @@ -0,0 +1,136 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: yosys +Source: http://www.clifford.at/yosys/ + +Files: * +Copyright: 2012-2016 Clifford Wolf <clifford@clifford.at> +License: ISC + +Files: backends/btor/btor.cc +Copyright: 2012 Clifford Wolf <clifford@clifford.at> + 2014 Ahmed Irfan <irfan@fbk.eu> +License: ISC + +Files: passes/cmds/tee.cc passes/tests/test_cell.cc passes/cmds/logcmd.cc + passes/cmds/write_file.cc passes/cmds/trace.cc + passes/tests/test_abcloop.cc +Copyright: 2012-2014 Clifford Wolf <clifford@clifford.at> + 2014 Johann Glaser <Johann.Glaser@gmx.at> +License: ISC + +Files: libs/minisat/* +Copyright: 2003-2006, Niklas Een, Niklas Sorensson + 2006-2012 Niklas Sorensson +License: MIT + +Files: libs/sha1/* +Copyright: Steve Reid <steve@edmweb.com> + Bruce Guenter <bruce@untroubled.org> + Volker Grabsch <vog@notjusthosting.com> +License: Public-Domain + These files are in the public domain. + +Files: manual/CHAPTER_StateOfTheArt/simlib_hana.v + tests/hana/hana_vlib.v +Copyright: 2009-2010 Parvez Ahmad <parvez_ahmad@yahoo.co.uk> +License: GPL-3+ + +Files: passes/fsm/fsm_export.cc +Copyright: 2012 Clifford Wolf <clifford@clifford.at> + 2012 Martin Schmölzer <martin@schmoelzer.at> +License: ISC + +Files: tests/memories/amber23_sram_byte_en.v +Copyright: 2010 Conor Santifort <csantifort.amber@gmail.com> + 2010 OPENCORES.ORG +License: LGPL-2.1+ + +Files: debian/* +Copyright: 2014-2015 Ruben Undheim <ruben.undheim@gmail.com> +License: GPL-2+ + + +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/> + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 + og the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301, USA. + . + On Debian Systems, the full text of the license can be found on + /usr/share/common-licenses/LGPL-2.1 + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. @@ -0,0 +1 @@ +README diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 00000000..cec628c7 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +pristine-tar = True diff --git a/man/genmanpages.sh b/man/genmanpages.sh new file mode 100755 index 00000000..8c6f6e71 --- /dev/null +++ b/man/genmanpages.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +txt2man -d "${CHANGELOG_DATE}" -t YOSYS-SMTBMC -s 1 yosys-smtbmc.txt > yosys-smtbmc.1 diff --git a/man/yosys-smtbmc.txt b/man/yosys-smtbmc.txt new file mode 100644 index 00000000..3f2df5fc --- /dev/null +++ b/man/yosys-smtbmc.txt @@ -0,0 +1,44 @@ +NAME + yosys-smtbmc - write design to SMT2-LIBv2 file + +SYNOPSIS + yosys-smtbmc [options] <yosys_smt2_output> + +OPTIONS + + -t [<skip_steps>:]<num_steps> + default: skip_steps=0, num_steps=20 + + -u <start_step> + assume asserts in skipped steps in BMC + + -S <step_size> + proof <step_size> time steps at once + + -c <vcd_filename> + write counter-example to this VCD file (hint: use 'write_smt2 + -wires' for maximum coverage of signals in generated VCD file) + + -i + instead of BMC run temporal induction + + -m <module_name> + name of the top module + + -s <solver> + Set SMT solver: z3, cvc4, yices, mathsat. default: z3 + + -v + enable debug output + + -p + disable timer display during solving + + -d <filename> + write smt2 statements to file + + +AUTHOR + + This manual page was written by Sebastian Kuzminsky <seb@highlab.com> + for the Debian project (and may be used by others). diff --git a/patches/0007-Disable-pretty-build.patch b/patches/0007-Disable-pretty-build.patch new file mode 100644 index 00000000..7c16ac9e --- /dev/null +++ b/patches/0007-Disable-pretty-build.patch @@ -0,0 +1,21 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Wed, 5 Apr 2017 09:31:37 +0000 +Subject: Disable pretty build + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f26a6e0..8979641 100644 +--- a/Makefile ++++ b/Makefile +@@ -41,7 +41,7 @@ EXTRA_OBJS = + EXTRA_TARGETS = + TARGETS = yosys$(EXE) yosys-config + +-PRETTY = 1 ++PRETTY = 0 + SMALL = 0 + + all: top-all diff --git a/patches/0009-Some-spelling-errors-fixed.patch b/patches/0009-Some-spelling-errors-fixed.patch new file mode 100644 index 00000000..d99a2f65 --- /dev/null +++ b/patches/0009-Some-spelling-errors-fixed.patch @@ -0,0 +1,77 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Thu, 12 Jul 2018 13:41:39 +0200 +Subject: Some spelling errors fixed + +--- + backends/verilog/verilog_backend.cc | 2 +- + frontends/liberty/liberty.cc | 2 +- + manual/CHAPTER_Overview.tex | 2 +- + manual/command-reference-manual.tex | 2 +- + passes/cmds/show.cc | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/backends/verilog/verilog_backend.cc b/backends/verilog/verilog_backend.cc +index a617215..6f03f25 100644 +--- a/backends/verilog/verilog_backend.cc ++++ b/backends/verilog/verilog_backend.cc +@@ -1253,7 +1253,7 @@ void dump_module(std::ostream &f, std::string indent, RTLIL::Module *module) + active_module = module; + + if (!module->processes.empty()) +- log_warning("Module %s contains unmapped RTLIL proccesses. RTLIL processes\n" ++ log_warning("Module %s contains unmapped RTLIL processes. RTLIL processes\n" + "can't always be mapped directly to Verilog always blocks. Unintended\n" + "changes in simulation behavior are possible! Use \"proc\" to convert\n" + "processes to logic networks and registers.", log_id(module)); +diff --git a/frontends/liberty/liberty.cc b/frontends/liberty/liberty.cc +index 4666c81..c130a57 100644 +--- a/frontends/liberty/liberty.cc ++++ b/frontends/liberty/liberty.cc +@@ -575,7 +575,7 @@ struct LibertyFrontend : public Frontend { + LibertyAst *bus_type_node = node->find("bus_type"); + + if (!bus_type_node || !type_map.count(bus_type_node->value)) +- log_error("Unkown or unsupported type for bus interface %s on cell %s.\n", ++ log_error("Unknown or unsupported type for bus interface %s on cell %s.\n", + node->args.at(0).c_str(), log_id(cell_name)); + + int bus_type_width = std::get<0>(type_map.at(bus_type_node->value)); +diff --git a/manual/CHAPTER_Overview.tex b/manual/CHAPTER_Overview.tex +index 964875d..ae5cf09 100644 +--- a/manual/CHAPTER_Overview.tex ++++ b/manual/CHAPTER_Overview.tex +@@ -240,7 +240,7 @@ An RTLIL::Wire object has the following properties: + As with modules, the attributes can be Verilog attributes imported by the + Verilog frontend or attributes assigned by passes. + +-In Yosys, busses (signal vectors) are represented using a single wire object ++In Yosys, buses (signal vectors) are represented using a single wire object + with a width > 1. So Yosys does not convert signal vectors to individual signals. + This makes some aspects of RTLIL more complex but enables Yosys to be used for + coarse grain synthesis where the cells of the target architecture operate on +diff --git a/manual/command-reference-manual.tex b/manual/command-reference-manual.tex +index 8af8ccd..3452ccb 100644 +--- a/manual/command-reference-manual.tex ++++ b/manual/command-reference-manual.tex +@@ -2859,7 +2859,7 @@ to a graphics file (usually SVG or PostScript). + assigned to each unique value of this attribute. + + -width +- annotate busses with a label indicating the width of the bus. ++ annotate buses with a label indicating the width of the bus. + + -signed + mark ports (A, B) that are declared as signed (using the [AB]_SIGNED +diff --git a/passes/cmds/show.cc b/passes/cmds/show.cc +index 3a3939a..9170ad8 100644 +--- a/passes/cmds/show.cc ++++ b/passes/cmds/show.cc +@@ -618,7 +618,7 @@ struct ShowPass : public Pass { + log(" assigned to each unique value of this attribute.\n"); + log("\n"); + log(" -width\n"); +- log(" annotate busses with a label indicating the width of the bus.\n"); ++ log(" annotate buses with a label indicating the width of the bus.\n"); + log("\n"); + log(" -signed\n"); + log(" mark ports (A, B) that are declared as signed (using the [AB]_SIGNED\n"); diff --git a/patches/0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch b/patches/0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch new file mode 100644 index 00000000..9ffefdbc --- /dev/null +++ b/patches/0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch @@ -0,0 +1,21 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Fri, 27 Jul 2018 18:46:13 +0000 +Subject: Fix adding of sys.path in yosys-smtbmc + +--- + backends/smt2/Makefile.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/backends/smt2/Makefile.inc b/backends/smt2/Makefile.inc +index eacda27..f98e610 100644 +--- a/backends/smt2/Makefile.inc ++++ b/backends/smt2/Makefile.inc +@@ -6,7 +6,7 @@ ifneq ($(CONFIG),emcc) + TARGETS += yosys-smtbmc + + yosys-smtbmc: backends/smt2/smtbmc.py +- $(P) sed 's|##yosys-sys-path##|sys.path += [os.path.dirname(__file__) + p for p in ["/share/python3", "/../share/yosys/python3"]]|;' < $< > $@.new ++ $(P) sed 's|##yosys-sys-path##|sys.path += ["/usr/share/yosys"]|;' < $< > $@.new + $(Q) chmod +x $@.new + $(Q) mv $@.new $@ + diff --git a/patches/0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch b/patches/0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch new file mode 100644 index 00000000..87082429 --- /dev/null +++ b/patches/0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch @@ -0,0 +1,133 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Thu, 12 Jul 2018 10:41:21 +0000 +Subject: Fix reproducibility of PDF documents in yosys-doc + +--- + Makefile | 6 +++--- + manual/appnotes.sh | 5 ++++- + manual/manual.sh | 6 ++++-- + manual/presentation.sh | 11 +++++++++-- + manual/presentation.tex | 1 + + 5 files changed, 21 insertions(+), 8 deletions(-) + +diff --git a/Makefile b/Makefile +index 8979641..aa66a54 100644 +--- a/Makefile ++++ b/Makefile +@@ -463,9 +463,9 @@ update-manual: $(TARGETS) $(EXTRA_TARGETS) + cd manual && ../yosys -p 'help -write-tex-command-reference-manual' + + manual: $(TARGETS) $(EXTRA_TARGETS) +- cd manual && bash appnotes.sh +- cd manual && bash presentation.sh +- cd manual && bash manual.sh ++ cd manual && PDF_DATE=$(PDF_DATE) bash appnotes.sh ++ cd manual && PDF_DATE=$(PDF_DATE) bash presentation.sh ++ cd manual && PDF_DATE=$(PDF_DATE) bash manual.sh + + clean: + rm -rf share +diff --git a/manual/appnotes.sh b/manual/appnotes.sh +index 0ae5286..798d9d3 100755 +--- a/manual/appnotes.sh ++++ b/manual/appnotes.sh +@@ -7,16 +7,19 @@ do + if [ -f $job/make.sh ]; then + cd $job + bash make.sh ++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' *.pdf + cd .. + fi + old_md5=$([ -f $job.aux ] && md5sum < $job.aux || true) + while +- pdflatex -shell-escape -halt-on-error $job.tex || exit ++ pdflatex -shell-escape -halt-on-error '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{'${job}'.tex}' || exit + new_md5=$(md5sum < $job.aux) + [ "$old_md5" != "$new_md5" ] + do + old_md5="$new_md5" + done ++ grep -av '^/ID \[\(<[0-9A-F]\{32\}>\) \1]$' ${job}.pdf > ${job}.pdf.without_pdf_id ++ mv -f ${job}.pdf.without_pdf_id ${job}.pdf + touch $job.ok + done + +diff --git a/manual/manual.sh b/manual/manual.sh +index c467393..4417f56 100755 +--- a/manual/manual.sh ++++ b/manual/manual.sh +@@ -39,7 +39,7 @@ fi + + set -ex + +-pdflatex $PDFTEX_OPT manual.tex ++pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{manual.tex}' + + if ! $fast_mode; then + bibtex manual.aux +@@ -50,10 +50,12 @@ if ! $fast_mode; then + ! cmp autoloop.old autoloop.new + do + cp autoloop.new autoloop.old +- pdflatex $PDFTEX_OPT manual.tex ++ pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{manual.tex}' + done + + rm -f autoloop.old + rm -f autoloop.new + fi + ++grep -av '^/ID \[\(<[0-9A-F]\{32\}>\) \1]$' manual.pdf > manual.pdf.without_pdf_id ++mv -f manual.pdf.without_pdf_id manual.pdf +diff --git a/manual/presentation.sh b/manual/presentation.sh +index ca8a6c9..f2d0a30 100755 +--- a/manual/presentation.sh ++++ b/manual/presentation.sh +@@ -29,15 +29,20 @@ set -ex + if ! $fast_mode; then + ! md5sum *.aux *.snm *.nav *.toc > autoloop.old + make -C PRESENTATION_Intro ++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_Intro/*.pdf + make -C PRESENTATION_ExSyn ++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_ExSyn/*.pdf + make -C PRESENTATION_ExAdv ++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_ExAdv/*.pdf + make -C PRESENTATION_ExOth ++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_ExOth/*.pdf + make -C PRESENTATION_Prog + fi + + set -ex + +-pdflatex $PDFTEX_OPT presentation.tex ++echo ${PDF_DATE} ++pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{presentation.tex}' + + if ! $fast_mode; then + while +@@ -45,10 +50,12 @@ if ! $fast_mode; then + ! cmp autoloop.old autoloop.new + do + cp autoloop.new autoloop.old +- pdflatex $PDFTEX_OPT presentation.tex ++ pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{presentation.tex}' + done + + rm -f autoloop.old + rm -f autoloop.new + fi + ++grep -av '^/ID \[\(<[0-9A-F]\{32\}>\) \1]$' presentation.pdf > presentation.pdf.without_pdf_id ++mv -f presentation.pdf.without_pdf_id presentation.pdf +diff --git a/manual/presentation.tex b/manual/presentation.tex +index 8060998..a42648c 100644 +--- a/manual/presentation.tex ++++ b/manual/presentation.tex +@@ -81,6 +81,7 @@ + + \title{Yosys Open SYnthesis Suite} + \author{Clifford Wolf} ++\date{REPLACEWITHDATE} + \institute{http://www.clifford.at/yosys/} + + \usetheme{Madrid} diff --git a/patches/01_gitrevision.patch b/patches/01_gitrevision.patch new file mode 100644 index 00000000..e34ce4a0 --- /dev/null +++ b/patches/01_gitrevision.patch @@ -0,0 +1,25 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sat, 14 May 2016 15:44:12 +0200 +Subject: Compilation from the upstream code depends on being in the git + repository to get the correct git-revision to be shown when running the + program. This patch puts in the git revision from the correct upstream. It + must be updated every time upstream changes! + +Forwarded: doesn't make sense upstream +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 0a61fe6..27eb998 100644 +--- a/Makefile ++++ b/Makefile +@@ -73,7 +73,7 @@ else + endif + + YOSYS_VER := 0.7 +-GIT_REV := $(shell cd $(YOSYS_SRC) && git rev-parse --short HEAD 2> /dev/null || echo UNKNOWN) ++GIT_REV := 61f6811 + OBJS = kernel/version_$(GIT_REV).o + + # set 'ABCREV = default' to use abc/ as it is diff --git a/patches/02_removeabc.patch b/patches/02_removeabc.patch new file mode 100644 index 00000000..370f640d --- /dev/null +++ b/patches/02_removeabc.patch @@ -0,0 +1,23 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sat, 14 May 2016 15:44:12 +0200 +Subject: Don't build abc when building yosys. It is built as a separate + source package. + +Forwarded: doesn't make sense upstream +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 27eb998..f26a6e0 100644 +--- a/Makefile ++++ b/Makefile +@@ -225,7 +225,7 @@ endif + ifeq ($(ENABLE_ABC),1) + CXXFLAGS += -DYOSYS_ENABLE_ABC + ifeq ($(ABCEXTERNAL),) +-TARGETS += yosys-abc$(EXE) ++#TARGETS += yosys-abc$(EXE) + endif + endif + diff --git a/patches/05_abc_executable.patch b/patches/05_abc_executable.patch new file mode 100644 index 00000000..c9bb08d2 --- /dev/null +++ b/patches/05_abc_executable.patch @@ -0,0 +1,29 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sat, 14 May 2016 15:44:13 +0200 +Subject: The dependency abc is built with the name yosys-abc upstream. Since + it is available as a separate package independently of yosys, + it is not called yosys-abc in debian. This patch changes the name of the + command that yosys looks for. + +Forwarded: doesn't make sense upstream +--- + passes/techmap/abc.cc | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/passes/techmap/abc.cc b/passes/techmap/abc.cc +index cc79296..b215cbc 100644 +--- a/passes/techmap/abc.cc ++++ b/passes/techmap/abc.cc +@@ -1327,11 +1327,7 @@ struct AbcPass : public Pass { + log_header(design, "Executing ABC pass (technology mapping using ABC).\n"); + log_push(); + +-#ifdef ABCEXTERNAL +- std::string exe_file = ABCEXTERNAL; +-#else +- std::string exe_file = proc_self_dirname() + "yosys-abc"; +-#endif ++ std::string exe_file = "berkeley-abc"; + std::string script_file, liberty_file, constr_file, clk_str; + std::string delay_target, sop_inputs, sop_products; + bool fast_mode = false, dff_mode = false, keepff = false, cleanup = true; diff --git a/patches/kfreebsd-support.patch b/patches/kfreebsd-support.patch new file mode 100644 index 00000000..346ef18b --- /dev/null +++ b/patches/kfreebsd-support.patch @@ -0,0 +1,163 @@ +From: Sebastian Kuzminsky <seb@highlab.com> +Date: Sat, 14 May 2016 15:44:13 +0200 +Subject: Change yosys to look for the #define constant "__unix__" instead of + "__linux__", + to select code appropriate for Unix-like systems. This has been tested with + Clang 3.5 and GCC 4.6, 4.8, and 4.9 on Linux, + and Clang 3.5 and GCC 4.9 on kFreeBSD. + +--- + kernel/driver.cc | 6 +++--- + kernel/log.cc | 6 +++--- + kernel/log.h | 2 +- + kernel/yosys.cc | 4 ++-- + libs/minisat/System.cc | 4 ++-- + libs/minisat/System.h | 2 +- + passes/cmds/cover.cc | 2 +- + 7 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/kernel/driver.cc b/kernel/driver.cc +index f8d00c3..45cd6ad 100644 +--- a/kernel/driver.cc ++++ b/kernel/driver.cc +@@ -30,7 +30,7 @@ + #include <limits.h> + #include <errno.h> + +-#ifdef __linux__ ++#ifdef __unix__ + # include <sys/types.h> + # include <unistd.h> + #endif +@@ -409,7 +409,7 @@ int main(int argc, char **argv) + #else + std::string meminfo; + std::string stats_divider = ", "; +-# ifdef __linux__ ++# ifdef __unix__ + std::ifstream statm; + statm.open(stringf("/proc/%lld/statm", (long long)getpid())); + if (statm.is_open()) { +@@ -463,7 +463,7 @@ int main(int argc, char **argv) + } + } + +-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__) ++#if defined(YOSYS_ENABLE_COVER) && defined(__unix__) + if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE")) + { + string filename; +diff --git a/kernel/log.cc b/kernel/log.cc +index abc401f..9641e9d 100644 +--- a/kernel/log.cc ++++ b/kernel/log.cc +@@ -25,7 +25,7 @@ + # include <sys/time.h> + #endif + +-#ifdef __linux__ ++#ifdef __unix__ + # include <dlfcn.h> + #endif + +@@ -280,7 +280,7 @@ void log_pop() + log_flush(); + } + +-#if defined(__linux__) && defined(YOSYS_ENABLE_PLUGINS) ++#if defined(__unix__) && defined(YOSYS_ENABLE_PLUGINS) + void log_backtrace(const char *prefix, int levels) + { + if (levels <= 0) return; +@@ -464,7 +464,7 @@ void log_cell(RTLIL::Cell *cell, std::string indent) + // --------------------------------------------------- + // This is the magic behind the code coverage counters + // --------------------------------------------------- +-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__) ++#if defined(YOSYS_ENABLE_COVER) && defined(__unix__) + + dict<std::string, std::pair<std::string, int>> extra_coverage_data; + +diff --git a/kernel/log.h b/kernel/log.h +index 53480db..4cf7d00 100644 +--- a/kernel/log.h ++++ b/kernel/log.h +@@ -106,7 +106,7 @@ static inline void log_assert_worker(bool cond, const char *expr, const char *fi + // This is the magic behind the code coverage counters + // --------------------------------------------------- + +-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__) ++#if defined(YOSYS_ENABLE_COVER) && defined(__unix__) + + #define cover(_id) do { \ + static CoverData __d __attribute__((section("yosys_cover_list"), aligned(1), used)) = { __FILE__, __FUNCTION__, _id, __LINE__, 0 }; \ +diff --git a/kernel/yosys.cc b/kernel/yosys.cc +index 08fee97..8b071f0 100644 +--- a/kernel/yosys.cc ++++ b/kernel/yosys.cc +@@ -66,7 +66,7 @@ std::vector<void*> memhasher_store; + + void memhasher_on() + { +-#ifdef __linux__ ++#ifdef __unix__ + memhasher_rng += time(NULL) << 16 ^ getpid(); + #endif + memhasher_store.resize(0x10000); +@@ -647,7 +647,7 @@ struct TclPass : public Pass { + } TclPass; + #endif + +-#if defined(__linux__) || defined(__CYGWIN__) ++#if defined(__unix__) + std::string proc_self_dirname() + { + char path[PATH_MAX]; +diff --git a/libs/minisat/System.cc b/libs/minisat/System.cc +index febe3b4..3df1810 100644 +--- a/libs/minisat/System.cc ++++ b/libs/minisat/System.cc +@@ -25,7 +25,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA + + #include "System.h" + +-#if defined(__linux__) ++#if defined(__unix__) + + #include <stdlib.h> + +@@ -99,7 +99,7 @@ double Minisat::memUsedPeak(bool) { return 0; } + + void Minisat::setX86FPUPrecision() + { +-#if defined(__linux__) && defined(_FPU_EXTENDED) && defined(_FPU_DOUBLE) && defined(_FPU_GETCW) ++#if defined(__unix__) && defined(_FPU_EXTENDED) && defined(_FPU_DOUBLE) && defined(_FPU_GETCW) + // Only correct FPU precision on Linux architectures that needs and supports it: + fpu_control_t oldcw, newcw; + _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw); +diff --git a/libs/minisat/System.h b/libs/minisat/System.h +index ee92a6e..8ad9902 100644 +--- a/libs/minisat/System.h ++++ b/libs/minisat/System.h +@@ -21,7 +21,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA + #ifndef Minisat_System_h + #define Minisat_System_h + +-#if defined(__linux__) ++#if defined(__unix__) + #include <fpu_control.h> + #endif + +diff --git a/passes/cmds/cover.cc b/passes/cmds/cover.cc +index 1475475..1918b54 100644 +--- a/passes/cmds/cover.cc ++++ b/passes/cmds/cover.cc +@@ -128,7 +128,7 @@ struct CoverPass : public Pass { + log("\n"); + } + +-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__) ++#if defined(YOSYS_ENABLE_COVER) && defined(__unix__) + for (auto &it : get_coverage_data()) { + if (!patterns.empty()) { + for (auto &p : patterns) diff --git a/patches/manual-build.patch b/patches/manual-build.patch new file mode 100644 index 00000000..dd3d2030 --- /dev/null +++ b/patches/manual-build.patch @@ -0,0 +1,23 @@ +From: Sebastian Kuzminsky <seb@highlab.com> +Date: Sat, 14 May 2016 15:44:13 +0200 +Subject: build the manual using the headers from the source tree, + not the installed ones. + +=================================================================== +--- + manual/PRESENTATION_Prog/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/manual/PRESENTATION_Prog/Makefile b/manual/PRESENTATION_Prog/Makefile +index 794f5c1..319909c 100644 +--- a/manual/PRESENTATION_Prog/Makefile ++++ b/manual/PRESENTATION_Prog/Makefile +@@ -2,7 +2,7 @@ + all: test0.log test1.log test2.log + + my_cmd.so: my_cmd.cc +- ../../yosys-config --exec --cxx --cxxflags --ldflags -o my_cmd.so -shared my_cmd.cc --ldlibs ++ ../../yosys-config --exec --cxx --cxxflags -I../.. --ldflags -o my_cmd.so -shared my_cmd.cc --ldlibs + + test0.log: my_cmd.so + ../../yosys -Ql test0.log_new -m ./my_cmd.so -p 'my_cmd foo bar' absval_ref.v diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..57796885 --- /dev/null +++ b/patches/series @@ -0,0 +1,10 @@ +01_gitrevision.patch +02_removeabc.patch +05_abc_executable.patch +switch-to-free-font.patch +manual-build.patch +kfreebsd-support.patch +0007-Disable-pretty-build.patch +0009-Some-spelling-errors-fixed.patch +0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch +0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch diff --git a/patches/switch-to-free-font.patch b/patches/switch-to-free-font.patch new file mode 100644 index 00000000..093bbbfc --- /dev/null +++ b/patches/switch-to-free-font.patch @@ -0,0 +1,79 @@ +From: Sebastian Kuzminsky <seb@highlab.com> +Date: Sat, 14 May 2016 15:44:13 +0200 +Subject: Switch the yosys manual font from luximono (non-free) to inconsolata + (free) + +=================================================================== +--- + manual/APPNOTE_010_Verilog_to_BLIF.tex | 2 +- + manual/APPNOTE_011_Design_Investigation.tex | 2 +- + manual/APPNOTE_012_Verilog_to_BTOR.tex | 2 +- + manual/manual.tex | 2 +- + manual/presentation.tex | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/manual/APPNOTE_010_Verilog_to_BLIF.tex b/manual/APPNOTE_010_Verilog_to_BLIF.tex +index 0ecdf61..05559b6 100644 +--- a/manual/APPNOTE_010_Verilog_to_BLIF.tex ++++ b/manual/APPNOTE_010_Verilog_to_BLIF.tex +@@ -4,7 +4,7 @@ + \documentclass[9pt,technote,a4paper]{IEEEtran} + + \usepackage[T1]{fontenc} % required for luximono! +-\usepackage[scaled=0.8]{luximono} % typewriter font with bold face ++\usepackage[scaled=0.8]{inconsolata} % typewriter font with bold face + + % To install the luximono font files: + % getnonfreefonts-sys --all or +diff --git a/manual/APPNOTE_011_Design_Investigation.tex b/manual/APPNOTE_011_Design_Investigation.tex +index 9780c78..4e63e20 100644 +--- a/manual/APPNOTE_011_Design_Investigation.tex ++++ b/manual/APPNOTE_011_Design_Investigation.tex +@@ -4,7 +4,7 @@ + \documentclass[9pt,technote,a4paper]{IEEEtran} + + \usepackage[T1]{fontenc} % required for luximono! +-\usepackage[scaled=0.8]{luximono} % typewriter font with bold face ++\usepackage[scaled=0.8]{inconsolata} % typewriter font with bold face + + % To install the luximono font files: + % getnonfreefonts-sys --all or +diff --git a/manual/APPNOTE_012_Verilog_to_BTOR.tex b/manual/APPNOTE_012_Verilog_to_BTOR.tex +index 1bc2778..c139188 100644 +--- a/manual/APPNOTE_012_Verilog_to_BTOR.tex ++++ b/manual/APPNOTE_012_Verilog_to_BTOR.tex +@@ -4,7 +4,7 @@ + \documentclass[9pt,technote,a4paper]{IEEEtran} + + \usepackage[T1]{fontenc} % required for luximono! +-\usepackage[scaled=0.8]{luximono} % typewriter font with bold face ++\usepackage[scaled=0.8]{inconsolata} % typewriter font with bold face + + % To install the luximono font files: + % getnonfreefonts-sys --all or +diff --git a/manual/manual.tex b/manual/manual.tex +index 67982cb..b274792 100644 +--- a/manual/manual.tex ++++ b/manual/manual.tex +@@ -2,7 +2,7 @@ + + \usepackage[T1]{fontenc} % required for luximono! + \usepackage{lmodern} +-\usepackage[scaled=0.8]{luximono} % typewriter font with bold face ++\usepackage[scaled=0.8]{inconsolata} % typewriter font with bold face + + % To install the luximono font files: + % getnonfreefonts-sys --all or +diff --git a/manual/presentation.tex b/manual/presentation.tex +index 63b963b..8060998 100644 +--- a/manual/presentation.tex ++++ b/manual/presentation.tex +@@ -3,7 +3,7 @@ + + \usepackage[T1]{fontenc} % required for luximono! + \usepackage{lmodern} +-\usepackage[scaled=0.8]{luximono} % typewriter font with bold face ++\usepackage[scaled=0.8]{inconsolata} % typewriter font with bold face + + % To install the luximono font files: + % getnonfreefonts-sys --all or @@ -0,0 +1,41 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include /usr/share/dpkg/pkg-info.mk + +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + +PDF_DATE := $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +D:%Y%m%d%H%M%SZ) +PDF_DATE2 := $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%B %d, %Y") +CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%d %B %Y") + + +%: + PREFIX=/usr dh $@ --parallel --with=python3 + + +override_dh_auto_clean: + dh_auto_clean + $(RM) debian/man/*.1 + +override_dh_auto_configure: + make config-gcc + +override_dh_install: + dh_install --fail-missing + +override_dh_installman: + cd debian/man ; CHANGELOG_DATE="$(CHANGELOG_DATE)" ./genmanpages.sh + dh_installman + +override_dh_compress: + dh_compress --exclude=.pdf + +override_dh_auto_build-arch: + dh_auto_build --parallel -- all + +override_dh_auto_build-indep: + sed -i 's/REPLACEWITHDATE/$(PDF_DATE2)/' manual/presentation.tex + PDF_DATE=$(PDF_DATE) dh_auto_build --parallel -- all manual diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 00000000..3459b297 --- /dev/null +++ b/tests/control @@ -0,0 +1,2 @@ +Tests: ice, smtbc +Depends: @ diff --git a/tests/design_ice.v b/tests/design_ice.v new file mode 100644 index 00000000..87dd1d32 --- /dev/null +++ b/tests/design_ice.v @@ -0,0 +1,19 @@ +module design_ice(input ck, input I1, output O1); + + reg ready = 0; + reg value; + + always @(posedge ck) begin + if(ready) begin + value <= I1; + end + else begin + ready <= 1; + end + + end + + + assign O1 = value; + +endmodule diff --git a/tests/ice b/tests/ice new file mode 100755 index 00000000..1643807b --- /dev/null +++ b/tests/ice @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +rm -f /tmp/design_ice.blif + +yosys -p "synth_ice40 -blif /tmp/design_ice.blif" debian/tests/design_ice.v + +if [ -f /tmp/design_ice.blif ] ; then + exit 0 +else + exit 1 +fi diff --git a/tests/smtbc b/tests/smtbc new file mode 100755 index 00000000..fb07acd6 --- /dev/null +++ b/tests/smtbc @@ -0,0 +1,12 @@ +#!/bin/bash + +# Just verify that there are no Python import errors when starting yosys-smtbmc + +yosys-smtbmc 2>&1 | grep --quiet ImportError +RET=$? + +if [ "$RET" = "0" ]; then + exit 1 +else + exit 0 +fi @@ -0,0 +1,2 @@ +version=3 +https://github.com/YosysHQ/yosys/releases /YosysHQ/yosys/archive/\w+-(\d\S+)\.tar\.(?:bz2|gz|xz) diff --git a/yosys-abc.1 b/yosys-abc.1 new file mode 100644 index 00000000..780b004c --- /dev/null +++ b/yosys-abc.1 @@ -0,0 +1,23 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH YOSYS-ABC 1 "February 09, 2015" +.SH NAME +yosys-abc \- symlink to berkeley-abc +.SH SYNOPSIS +.B yosys-abc +.br +.SH DESCRIPTION +This manual page documents briefly the +.B yosys-abc +command. +.PP +\fByosys-abc\fP is simply a symbolic link to berkeley-abc which is provided by another package but which is a dependency for yosys. This is necessary since yosys-abc is the name used for berkeley-abc upstream for yosys and some yosys scripts may depend on it. For more information see the manual page for berkeley-abc(1) +.SH SEE ALSO +berkeley-abc(1), yosys(1) +.\".SH AUTHOR +.\"yosys-config was written by Clifford Wolf <clifford@clifford.at>. +.PP +This manual page was written by Ruben Undheim <ruben.undheim@gmail.com>, +for the Debian project (and may be used by others). diff --git a/yosys-config.1 b/yosys-config.1 new file mode 100644 index 00000000..f8d45b1b --- /dev/null +++ b/yosys-config.1 @@ -0,0 +1,53 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH YOSYS-CONFIG 1 "October 16, 2014" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +yosys-config \- Yosys Open SYnthesis Suite Config +.SH SYNOPSIS +.B yosys-config +.RI "[ -exec ] [ --prefix pf ]" " args" +.br +.SH DESCRIPTION +This manual page documents briefly the +.B yosys-config +command. +.PP +.\" TeX users may be more comfortable with the \fB<whatever>\fP and +.\" \fI<whatever>\fP escape sequences to invode bold face and italics, +.\" respectively. +\fByosys-config\fP is a shell script which can be used to query compiler options and other information needed for building loadable modules for yosys. It is similar in behaviour to pkg-config. +.SH OPTIONS +A summary of options is included below. +.TP +.B \-\-cxx +.TP +.B \-\-cxxflag +.TP +.B \-\-ldflags +.TP +.B \-\-ldlibs +.TP +.B \-\-bindir +.TP +.B \-\-datdir +.SH SEE ALSO +yosys(1), yosys-filterlib(1) +.SH AUTHOR +yosys-config was written by Clifford Wolf <clifford@clifford.at>. +.PP +This manual page was written by Ruben Undheim <ruben.undheim@gmail.com>, +for the Debian project (and may be used by others). diff --git a/yosys-dev.install b/yosys-dev.install new file mode 100644 index 00000000..e2e0fe2f --- /dev/null +++ b/yosys-dev.install @@ -0,0 +1,3 @@ +usr/bin/yosys-config + +usr/share/yosys/include/* diff --git a/yosys-dev.manpages b/yosys-dev.manpages new file mode 100644 index 00000000..0c4ffd9e --- /dev/null +++ b/yosys-dev.manpages @@ -0,0 +1 @@ +debian/yosys-config.1 diff --git a/yosys-doc.doc-base b/yosys-doc.doc-base new file mode 100644 index 00000000..3a2a29a8 --- /dev/null +++ b/yosys-doc.doc-base @@ -0,0 +1,9 @@ +Document: yosys-manual +Title: Yosys Manual +Author: Clifford Wolf +Abstract: This manual describes what yosys is and how it can be used to + compile Verilog code for FPGAs +Section: Science/Electronics + +Format: PDF +Files: /usr/share/doc/yosys/*.pdf diff --git a/yosys-doc.install b/yosys-doc.install new file mode 100644 index 00000000..74dba8bf --- /dev/null +++ b/yosys-doc.install @@ -0,0 +1,2 @@ +manual/presentation.pdf usr/share/doc/yosys +manual/manual.pdf usr/share/doc/yosys diff --git a/yosys-filterlib.1 b/yosys-filterlib.1 new file mode 100644 index 00000000..457159e7 --- /dev/null +++ b/yosys-filterlib.1 @@ -0,0 +1,48 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH YOSYS-FILTERLIB 1 "October 16, 2014" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +yosys-filterlib \- Yosys Open SYnthesis Suite Filterlib +.SH SYNOPSIS +.B yosys-filterlib +.RI "[ rules-files [liberty-file]]" +.br +.SH DESCRIPTION +This manual page documents briefly the +.B yosys-filterlib +command. +.PP +.\" TeX users may be more comfortable with the \fB<whatever>\fP and +.\" \fI<whatever>\fP escape sequences to invode bold face and italics, +.\" respectively. +\fByosys-filterlib\fP is a program used to strip sensitive information from Liberty files. + +Occasionally Liberty files contain trade secrets (such as sensitive timing information) that cannot be shared +freely. This complicates processes such as reporting bugs in the tools involved. When the information in +the Liberty file used by Yosys and ABC are not part of the sensitive information, this tool +yosys-filterlib can be used to strip the sensitive information from the Liberty file. +.\".SH OPTIONS +.\"A summary of options is included below. +.\"#.TP +.\"a +.SH SEE ALSO +yosys(1), yosys-config(1) +.SH AUTHOR +yosys-filterlib was written by Clifford Wolf <clifford@clifford.at>. +.PP +This manual page was written by Ruben Undheim <ruben.undheim@gmail.com>, +for the Debian project (and may be used by others). diff --git a/yosys.1 b/yosys.1 new file mode 100644 index 00000000..fbfb0aa0 --- /dev/null +++ b/yosys.1 @@ -0,0 +1,126 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH YOSYS 1 "November 04, 2016" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +yosys \- Yosys Open SYnthesis Suite +.SH SYNOPSIS +.B yosys +.RI [ options ] " <infile>" +.br +.SH DESCRIPTION +This manual page documents briefly the +.B yosys +command. +.PP +.\" TeX users may be more comfortable with the \fB<whatever>\fP and +.\" \fI<whatever>\fP escape sequences to invode bold face and italics, +.\" respectively. +\fByosys\fP is a program that synthesizes RTL to gate-level logic. +.SH OPTIONS +A summary of options is included below. +.TP +.B \-Q +suppress printing of banner (copyright, disclaimer, version) +.TP +.B \-T +suppress printing of footer (log hash, version, timing statistics) +.TP +.B \-q +quiet operation. only write error message to console +use this option twice to also quiet warning messages +.TP +.B \-v <level> +print log headers up to level <level> to the console. (implies \-q) +.TP +.B \-t +annotate all log messages with a time stamp +.TP +.B \-d +print more detailed timing stats at exit +.TP +.B \-l logfile +write log messages to the specified file +.TP +.B \-L logfile +like -l but open log file in line buffered mode +.TP +.B \-o outfile +write the design to the specified file on exit +.TP +.B \-b backend +use this backend for the output file specified on the command line +.TP +.B \-f frontend +use the specified frontend for the input files on the command line +.TP +.B \-H +print the command list +.TP +.B \-h command +print the help message for the specified command +.TP +.B \-s scriptfile +execute the commands in the script file +.TP +.B \-c tcl_scriptfile +execute the commands in the tcl script file (see 'help tcl' for details) +.TP +.B \-p command +execute the commands +.TP +.B \-m module_file +load the specified module (aka plugin) +.TP +.B \-X +enable tracing of core data structure changes. for debugging +.TP +.B \-M +will slightly randomize allocated pointer addresses. for debugging +.TP +.B \-A +will call abort() at the end of the script. for debugging +.TP +.B \-D <header_id>[:<filename>] +dump the design when printing the specified log header to a file. +yosys_dump_<header_id>.il is used as filename if none is specified. +Use 'ALL' as <header_id> to dump at every header. +.TP +.B \-V +print version information and exit +.TP +.B \-S +The option \-S is an alias for the "synth" command, a default +script for transforming the Verilog input to a gate-level netlist. For example: + + yosys -o output.blif -S input.v + +.SH USAGE +For more complex synthesis jobs it is recommended to use the read_* and write_* +commands in a script file instead of specifying input and output files on the +command line. + +When no commands, script files or input files are specified on the command +line, yosys automatically enters the interactive command mode. Use the 'help' +command to get information on the individual commands. + +.SH SEE ALSO +berkeley-abc(1), yosys-config(1), yosys-filterlib(1) +.SH AUTHOR +yosys was written by Clifford Wolf <clifford@clifford.at>. +.PP +This manual page was written by Ruben Undheim <ruben.undheim@gmail.com>, +for the Debian project (and may be used by others). diff --git a/yosys.install b/yosys.install new file mode 100644 index 00000000..66b9f91f --- /dev/null +++ b/yosys.install @@ -0,0 +1,16 @@ +usr/bin/yosys-filterlib +usr/bin/yosys-smtbmc +usr/bin/yosys + +usr/share/yosys/simlib.v +usr/share/yosys/pmux2mux.v +usr/share/yosys/simcells.v +usr/share/yosys/techmap.v +usr/share/yosys/cells.lib +usr/share/yosys/adff2dff.v + +usr/share/yosys/ice40 +usr/share/yosys/xilinx +usr/share/yosys/greenpak4 +usr/share/yosys/gowin +debian/tmp/usr/share/yosys/python3/smtio.py usr/share/yosys diff --git a/yosys.links b/yosys.links new file mode 100644 index 00000000..4e4bb818 --- /dev/null +++ b/yosys.links @@ -0,0 +1,4 @@ +# This symlink provides the "yosys-abc" name for the ABC executable, as +# used/expected by upstream. It was requested by upstream (Clifford Wolf) +# to keep some out-of-tree scripts working. +/usr/bin/berkeley-abc /usr/bin/yosys-abc diff --git a/yosys.manpages b/yosys.manpages new file mode 100644 index 00000000..bbe07363 --- /dev/null +++ b/yosys.manpages @@ -0,0 +1,4 @@ +debian/yosys.1 +debian/yosys-filterlib.1 +debian/yosys-abc.1 +debian/man/*.1 |