( ESNUG 222 Item 1 ) ---------------------------------------------- [7/21/95]

From: fiedler@nvidia.com (Larry Fiedler)
Subject: A Collection Of Five 3.3a Fatals

John, 

We got bit by one 3.3a bug which results from unmapped logic being timed.
This happened by having a Flip-flop in a previous technology that had
a reset and clear but in the next technology there are reset *or* clear,
but not *both* types of flip-flops.  This caused unimplemented logic in 
synthesis which caused a fatal during timing.

There was also a 3.3a bug which had to do with reading a variable in two
Verilog "always" blocks.

Personally, I hate the new Synopsys Verilog 3.3a parser.  With the following:

  always@ (A0 or M)
        case (A0)       // synopsys full_case
                3'b 000 :       z0 = 0;
                3'b 001 :       z0 = M[0];
                3'b 010 :       z0 = M[1];
                3'b 100 :       z0 = M[2];
                default :       z0 = 1'bX;
        endcase

It has a "default" statement therefore it is complete by definition -- yet I
get the following message:

	Warning: You are using the \fBfull_case\fP directivewith a case
		statement in which not all cases are covered.  (HDL-370)

What is "\fBfull_case\fP" ??  Not all cases covered???   It has a "default"!
(Fortunately, the resulting logic seems correct.)

There's also a 3.3a bug that has to do with using a Verilog parameter as an
index to a vector.

	parameter N = 3;
	zn = Z[N];

the error being:  "Error: Untyped variable 'N' used"  -- huh?

The supposed solutions is to use a pre-3.3a reader or to change the source
code. This makes me mad!  It parsed well before, its very standard Verilog
not esoteric at all, and now it doesn't parse!  I hope this gets fixed for
3.3b.  Could I encourage proper Verilog parameter handling with "defparam"
at the same time?  I know I won't get this, but I ask at SNUG every year.
(Besides, if they fix it, then what will I get to complain about?)

After all of this my collegue is still getting an unknown 3.3a fatal during
the optimization stage.

  - Larry Fiedler
    NVidia



 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)