2019-04-26 17:42:03 +08:00
|
|
|
{ pkgs }:
|
2019-06-06 17:25:11 +08:00
|
|
|
rec {
|
|
|
|
drvs = rec {
|
|
|
|
yosys = pkgs.callPackage ./eda/yosys.nix {};
|
|
|
|
symbiyosys = pkgs.symbiyosys.override { inherit yosys; };
|
|
|
|
nmigen = pkgs.callPackage ./eda/nmigen.nix { inherit yosys; };
|
|
|
|
scala-spinalhdl = pkgs.callPackage ./eda/scala-spinalhdl.nix {};
|
|
|
|
|
|
|
|
jtagtap = pkgs.callPackage ./cores/jtagtap.nix { inherit nmigen; };
|
|
|
|
minerva = pkgs.callPackage ./cores/minerva.nix { inherit nmigen; inherit jtagtap; };
|
|
|
|
vexriscv-small = pkgs.callPackage ./cores/vexriscv.nix {
|
|
|
|
inherit scala-spinalhdl;
|
|
|
|
name = "vexriscv-small";
|
|
|
|
scalaToRun = "vexriscv.demo.GenSmallAndProductive";
|
|
|
|
};
|
|
|
|
|
|
|
|
heavycomps = pkgs.callPackage ./heavycomps.nix { inherit nmigen; };
|
|
|
|
|
2019-06-08 19:25:38 +08:00
|
|
|
binutils-riscv32 = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv32"; };
|
2019-06-08 21:50:47 +08:00
|
|
|
gcc-riscv32 = pkgs.callPackage ./compilers/gcc.nix { platform = "riscv32"; platform-binutils = binutils-riscv32; };
|
2019-06-08 19:25:38 +08:00
|
|
|
binutils-riscv64 = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv64"; };
|
2019-06-08 21:50:47 +08:00
|
|
|
gcc-riscv64 = pkgs.callPackage ./compilers/gcc.nix { platform = "riscv64"; platform-binutils = binutils-riscv64; };
|
2019-06-08 21:52:33 +08:00
|
|
|
rust-riscv32i-crates = pkgs.callPackage ./compilers/rust-riscv32i-crates.nix { };
|
2019-06-06 17:25:11 +08:00
|
|
|
|
2019-06-08 19:25:38 +08:00
|
|
|
fw-helloworld = pkgs.callPackage ./firmware { inherit rust-riscv32i-crates binutils-riscv32; };
|
2019-06-06 17:25:11 +08:00
|
|
|
};
|
|
|
|
lib = {
|
|
|
|
symbiflow = import ./eda/symbiflow.nix { inherit pkgs; inherit (drvs) yosys; };
|
2019-04-26 18:21:47 +08:00
|
|
|
vivado = import ./eda/vivado.nix { inherit pkgs; };
|
2019-06-06 17:25:11 +08:00
|
|
|
};
|
|
|
|
}
|