Questions tagged [systemverilog-assertions]

SystemVerilog Assertions are used to check if properties of a digital design are satisfied or to confirm that a certain test is run during simulation. They are used for both simulation and static analysis (model checking).

10 questions
4
votes
1 answer

Is there an analog of VHDL "wait-for-until" expression in the SystemVerilog Assertion?

Suppose we have two signals: A and B. And we need to check that the rising edge of signal B is between 7.62ns and 7.77ns after the rising edge of signal A. In VHDL this can be done with two "wait-for-until" expressions. Is it possible to write this…
Arseniy
  • 2,150
  • 11
  • 29
2
votes
1 answer

Error while trying to bind SystemVerilog module with properties module

I have a SystemVerilog module that I want to test using assertions. For simplicity let's say the DUT is this: module dut ( input logic [7:0] da output logic [7:0] db ); always_comb begin: if (da == '0) db <= '1; …
2
votes
2 answers

How to write 'a signal should never have certain value before it attains some other value' in SystemVerilog assertion?

I would like to write the following in SVA (SystemVerilog Assertion) format. signal a should never be 2 until it attains the value 1 How can we do that?
1
vote
1 answer

iverilog: Assertion statement not implemented

For some reason, I'm unable to use assertion statements in my SystemVerilog files: test_module.sv: module test_module( input logic i_a, i_b, output logic o_c ); and m_gate_0(o_c, i_a,…
Pixelcode
  • 133
  • 5
1
vote
2 answers

$past is not working as expected in SystemVerilog

I am implementing a counter in SystemVerilog. To check the proper functionality of the circuit (if the increment happened correctly), I have the assertion below: property check_increment; @(posedge clk) disable iff(!rst_) (ld_cnt && count_enb…
1
vote
1 answer

Problem with back annotated netlist signals naming for simulation purposes in Modelsim

Some of the labels used in back-annotated netlist descriptions generated by Microchip (Microsemi) Libero rely on forward slash naming conventions as shown…
0
votes
1 answer

SystemVerilog Assertions wizard

A few years ago, Axiom Design Automation (acquired by Mentor Graphics in 2013) had a tool called Assertion Studio. It was a high-quality wizard to create assertions (including SystemVerilog ones). Are there similar alternatives provided by any of…
nanoeng
  • 171
  • 11
0
votes
1 answer

SystemVerilog Assertions

For the following property assertion: property COMPLEX_SEQ; @(negedge CLK) disable iff (X) (C ##1 B[*1:3] ##1 A) |=> (J[*4] ##1 K); endproperty And the following sequences: a. C;B;A;J;J;J;J;K b. C;B;B;B Why don't they fail? The left…
Chengineer
  • 107
  • 5
-1
votes
1 answer

Is it possible to display a custom error message in Synplify syntezis with SystemVerilog code?

I write some library module on SystemVerilog. I want to check input parameters on synthesis and then if their values are wrong I want to stop synthesis with a custom error that will tell which parameter value is wrong. For the Quartus I have write…
Arseniy
  • 2,150
  • 11
  • 29
-1
votes
1 answer

Error message vsim-3171 keeps popping up in Modelsim DE 2021.1 even though it was solved in Modelsim ME 10.2c

I have a test bench where I'm using a SystemVerilog bind construct. My test bench follows a similar organization to the one described at this link Every time I run it, error vsim-3171 shows up. I came across a document that states that the issue was…