📛

cocotbのサンプルプログラムを実行しようとして失敗した話

2024/12/02に公開

問題

cocotb のサンプルプログラムはGitHubのexamplesの下に置いてあります。
たとえば、加算器の例題はここにあります。
https://github.com/cocotb/cocotb/tree/master/examples/adder

これを実行しようとして git clone して make すると、うまく動いてくれません。

解決方法

git で取得したソースコードのバージョンを pip でインストールした cocotb のバージョンとそろえる必要があります。
git checkout v1.9.2 などとしたのち make を実行すると、今度はうまく動きました。

原因

Make の変数名が cocotb v2 以降で微妙に変わるみたいです。

$ git diff v1.9.2 Makefile
diff --git a/examples/adder/tests/Makefile b/examples/adder/tests/Makefile
index 05aee8fd..73f73f62 100644
--- a/examples/adder/tests/Makefile
+++ b/examples/adder/tests/Makefile
@@ -44,7 +44,7 @@ else
     $(error A valid value (verilog or vhdl) was not provided for TOPLEVEL_LANG=$(TOPLEVEL_LANG))
 endif

-TOPLEVEL := adder
-MODULE   := test_adder
+COCOTB_TOPLEVEL     := adder
+COCOTB_TEST_MODULES := test_adder

 include $(shell cocotb-config --makefiles)/Makefile.sim

Discussion