[PATCH 0/3] Patch series to add/update nextpnr-ecp5 + deps

  • Open
  • quality assurance status badge
Details
One participant
  • Gary Wong
Owner
unassigned
Submitted by
Gary Wong
Severity
normal
G
G
Gary Wong wrote on 29 Jan 05:27 +0100
(address . guix-patches@gnu.org)
20240129042736.GA13188@flux.utah.edu
Thank you very much for all your Guix work. Please consider
this series of patches to (gnu packages fpga), adding the
nextpnr-ecp5 package and updating the related yosys version.

(Please note that the yosys patch appears bigger than strictly
necessary, since I applied 'guix style' as recommended in
Section 22.6 of the manual. I can submit a smaller patch
retaining the old formatting if that would be preferable.)

Many thanks,
Gary.

Gary Wong (3):
gnu: yosys: Update to 0.37.
gnu: Add trellis.
gnu: Add nextpnr-ecp5.

gnu/packages/fpga.scm | 221 ++++++++++++++++++++++++++++--------------
1 file changed, 147 insertions(+), 74 deletions(-)


base-commit: 65dc2d40cb113382fb98796f1d04099f28cab355
--
2.41.0
G
G
Gary Wong wrote on 29 Jan 16:01 +0100
[PATCH 1/3] gnu: yosys: Update to 0.37.
(address . 68791@debbugs.gnu.org)
20240129150107.GA83516@flux.utah.edu
Attachment: file
G
G
Gary Wong wrote on 29 Jan 16:03 +0100
[PATCH 2/3] gnu: Add trellis.
(address . 68791@debbugs.gnu.org)
20240129150300.GA83843@flux.utah.edu
* gnu/packages/fpga.scm (trellis): New variable.

Change-Id: I90a7c7c0994508a16193c5ae2b8659c1d32a3c33
---
gnu/packages/fpga.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 99841fb6..b42a3503 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -619,3 +619,36 @@ (define-public openfpgaloader
to an FPGA.")
(home-page "https://f4pga.org/")
(license license:asl2.0)))
+
+(define-public trellis
+ (package
+ (name "trellis")
+ (version "1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/YosysHQ/prjtrellis")
+ (commit version)
+ (recursive? #t))) ;for the database submodule
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0c3asdfrjmnc6q3vawn3nfghgg43iajwy2zb8kck9d3wrypbhlmc"))))
+ (inputs (list boost python))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:out-of-source? #f ;README: "unsupported when coupled with nextpnr"
+ #:tests? #f ;contains no test target
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'configure 'chdir-libtrellis
+ (lambda* (#:key #:allow-other-keys)
+ (chdir "libtrellis"))))))
+ (synopsis "Lattice ECP5 bitstream processing")
+ (description
+ "Project Trellis enables a fully open-source flow for ECP5
+FPGAs using Yosys for Verilog synthesis and nextpnr for place and
+route. Project Trellis itself provides the device database and tools
+for bitstream creation.")
+ (license (list license:isc license:expat))
+ (home-page "https://github.com/YosysHQ/prjtrellis")))
--
2.41.0
G
G
Gary Wong wrote on 29 Jan 16:03 +0100
[PATCH 3/3] gnu: Add nextpnr-ecp5.
(address . 68791@debbugs.gnu.org)
20240129150356.GA84024@flux.utah.edu
* gnu/packages/fpga.scm (nextpnr-ecp5): New variable.

Change-Id: Iec50903140fc9f0458423adbbe333e189e601922
---
gnu/packages/fpga.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index b42a3503..3dcd981e 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -652,3 +652,29 @@ (define-public trellis
for bitstream creation.")
(license (list license:isc license:expat))
(home-page "https://github.com/YosysHQ/prjtrellis")))
+
+(define-public nextpnr-ecp5
+ (package
+ (name "nextpnr-ecp5")
+ (version "0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/YosysHQ/nextpnr")
+ (commit (string-append "nextpnr-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "146nc05ypsyjnxdpayc4g6d16f5igry46nydrb13niix51q11030"))))
+ (inputs (list boost eigen python trellis))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags `("-DARCH=ecp5" ,(string-append
+ "-DTRELLIS_INSTALL_PREFIX="
+ (assoc-ref %build-inputs "trellis")))
+ #:tests? #f)) ;contains no test target
+ (synopsis "Portable FPGA place and route tool")
+ (description "Nextpnr aims to be a vendor neutral, timing driven,
+FOSS FPGA place and route tool.")
+ (home-page "https://github.com/YosysHQ/nextpnr")
+ (license license:isc)))
--
2.41.0
G
G
Gary Wong wrote on 23 Mar 15:39 +0100
Re: [PATCH 0/3] Patch series to add/update nextpnr-ecp5 + deps
(address . 68791@debbugs.gnu.org)
20240323143946.GA34728@flux.utah.edu
On Sun, Jan 28, 2024 at 09:27:36PM -0700, Gary Wong wrote:
Toggle quote (4 lines)
> Thank you very much for all your Guix work. Please consider
> this series of patches to (gnu packages fpga), adding the
> nextpnr-ecp5 package and updating the related yosys version.

Any thoughts on this?

Thanks very much,
Gary.
--
Gary Wong gtw@gnu.org http://www.cs.utah.edu/~gtw/
?