Skip to content

Commit 0207bc4

Browse files
committed
[cocotb] refactor block makefiles and update wave conversion
Refactored verification/cocotb/block/*/Makefile to use shared caliptra_common.mk instead of hardcoding CALIPTRA_ROOT sources. Added interrupt.sv to block Makefiles where it was missing. Added caliptra_prim_fifo_sync.sv, caliptra_prim_fifo_sync_cnt.sv, caliptra_prim_count_pkg.sv, and caliptra_prim_count.sv to caliptra_common.mk to fix build error. Changed the default for WAVES to 0 in common.mk. Updated convert-waves2vcd in common.mk to handle both .vpd (VCS) and .fsdb (Verdi) formats, and check for fsdb2vcd in the PATH before attempting conversion. Signed-off-by: Miguel Osorio <miguelosorio@google.com>
1 parent db4a6f3 commit 0207bc4

7 files changed

Lines changed: 37 additions & 20 deletions

File tree

verification/cocotb/block/axi_adapter/Makefile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ override PLUSARGS := $(strip +FrontendBusInterface=AXI $(PLUSARGS))
1515
MODULE ?= $(subst $(space),$(comma),$(subst .py,,$(TEST_FILES)))
1616
TOPLEVEL = axi_adapter_wrapper
1717

18-
VERILOG_SOURCES = \
19-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_pkg.sv \
20-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_util_pkg.sv \
21-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_count_pkg.sv \
18+
include $(TEST_DIR)/../../caliptra_common.mk
19+
20+
VERILOG_SOURCES += \
2221
$(SRC_DIR)/i3c_pkg.sv \
2322
$(CALIPTRA_ROOT)/src/axi/rtl/axi_pkg.sv \
2423
$(CALIPTRA_ROOT)/src/axi/rtl/axi_if.sv \

verification/cocotb/block/axi_adapter_id_filter/Makefile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@ TOPLEVEL = axi_adapter_wrapper
1717
CFG_NAME = axi
1818
CFG_FILE = $(TEST_DIR)/i3c_cfg.yaml
1919

20-
VERILOG_SOURCES = \
21-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_pkg.sv \
22-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_util_pkg.sv \
23-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_count_pkg.sv \
20+
include $(TEST_DIR)/../../caliptra_common.mk
21+
22+
VERILOG_SOURCES += \
2423
$(SRC_DIR)/i3c_pkg.sv \
2524
$(CALIPTRA_ROOT)/src/axi/rtl/axi_pkg.sv \
2625
$(CALIPTRA_ROOT)/src/axi/rtl/axi_if.sv \

verification/cocotb/block/hci_queues_ahb/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ VERILOG_SOURCES += \
2626
$(SRC_DIR)/csr/I3CCSR.sv \
2727
$(SRC_DIR)/hci/ahb_if.sv \
2828
$(SRC_DIR)/hci/dxt.sv \
29+
$(SRC_DIR)/interrupt.sv \
2930
$(SRC_DIR)/hci/queues/write_queue.sv \
3031
$(SRC_DIR)/hci/queues/read_queue.sv \
3132
$(SRC_DIR)/hci/tti.sv \

verification/cocotb/block/hci_queues_axi/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ VERILOG_SOURCES += \
3232
$(SRC_DIR)/libs/axi_sub/i3c_axi_sub_wr.sv \
3333
$(SRC_DIR)/hci/axi_adapter.sv \
3434
$(SRC_DIR)/hci/dxt.sv \
35+
$(SRC_DIR)/interrupt.sv \
3536
$(SRC_DIR)/hci/queues/write_queue.sv \
3637
$(SRC_DIR)/hci/queues/read_queue.sv \
3738
$(SRC_DIR)/hci/queues.sv \

verification/cocotb/block/i2c_standby_controller/Makefile

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@ TOPLEVEL = controller_standby_i2c_harness
1414

1515
EXTRA_ARGS += -Wno-WIDTHTRUNC -Wno-WIDTHEXPAND -Wno-PINCONNECTEMPTY -Wno-UNUSEDPARAM
1616

17-
VERILOG_SOURCES = \
18-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_assert.sv \
17+
include $(TEST_DIR)/../../caliptra_common.mk
18+
19+
VERILOG_SOURCES += \
1920
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_assert_dummy_macros.svh \
20-
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_pkg.sv \
21-
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_util_pkg.sv \
2221
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_count_pkg.sv \
23-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_util_pkg.sv \
2422
$(CALIPTRA_ROOT)/src/libs/rtl/ahb_defines_pkg.sv \
2523
$(CALIPTRA_ROOT)/src/axi/rtl/axi_pkg.sv \
2624
$(CALIPTRA_ROOT)/src/axi/rtl/axi_if.sv \
@@ -44,6 +42,7 @@ VERILOG_SOURCES = \
4442
${SRC_DIR}/hci/ahb_if.sv \
4543
${SRC_DIR}/hci/axi_adapter.sv \
4644
${SRC_DIR}/hci/dxt.sv \
45+
${SRC_DIR}/interrupt.sv \
4746
${SRC_DIR}/hci/tti.sv \
4847
${SRC_DIR}/hci/queues.sv \
4948
${SRC_DIR}/hci/hci.sv \

verification/cocotb/caliptra_common.mk

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ CALIPTRA_SOURCES = \
44
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_assert.sv \
55
$(CALIPTRA_ROOT)/src/caliptra_prim_generic/rtl/caliptra_prim_generic_flop.sv \
66
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_flop.sv \
7-
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_flop_2sync.sv
7+
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_flop_2sync.sv \
8+
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_fifo_sync.sv \
9+
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_count_pkg.sv \
10+
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_count.sv \
11+
$(CALIPTRA_ROOT)/src/caliptra_prim/rtl/caliptra_prim_fifo_sync_cnt.sv
812

913
VERILOG_SOURCES += $(CALIPTRA_SOURCES)

verification/cocotb/common.mk

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
TOPLEVEL_LANG = verilog
44
SIM ?= verilator
5-
WAVES ?= 1
5+
WAVES ?= 0
66
TRACK_FSM ?= 1
77

88
# Paths
@@ -102,11 +102,25 @@ include $(shell cocotb-config --makefiles)/Makefile.sim
102102

103103
ifeq ($(SIM), vcs)
104104

105-
.PHONY: convert-vpd2vcd
106-
convert-vpd2vcd: $(COCOTB_RESULTS_FILE)
107-
vpd2vcd -full64 dump.vpd dump.vcd +splitpacked
108-
109-
all: sim convert-vpd2vcd
105+
.PHONY: convert-waves2vcd
106+
convert-waves2vcd: $(COCOTB_RESULTS_FILE)
107+
@if [ -f dump.vpd ]; then \
108+
echo "Converting dump.vpd to dump.vcd..."; \
109+
vpd2vcd -full64 dump.vpd dump.vcd +splitpacked; \
110+
elif [ -f dump.fsdb ]; then \
111+
if command -v fsdb2vcd >/dev/null 2>&1; then \
112+
echo "Converting dump.fsdb to dump.vcd..."; \
113+
fsdb2vcd dump.fsdb -o dump.vcd; \
114+
else \
115+
echo "Warning: dump.fsdb found but fsdb2vcd not in PATH. Skipping VCD conversion."; \
116+
fi \
117+
fi
118+
119+
ifeq ($(WAVES), 1)
120+
all: sim convert-waves2vcd
121+
else
122+
all: sim
123+
endif
110124

111125
endif
112126

0 commit comments

Comments
 (0)