( ESNUG 343 Item 5 ) --------------------------------------------- [2/16/00]

From: Michael Jarchi <jarchi@vitesse.com>
Subject: DC 99.05/.10 Isn't Carrying "Don't Care" X's Correctly In Casex

Hi John,

Here's a recent issue I found with Synopsys DC 99.05/.10 that other users
may be interested in hearing about.  I have a wire defined as:

  assign mask3 = {byte1[7],6'hx,byte1[7],byte2[7],byte2[7],5'hx,byte2[7],
                  byte1[6],6'hx,byte1[6],byte2[6],byte2[6],5'hx,byte2[6],
                  byte1[5],6'hx,byte1[5],byte2[5],byte2[5],5'hx,byte2[5],
                  byte1[4],6'hx,byte1[4],byte2[4],byte2[4],5'hx,byte2[4],
                  byte1[3],6'hx,byte1[3],byte2[3],byte2[3],5'hx,byte2[3],
                  byte1[2],6'hx,byte1[2],byte2[2],byte2[2],5'hx,byte2[2],
                  byte1[1],6'hx,byte1[1],byte2[1],byte2[1],5'hx,byte2[1],
                  byte1[0],6'hx,byte1[0],byte2[0],byte2[0],5'hx,byte2[0]};
    
And used in the RTL as:

    casex({ena1, ena2, ena3, ena4, DATA[191:0]})
          {1'b1, 1'bx, 1'b0, 1'b1, 1'bx,mask1,63'hx}:  flag  <= #1 1;
          {1'b0, 1'b1, 1'b0, 1'b1, 1'bx,mask2,63'hx}:  flag  <= #1 1;
          {1'b0, 1'b0, 1'b0, 1'b1, 1'bx,mask3,63'hx}:  flag  <= #1 1;
          default:                                     flag  <= #1 0;
    endcase

Well, it turns out DC is not carrying the "don't care" x's over into the
casex statements correctly when analyzing/mapping/etc of the RTL.
Verilog-XL sims are functionally correct, but the gate-level are wrong.
When I edit the RTL and place the wire assignment value directly into the
casex statements, all is fine with the Synopsys gate-level result.   I let
Synopsys know about this problem and they have been examining the problem
for the last several weeks.  If it is an illegal coding style, Synopsys DC
never complains about it.

    - Mike Jarchi
      Vitesse Semiconductor Corp.                 Camarillo, CA



 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)