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.

79 lines
2.6 KiB

2 years ago
2 years ago
  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. # NOTE: the version of abc used here is synchronized with
  15. # the one in the yosys Makefile of the version above;
  16. # keep them the same for quality purposes.
  17. (super.fetchFromGitHub {
  18. owner = "berkeley-abc";
  19. repo = "abc";
  20. rev = "3709744c60696c5e3f4cc123939921ce8107fe04";
  21. sha256 = "18a9cjng3qfalq8m9az5ck1y5h4l2pf9ycrvkzs9hn82b1j7vrax";
  22. name = "yosys-abc";
  23. })
  24. ];
  25. buildInputs = oa.buildInputs ++ [ super.zlib ];
  26. });
  27. nextpnr = super.nextpnr.overrideAttrs(oa: rec {
  28. name = "nextpnr-${version}";
  29. version = "2019-07-22";
  30. src = super.fetchFromGitHub {
  31. owner = "yosyshq";
  32. repo = "nextpnr";
  33. rev = "ba050c21b94e816f9dd69f69b23ad5105858f401";
  34. sha256 = "1wxsv1lcbi6bvv5vryvjz9mj530iva85wh6b6pvnfff2i4yc3p9q";
  35. };
  36. buildInputs = oa.buildInputs ++ [ super.eigen ];
  37. cmakeFlags = oa.cmakeFlags ++ [ "-DUSE_OPENMP=ON" ];
  38. });
  39. icestorm = super.icestorm.overrideAttrs(oa: rec {
  40. name = "icestorm-${version}";
  41. version = "2019-07-03";
  42. src = super.fetchFromGitHub {
  43. owner = "cliffordwolf";
  44. repo = "icestorm";
  45. rev = "792cef084a751e32f541332feb4905f8e49e9943";
  46. sha256 = "115qmgcz5ndw4z8ivk1cdlz6i2dzhq195gr8y4fjrjcb5jlacz23";
  47. };
  48. });
  49. trellis = super.trellis.overrideAttrs(oa: rec {
  50. name = "trellis-${version}";
  51. version = "2019-07-18";
  52. srcs = [
  53. (super.fetchFromGitHub {
  54. owner = "symbiflow";
  55. repo = "prjtrellis";
  56. rev = "b27c0da5d20a4c105fe9be2b5f8d859316613f44";
  57. sha256 = "12jcs64agv5yhqq4zwjp2vd9y248608hz1gj187g1cfqrv0yc8d5";
  58. name = "trellis";
  59. })
  60. (super.fetchFromGitHub {
  61. owner = "symbiflow";
  62. repo = "prjtrellis-db";
  63. rev = "b4d626b6402c131e9a035470ffe4cf33ccbe7986";
  64. sha256 = "0k26lq6c049ja8hhqcljwjb1y5k4gcici23l2n86gyp83jr03ilx";
  65. name = "database";
  66. })
  67. ];
  68. });
  69. llvm_7 = super.llvm_7.overrideAttrs(oa: {
  70. name = oa.name + "-riscv";
  71. cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"];
  72. });
  73. rustc = super.rustc.overrideAttrs(oa: {
  74. patches = oa.patches ++ [ ./compilers/rustc-riscv32i.patch ];
  75. });
  76. rustPlatform = super.makeRustPlatform { inherit rustc; inherit (super) cargo; };
  77. }