Next-generation FPGA SoC toolkit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.5 KiB

  1. self: super:
  2. rec {
  3. yosys = super.yosys.overrideAttrs(oa: rec {
  4. name = "yosys-${version}";
  5. version = "0.9";
  6. srcs = [
  7. (super.fetchFromGitHub {
  8. owner = "yosyshq";
  9. repo = "yosys";
  10. rev = "yosys-${version}";
  11. sha256 = "0lb9r055h8y1vj2z8gm4ip0v06j5mk7f9zx9gi67kkqb7g4rhjli";
  12. name = "yosys";
  13. })
  14. (super.fetchFromGitHub {
  15. owner = "berkeley-abc";
  16. repo = "abc";
  17. rev = "3709744c60696c5e3f4cc123939921ce8107fe04";
  18. sha256 = "18a9cjng3qfalq8m9az5ck1y5h4l2pf9ycrvkzs9hn82b1j7vrax";
  19. name = "yosys-abc";
  20. })
  21. ];
  22. buildInputs = oa.buildInputs ++ [ super.zlib ];
  23. });
  24. nextpnr = super.nextpnr.overrideAttrs(oa: rec {
  25. name = "nextpnr-${version}";
  26. version = "2019-07-22";
  27. src = super.fetchFromGitHub {
  28. owner = "yosyshq";
  29. repo = "nextpnr";
  30. rev = "ba050c21b94e816f9dd69f69b23ad5105858f401";
  31. sha256 = "1wxsv1lcbi6bvv5vryvjz9mj530iva85wh6b6pvnfff2i4yc3p9q";
  32. };
  33. buildInputs = oa.buildInputs ++ [ super.eigen ];
  34. cmakeFlags = oa.cmakeFlags ++ [ "-DUSE_OPENMP=ON" ];
  35. });
  36. icestorm = super.icestorm.overrideAttrs(oa: rec {
  37. name = "icestorm-${version}";
  38. version = "2019-07-03";
  39. src = super.fetchFromGitHub {
  40. owner = "cliffordwolf";
  41. repo = "icestorm";
  42. rev = "792cef084a751e32f541332feb4905f8e49e9943";
  43. sha256 = "115qmgcz5ndw4z8ivk1cdlz6i2dzhq195gr8y4fjrjcb5jlacz23";
  44. };
  45. });
  46. trellis = super.trellis.overrideAttrs(oa: rec {
  47. name = "trellis-${version}";
  48. version = "2019-07-18";
  49. srcs = [
  50. (super.fetchFromGitHub {
  51. owner = "symbiflow";
  52. repo = "prjtrellis";
  53. rev = "b27c0da5d20a4c105fe9be2b5f8d859316613f44";
  54. sha256 = "12jcs64agv5yhqq4zwjp2vd9y248608hz1gj187g1cfqrv0yc8d5";
  55. name = "trellis";
  56. })
  57. (super.fetchFromGitHub {
  58. owner = "symbiflow";
  59. repo = "prjtrellis-db";
  60. rev = "b4d626b6402c131e9a035470ffe4cf33ccbe7986";
  61. sha256 = "0k26lq6c049ja8hhqcljwjb1y5k4gcici23l2n86gyp83jr03ilx";
  62. name = "database";
  63. })
  64. ];
  65. });
  66. llvm_7 = super.llvm_7.overrideAttrs(oa: {
  67. name = oa.name + "-riscv";
  68. cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"];
  69. });
  70. rustc = super.rustc.overrideAttrs(oa: {
  71. patches = oa.patches ++ [ ./compilers/rustc-riscv32i.patch ];
  72. });
  73. rustPlatform = super.makeRustPlatform { inherit rustc; inherit (super) cargo; };
  74. }