From d6691c2e68099180e486a905d8911fc9c9d83a62 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sun, 31 May 2020 16:57:54 +0800 Subject: [PATCH] gluelogic: build Fastino gateware --- gluelogic/default.nix | 19 ++++++++++++++++--- hydra/artiq.nix | 3 ++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/gluelogic/default.nix b/gluelogic/default.nix index ccea313..2d60c61 100644 --- a/gluelogic/default.nix +++ b/gluelogic/default.nix @@ -1,11 +1,11 @@ { pkgs ? import {} }: let - migen = (pkgs.callPackage ../artiq-fast/pkgs/python-deps.nix {}).migen; + artiqpkgs = import ../artiq-fast/pkgs/python-deps.nix { inherit (pkgs) stdenv fetchFromGitHub python3Packages; }; ise = import ./ise.nix { inherit pkgs; }; buildUrukulCpld = {version, src}: pkgs.stdenv.mkDerivation { name = "urukul-cpld-${version}"; inherit src; - buildInputs = [(pkgs.python3.withPackages(ps: [migen]))] ++ (builtins.attrValues ise); + buildInputs = [(pkgs.python3.withPackages(ps: [artiqpkgs.migen]))] ++ (builtins.attrValues ise); phases = ["buildPhase" "installPhase"]; buildPhase = "python $src/urukul_impl.py"; installPhase = @@ -18,7 +18,7 @@ let buildMirnyCpld = {version, src}: pkgs.stdenv.mkDerivation { name = "mirny-cpld-${version}"; inherit src; - buildInputs = [(pkgs.python3.withPackages(ps: [migen]))] ++ (builtins.attrValues ise); + buildInputs = [(pkgs.python3.withPackages(ps: [artiqpkgs.migen]))] ++ (builtins.attrValues ise); phases = ["buildPhase" "installPhase"]; buildPhase = "python $src/mirny_impl.py"; installPhase = @@ -56,4 +56,17 @@ in sha256 = "0fyz0g1h1s54zdivkfqhgyhpq7gjkl9kxkcfy3104p2f889l1vgw"; }; }; + fastino-fpga = pkgs.stdenv.mkDerivation { + name = "fastino-fpga"; + src = ; + buildInputs = [(pkgs.python3.withPackages(ps: [artiqpkgs.migen artiqpkgs.misoc]))] ++ [pkgs.yosys pkgs.nextpnr pkgs.icestorm]; + phases = ["buildPhase" "installPhase"]; + buildPhase = "python $src/fastino_phy.py"; + installPhase = + '' + mkdir -p $out $out/nix-support + cp build/fastino.bin $out + echo file binary-dist $out/fastino.bin >> $out/nix-support/hydra-build-products + ''; + }; } diff --git a/hydra/artiq.nix b/hydra/artiq.nix index f1b155d..b2064da 100644 --- a/hydra/artiq.nix +++ b/hydra/artiq.nix @@ -89,7 +89,8 @@ "nixpkgs": { "type": "git", "value": "git://github.com/NixOS/nixpkgs-channels nixos-20.03", "emailresponsible": false }, "nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false }, "urukulSrc": { "type": "git", "value": "git://github.com/quartiq/urukul", "emailresponsible": false }, - "mirnySrc": { "type": "git", "value": "git://github.com/quartiq/mirny", "emailresponsible": false } + "mirnySrc": { "type": "git", "value": "git://github.com/quartiq/mirny", "emailresponsible": false }, + "fastinoSrc": { "type": "git", "value": "git://github.com/quartiq/fastino", "emailresponsible": false } } }, "zynq": {