HeavyX/examples/helloworld_ecp5.nix

27 lines
693 B
Nix
Raw Normal View History

2019-04-26 18:21:47 +08:00
{ pkgs ? import <nixpkgs> {}
, hx ? import ../default.nix { inherit pkgs; }}:
let
symbiflowInput = pkgs.runCommand "helloworld-symbiflow-input" {
buildInputs = [ (pkgs.python3.withPackages(ps: [hx.nmigen hx.heavycomps])) hx.yosys ];
}
''
mkdir $out
python ${./helloworld_ecp5.py} > $out/top.il
cat > $out/top.lpf << EOF
2019-04-27 14:39:34 +08:00
LOCATE COMP "clk100" SITE "P3";
IOBUF PORT "clk100" IO_TYPE=LVDS;
LOCATE COMP "serial_tx" SITE "A11";
2019-04-27 14:39:34 +08:00
IOBUF PORT "serial_tx" IO_TYPE=LVCMOS33;
2019-04-26 18:21:47 +08:00
EOF
2019-05-06 22:44:58 +08:00
echo -n "--um-45k --speed 8 --package CABGA381" > $out/device
2019-04-26 18:21:47 +08:00
'';
in
hx.symbiflow.buildBitstream {
name = "helloworld-bitstream";
src = symbiflowInput;
}