Initial commit

This commit is contained in:
Nikolay Puzanov
2022-11-17 13:02:15 +03:00
commit a67cca5aa8
13 changed files with 361 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
TESTBENCH ?= testbench
SOURCES ?= testbench.sv
INCLUDE ?=
COMPILE_FLAGS += -DTESTBENCH -g2012
PLUSARGS = -fst
.SILENT:
all: clean run
dump: COMPILE_FLAGS += -DDUMP
dump: all
$(TESTBENCH).vvp: $(SOURCES)
iverilog $(COMPILE_FLAGS) $(INCLUDE) -s $(TESTBENCH) -o $(TESTBENCH).vvp $(SOURCES)
run: $(TESTBENCH).vvp
vvp $(TESTBENCH).vvp $(PLUSARGS)
preprocess: $(SORCES)
iverilog -E $(COMPILE_FLAGS) $(INCLUDE) -s $(TESTBENCH) -o $(TESTBENCH)_preprocessed.sv $(SOURCES)
clean:
rm -rf *.vvp
rm -rf *.fst
rm -rf *.vcd
rm -rf *.csv

View File

@@ -0,0 +1,9 @@
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
iverilog-latest = callPackage /etc/nixos/programs/iverilog-latest.nix {};
in
mkShell {
packages = [ iverilog-latest gnumake ];
}

View File

@@ -0,0 +1,5 @@
{ pkgs ? import <nixpkgs> {} }:
with pkgs; mkShell {
packages = [ verilog gnumake ];
}

View File

@@ -0,0 +1,13 @@
`timescale 1ps/1ps
/* verilator lint_off DECLFILENAME */
/* verilator lint_off MULTITOP */
/* verilator lint_off STMTDLY */
/* verilator lint_off INFINITELOOP */
/* verilator lint_off INITIALDLY */
module testbench;
initial begin
$finish;
end
endmodule