Subject: [bug#78390] [PATCH electronics-team] gnu: nextpnr: Add ecp5 and himbaechel architectures.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 21 May 2025 18:18:53 +0900

Hi!

Cayetano Santos <[email-masked]> writes:

> * gnu/packages/fpga.scm (nextpnr): Add ecp5 and himbaechel architectures.
>
> Change-Id: Ia4b92f6cd1693b844b35949fdc23369e958e73c1
> ---
>  gnu/packages/fpga.scm | 26 ++++++++++++++++++++++++--
>  1 file changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
> index c46631c6cd..ec166c9c4e 100644
> --- a/gnu/packages/fpga.scm
> +++ b/gnu/packages/fpga.scm
> @@ -55,6 +55,7 @@ (define-module (gnu packages fpga)
>    #:use-module (gnu packages cmake)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages cpp)
> +  #:use-module (gnu packages electronics)
>    #:use-module (gnu packages elf)
>    #:use-module (gnu packages flex)
>    #:use-module (gnu packages freedesktop)
> @@ -437,18 +438,38 @@ (define-public nextpnr
>       (list
>        #:cmake cmake                     ;CMake 3.25 or higher is required.
>        #:configure-flags
> -      #~(list "-DARCH=generic;ice40"    ;TODO: enable more architectures?
> +      ;; TODO: enable more architectures?
> +      #~(list "-DARCH=generic;ice40;ecp5;himbaechel"
>                "-DBUILD_GUI=ON"
>                "-DUSE_OPENMP=ON"
>                "-DBUILD_TESTS=ON"
> +              "-DHIMBAECHEL_UARCH=ng-ultra"
> +              "-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
> +              "-DHIMBAECHEL_PRJBEYOND_DB=/tmp/prjbeyond-db"
>                (string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
>                (string-append "-DICESTORM_INSTALL_PREFIX="
>                               #$(this-package-input "icestorm"))
> +              (string-append "-DTRELLIS_INSTALL_PREFIX="
> +                             #$(this-package-input "prjtrellis"))
>                "-DUSE_IPO=OFF")
>        #:phases
>        #~(modify-phases %standard-phases
> +          ;; Required by himbaechel architecture, ng-ultra support.
> +          (add-after 'unpack 'get-prjbeyond-db
> +            (lambda _
> +              (copy-recursively
> +               #$(origin
> +                   (method git-fetch)
> +                   (uri (git-reference
> +                         (url "https://github.com/yosyshq-GmbH/prjbeyond-db/")
> +                         ;; We take latest commit, as for README.md.

Which README.md is the comment supposed to refer to?  I'm guessing the
README.md file of nextpnr?  The comment should be reworded for better
clarity.

> +                         (commit "06d3b424dd0e52d678087c891c022544238fb9e3")))
> +                   (sha256
> +                    (base32
> +                     "17dd3cgms2fy6xvz7magdmvv92km4cqh2kz9dyjrvz5y8caqav4y")))
> +               "/tmp/prjbeyond-db")))

I didn't see any distribution terms for the above files, so I asked [0].
I think we should wait for an answer before merging this change, to be
on the safe side.

Otherwise, LGTM.

[0]  https://github.com/YosysHQ-GmbH/prjbeyond-db/issues/2

-- 
Thanks,
Maxim