yosys: 2020.02.25 -> 2020.03.16

- Bump `abc-verifier` (2020.03.05)
  - Install `yosys-abc` symlink for tool compatbility
  - Various `yosys` expression cleanups

Signed-off-by: Austin Seipp <aseipp@pobox.com>
This commit is contained in:
Austin Seipp 2020-03-17 05:26:27 -05:00
parent e86ec10426
commit 9b43cf3a00
No known key found for this signature in database
GPG key ID: 25D2038DEB08021D
2 changed files with 39 additions and 41 deletions

View file

@ -1,35 +1,32 @@
{ fetchFromGitHub, stdenv, readline, cmake }:
{ stdenv, fetchFromGitHub
, readline, cmake
}:
let
rev = "71f2b40320127561175ad60f6f2428f3438e5243";
in stdenv.mkDerivation {
pname = "abc-verifier";
version = "2020-01-11";
stdenv.mkDerivation rec {
pname = "abc-verifier";
version = "2020.03.05";
src = fetchFromGitHub {
inherit rev;
owner = "berkeley-abc";
repo = "abc";
sha256 = "15sn146ajxql7l1h8rsag5lhn4spwvgjhwzqawfr78snzadw8by3";
owner = "berkeley-abc";
repo = "abc";
rev = "ed90ce20df9c7c4d6e1db5d3f786f9b52e06bab1";
sha256 = "01sw67pkrb6wzflkxbkxzwsnli3nvp0yxwp3j1ngb3c0j86ri437";
};
passthru.rev = rev;
nativeBuildInputs = [ cmake ];
buildInputs = [ readline ];
enableParallelBuilding = true;
installPhase = "mkdir -p $out/bin && mv abc $out/bin";
installPhase = ''
mkdir -p $out/bin
mv abc $out/bin
'';
# needed by yosys
passthru.rev = src.rev;
meta = {
meta = with stdenv.lib; {
description = "A tool for squential logic synthesis and formal verification";
homepage = https://people.eecs.berkeley.edu/~alanmi/abc;
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
homepage = "https://people.eecs.berkeley.edu/~alanmi/abc";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice ];
};
}

View file

@ -14,14 +14,14 @@
}:
stdenv.mkDerivation rec {
pname = "yosys";
version = "2020.02.25";
pname = "yosys";
version = "2020.03.16";
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "yosys";
rev = "6edca05793197a846bbfb0329e836c87fa5aabb6";
sha256 = "1cwps3nsld80bh2b66l8fx3fa2zsx174mw72kqxyihpfdm0m0z1s";
rev = "ed4fa19ba2812c286562baf26bbbcb49afad83bc";
sha256 = "1sza5ng0q8dy6p4hks9b2db129xjcid9n6l8aglf2cj5ks82k5nv";
};
enableParallelBuilding = true;
@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
# we have to do this ourselves for some reason...
(cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto)
if ! grep -q "ABCREV = ${shortAbcRev}" Makefile;then
if ! grep -q "ABCREV = ${shortAbcRev}" Makefile; then
echo "yosys isn't compatible with the provided abc (${shortAbcRev}), failing."
exit 1
fi
@ -60,20 +60,21 @@ stdenv.mkDerivation rec {
doCheck = true;
checkInputs = [ verilog ];
meta = {
description = "Framework for RTL synthesis tools";
longDescription = ''
Yosys is a framework for RTL synthesis tools. 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.
'';
homepage = http://www.clifford.at/yosys/;
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ];
platforms = stdenv.lib.platforms.all;
# Internally, yosys knows to use the specified hardcoded ABCEXTERNAL binary.
# But other tools (like mcy or symbiyosys) can't know how yosys was built, so
# they just assume that 'yosys-abc' is available -- but it's not installed
# when using ABCEXTERNAL
#
# add a symlink to fake things so that both variants work the same way.
postInstall = ''
ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc
'';
meta = with stdenv.lib; {
description = "Open RTL synthesis framework and tools";
homepage = "http://www.clifford.at/yosys/";
license = licenses.isc;
platforms = platforms.all;
maintainers = with maintainers; [ shell thoughtpolice emily ];
};
}