OpenCores
URL https://opencores.org/ocsvn/plb2wbbridge/plb2wbbridge/trunk

Subversion Repositories plb2wbbridge

[/] [plb2wbbridge/] [trunk/] [systems/] [dev_system_sim/] [simulation/] [scripts/] [Makefile] - Rev 2

Compare with Previous | Blame | View Log


CUR_DIR=$(shell pwd)
SIM_DIR=$(CUR_DIR)/..
XPS_PROJ_DIR=$(CUR_DIR)/../..
LIB_DIR=$(CUR_DIR)/../../../EDK_Libs

PLB2WB_LIB_DIR=$(LIB_DIR)/WishboneIPLib/pcores/plb2wb_bridge_v1_00_a
OCRAM_LIB_DIR=$(LIB_DIR)/WishboneIPLib/pcores/testram_v1_00_a
WB_LIB_DIR=$(LIB_DIR)/WishboneIPLib/pcores/wb_conbus_v1_00_a

# VHDL compile flags
VHDL_CFLAGS=-novopt -93 -error -check_synthesis -defercheck -deferSubpgmCheck -rangecheck 

## Uncomment this, if you are at hochschule pforzheim in a pc-pool. 
#  (Check the paths in common/Makefile  ->> vmap entries)
#ENVIRONMENT=HSP


ifeq ( $(ENVIRONMENT), "HSP" )
VMAP=                                                                                                                                                                                                                                           \
        vmap -c;                                                                                                                                                                                                                                        \
        vmap secureip 'c:/Programme/CAEE/ISE_Lib/secureip/';                                                                                                            \
        vmap simprim 'c:/Programme/CAEE/ISE_Lib/simprim/';                                                                                                                      \
        vmap simprims_ver 'c:/Programme/CAEE/ISE_Lib/simprims_ver/';                                                                                    \
        vmap unisim 'c:/Programme/CAEE/ISE_Lib/unisim/';                                                                                                                        \
        vmap unisims_ver 'c:/Programme/CAEE/ISE_Lib/unisims_ver/';                                                                                              \
        vmap xilinxcorelib 'c:/Programme/CAEE/ISE_Lib/XilinxCoreLib/';                                                                                  \
        vmap xilinxcorelib_ver 'c:/Programme/CAEE/ISE_Lib/XilinxCoreLib_ver/';                                                          \
        vmap proc_common_v3_00_a 'c:/Programme/CAEE/EDK_Lib/edk/proc_common_v3_00_a/';                                  \
        vmap plb_v46_v1_04_a 'c:/Programme/CAEE/EDK_Lib/edk/plb_v46_v1_04_a/';                                                          \
        vmap bfm_synch_v1_00_a 'c:/Programme/CAEE/EDK_Lib/edk/bfm_synch_v1_00_a/';                                                      \
        vmap plbv46_bfm 'c:/Programme/CAEE/EDK_Lib/edk/plbv46_bfm/';                                                                                    \
        vmap plbv46_master_bfm_v1_00_a 'c:/Programme/CAEE/EDK_Lib/edk/plbv46_master_bfm_v1_00_a/';      \
        vmap plbv46_monitor_bfm_v1_00_a 'c:/Programme/CAEE/EDK_Lib/edk/plbv46_monitor_bfm_v1_00_a/';    \
        vmap plbv46_slave_bfm_v1_00_a 'c:/Programme/CAEE/EDK_Lib/edk/plbv46_slave_bfm_v1_00_a/';                \
        vmap plbv46_slave_single_v1_01_a 'c:/Programme/CAEE/EDK_Lib/edk/plbv46_slave_single_v1_01_a/';

