aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/fpga.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/fpga.scm')
-rw-r--r--gnu/packages/fpga.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index e5e1517c44..b7036b34cc 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -228,3 +228,47 @@ For synthesis, the compiler generates netlists in the desired format.")
(description "Project IceStorm - Lattice iCE40 FPGAs Bitstream Tools.
Includes the actual FTDI connector.")
(license license:isc))))
+
+(define-public arachne-pnr
+ (let ((commit "52e69ed207342710080d85c7c639480e74a021d7")
+ (revision "1"))
+ (package
+ (name "arachne-pnr")
+ (version (string-append "0.0-" revision "-" (string-take commit 9)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cseed/arachne-pnr.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "15bdw5yxj76lxrwksp6liwmr6l1x77isf4bs50ys9rsnmiwh8c3w"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (substitute* '("Makefile")
+ (("DESTDIR = .*") (string-append "DESTDIR = "
+ (assoc-ref outputs "out")
+ "\n"))
+ (("ICEBOX = .*") (string-append "ICEBOX = "
+ (assoc-ref inputs "icestorm")
+ "/share/icebox\n")))
+ (substitute* '("./tests/fsm/generate.py"
+ "./tests/combinatorial/generate.py")
+ (("#!/usr/bin/python") "#!/usr/bin/python2"))
+ #t)))))
+ (inputs
+ `(("icestorm" ,icestorm)))
+ (native-inputs
+ `(("git" ,git) ; for determining its own version string
+ ("yosys" ,yosys) ; for tests
+ ("perl" ,perl) ; for shasum
+ ("python-2" ,python-2))) ; for tests
+ (home-page "https://github.com/cseed/arachne-pnr")
+ (synopsis "Place-and-Route tool for FPGAs")
+ (description "Arachne-PNR is a Place-and-Route Tool For FPGAs.")
+ (license license:gpl2))))