question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Document behavior of Verilog system tasks

See original GitHub issue

Cocotb registers its own functions for Verilog system tasks:

  • $info
  • $warning
  • $error
  • $fatal

Document behavior of these system tasks:

  • Calls gpi_log with message
  • $fatal fails the current test

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
ktbarrettcommented, Oct 8, 2020

@umarcor You may be interested in #2094 specifically.

1reaction
ktbarrettcommented, Oct 1, 2020

@gtaylormb Yeah, attempting to overload $fatal was a bad idea. Most simulators explicitly state you can’t overload builtin system tasks, which is why Questa isn’t happy. I think the idea behind $error not failing tests was that those commands were meant only for logging purposes. $error logs with the Python logger at the error level. Calling cocotb.log.error in Python does not cause a test failure, so it shouldn’t from HDL either. Personally, I think these logging system tasks are useless…

We do need system tasks to inform the cocotb regression manager of test failure or passage to better support cocotb as a general purpose cosimulation framework. @eine and @umarcor are also interested in this.

If you are interested in working on this, I’d be happy to assist.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Verilog Display Tasks - ChipVerify
Display system tasks are mainly used to display informational and debug messages to track the flow of simulation from log files and also...
Read more >
Verilog System Tasks and Functions - 2022.2 English - Xilinx
Vivado synthesis supports system tasks or function as shown in the following table. Vivado synthesis ignores unsupported system tasks.
Read more >
Verilog Task - Javatpoint
Tasks are defined in the module in which they are used. · Tasks can include timing delays, such as posedge, negedge, # delay,...
Read more >
Verilog-XL System Tasks and Functions
Writes an incremental pattern file that stores only the changes in the values of nets or register arguments that occur at the end...
Read more >
System Tasks and Functions - Programming in HDL
Verilog contains the pre-defined system tasks and functions, including tasks for creating output from a simulation. · \ -The next character is a ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found