calyx 0.7.1

Compiler Infrastructure for Hardware Accelerator Generation
# Calyx compiler
calyx-base = /Users/rachitnigam/git/calyx
calyx-exe = $calyx-base/target/debug/calyx
rule calyx
  command = $calyx-exe -l $calyx-base -b $backend $args $in > $out

# RTL simulation
python = python3
json_dat = $python /Users/rachitnigam/git/calyx/fud2/rsrc/json-dat.py
rule hex-data
  command = $json_dat --from-json $in $out
rule json-data
  command = $json_dat --to-json $out $in
testbench = /Users/rachitnigam/git/calyx/fud2/rsrc/tb.sv
sim_data = tests/correctness/seq-mem-d4-add.futil.data
datadir = sim_data
build $datadir: hex-data $sim_data
rule sim-run
  command = ./$bin +DATA=$datadir +CYCLE_LIMIT=$cycle-limit $args > $out
cycle-limit = 500000000

# Verilator
verilator = verilator
cycle-limit = 500000000
rule verilator-compile
  command = $verilator $in $testbench --trace --binary --top-module TOP -fno-inline -Mdir $out-dir
rule cp
  command = cp $in $out

# build targets
build seq-mem-d4-add.sv: calyx tests/correctness/seq-mem-d4-add.futil
  backend = verilog
build verilator-out/VTOP: verilator-compile seq-mem-d4-add.sv
  out-dir = verilator-out
build seq-mem-d4-add.exe: cp verilator-out/VTOP
build sim.log: sim-run seq-mem-d4-add.exe $datadir
  bin = seq-mem-d4-add.exe
  args = +NOTRACE=1
build seq-mem-d4-add.json: json-data $datadir sim.log

default seq-mem-d4-add.json