@@ -2,8 +2,9 @@ ROOT_DIR = $(abspath ../../)
2
2
SCRIPTS_DIR = $(ROOT_DIR ) /scripts
3
3
include $(SCRIPTS_DIR ) /Makefile.base
4
4
LOCALSRCDIR = $(ROOT_DIR ) /src:$(ROOT_DIR ) /src/includes
5
- LIBSRCDIR = $(ROOT_DIR ) /lib/blue-wrapper/src:$(ROOT_DIR ) /lib/blue-crc/src
6
- CRC_TAB_SCRIPT = $(ROOT_DIR ) /lib/blue-crc/scripts/gen_crc_tab.py
5
+ LIB_CRC_DIR = $(ROOT_DIR ) /lib/blue-crc
6
+ LIBSRCDIR = $(ROOT_DIR ) /lib/blue-wrapper/src:$(LIB_CRC_DIR ) /src
7
+ CRC_TAB_SCRIPT = $(LIB_CRC_DIR ) /scripts/gen_crc_tab.py
7
8
BSV_DIR = ../common/bsv
8
9
9
10
# Design Configurations
@@ -13,15 +14,15 @@ BSV_DIR = ../common/bsv
13
14
# SUPPORT_RDMA: False - Disable, True - Enable
14
15
QSFP_IDX = 1
15
16
ENABLE_CMAC_RSFEC = 1
16
- # ENABLE_ARP_PROCESS = 0
17
+ ENABLE_BYPASS_MODE = 1
17
18
ENABLE_DEBUG_MODE = 1
18
- SUPPORT_RDMA ?= False
19
+ SUPPORT_RDMA ?= True
19
20
20
21
MACROFLAGS = -D IS_SUPPORT_RDMA=$(SUPPORT_RDMA )
21
22
22
23
# Pass arguments to vivado
23
24
export PART = xcvu13p-fhgb2104-2-i
24
- export BUILD_TOP = XdmaUdpCmacWrapper
25
+ export BUILD_TOP = XdmaUdpCmacWrapper512
25
26
26
27
# # Directories and Files
27
28
export DIR_VLOG = ./verilog
@@ -45,7 +46,7 @@ export DEBUG_PROBES_EN = 1
45
46
export TARGET_CLOCKS = xdma_axi_aclk
46
47
export MAX_NET_PATH_NUM = 1000
47
48
48
- BSV_MODULES = CmacRecvMonitor CmacSendMonitor XdmaUdpIpEthCmacRxTx
49
+ BSV_MODULES = CmacRecvMonitor CmacSendMonitor XdmaUdpIpEthCmacRxTx XdmaUdpIpEthBypassCmacRxTx
49
50
IP = xdma clk_wiz cmac_mon_ila axis512_mon_ila
50
51
ifeq ($(ENABLE_CMAC_RSFEC ) , 1)
51
52
IP += cmac_rsfec_q$(QSFP_IDX )
@@ -55,19 +56,24 @@ endif
55
56
XDC = common pciex16 qsfp$(QSFP_IDX )
56
57
57
58
58
- table :
59
+ mem_init :
59
60
ifeq ($(SUPPORT_RDMA ) , True)
61
+ mkdir -p $(DIR_MEM_CONFIG)
60
62
python3 $(CRC_TAB_SCRIPT) $(SCRIPTS_DIR)/crc_ieee_32_1024.json $(DIR_MEM_CONFIG)
61
63
endif
62
64
63
65
verilog : $(BSV_MODULES )
64
66
cp ../common/verilog/UdpCmacRxTxWrapper.v $(DIR_VLOG_GEN )
67
+ ifeq ($(SUPPORT_RDMA ) , True)
68
+ find $(LIB_CRC_DIR)/lib/primitives/ -name "*.v" -exec cp {} $(DIR_VLOG_GEN) \;
69
+ endif
65
70
$(BSV_MODULES ) :
66
71
mkdir -p $(BUILDDIR )
67
72
mkdir -p $(DIR_VLOG_GEN )
68
73
bsc -elab $(VERILOGFLAGS ) $(DIRFLAGS ) $(MISCFLAGS ) $(RECOMPILEFLAGS ) $(RUNTIMEFLAGS ) $(TRANSFLAGS ) $(MACROFLAGS ) -g mk$@ $(BSV_DIR ) /$@ .bsv
69
74
bluetcl $(SCRIPTS_DIR ) /listVlogFiles.tcl -bdir $(BUILDDIR ) -vdir $(BUILDDIR ) mk$@ mk$@ | grep -i ' \.v' | xargs -I {} cp {} $(DIR_VLOG_GEN )
70
75
76
+
71
77
ip : $(IP )
72
78
$(IP ) :
73
79
@mkdir -p $(DIR_IP_TCL )
87
93
ifeq ($(ENABLE_DEBUG_MODE ) , 1)
88
94
@echo "\`define ENABLE_DEBUG_MODE" >> $(CONFIG_FILE)
89
95
endif
96
+ ifeq ($(ENABLE_BYPASS_MODE ) , 1)
97
+ @echo "\`define ENABLE_BYPASS_MODE" >> $(CONFIG_FILE)
98
+ endif
90
99
91
- build : table verilog ip xdc config
100
+ build : mem_init verilog ip xdc config
92
101
vivado -mode batch -source ../common/tcl/non_proj_build.tcl 2>&1 | tee ./build_run.log
93
102
94
103
clean :
0 commit comments