| # |
| # //------------------------------------------------------------// |
| # // Copyright 2009-2012 Mentor Graphics Corporation // |
| # // All Rights Reserved Worldwid // |
| # // // |
| # // 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. // |
| # //------------------------------------------------------------// |
| |
| UVMC_HOME ?= .. |
| |
| UVM_LIB ?= $(UVMC_HOME)/lib/uvmc_lib |
| UVMC_LIB ?= $(UVMC_HOME)/lib/uvmc_lib |
| |
| OPT_C ?= # SystemVerilog compiler arguments |
| OPT_SC ?= # SystemC compiler arguments |
| OPT_L ?= # SystemC linker arguments |
| OPT_R ?= # Simulator (Run-time) arguments |
| |
| BITS ?= 32 |
| |
| LOG ?= questa |
| |
| VLOG = vlog -$(BITS) $(OPT_C) -sv +incdir+$(UVM_HOME)/src -L $(UVM_LIB) -L $(UVMC_LIB) +define+QUESTA |
| SCCOM = sccom -$(BITS) $(OPT_SC) -DSC_INCLUDE_DYNAMIC_PROCESSES -DQUESTA -I$(UVMC_HOME)/src/connect/sc |
| LINK = sccom -$(BITS) $(OPT_L) -link -DSC_INCLUDE_DYNAMIC_PROCESSES -lib $(UVMC_LIB) -lib work |
| VSIM = vsim -$(BITS) $(OPT_R) -c -do "run -all; quit -f" -t 1ps -L $(UVM_LIB) -L $(UVMC_LIB) -l $(LOG).log |
| |
| |
| # Internal use |
| # ------------ |
| |
| # for checking simulation results |
| |
| N_FATALS = 0 |
| N_ERRS = 0 |
| TEST_CMD ?= test |
| CHECK_LOG ?= $(LOG).log |
| |
| SC_CHECK = \ |
| @$(TEST_CMD) \( `grep -ci 'ERROR' $(CHECK_LOG)` -eq 0 \) -a \ |
| \( `grep -ci 'FATAL' $(CHECK_LOG)` -eq 0 \) |
| |
| CHECK = \ |
| @$(TEST_CMD) \( `grep -c 'UVM_ERROR : $(N_ERRS)' $(CHECK_LOG)` -eq 1 \) -a \ |
| \( `grep -c 'UVM_FATAL : $(N_FATALS)' $(CHECK_LOG)` -eq 1 \) |
| |
| |