blob: 1f52e2a961a3c21a7c224811877987c6cc0cb719 [file] [log] [blame]
# SPDX-FileCopyrightText: 2020 Efabless Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
microwatt.hex: microwatt.elf
$(POWERPC_CROSS_COMPILE)objcopy -O verilog $< $@
# to fix flash base address
sed -i 's/@F000/@0000/g' $@
%.vvp: %_tb.v microwatt.hex check-env
ifeq ($(SIM),RTL)
iverilog $(SIM_DEFINES) \
-l$(USER_PROJECT_VERILOG)/rtl/user_defines.v \
-f$(VERILOG_PATH)/includes/includes.rtl.caravel \
-f$(USER_PROJECT_VERILOG)/includes/includes.rtl.caravel_user_project \
$< -o $@
else
iverilog $(SIM_DEFINES) -DGL \
-l$(USER_PROJECT_VERILOG)/rtl/user_defines.v \
-f$(USER_PROJECT_VERILOG)/includes/includes.gl.caravel \
-f$(USER_PROJECT_VERILOG)/includes/includes.gl.caravel_user_project \
$< -o $@
endif
%.vcd: %.vvp
vvp $<
check-env:
ifndef PDK_ROOT
$(error PDK_ROOT is undefined, please export it before running make)
endif
ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)))
$(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make)
endif
clean:
rm -f microwatt.elf microwatt.hex microwatt.bin *.vvp *.vcd *.log