catalyst-n1 / Makefile
mrwabbit's picture
Initial upload: Catalyst N1 open source neuromorphic processor RTL
e4cdd5f verified
# Neuromorphic Chip - Build & Simulation Makefile
# Usage:
# make sim - Compile and run simulation
# make waves - Open waveform viewer
# make synth - Synthesize with Yosys (gate-level)
# make clean - Clean build artifacts
# Source files
RTL_DIR = rtl
TB_DIR = tb
SIM_DIR = sim
RTL_SRC = $(RTL_DIR)/lif_neuron.v $(RTL_DIR)/synapse.v $(RTL_DIR)/neuron_core.v
TB_SRC = $(TB_DIR)/tb_neuron_core.v
# Simulation
SIM_OUT = $(SIM_DIR)/neuron_core_sim
VCD_OUT = $(SIM_DIR)/neuron_core.vcd
.PHONY: sim waves synth clean
sim: $(RTL_SRC) $(TB_SRC)
@mkdir -p $(SIM_DIR)
iverilog -o $(SIM_OUT) -I $(RTL_DIR) $(RTL_SRC) $(TB_SRC)
cd $(SIM_DIR) && vvp ../$(SIM_OUT)
waves: $(VCD_OUT)
gtkwave $(VCD_OUT) &
synth:
@mkdir -p synth
yosys -p "read_verilog $(RTL_SRC); synth -top neuron_core; stat; write_json synth/neuron_core.json" 2>&1 | tail -30
clean:
rm -rf $(SIM_DIR)/*.vcd $(SIM_DIR)/neuron_core_sim synth/*.json