Include Litex dependency
[soc.git] / nix / ilang.nix
1 { version, litexPkgs }:
2
3 { stdenv, python3Packages, yosys, libresoc-verilog }:
4
5 stdenv.mkDerivation {
6 pname = "libresoc.il";
7 inherit version;
8
9 src = ../src/soc/litex/florent;
10
11 strictDeps = true;
12
13 nativeBuildInputs = (with python3Packages; [
14 python migen
15 ]) ++ (with litexPkgs; [ litex litedram liteeth liteiclink litescope litesdcard ]);
16
17 postPatch = ''
18 patchShebangs --build .
19 '';
20
21 configurePhase = "true";
22
23 buildPhase = ''
24 runHook preBuild
25 cp ${libresoc-verilog} libresoc/libresoc.v
26 ./ls180soc.py --build --platform=ls180sram4k --num-srams=2 --srams4k
27 runHook postBuild
28 '';
29
30 installPhase = ''
31 runHook preInstall
32 mkdir $out
33 mv build/ls180sram4k/gateware/ls180sram4k.v $out/ls180.v
34 mv build/ls180sram4k/gateware/mem.init $out
35 mv build/ls180sram4k/gateware/mem_1.init $out
36 mv libresoc/libresoc.v $out
37 mv libresoc/SPBlock_512W64B8W.v $out
38 runHook postInstall
39 '';
40
41 fixupPhase = "true";
42 }