add piston nix pkg for iverilog
This commit is contained in:
parent
93cf2319f3
commit
61bac60830
|
@ -1,17 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
PREFIX=$(realpath $(dirname $0))
|
|
||||||
|
|
||||||
mkdir -p build/iverilog
|
|
||||||
cd build/iverilog
|
|
||||||
curl -L https://github.com/steveicarus/iverilog/archive/refs/tags/v11_0.tar.gz -o iverilog.tar.gz
|
|
||||||
tar xzf iverilog.tar.gz --strip-components=1
|
|
||||||
|
|
||||||
chmod +x ./autoconf.sh
|
|
||||||
./autoconf.sh
|
|
||||||
./configure --prefix="$PREFIX"
|
|
||||||
make -j$(nproc)
|
|
||||||
make install -j$(nproc)
|
|
||||||
|
|
||||||
cd ../../
|
|
||||||
rm -rf build
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
rename 's/$/\.v/' "$@" # Add .v extension
|
|
||||||
iverilog *.v
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
export PATH=$PWD/bin:$PATH
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"language": "iverilog",
|
|
||||||
"version": "11.0.0",
|
|
||||||
"aliases": ["verilog", "vvp"]
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
shift
|
|
||||||
vvp a.out "$@"
|
|
|
@ -1,7 +0,0 @@
|
||||||
module hello;
|
|
||||||
initial
|
|
||||||
begin
|
|
||||||
$display("OK");
|
|
||||||
$finish ;
|
|
||||||
end
|
|
||||||
endmodule
|
|
|
@ -41,4 +41,5 @@ args: {
|
||||||
"julia" = import ./julia.nix args;
|
"julia" = import ./julia.nix args;
|
||||||
"jelly" = import ./jelly.nix args;
|
"jelly" = import ./jelly.nix args;
|
||||||
"openjdk-java" = import ./openjdk-java.nix args;
|
"openjdk-java" = import ./openjdk-java.nix args;
|
||||||
|
"iverilog" = import ./iverilog.nix args;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
{pkgs, piston, ...}:
|
||||||
|
let
|
||||||
|
pkg = pkgs.verilog;
|
||||||
|
in piston.mkRuntime {
|
||||||
|
language = "iverilog";
|
||||||
|
version = pkg.version;
|
||||||
|
|
||||||
|
aliases = [
|
||||||
|
"verilog"
|
||||||
|
"vvp"
|
||||||
|
];
|
||||||
|
|
||||||
|
compile = ''
|
||||||
|
rename 's/$/\.v/' "$@" # Add .v extension
|
||||||
|
${pkg}/bin/iverilog *.v
|
||||||
|
'';
|
||||||
|
|
||||||
|
run = ''
|
||||||
|
shift
|
||||||
|
${pkg}/bin/vvp a.out "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
tests = [
|
||||||
|
(piston.mkTest {
|
||||||
|
files = {
|
||||||
|
"test.verilog" = ''
|
||||||
|
module ok;
|
||||||
|
initial
|
||||||
|
begin
|
||||||
|
$display("OK");
|
||||||
|
$finish ;
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
args = [];
|
||||||
|
stdin = "";
|
||||||
|
packages = [];
|
||||||
|
main = "test.verilog";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in New Issue