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.
38 lines
1.0 KiB
38 lines
1.0 KiB
# |
|
# This file defines a development shell containing: |
|
# - hardware synthesis and simulation tools |
|
# - riscv32 cross-compiling toolchain |
|
# |
|
# Enable this shell by calling 'nix-shell' in the same directory as this file. |
|
# |
|
|
|
let |
|
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/release-25.11"; |
|
pkgs = (import nixpkgs {}).pkgsCross.riscv32-embedded; |
|
in |
|
|
|
# callPackage is needed due to https://github.com/NixOS/nixpkgs/pull/126844 |
|
pkgs.pkgsStatic.callPackage ({ pkgs }: pkgs.mkShell { |
|
|
|
# these tools run on the build platform, but are configured to target the host platform |
|
nativeBuildInputs = with pkgs; [ pkg-config file ]; |
|
|
|
# libraries needed for the host platform |
|
buildInputs = with pkgs; [ zlib ]; |
|
|
|
# tools running on build platform and target the build platform |
|
depsBuildBuild = with pkgs; [ |
|
python3 |
|
gcc |
|
yosys |
|
sby |
|
nextpnr |
|
arachne-pnr |
|
icestorm |
|
z3 |
|
boolector |
|
yices |
|
iverilog |
|
verilator |
|
]; |
|
}) {} |