Home > Community > Forums > Functional Verification > re : parameterized sequences & property blocks in simvision

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 re : parameterized sequences & property blocks in simvision 

Last post Mon, Feb 25 2013 9:48 PM by Srikanth Madam. 2 replies.
Started by Srikanth Madam 22 Feb 2013 01:42 AM. Topic has 2 replies and 934 views
Page 1 of 1 (3 items)
Sort Posts:
  • Fri, Feb 22 2013 1:42 AM

    • Srikanth Madam
    • Not Ranked
    • Joined on Mon, Oct 17 2011
    • Hyderabad, Andhra Pradesh
    • Posts 4
    • Points 50
    re : parameterized sequences & property blocks in simvision Reply

    HI,

        I have a strange problem with my simvision (version 11.10.-s66) that i have  written 2 assertions

          1) with parameterized sequnces and property 

          2) normal assertion 

         for some logic which you can find in the below code , but in the simvision the assertions finished at different timings , the one parameterized finished one clock pulse later than expected and the normal assertion finished properly. So can any one tell me whether it is tool issue ???


    initial
    begin
        clk = 1'b0; in1 = 4'd0; flag = 1'b0; out1 = 4'd0;
        repeat(2) @(negedge clk); in1 = 3'd2; flag = 1'b1;
        repeat(1) @(negedge clk); flag = 1'b0; out1 = 3'd3;

        repeat(5) @(negedge clk); $finish;
    end

    property p1;
        @(posedge clk)
            ( (in1 == 3'd2) && $rose(flag) ##1 $fell(flag)) |-> (out1 == 3'd3);
    endproperty

        chk1 : assert property(p1) $display("Working Good");
                else $display("Not Working");

    sequence s1(a);
        $rose(a) ##1 $fell(a);
    endsequence


    property p2(a1,b,c);
        @(posedge clk)
        ( (b == 3'd2) and s1(a1)) |-> ( c == 3'd3 ) ;
    endproperty

        chk2 : assert property(p2(flag,in1,out1)) $display("Working Good");
                else $display("Not Working");

     

    Find the attachment for the picture containing assertions in the simvision


    • Post Points: 20
  • Fri, Feb 22 2013 6:47 AM

    Re: re : parameterized sequences & property blocks in simvision Reply

    I could reproduce the exact same behavior here. Based on the documentation I have, your two properties should behave as property p1. But by replacing p2 with the code below, they both behave the same:

    sequence s1(a,b);

        (b == 3'd2) && $rose(a) ##1 $fell(a);

    endsequence

    property p2(a1,b,c);

        @(posedge clk)

        s1(a1,b) |-> ( c == 3'd3 ) ;

    endproperty

     

    • Post Points: 20
  • Mon, Feb 25 2013 9:48 PM

    • Srikanth Madam
    • Not Ranked
    • Joined on Mon, Oct 17 2011
    • Hyderabad, Andhra Pradesh
    • Posts 4
    • Points 50
    Re: re : parameterized sequences & property blocks in simvision Reply

     Hi Whiteriver1,

         Thanks for the reply , but i just want to know is anything wrong with my code. 

         I tried as you suggested it is working same as p1.

     

     

    Thanks

    Srikanth

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by Srikanth Madam at 22 Feb 2013 01:42 AM. Topic has 2 replies.