Re: [sv-bc] Enhancement Request: 2-state wildcard for case-items(incase, casez, and casex)


Subject: Re: [sv-bc] Enhancement Request: 2-state wildcard for case-items(incase, casez, and casex)
From: Adam Krolnik (krolnik@lsil.com)
Date: Wed Dec 10 2003 - 10:00:17 PST


Hello Dave;

You wrote:

>What I would suggest is a case statement that has the same semantics as
>the inside operator, including the ranges.

>always_comb begin
> out = 'x;
> unique case inside(expr)
> 4'b???1 : out = 1;
> 4'b??1? : out = 2;
> 4'b?1?? : out = 3;
> 4'b1??? : out = 4;
> 4'b0000 : out = 0;
> endcase
> end

If I am reading Mike's paper correctly, He wants to propagate any X's in 'expr'
to 'out' - even if the 'x' is in a position where the case item has a don't care
symbol. E.g. expr === 4'bx001 |-> out != 1

As you show in the inside proposal:

   wire r = 3'bz11 inside {3'b1?1, 3'b011}; // r = 1'bx

Is good, but

   wire ry = 3'bz11 inside {3'b??1, 3'b010}; // ry = 1'b1

Should propagate as 1'bx also. Is this your intent Mike? This is not currently
available as the wild card means 'do not include this bit in the comparator'.

     Adam Krolnik
     Verification Mgr.
     LSI Logic Corp.
     Plano TX. 75074
     Co-author "Assertion Based Design"



This archive was generated by hypermail 2b28 : Wed Dec 10 2003 - 10:01:10 PST