Skip to main content
Filter by
Sorted by
Tagged with
0 votes
1 answer
136 views

I am hoping to define an SVA property that detects a zero-time (delta cycle) glitch on a signal. I have found a recipe that I expected to work for high-going glitches, but it turns out it also works ...
Craig's user avatar
  • 940
1 vote
0 answers
82 views

I am trying to understand the behavior of the $past() operator in System Verilog using a D Flip Flop with assertion. Looking at the second posedge of the clk, shouldn't $past() refer to the first ...
user2979872's user avatar
1 vote
1 answer
64 views

I need to write a property to check the divisor of a fast clock. I’ve tried the following options: property clk_frequency_P(logic pll_clk, logic destination_clk, logic clk_en, logic reset, int divisor)...
Sarti's user avatar
  • 153
0 votes
1 answer
119 views

Are there major differences between using ##1 and |=> in System Verilog assertions A ##1 B and A => B. When do they behave similarly, and when do they differ? For example property p_a_then_b; ...
user2979872's user avatar
0 votes
1 answer
207 views

I am trying to verify Synchronous FIFO using SymbiYosys formally. However, I am unable to make sense of the failing counterexample trace. Should I add more assertions or constrain the existing failing ...
user2979872's user avatar
0 votes
1 answer
781 views

I have 2 inputs to my module, namely sig_1 and sig_2(both multi-bit). I want to check using assertions that whether sig_2 is a 2 clock cycle delayed version of sig_1, whenever sig1_1 changes. i tried ...
VIGNESH RAMACHANDRAN's user avatar
0 votes
1 answer
216 views

I have a reasonably basic SVA question, but I'm not sure what the trick is for getting somewhere. I'm trying to say that if A is true for 32 cycles, then B should become true at some point. ...
Rupert Swarbrick's user avatar
0 votes
1 answer
676 views

