aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2016-09-27 02:04:56 +0200
committerEfraim Flashner <efraim@flashner.co.il>2016-10-09 18:19:21 +0300
commit44721336de5d11810adc55ea6e7cdcec62dd5d37 (patch)
tree4cb47731c305aadfec2ee6e36f19df089c19587c
parentadba5f08deeb1826f7f927e0c697246d3ab13f29 (diff)
downloadguix-44721336de5d11810adc55ea6e7cdcec62dd5d37.tar
guix-44721336de5d11810adc55ea6e7cdcec62dd5d37.tar.gz
gnu: Add iverilog.
* gnu/packages/fpga.scm (iverilog): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/fpga.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index f757a2823e..1d1c981d54 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -73,3 +73,38 @@
formal verification.")
(license
(license:non-copyleft "https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants")))))
+
+(define-public iverilog
+ (package
+ (name "iverilog")
+ (version "10.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "ftp://ftp.icarus.com/pub/eda/verilog/v10/"
+ "verilog-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nnassxvq30rnn0r2p85rkb2zwxk97p109y13x3vr365wzgpbapx"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("flex" ,flex)
+ ("bison" ,bison)
+ ("ghostscript" ,ghostscript))) ; ps2pdf
+ (home-page "http://iverilog.icarus.com/")
+ (synopsis "FPGA Verilog simulation and synthesis tool")
+ (description "Icarus Verilog is a Verilog simulation and synthesis tool.
+It operates as a compiler, compiling source code written in Verilog
+(IEEE-1364) into some target format.
+For batch simulation, the compiler can generate an intermediate form
+called vvp assembly.
+This intermediate form is executed by the ``vvp'' command.
+For synthesis, the compiler generates netlists in the desired format.")
+ ;; GPL2 only because of:
+ ;; - ./driver/iverilog.man.in
+ ;; - ./iverilog-vpi.man.in
+ ;; - ./tgt-fpga/iverilog-fpga.man
+ ;; - ./vvp/vvp.man.in
+ ;; Otherwise would be GPL2+.
+ ;; You have to accept both GPL2 and LGPL2.1+.
+ (license (list license:gpl2 license:lgpl2.1+))))