This adds support for different widths on each port and adds the ability to disable routes within the crossbar. Both of these features allow for FPGA resource savings. These features are controlled by the new parameters PORT_WIDTHS and ENABLED_PATHS. Unused routes will have the associated logic removed. A new testbench adds support for testing different port widths and disabled routes. It also adds more rigrous testing of the crossbar. Original-commit: 18bf81d91055b68765c44ca86a2cbcfa9704c749
55 lines
1.7 KiB
Makefile
55 lines
1.7 KiB
Makefile
#
|
|
# Copyright 2023 Ettus Research, a National Instruments Brand
|
|
#
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
#
|
|
|
|
#-------------------------------------------------
|
|
# Top-of-Makefile
|
|
#-------------------------------------------------
|
|
# Define BASE_DIR to point to the "top" dir
|
|
BASE_DIR = $(abspath ../../../../top)
|
|
# Include viv_sim_preamble after defining BASE_DIR
|
|
include $(BASE_DIR)/../tools/make/viv_sim_preamble.mak
|
|
|
|
#-------------------------------------------------
|
|
# Design Specific
|
|
#-------------------------------------------------
|
|
# Define part using PART_ID (<device>/<package>/<speedgrade>)
|
|
ARCH = kintex7
|
|
PART_ID = xc7k410t/ffg900/-2
|
|
|
|
# Include makefiles and sources for the DUT and its dependencies
|
|
include $(BASE_DIR)/../lib/axi/Makefile.srcs
|
|
include $(BASE_DIR)/../lib/control/Makefile.srcs
|
|
include $(BASE_DIR)/../lib/fifo/Makefile.srcs
|
|
include $(BASE_DIR)/../lib/rfnoc/crossbar/Makefile.srcs
|
|
include $(BASE_DIR)/../lib/rfnoc/core/Makefile.srcs
|
|
include $(BASE_DIR)/../lib/rfnoc/utils/Makefile.srcs
|
|
|
|
DESIGN_SRCS = $(abspath \
|
|
$(AXI_SRCS) \
|
|
$(FIFO_SRCS) \
|
|
$(CONTROL_LIB_SRCS) \
|
|
$(RFNOC_XBAR_SRCS) \
|
|
$(RFNOC_CORE_SRCS) \
|
|
$(RFNOC_UTIL_SRCS) \
|
|
)
|
|
|
|
#-------------------------------------------------
|
|
# Testbench Specific
|
|
#-------------------------------------------------
|
|
# Define only one toplevel module
|
|
SIM_TOP = chdr_crossbar_nxn_all_tb
|
|
SIM_SRCS = \
|
|
$(abspath chdr_crossbar_nxn_tb.sv) \
|
|
$(abspath chdr_crossbar_nxn_all_tb.sv) \
|
|
|
|
#-------------------------------------------------
|
|
# Bottom-of-Makefile
|
|
#-------------------------------------------------
|
|
# Include all simulator specific makefiles here
|
|
# Each should define a unique target to simulate
|
|
# e.g. xsim, vsim, etc and a common "clean" target
|
|
include $(BASE_DIR)/../tools/make/viv_simulator.mak
|