I have an SVA question : Let's say we have signal wpo, and 19-21 clocks cycles later, we have wpo(the value at time 0) == out. How to write an SVA for that. I tried this but it doesn't work logic [103:...
Walid's user avatar
  • 31
0 votes
0 answers
230 views

I am trying to write a simple assertion in systemverilog like the following : //Generate signal high during time where signals shouldn't change always @(posedge FCLK) begin if(cmd_typeA) begin ...
Julien6405's user avatar
2 votes
1 answer
219 views

assert property @(posedge(clk)) !rstN |-> n==0 && full==0 && empty==1; assert property @(posedge clk) disable iff(!rstN) ( full |=>(wr_en && $stable (n) ) ); assert ...
Amala Joseph's user avatar
1 vote
1 answer
356 views

I have an array logic [254:0][7:0] array. By design, this array must consist all values from 0 to 254 exactly once. I want to write a SystemVerilog assertion to test it. So far, I came up with ...
Michael's user avatar
  • 1,174
0 votes
1 answer
561 views

This is the SystemVerilog code for 64 Bit Complex Multiplier // // SystemVerilog Project for EL Component of DSDV // Author: Anudeep N Rao // USN: 1RV22LVS01 // module cmultx64 ( cmul_if if1 ); ...
Anudeep N Rao's user avatar
0 votes
1 answer
421 views

I have a situation where a signal in a design must assert for at least one cycle while another signal is asserted for at least X cycles. Desired Results: Pass: pass example 1 Pass: pass example 2 Pass:...
erng's user avatar
  • 3
-2 votes
1 answer
506 views

Consider the below code. The assert property is hit and passed according to the output but its pass count is zero in the coverage result. Why? module tb; reg Krdy; reg Drdy; reg EN; ...
Robert's user avatar
  • 1
2 votes
1 answer
2k views

I'm trying to understand a assertion in a MUX sample module. I would like to check the interference between SEL1, SEL2 and SEL3 signals, So I declared as the below, always @(posedge CLOCK) assert (...
Carter's user avatar
  • 286
1 vote
1 answer
128 views

I'm writing a module assertion bind: module top_assertion #(parameter WIDTH=8) (input rtl_signal); axi_``WIDTH``_bus axi_bus; assert property (@(posedge Clock) !$isunknown(axi_bus.valid); endmodule ...
sreekesh padmanabhan's user avatar
-1 votes
1 answer
516 views

I'm writing assertions to detect a particular sequence occurrence. In case the sequence is not not true, I get prints in log for assertion failure. But I just want to check if sequence occurred or not....
Rutuja14's user avatar
1 vote
1 answer
337 views

A SystemVerilog assertion is latching the previous values even though the transition is detected. I have the below property as part of the file. a and b are inputs whose width is 1-bit. property ...
Gayathri Hariharakrishnan's user avatar
0 votes
1 answer
1k views

The vendor for the simulation tool I'm using (Cadence) has said that they must stop failing assertions at the time the assertion fails and not during the action blocks of the assertion. I prefer for ...
nachum's user avatar
  • 567
-2 votes
1 answer
1k views

I have two resets in my design. Reset_a and Reset_b. both are asynchronous reset can come at any pint of time. i have to write assertion to check if Reset_a is asserted Reset_b also assert at any ...
Charmi Toliya's user avatar
-1 votes
2 answers
508 views

p1: assert property (@(posedge clk) ($past(b, 2, c)) === 0); when I run assert in VCS, it failed at 13s, 15s, 17s... I don't know why it failed at 13s. in 11s, $past(b, 2, c) is 0 (sampled at 7s) but ...
jingkesi's user avatar
0 votes
2 answers
724 views

I have a simple assertion as follows: $rose(req) |=> !req[*1:10] until ack ##1 !ack; As I understand, on detection of $rose(req), the assertion should check for !req to be low consecutively for max ...
CCRCCR's user avatar
  • 11
-1 votes
1 answer
2k views

I am trying to write an assertion for my SystemVerilog design which checks if a signal is never high for more than 3 cycles (implicitly it must be de-asserted eventually). My signal is called "...
Illya Kuzmych's user avatar
-1 votes
1 answer
506 views

If there were no enable signal, inputReady ##N outputValid would do the job. But, how should I exclude the cycles when enable is deasserted? Is there a short solution?
Robert's user avatar
  • 1
1 vote
1 answer
3k views

Usage example: state==ACTIVE1 |-> 1[0:$] ##1 state==ACTIVE2 The problem the assertion is trying to solve is: if the state machine reaches state=ACTIVE1, it will eventually reach state=ACTIVE2. Any ...
Zazy's user avatar
  • 87
0 votes
1 answer
483 views

I need to check the value of a signal after a certain amount of time a clock edge occurs. For example, I want to check that if signal b asserts to high 1ps after posedge clock occurs. Does SVA provide ...
yildizabdullah's user avatar
-1 votes
2 answers
1k views

What do we do when we have to create a scoreboard for a certain design logic? For a memory I understand that we can compare the data written to DUT at a certain address to the data read at the same ...
Bunty Bhai's user avatar
1 vote
1 answer
2k views

module testbench; bit [2:0] A; bit [2:0] data[]; int i; bit [2:0] b; covergroup cov_grp; c1 : coverpoint A { bins b1 = {0,1,2}; bins b2 = {3,4,5}; bins b3 = {6,7};...
abbasalit987's user avatar
0 votes
1 answer
1k views

I need to check, whether during the testbenching the particular signal went at least for a single clock cycle to logic 1. I've tested following asserts, which shall be equivalent: initial assert ...
David Belohrad's user avatar
0 votes
3 answers
263 views

I have assertion property as assert property P; property P; @(posedge clk) A |-> ##[1:5] B; endproperty clk - 0 1 2 3 4 5 6 7 8 9 10 A - 0 1 0 1 0 0 0 0 0 0 0 B - 0 0 0 0 1 0 0 1 0 0 0 Here ...
ratatouille's user avatar
0 votes
1 answer
1k views

This is very basic but I've been blocked the whole afternoon. I need a property to check that if A is set, B cannot change. _____________________ A ______/ \______________ ...
Meleth's user avatar
  • 36
1 vote
1 answer
451 views

How I can use a design input with the repetition operator in a SV assertion? Basically, what I'm trying to implement is: property ( ( disable iff((a) or (b) or (c) or (d)) $rose(req) |-> ...
AmV's user avatar
  • 11
1 vote
1 answer
743 views

I have below code inside SV module where I instantiate another SV module and pass 5-bit bus to it to check for X and Z's as coded below: input [4:0] analdo_trim; cds_XZ_checker ...
sanforyou's user avatar
  • 465
0 votes
1 answer
709 views

I am trying to create an assertion property that checks if a 16-bit variable num should not change between a valid from the master until we receive a ready from a slave what I have so far is property ...
Umang Angrish's user avatar
0 votes
1 answer
2k views

Is it possible to pass a signal to a property by reference? For example, I want to create a cover property to capture a register changing, and re-use this property for dozens of different registers. I'...
Melandru's Square's user avatar
0 votes
1 answer
1k views

I am facing a puzzling behavior of Systemverilog 'assert' when trying to verify a flip-flop had sampled the input value on a rising edge. It seems that the assert will pass if I add an arbitrarily ...
ariy's user avatar
  • 11
-1 votes
2 answers
898 views

I am trying to implement a monitor for VDU(Video display unit) and the way the VDU can be programmed says that sync signals have controllable polarity. This means than according to VDU settings ...
Alexandr Bolotnikov's user avatar
-1 votes
2 answers
2k views

Let's say we have a signal named "clk" and we want to make sure that clk toggles when "enable" is '1'. And the frequency of the "clk" is not known.
Jigar Vaidya's user avatar
0 votes
1 answer
2k views

I have a few cover property's that I expect to fire pretty frequently, and I'm seeing they are starting to impact my simulation performance because they are firing so frequently. I don't want to ...
Melandru's Square's user avatar
0 votes
1 answer
423 views

So I recall when an assertion triggers the data signals in the assertion are from just prior to the clock edge. I'd like to put a helpful error message in my assertion to let the user know what went ...
Mike S's user avatar
  • 3
0 votes
1 answer
195 views

I have to write a single SVA for the complete protocol shown in this image I wrote the following SVA but it doesn't capture the immediate ack. How do I fix that @(posedge clk) $rose(val) |=> ...
uroosa alam's user avatar
0 votes
1 answer
8k views

I am writing an assertion check for the following structure Basically, I want to check that output is equal to d1 when select signal is 0 and output is equal to d2 when select signal is 1. I did ...
Xflkekw's user avatar
  • 45
0 votes
1 answer
644 views

Both req1 and req2 are asynchronous. And I want to check that at no point in the simulation, req2 is true while req1 is true. I have tried property not_req2_while_req1; @(negedge req1) 1 |->...
Timothy Grant's user avatar
0 votes
1 answer
941 views

I have encountered an example property which works here: property p_a; @(posedge clk) $rose(a) -> $rose(b); endproperty There is no syntax error above. Then I tried to modify to this property ...
シアジョナサン's user avatar
1 vote
1 answer
586 views

I want to create an always block that uses a sequence for the event control, but I'm not sure if that's allowed in SystemVerilog and I'm getting an internal compiler error when I try to do it. Here's ...
Melandru's Square's user avatar
-1 votes
1 answer
702 views

I'm looking into using coverpoints and covergroups for mixed signal verification in Cadence to verify some constrained random classes I've written. However, I haven't been able to find online if ...
Kat's user avatar
  • 1
0 votes
1 answer
529 views

I need to sample signals in a cover group 1 nanosecond after posedge clock. What is the syntax to do that? My MWE is as follows: covergroup DEBUG_CG @ (posedge tb_clock); debug_IR : coverpoint ...
yildizabdullah's user avatar
0 votes
1 answer
4k views

I am a newbie learning System Verilog assertions and found a code online from verificationguide.com for variable delays in assertions. But I am unable to understand a few things. Can someone ...
Ashutosh Jain's user avatar
0 votes
2 answers
1k views

I want to write an assertion, which checks that "Valid should be high only once in req 1, ack 1, req 0, ack 0 transaction" I thought of the following one, but it gives me error. assert property (@(...
Karan Shah's user avatar
  • 2,012
3 votes
1 answer
582 views

I am trying to write a PSL assertion that checks that the amount of assertions on the input match the amount of assertions on the output. For example: . On the input anything can happen at any time ...
Maurice's user avatar
  • 476