else
VMAP=                                                                                                                                                                                                                                           \
        vmap -c;                                                                                                                                                                                                                                        \
        vmap unisim '/opt/Xilinx/11.1/compxlib/unisim/';                                                                                                                        \
        vmap unisims_ver '/opt/Xilinx/11.1/compxlib/unisims_ver/';                                                                                              \
        vmap proc_common_v3_00_a '/opt/Xilinx/11.1/compxlib/edk/proc_common_v3_00_a/';                                  \
        vmap plb_v46_v1_04_a '/opt/Xilinx/11.1/compxlib/edk/plb_v46_v1_04_a/';                                                          \
        vmap bfm_synch_v1_00_a '/opt/Xilinx/11.1/compxlib/edk/bfm_synch_v1_00_a/';                                                      \
        vmap plbv46_bfm '/opt/Xilinx/11.1/compxlib/edk/plbv46_bfm/';                                                                                    \
        vmap plbv46_master_bfm_v1_00_a '/opt/Xilinx/11.1/compxlib/edk/plbv46_master_bfm_v1_00_a/';      \
        vmap plbv46_monitor_bfm_v1_00_a '/opt/Xilinx/11.1/compxlib/edk/plbv46_monitor_bfm_v1_00_a/';    \
        vmap plbv46_slave_bfm_v1_00_a '/opt/Xilinx/11.1/compxlib/edk/plbv46_slave_bfm_v1_00_a/';                \
        vlib work;                                                                                                                                                                                                                              \
        vmap work work;                                                                                                                                                                                                         \
        vlib plb2wb_bridge_v1_00_a;                                                                                                                                                                             \
        vmap plb2wb_bridge_v1_00_a plb2wb_bridge_v1_00_a;
endif


###########
ONCHIP_RAM_TARGET=$(CUR_DIR)/testram_*/testram/_primary.dat
WB_TARGET=$(CUR_DIR)/wb_conbus_*/wb_conbus_*/_primary.dat
WORK_TARGET=$(CUR_DIR)/work/system/_primary.dat
PLB2WB_BRIDGE_TARGET=$(CUR_DIR)/plb2wb_bridge_*/plb2wb_bridge/_primary.dat
###########



