diff options
43 files changed, 1697 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..29cf88ad --- /dev/null +++ b/debian/changelog @@ -0,0 +1,273 @@ +yosys (0.8+20190328git32bd0f2-1~exp1) experimental; urgency=low + + * New upstream GIT HEAD + * debian/control: + - New standards version 4.3.0 - no changes + * debian/copyright: + - Added new copyright holders + * debian/patches: Refreshed patches + * debian/yosys.install: Install more files + + -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 31 Mar 2019 00:01:48 +0100 + +yosys (0.8-1) unstable; urgency=medium + + * New upstream release + * debian/control: + - New standards version 4.2.1 - no changes + * debian/copyright: + - New copyright years + - Some new copyright holders for certain files + * debian/patches: Fix patches after importing new version + * d/patches/0013-Let-dpkg-buildpackage-handle-stripping-of-binaries.patch: + - Fix issue with empty -dbgsym package + * debian/rules: + - Enable hardening + - Remove redundant '--parallel' + - Override dh_auto_install and remove executable permission on some files + - Delete one more file in override_dh_auto_clean + * debian/yosys.1: Updated man page for new version + * debian/yosys.install: Install new files + * debian/yosys.lintian-overrides: + - Waive a 'spelling error' which is in fact not an error. + + -- Ruben Undheim <ruben.undheim@gmail.com> Wed, 17 Oct 2018 18:36:13 +0200 + +yosys (0.7-8) unstable; urgency=medium + + * d/patches/0012-Skip-non-deterministic-test-causing-random-FTBFS-on-.patch: + - Disable test which fails some times when being built (Closes: #907211) + + -- Ruben Undheim <ruben.undheim@gmail.com> Tue, 04 Sep 2018 20:00:14 +0200 + +yosys (0.7-7) unstable; urgency=medium + + * debian/patches/0011-Do-not-show-g-build-flags-in-Version-string.patch: + - Do not quote CXXFLAGS_FOR_YOSYS_CONFIG (fixes build on all) + + -- Ruben Undheim <ruben.undheim@gmail.com> Wed, 22 Aug 2018 07:23:08 +0200 + +yosys (0.7-6) unstable; urgency=medium + + * debian/compat: level 11 + * debian/control: + - debhelper >= 11 + - Standards version 4.2.0 - no changes + * debian/upstream/metadata: Added upstream metadata + * d/patches/0011-Do-not-show-g-build-flags-in-Version-string.patch: + - some build flags for the g++ version being used were "injected" into + the source files for yosys. Remove them + + -- Ruben Undheim <ruben.undheim@gmail.com> Tue, 21 Aug 2018 21:37:46 +0200 + +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 diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000..b4de3947 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..6edbf3e1 --- /dev/null +++ b/debian/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 (>= 11), + 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.3.0 +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/debian/copyright b/debian/copyright new file mode 100644 index 00000000..68beccd9 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,191 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: yosys +Source: http://www.clifford.at/yosys/ + +Files: * +Copyright: 2012-2018 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: backends/protobuf/protobuf.cc +Copyright: 2012 Clifford Wolf <clifford@clifford.at> + 2018 Serge Bazanski <q3k@symbioticeda.com> +License: ISC + +Files: passes/techmap/dff2dffs.cc + techlibs/ecp5/arith_map.v + techlibs/ecp5/synth_ecp5.cc + techlibs/ecp5/ecp5_ffinit.cc + techlibs/gowin/arith_map.v +Copyright: 2012 Clifford Wolf <clifford@clifford.at> + 2018-2019 David Shah <dave@ds0.me> +License: ISC + +Files: frontends/aiger/aigerparse.* +Copyright: 2012 Clifford Wolf <clifford@clifford.at> + 2012 Eddie Hung <eddie@fpgeh.com> +License: ISC + +Files: frontends/ast/ast.cc + passes/hierarchy/hierarchy.cc +Copyright: 2012 Clifford Wolf <clifford@clifford.at> + 2018 Ruben Undheim <ruben.undheim@gmail.com> +License: ISC + +Files: passes/cmds/bugpoint.cc + passes/equiv/equiv_opt.cc + passes/opt/opt_lut.cc + passes/techmap/flowmap.cc +Copyright: 2018 whitequark <whitequark@whitequark.org> +License: ISC + +Files: passes/techmap/extract_reduce.cc + techlibs/coolrunner2/* +Copyright: 2017 Robert Ou <rqou@robertou.com> +License: ISC + +Files: techlibs/anlogic/anlogic_determine_init.c + techlibs/anlogic/anlogic_eqn.cc + techlibs/anlogic/arith_map.v + techlibs/anlogic/synth_anlogic.cc +Copyright: 2012,2018 Clifford Wolf <clifford@clifford.at + 2018 Icenowy Zheng <icenowy@aosc.io> + 2018 Miodrag Milanovic <miodrag@symbioticeda.com> +License: ISC + +Files: misc/yosys.proto +Copyright: 2018 Serge Bazanski <q3k@symbioticeda.com> +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: misc/launcher.c +Copyright: 2016 Jason R Coombs <jaraco@jaraco.com> +License: MIT + +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-2016,2018-2019 Ruben Undheim <ruben.undheim@gmail.com> + 2016 Sebastian Kuzminsky <seb@highlab.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. diff --git a/debian/docs b/debian/docs new file mode 100644 index 00000000..b43bf86b --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README.md diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 00000000..cec628c7 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +pristine-tar = True diff --git a/debian/man/.gitignore b/debian/man/.gitignore new file mode 100644 index 00000000..f7e585b8 --- /dev/null +++ b/debian/man/.gitignore @@ -0,0 +1 @@ +*.1 diff --git a/debian/man/genmanpages.sh b/debian/man/genmanpages.sh new file mode 100755 index 00000000..8c6f6e71 --- /dev/null +++ b/debian/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/debian/man/yosys-smtbmc.txt b/debian/man/yosys-smtbmc.txt new file mode 100644 index 00000000..3f2df5fc --- /dev/null +++ b/debian/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/debian/patches/0007-Disable-pretty-build.patch b/debian/patches/0007-Disable-pretty-build.patch new file mode 100644 index 00000000..22e31cbc --- /dev/null +++ b/debian/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 383f6a5..0205d18 100644 +--- a/Makefile ++++ b/Makefile +@@ -53,7 +53,7 @@ EXTRA_OBJS = + EXTRA_TARGETS = + TARGETS = yosys$(EXE) yosys-config + +-PRETTY = 1 ++PRETTY = 0 + SMALL = 0 + + # Unit test diff --git a/debian/patches/0009-Some-spelling-errors-fixed.patch b/debian/patches/0009-Some-spelling-errors-fixed.patch new file mode 100644 index 00000000..32c7c896 --- /dev/null +++ b/debian/patches/0009-Some-spelling-errors-fixed.patch @@ -0,0 +1,67 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Thu, 12 Jul 2018 13:41:39 +0200 +Subject: Some spelling errors fixed + +--- + frontends/ast/genrtlil.cc | 2 +- + manual/CHAPTER_Overview.tex | 2 +- + manual/command-reference-manual.tex | 2 +- + techlibs/xilinx/synth_xilinx.cc | 4 ++-- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc +index b3a2a84..6ec7227 100644 +--- a/frontends/ast/genrtlil.cc ++++ b/frontends/ast/genrtlil.cc +@@ -557,7 +557,7 @@ struct AST_INTERNAL::ProcessGenerator + break; + + case AST_ASSIGN: +- log_file_error(ast->filename, ast->linenum, "Found continous assignment in always/initial block!\n"); ++ log_file_error(ast->filename, ast->linenum, "Found continuous assignment in always/initial block!\n"); + break; + + case AST_PARAMETER: +diff --git a/manual/CHAPTER_Overview.tex b/manual/CHAPTER_Overview.tex +index 2feb0f1..c7d1d5c 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 bed6326..eb43467 100644 +--- a/manual/command-reference-manual.tex ++++ b/manual/command-reference-manual.tex +@@ -3182,7 +3182,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/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc +index 805ae8e..0b8d833 100644 +--- a/techlibs/xilinx/synth_xilinx.cc ++++ b/techlibs/xilinx/synth_xilinx.cc +@@ -64,10 +64,10 @@ struct SynthXilinxPass : public Pass + log(" (this feature is experimental and incomplete)\n"); + log("\n"); + log(" -nobram\n"); +- log(" disable infering of block rams\n"); ++ log(" disable inferring of block rams\n"); + log("\n"); + log(" -nodram\n"); +- log(" disable infering of distributed rams\n"); ++ log(" disable inferring of distributed rams\n"); + log("\n"); + log(" -run <from_label>:<to_label>\n"); + log(" only run the commands between the labels (see below). an empty\n"); diff --git a/debian/patches/0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch b/debian/patches/0010-Fix-adding-of-sys.path-in-yosys-smtbmc.patch new file mode 100644 index 00000000..5d37598f --- /dev/null +++ b/debian/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 92941d4..2c0b7c6 100644 +--- a/backends/smt2/Makefile.inc ++++ b/backends/smt2/Makefile.inc +@@ -22,7 +22,7 @@ else + TARGETS += yosys-smtbmc + + yosys-smtbmc: backends/smt2/smtbmc.py +- $(P) sed 's|##yosys-sys-path##|sys.path += [os.path.dirname(os.path.realpath(__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 $@ + endif diff --git a/debian/patches/0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch b/debian/patches/0010-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch new file mode 100644 index 00000000..33bbedc3 --- /dev/null +++ b/debian/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 0205d18..6f8c067 100644 +--- a/Makefile ++++ b/Makefile +@@ -651,9 +651,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/debian/patches/0011-Do-not-show-g-build-flags-in-Version-string.patch b/debian/patches/0011-Do-not-show-g-build-flags-in-Version-string.patch new file mode 100644 index 00000000..af0015d8 --- /dev/null +++ b/debian/patches/0011-Do-not-show-g-build-flags-in-Version-string.patch @@ -0,0 +1,34 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sun, 19 Aug 2018 23:03:51 +0200 +Subject: Do not show g++ build flags in Version string + +--- + Makefile | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 6f8c067..5024349 100644 +--- a/Makefile ++++ b/Makefile +@@ -514,8 +514,7 @@ libyosys.so: $(filter-out kernel/driver.o,$(OBJS)) + $(Q) mkdir -p $(dir $@) + $(P) $(CXX) -o $@ -c $(CPPFLAGS) $(CXXFLAGS) $< + +-YOSYS_VER_STR := Yosys $(YOSYS_VER) (git sha1 $(GIT_REV), $(notdir $(CXX)) $(shell \ +- $(CXX) --version | tr ' ()' '\n' | grep '^[0-9]' | head -n1) $(filter -f% -m% -O% -DNDEBUG,$(CXXFLAGS))) ++YOSYS_VER_STR := Yosys $(YOSYS_VER) (git sha1 $(GIT_REV)) + + kernel/version_$(GIT_REV).cc: $(YOSYS_SRC)/Makefile + $(P) rm -f kernel/version_*.o kernel/version_*.d kernel/version_*.cc +@@ -529,8 +528,10 @@ CXXFLAGS_NOVERIFIC = $(CXXFLAGS) + LDLIBS_NOVERIFIC = $(LDLIBS) + endif + ++CXXFLAGS_FOR_YOSYS_CONFIG := $(shell echo $(subst -I. -I"$(YOSYS_SRC)",-I"$(DATDIR)/include",$(CXXFLAGS_NOVERIFIC)) | sed 's/-fdebug-prefix[^ ]\+ //' | sed 's/-ffile-prefix-map[^ ]\+ //') ++ + yosys-config: misc/yosys-config.in +- $(P) $(SED) -e 's#@CXXFLAGS@#$(subst -I. -I"$(YOSYS_SRC)",-I"$(DATDIR)/include",$(strip $(CXXFLAGS_NOVERIFIC)))#;' \ ++ $(P) $(SED) -e 's#@CXXFLAGS@#$(CXXFLAGS_FOR_YOSYS_CONFIG)#;' \ + -e 's#@CXX@#$(strip $(CXX))#;' -e 's#@LDFLAGS@#$(strip $(LDFLAGS) $(PLUGIN_LDFLAGS))#;' -e 's#@LDLIBS@#$(strip $(LDLIBS_NOVERIFIC))#;' \ + -e 's#@BINDIR@#$(strip $(BINDIR))#;' -e 's#@DATDIR@#$(strip $(DATDIR))#;' < $< > yosys-config + $(Q) chmod +x yosys-config diff --git a/debian/patches/0012-Skip-non-deterministic-test-causing-random-FTBFS-on-.patch b/debian/patches/0012-Skip-non-deterministic-test-causing-random-FTBFS-on-.patch new file mode 100644 index 00000000..fffd15ce --- /dev/null +++ b/debian/patches/0012-Skip-non-deterministic-test-causing-random-FTBFS-on-.patch @@ -0,0 +1,22 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Tue, 4 Sep 2018 19:59:05 +0200 +Subject: Skip non-deterministic test causing random FTBFS on some + architectures + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 5024349..2ed9f0f 100644 +--- a/Makefile ++++ b/Makefile +@@ -576,7 +576,7 @@ test: $(TARGETS) $(EXTRA_TARGETS) + +cd tests/simple && bash run-test.sh $(SEEDOPT) + +cd tests/hana && bash run-test.sh $(SEEDOPT) + +cd tests/asicworld && bash run-test.sh $(SEEDOPT) +- # +cd tests/realmath && bash run-test.sh $(SEEDOPT) ++ #+cd tests/realmath && bash run-test.sh $(SEEDOPT) + +cd tests/share && bash run-test.sh $(SEEDOPT) + +cd tests/fsm && bash run-test.sh $(SEEDOPT) + +cd tests/techmap && bash run-test.sh diff --git a/debian/patches/0013-Let-dpkg-buildpackage-handle-stripping-of-binaries.patch b/debian/patches/0013-Let-dpkg-buildpackage-handle-stripping-of-binaries.patch new file mode 100644 index 00000000..35b623f7 --- /dev/null +++ b/debian/patches/0013-Let-dpkg-buildpackage-handle-stripping-of-binaries.patch @@ -0,0 +1,32 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Wed, 17 Oct 2018 08:40:22 +0200 +Subject: Let dpkg-buildpackage handle stripping of binaries + +--- + Makefile | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 2ed9f0f..b4aac53 100644 +--- a/Makefile ++++ b/Makefile +@@ -625,19 +625,15 @@ install: $(TARGETS) $(EXTRA_TARGETS) + $(INSTALL_SUDO) mkdir -p $(DESTDIR)$(BINDIR) + $(INSTALL_SUDO) cp $(TARGETS) $(DESTDIR)$(BINDIR) + ifneq ($(filter yosys,$(TARGETS)),) +- $(INSTALL_SUDO) $(STRIP) -S $(DESTDIR)$(BINDIR)/yosys + endif + ifneq ($(filter yosys-abc,$(TARGETS)),) +- $(INSTALL_SUDO) $(STRIP) $(DESTDIR)$(BINDIR)/yosys-abc + endif + ifneq ($(filter yosys-filterlib,$(TARGETS)),) +- $(INSTALL_SUDO) $(STRIP) $(DESTDIR)$(BINDIR)/yosys-filterlib + endif + $(INSTALL_SUDO) mkdir -p $(DESTDIR)$(DATDIR) + $(INSTALL_SUDO) cp -r share/. $(DESTDIR)$(DATDIR)/. + ifeq ($(ENABLE_LIBYOSYS),1) + $(INSTALL_SUDO) cp libyosys.so $(DESTDIR)$(LIBDIR) +- $(INSTALL_SUDO) $(STRIP) -S $(DESTDIR)$(LIBDIR)/libyosys.so + $(INSTALL_SUDO) ldconfig + endif + diff --git a/debian/patches/01_gitrevision.patch b/debian/patches/01_gitrevision.patch new file mode 100644 index 00000000..fd31dbbf --- /dev/null +++ b/debian/patches/01_gitrevision.patch @@ -0,0 +1,27 @@ +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 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 8586e97..ea66859 100644 +--- a/Makefile ++++ b/Makefile +@@ -101,8 +101,8 @@ LDFLAGS += -rdynamic + LDLIBS += -lrt + endif + +-YOSYS_VER := 0.8+$(shell cd $(YOSYS_SRC) && test -e .git && { git log --author=clifford@clifford.at --oneline 4d4665b.. 2> /dev/null | wc -l; }) +-GIT_REV := $(shell cd $(YOSYS_SRC) && git rev-parse --short HEAD 2> /dev/null || echo UNKNOWN) ++YOSYS_VER := 0.8+20190328git32bd0f2 ++GIT_REV := 32bd0f2 + OBJS = kernel/version_$(GIT_REV).o + + # set 'ABCREV = default' to use abc/ as it is diff --git a/debian/patches/02_removeabc.patch b/debian/patches/02_removeabc.patch new file mode 100644 index 00000000..8ef43852 --- /dev/null +++ b/debian/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 ea66859..383f6a5 100644 +--- a/Makefile ++++ b/Makefile +@@ -356,7 +356,7 @@ LDLIBS += -lpthread + endif + else + ifeq ($(ABCEXTERNAL),) +-TARGETS += yosys-abc$(EXE) ++#TARGETS += yosys-abc$(EXE) + endif + endif + endif diff --git a/debian/patches/05_abc_executable.patch b/debian/patches/05_abc_executable.patch new file mode 100644 index 00000000..a59741fc --- /dev/null +++ b/debian/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 21b70f4..1b36261 100644 +--- a/passes/techmap/abc.cc ++++ b/passes/techmap/abc.cc +@@ -1458,11 +1458,7 @@ struct AbcPass : public Pass { + pi_map.clear(); + po_map.clear(); + +-#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, lutin_shared = "-S 1"; + bool fast_mode = false, dff_mode = false, keepff = false, cleanup = true; diff --git a/debian/patches/kfreebsd-support.patch b/debian/patches/kfreebsd-support.patch new file mode 100644 index 00000000..ba4fb8c1 --- /dev/null +++ b/debian/patches/kfreebsd-support.patch @@ -0,0 +1,149 @@ +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 | 8 ++++---- + kernel/log.cc | 6 +++--- + kernel/log.h | 2 +- + kernel/yosys.cc | 4 ++-- + libs/minisat/System.cc | 2 +- + passes/cmds/cover.cc | 2 +- + 6 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/kernel/driver.cc b/kernel/driver.cc +index a0bb7e6..0ea5505 100644 +--- a/kernel/driver.cc ++++ b/kernel/driver.cc +@@ -34,7 +34,7 @@ + #include <limits.h> + #include <errno.h> + +-#if defined (__linux__) || defined(__FreeBSD__) ++#if defined (__unix__) || defined(__FreeBSD__) + # include <sys/resource.h> + # include <sys/types.h> + # include <unistd.h> +@@ -456,7 +456,7 @@ int main(int argc, char **argv) + if (print_stats) + log_hasher = new SHA1; + +-#if defined(__linux__) ++#if defined(__unix__) + // set stack size to >= 128 MB + { + struct rlimit rl; +@@ -546,7 +546,7 @@ int main(int argc, char **argv) + #else + std::string meminfo; + std::string stats_divider = ", "; +-# if defined(__linux__) ++# if defined(__unix__) + std::ifstream statm; + statm.open(stringf("/proc/%lld/statm", (long long)getpid())); + if (statm.is_open()) { +@@ -613,7 +613,7 @@ int main(int argc, char **argv) + } + } + +-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__)) ++#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__)) + if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE")) + { + string filename; +diff --git a/kernel/log.cc b/kernel/log.cc +index 400a549..757a49c 100644 +--- a/kernel/log.cc ++++ b/kernel/log.cc +@@ -25,7 +25,7 @@ + # include <sys/time.h> + #endif + +-#if defined(__linux__) || defined(__FreeBSD__) ++#if defined(__unix__) || defined(__FreeBSD__) + # include <dlfcn.h> + #endif + +@@ -393,7 +393,7 @@ void log_pop() + log_flush(); + } + +-#if (defined(__linux__) || defined(__FreeBSD__)) && defined(YOSYS_ENABLE_PLUGINS) ++#if (defined(__unix__) || defined(__FreeBSD__)) && defined(YOSYS_ENABLE_PLUGINS) + void log_backtrace(const char *prefix, int levels) + { + if (levels <= 0) return; +@@ -588,7 +588,7 @@ void log_wire(RTLIL::Wire *wire, std::string indent) + // --------------------------------------------------- + // This is the magic behind the code coverage counters + // --------------------------------------------------- +-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__)) ++#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__)) + + dict<std::string, std::pair<std::string, int>> extra_coverage_data; + +diff --git a/kernel/log.h b/kernel/log.h +index 7599390..30f2a64 100644 +--- a/kernel/log.h ++++ b/kernel/log.h +@@ -121,7 +121,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__) || defined(__FreeBSD__)) ++#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__)) + + #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 450e4e4..68ba3e6 100644 +--- a/kernel/yosys.cc ++++ b/kernel/yosys.cc +@@ -79,7 +79,7 @@ std::vector<void*> memhasher_store; + + void memhasher_on() + { +-#if defined(__linux__) || defined(__FreeBSD__) ++#if defined(__unix__) || defined(__FreeBSD__) + memhasher_rng += time(NULL) << 16 ^ getpid(); + #endif + memhasher_store.resize(0x10000); +@@ -679,7 +679,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 1921a1d..efbfb08 100644 +--- a/libs/minisat/System.cc ++++ b/libs/minisat/System.cc +@@ -29,7 +29,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> + +diff --git a/passes/cmds/cover.cc b/passes/cmds/cover.cc +index 0ec7476..5f0042a 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__) || defined(__FreeBSD__)) ++#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__)) + for (auto &it : get_coverage_data()) { + if (!patterns.empty()) { + for (auto &p : patterns) diff --git a/debian/patches/manual-build.patch b/debian/patches/manual-build.patch new file mode 100644 index 00000000..dd3d2030 --- /dev/null +++ b/debian/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/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..643b1cf4 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,13 @@ +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 +0011-Do-not-show-g-build-flags-in-Version-string.patch +0012-Skip-non-deterministic-test-causing-random-FTBFS-on-.patch +0013-Let-dpkg-buildpackage-handle-stripping-of-binaries.patch diff --git a/debian/patches/switch-to-free-font.patch b/debian/patches/switch-to-free-font.patch new file mode 100644 index 00000000..093bbbfc --- /dev/null +++ b/debian/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 diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..a9af380a --- /dev/null +++ b/debian/rules @@ -0,0 +1,48 @@ +#!/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 + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +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 $@ --with=python3 + + +override_dh_auto_clean: + dh_auto_clean + $(RM) debian/man/*.1 + $(RM) Makefile.conf + +override_dh_auto_configure: + make config-gcc + +override_dh_auto_install: + dh_auto_install + chmod a-x debian/tmp/usr/share/yosys/achronix/speedster22i/cells*.v + +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/debian/source/format b/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 00000000..3459b297 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,2 @@ +Tests: ice, smtbc +Depends: @ diff --git a/debian/tests/design_ice.v b/debian/tests/design_ice.v new file mode 100644 index 00000000..87dd1d32 --- /dev/null +++ b/debian/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/debian/tests/ice b/debian/tests/ice new file mode 100755 index 00000000..1643807b --- /dev/null +++ b/debian/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/debian/tests/smtbc b/debian/tests/smtbc new file mode 100755 index 00000000..fb07acd6 --- /dev/null +++ b/debian/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 diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 00000000..a191c0f0 --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,6 @@ +--- +Bug-Database: https://github.com/YosysHQ/yosys/issues +Bug-Submit: https://github.com/YosysHQ/yosys/issues/new +Name: Yosys +Repository: https://github.com/YosysHQ/yosys.git +Repository-Browse: https://github.com/YosysHQ/yosys diff --git a/debian/watch b/debian/watch new file mode 100644 index 00000000..72d171cb --- /dev/null +++ b/debian/watch @@ -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/debian/yosys-abc.1 b/debian/yosys-abc.1 new file mode 100644 index 00000000..780b004c --- /dev/null +++ b/debian/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/debian/yosys-config.1 b/debian/yosys-config.1 new file mode 100644 index 00000000..f8d45b1b --- /dev/null +++ b/debian/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/debian/yosys-dev.install b/debian/yosys-dev.install new file mode 100644 index 00000000..e2e0fe2f --- /dev/null +++ b/debian/yosys-dev.install @@ -0,0 +1,3 @@ +usr/bin/yosys-config + +usr/share/yosys/include/* diff --git a/debian/yosys-dev.manpages b/debian/yosys-dev.manpages new file mode 100644 index 00000000..0c4ffd9e --- /dev/null +++ b/debian/yosys-dev.manpages @@ -0,0 +1 @@ +debian/yosys-config.1 diff --git a/debian/yosys-doc.doc-base b/debian/yosys-doc.doc-base new file mode 100644 index 00000000..3a2a29a8 --- /dev/null +++ b/debian/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/debian/yosys-doc.install b/debian/yosys-doc.install new file mode 100644 index 00000000..74dba8bf --- /dev/null +++ b/debian/yosys-doc.install @@ -0,0 +1,2 @@ +manual/presentation.pdf usr/share/doc/yosys +manual/manual.pdf usr/share/doc/yosys diff --git a/debian/yosys-filterlib.1 b/debian/yosys-filterlib.1 new file mode 100644 index 00000000..457159e7 --- /dev/null +++ b/debian/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/debian/yosys.1 b/debian/yosys.1 new file mode 100644 index 00000000..84164d16 --- /dev/null +++ b/debian/yosys.1 @@ -0,0 +1,137 @@ +.\" 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 "October 17, 2018" +.\" 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 \-W regex +if a warning message matches the regex, it is printed as regular +message instead. +.TP +.B \-e regex +if a warning message matches the regex, it is printed as error +message instead and the tool terminates with a nonzero return code. +.TP +.B \-V +print version information and exit +.TP +.B \-E depsfile +write a Makefile dependencies file with in- and output file names +.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/debian/yosys.install b/debian/yosys.install new file mode 100644 index 00000000..e3326453 --- /dev/null +++ b/debian/yosys.install @@ -0,0 +1,34 @@ +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/dff2ff.v + +usr/share/yosys/ice40 +usr/share/yosys/xilinx +usr/share/yosys/greenpak4 +usr/share/yosys/gowin +usr/share/yosys/coolrunner2 +usr/share/yosys/ecp5 +usr/share/yosys/achronix +usr/share/yosys/intel +debian/tmp/usr/share/yosys/python3/smtio.py usr/share/yosys + +usr/share/yosys/gate2lut.v +usr/share/yosys/cmp2lut.v +usr/share/yosys/anlogic/arith_map.v +usr/share/yosys/anlogic/cells_map.v +usr/share/yosys/anlogic/dram_init_16x4.vh +usr/share/yosys/anlogic/cells_sim.v +usr/share/yosys/anlogic/drams_map.v +usr/share/yosys/anlogic/eagle_bb.v +usr/share/yosys/anlogic/drams.txt +usr/share/yosys/sf2/arith_map.v +usr/share/yosys/sf2/cells_map.v +usr/share/yosys/sf2/cells_sim.v diff --git a/debian/yosys.links b/debian/yosys.links new file mode 100644 index 00000000..4e4bb818 --- /dev/null +++ b/debian/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/debian/yosys.lintian-overrides b/debian/yosys.lintian-overrides new file mode 100644 index 00000000..7b397082 --- /dev/null +++ b/debian/yosys.lintian-overrides @@ -0,0 +1,2 @@ +# Cannot be fixed because part of file format implementation +yosys binary: spelling-error-in-binary usr/bin/yosys upto up to diff --git a/debian/yosys.manpages b/debian/yosys.manpages new file mode 100644 index 00000000..bbe07363 --- /dev/null +++ b/debian/yosys.manpages @@ -0,0 +1,4 @@ +debian/yosys.1 +debian/yosys-filterlib.1 +debian/yosys-abc.1 +debian/man/*.1 |