diff options
Diffstat (limited to 'gnu/packages/fpga.scm')
-rw-r--r-- | gnu/packages/fpga.scm | 99 |
1 files changed, 96 insertions, 3 deletions
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 0fa2f5256b..96ba0026f9 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -1,8 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,18 +27,25 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tcl) #:use-module (gnu packages readline) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages bison) + #:use-module (gnu packages check) #:use-module (gnu packages flex) + #:use-module (gnu packages gettext) #:use-module (gnu packages gtk) #:use-module (gnu packages graphviz) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages ghostscript) @@ -340,7 +348,7 @@ FOSS FPGA place and route tool.") (define-public gtkwave (package (name "gtkwave") - (version "3.3.104") + (version "3.3.108") (source (origin (method url-fetch) @@ -350,7 +358,7 @@ FOSS FPGA place and route tool.") (string-append "http://gtkwave.sourceforge.net/" "gtkwave-" version ".tar.gz"))) (sha256 - (base32 "0kw9a33gx60kn069yhx5pyk39x1z3pwaj8l1qqwq943v62lx23fj")))) + (base32 "0fzbap72zm4ka6n85j0873fpaarrx199ay0kjw1avrs20hs4gr7c")))) (build-system gnu-build-system) (native-inputs `(("gperf" ,gperf) @@ -374,3 +382,88 @@ simulator trace files (@dfn{FST}).") (home-page "http://gtkwave.sourceforge.net/") ;; Exception against free government use in tcl_np.c and tcl_np.h. (license (list license:gpl2+ license:expat license:tcl/tk)))) + +(define-public python-migen + (package + (name "python-migen") + (version "0.9.2") + (source + (origin + ;; Tests fail in the PyPI tarball due to missing files. + (method git-fetch) + (uri (git-reference + (url "https://github.com/m-labs/migen") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kq11if64zj84gv4w1q7l16fp17xjxl2wv5hc9dibr1z3m1gy67l")))) + (build-system python-build-system) + (propagated-inputs + `(("python-colorama" ,python-colorama))) + (home-page "https://m-labs.hk/gateware/migen/") + (synopsis "Python toolbox for building complex digital hardware") + (description + "Migen FHDL is a Python library that replaces the event-driven +paradigm of Verilog and VHDL with the notions of combinatorial and +synchronous statements, has arithmetic rules that make integers always +behave like mathematical integers, and allows the design's logic to be +constructed by a Python program.") + (license license:bsd-2))) + +(define-public python-myhdl + (package + (name "python-myhdl") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "myhdl" version)) + (sha256 + (base32 + "04fi59cyn5dsci0ai7djg74ybkqfcjzhj1jfmac2xanbcrw9j3yk")))) + (build-system python-build-system) + (home-page "http://www.myhdl.org/") + (synopsis "Python as a Hardware Description Language") + (description "This package provides a library to turn Python into +a hardware description and verification language. ") + (license license:lgpl2.1+))) + +(define-public nvc + (package + (name "nvc") + (version "1.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nickg/nvc.git") + (commit (string-append "r" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0dd1xany6qhh2qsfw8ba0ky7y86h19yr4hlk0r5i2bvwsg4355v9")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-build? #f ; https://github.com/nickg/nvc/issues/409 + #:configure-flags + '("--enable-vhpi") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'clean-up + (lambda _ + (delete-file "autogen.sh") + #t))))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("flex" ,flex) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("which" ,which) + ("check" ,check))) ; for the tests + (inputs + `(("llvm" ,llvm-9))) + (synopsis "VHDL compiler and simulator") + (description "This package provides a VHDL compiler and simulator.") + (home-page "https://github.com/nickg/nvc") + (license license:gpl3+))) |