###########
PLB2WB_BRIDGE_SRC=$(PLB2WB_LIB_DIR)/hdl/vhdl/*.vhd      \
                ../testbench/plb2wb_amu_tb.vhd 

ONCHIP_RAM_SRC=$(OCRAM_LIB_DIR)/hdl/vhdl/testram.vhd
WB_SRC=$(WB_LIB_DIR)/hdl/verilog/*.v
###########





WORK_SRC= $(SIM_DIR)/behavioral/mb_plb_wrapper.vhd                                      \
                         $(SIM_DIR)/behavioral/plb_bfm_master_32_wrapper.vhd            \
                         $(SIM_DIR)/behavioral/plb_bfm_monitor_wrapper.vhd                      \
                         $(SIM_DIR)/behavioral/plb_bfm_slave_wrapper.vhd                        \
                         $(SIM_DIR)/behavioral/plb_bfm_synch_wrapper.vhd                        \
                         $(SIM_DIR)/behavioral/system.vhd                                                               \
                         $(SIM_DIR)/testbench/system_tb.vhd

VHDL_BRIDGE_SRC=$(SIM_DIR)/behavioral/plb2wb_bridge_0_wrapper.vhd


#
#       Generate Simulation HDL Files
#   (This is the same than  XPS-Gui->Simulation->Generate Simulation HDL Files)
#
$(WORK_SRC): $(XPS_PROJ_DIR)/system.mhs
        simgen $(XPS_PROJ_DIR)/system.mhs       -lang vhdl                                      \
                                                                                                        -p virtex5                              \
                                                                                                        -m beh                                          \
                                                                                                        -od $(XPS_PROJ_DIR)/    \
                                                                                                        -s mti                                          \
                                                                                                        -lp $(LIB_DIR)                  

#
#
#       Generate the modelsim.ini file and working directory
#               after this, modelsim.ini contains the library mappings
#
modelsim.ini:
        $(VMAP)



#
# Compile the Bus Functional Model script file
#   transfers.bfl: is written in PLB Bus Functional Language
#     (see $XILINX_EDK/third_party/doc/PlbToolkit.pdf )
#   xilbfc:     Bus functional compiler  (perl script)
#

transfers.do: transfers.bfl
        xilbfc transfers.bfl

#
#       Compile the vhdl-sources with modelsim vhdl compiler
#
$(WORK_TARGET): $(WORK_SRC)
        vlib work;                              \
        vmap work work;         \
        vlog -novopt -93 -work work  "../behavioral/wb_conbus_0_wrapper.v";                     \
        vcom $(VHDL_CFLAGS) -work work \
                              "../behavioral/onchip_ram_0_wrapper.vhd"        \
                              "../behavioral/onchip_ram_1_wrapper.vhd"        \
                              "../behavioral/onchip_ram_2_wrapper.vhd"        \
                              "../behavioral/onchip_ram_3_wrapper.vhd"        \
                              "../behavioral/mb_plb_wrapper.vhd"              \
                              "../behavioral/plb_bfm_master_32_wrapper.vhd"   \
                              "../behavioral/plb_bfm_master_64_wrapper.vhd"   \
                              "../behavioral/plb_bfm_master_128_wrapper.vhd"   \
                              "../behavioral/plb_bfm_monitor_wrapper.vhd"     \
                              "../behavioral/plb_bfm_slave_wrapper.vhd"       \
                              "../behavioral/plb_bfm_synch_wrapper.vhd"       \
                              "../behavioral/plb2wb_bridge_0_wrapper.vhd"     \
                              "../behavioral/system.vhd"                      \
                              "../testbench/system_tb.vhd"


$(PLB2WB_BRIDGE_TARGET): $(PLB2WB_BRIDGE_SRC) 
        vlib plb2wb_bridge_v1_00_a;     
        vmap plb2wb_bridge_v1_00_a plb2wb_bridge_v1_00_a;
        vcom $(VHDL_CFLAGS) -work plb2wb_bridge_v1_00_a                                                                                                                 \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_pkg.vhd"                             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_short_impulse.vhd"                           \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_cc_4.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_ic_4.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_cc_3.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_ic_3.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_cc_2.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_ic_2.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_cc_1.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr_ic_1.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_adr.vhd"                               \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_rdat_cc_32.vhd"                        \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_rdat_ic_32.vhd"                        \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_rdat.vhd"                              \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_wdat_cc_32.vhd"                        \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_wdat_ic_32.vhd"                        \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_wdat.vhd"                              \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb.vhd"                          \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_ic_4.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_cc_4.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_ic_3.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_cc_3.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_ic_2.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_cc_2.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_ic_1.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2plb_cc_1.vhd"             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2wb.vhd"                           \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2wb_ic.vhd"                        \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/fifo_stat2wb_cc.vhd"                        \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_fifo.vhd"                            \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_stu.vhd"                             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_tcu.vhd"                             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_amu.vhd"                             \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_rbuf.vhd"                            \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_wbuf.vhd"                            \
        "$(PLB2WB_LIB_DIR)/hdl/vhdl/plb2wb_bridge.vhd"



$(ONCHIP_RAM_TARGET): $(ONCHIP_RAM_SRC) 
        vlib testram_v1_00_a; 
        vmap testram_v1_00_a testram_v1_00_a; 
        vcom $(VHDL_CFLAGS) -work testram_v1_00_a $(OCRAM_LIB_DIR)/hdl/vhdl/testram.vhd


$(WB_TARGET): $(WB_SRC) 
        vlib wb_conbus_v1_00_a; 
        vmap wb_conbus_v1_00_a wb_conbus_v1_00_a; 
        vlog -novopt -93 -work wb_conbus_v1_00_a "$(WB_LIB_DIR)/hdl/verilog/wb_conbus_arb.v"       \
                                              "$(WB_LIB_DIR)/hdl/verilog/wb_conbus_top.v"       \
                                           "$(WB_LIB_DIR)/hdl/verilog/wb_conbus_wrapper.v"



compile: modelsim.ini $(ONCHIP_RAM_TARGET) $(WORK_TARGET) $(PLB2WB_BRIDGE_TARGET) $(WB_TARGET)

sim: modelsim.ini transfers.do $(ONCHIP_RAM_TARGET) $(WORK_TARGET) $(PLB2WB_BRIDGE_TARGET) $(WB_TARGET)
        vsim -quiet -l simulation.log -do sim.do


sim_fifo: ./plb2wb_bridge_*/plb2wb_bridge/_primary.dat
        vsim -quiet -do sim_fifo.do

sim_amu : ./plb2wb_bridge_*/plb2wb_bridge/_primary.dat 
        vsim -quiet -do sim_amu.do

sim_clk_trans: ./plb2wb_bridge_*/plb2wb_bridge/_primary.dat 
        vsim -quiet -do sim_clk_trans.do

clean:
        rm -rf work \
simgen.log \
simgen.opt \
transcript \
vsim.wlf \
modelsim.ini \
../behavioral \
xilbfc.log \
plb2wb_bridge_v1_00_a \
wb_conbus_v1_00_a \
testram_v1_00_a \
wb_conbus_v1_00_a \
bfm_synch_v1_00_a \
plb_v46_v1_04_a \
plbv46_bfm \
plbv46_master_bfm_v1_00_a \
plbv46_monitor_bfm_v1_00_a \
plbv46_slave_bfm_v1_00_a \
plbv46_slave_single_v1_01_a \
proc_common_v3_00_a \
modelsim_proj.cr.mti \
transfers.do

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.