Litex work
[soc.git] / nix / ls180.nix
1 { version }:
2
3 { stdenv, python3Packages, yosys, libresoc-pre-litex, libresoc-pinmux }:
4
5 stdenv.mkDerivation {
6 pname = "libresoc-ls1804k";
7 inherit version;
8
9 src = ../src/soc/litex/florent;
10
11 nativeBuildInputs = with python3Packages; [
12 python libresoc-soc litex-unchecked litedram-unchecked liteeth-unchecked liteiclink-unchecked litescope-unchecked litesdcard-unchecked
13 ];
14
15 postPatch = ''
16 patchShebangs --build .
17 '';
18
19 configurePhase = "true";
20
21 buildPhase = ''
22 runHook preBuild
23 export PINMUX="$(mktemp -d)"
24 ln -s ${libresoc-pinmux} "$PINMUX/ls180"
25 cp ${libresoc-pre-litex} 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 }