mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-23 13:47:13 -04:00
93 lines
2.3 KiB
Makefile
93 lines
2.3 KiB
Makefile
# Copyright 2024 Thales DIS France SAS
|
|
# Licensed under the Solderpad Hardware Licence, Version 2.1 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
|
# You may obtain a copy of the License at https://solderpad.org/licenses/
|
|
#
|
|
# Makefile for Spyglass lint
|
|
#
|
|
# Original Author: Asmaa Kassimi (asmaa.kassimi@external.thalesgroup.com) - Thales
|
|
#
|
|
|
|
## Define variables
|
|
|
|
# Top design
|
|
TOP= cva6
|
|
|
|
# root path
|
|
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
|
|
root-dir := $(dir $(mkfile_path))
|
|
|
|
# Relevent synthesis and simulation scripts/Makefiles must set the shell
|
|
# ENV variable CVA6_REPO_DIR.
|
|
|
|
ifndef CVA6_REPO_DIR
|
|
$(warning must set CVA6_REPO_DIR to point at the root of CVA6 sources -- doing it for you...)
|
|
export CVA6_REPO_DIR=$(abspath $(root-dir)../)
|
|
endif
|
|
|
|
ifndef DV_TARGET
|
|
$(error must set DV_TARGET to indicate CVA6 target to use)
|
|
endif
|
|
|
|
HPDCACHE_DIR=${CVA6_REPO_DIR}/core/cache_subsystem/hpdcache/
|
|
|
|
HPDCACHE_TARGET_CFG=${CVA6_REPO_DIR}/core/include/cva6_hpdcache_default_config_pkg.sv
|
|
|
|
FLIST_CVA6=${CVA6_REPO_DIR}/core/Flist.cva6
|
|
|
|
# Export List
|
|
EXPORT_LIST= CVA6_REPO_DIR=$(CVA6_REPO_DIR) TARGET_CFG=$(DV_TARGET) HPDCACHE_TARGET_CFG=$(HPDCACHE_TARGET_CFG) HPDCACHE_DIR=$(HPDCACHE_DIR)
|
|
|
|
# Use Spyglass design_read and lint_check commands, other commands could be added to check cdc, sdc and dft
|
|
|
|
design_read: run_checkvar
|
|
@echo "Building for $(DV_TARGET)"
|
|
@export ${EXPORT_LIST}; aipk_read -top=$(TOP) -srcfile=$(FLIST_CVA6)
|
|
|
|
lint_check: run_checkvar
|
|
@export ${EXPORT_LIST}; aipk_run -top=$(TOP) -goals=lint_rtl
|
|
|
|
gui: run_checkvar
|
|
aipk_run -top=$(TOP) -gui&
|
|
|
|
show_goals:
|
|
aipk_run -showgoals -top=$(TOP) | tee showgoals.log
|
|
|
|
open_docs:
|
|
firefox ${SPYGLASS_HOME}/htmlhelp/index.html
|
|
|
|
all: run_checkvar
|
|
make design_read
|
|
make lint_check
|
|
make gui
|
|
|
|
# clean logs
|
|
|
|
clean:
|
|
@\rm -rf *.log
|
|
|
|
run_checkvar:
|
|
ifeq (,$(TOP))
|
|
@echo "Variable TOP is undefined...EXITING THE RUN"
|
|
@exit 2
|
|
endif
|
|
ifeq (,$(CVA6_REPO_DIR))
|
|
@echo "Variable CVA6_REPO_DIR is undefined...EXITING THE RUN"
|
|
@exit 2
|
|
endif
|
|
ifeq (,$(HPDCACHE_DIR))
|
|
@echo "Variable HPDCACHE_DIR is undefined..."
|
|
endif
|
|
ifeq (,$(HPDCACHE_TARGET_CFG))
|
|
@echo "Variable HPDCACHE_TARGET_CFG is undefined..."
|
|
endif
|
|
ifeq (,$(TARGET_CFG))
|
|
@echo "Variable TARGET_CFG is undefined..."
|
|
endif
|
|
ifeq (,$(FLIST_CVA6))
|
|
@echo "Variable FLIST_CVA6 is undefined..."
|
|
endif
|
|
|
|
|
|
|