First problem I had was with make. I alias make to make -r, because in my env, I never use built-in rules. For Teal, you definitely need to use the built-in make rules, so unalias make.

The next problem I get is:

Parsing design file 'mutex_test.v'
Error-[UST] Undefined system task
Undefined System Task call to '$teal_memory_note'
"mutex_test.v", 29
1 error

I figured best thing to look at the pli tab:

$ cat pli.tab
$teal_memory_note_call call=teal_memory_note_call
$teal_top call=teal_top_call

To which the solution is to change the pli.tab to the following:

$teal_memory_note call=teal_memory_note_call
$teal_top call=teal_top_call

Then you can run the test using ./run -c -vcs -t mutex_test

However, the test hangs after saying

Thread simple thread 249 on transactor 2 created. ID is 0x1f416bb0 result 0x0

Hitting Ctrl-C seems to unlock the test, but it hangs further along at


[37801 ps][Teal::synch][simple thread 82 on transactor 0][FILE: ./teal_synch.cpp][line: 274][INFO]thread_completed: Thread simple thread 82 on transactor 0

At this point, Ctrl-C Ctrl-D appears to be the only way out. I ran it a second time, and it only went as far as the message:

Thread simple thread 249 on transactor 2 created. ID is 0x1f416bb0 result 0x0

Only ^C ^D could end the sim.

I was able to run the following tests without problems: reg_test, vreg_test, vrandom_test, synch_test, dictionary_test.