( Post 75  Item 1 ) ---------------------------------------------------------

   [ Editor's Note: Sorry for being so late in posting Cindy's reply; I
     temporarily lost it when my company moved to another building...]

From: cindy@ca45.zoran.hellnet.org (Cindy Eisner)
Subject: Re: ESNUG Posting Number 64

jaa@mongoose.ess.harris.com (john auer) writes:

> For this problem, pin_equal and pin_opposite have no effect (Synopsys
> confirmed this when I first ran into this problem).  Pin_equal/opposite
> statements seem to be used by Synopsys only if the equations for the
> function of the gate and/or three_state are not given; otherwise,
> Synopsys deduces them from the equations.

well, i agree that they have no effect, but not that they are supposed to
work that way.  what the manual says is that FOR OUTPUTS, the statements
are used only if the function is not given, etc., etc.  but the manual 
explicitly states that FOR INPUTS, the pin_equal/opposite attributes are
requirements from the synthesis.

> I don't use verilog, and I haven't seen a similar mapping problem with
> VHDL.  I ran a test case on a VHDL tristate design today without incident.
> The problem as originally reported to Synopsys is accurate, so I will not
> be upgrading the STAR to a bug.

if after reading the above, you still do not want to upgrade it, let me
know and i'll submit a BUG report.  there may come a day very soon when i
will need this functionality...
 
> Did Synopsys have any trouble making the synthetic library? (install_synlib)
> In my experience, "unable to map" reflects an out-of-date synthetic library
> (library.mod file).  Just a thought...

sorry i did not make myself clear here.  what i meant was that when i 
defined a tri-state buffer with inputs required to be opposite, using
the pin_opposite attribute, i got the "unable to map" error message.  
otherwise, the tri-state buffers were mapped fine.

    Cindy Eisner, CAD group, Zoran Microelectronics LTD
    Advanced Technology Center, Haifa 31204, Israel


( Post 75  Item 2 ) ---------------------------------------------------------

From: d_pinvidic@emulex.com (Dan Pinvidic)
Subject: Question for ESNUG group

Question:  Can a verilog description of a 2-1 mux which has one data
input grounded get mapped to a 2-1 mux from the library.  All efforts result
in a nor gate controlling EMO.  EMO and FMO must have matched path delays.
Compiled with flatten & structure set to "false", -map_effort low
I really don't want to instantiate a mux.

This code produces a nor gate driving EMO.
 always @ (MODE or BC_DIV[3] or CLK40_I)

          begin
               case ( MODE )  //synopsys parallel_case 
                    2'b00   : EMO = CLK40_I;
                    default : EMO = 1'b0;
               endcase
          end
 
The following code produces a 2-1 mux for a clock which I must match
in the code above.

 always @ (SYNSLO_FAS or FASCLK or FAS_DIV[3])

                begin
                        case ( SYNSLO_FAS )  //synopsys parallel_case full_case
                                1'b1   : FMO = FAS_DIV[3];
                                1'b0   : FMO = FASCLK;
                        endcase
                end

All thoughts welcome,

Dan Pinvidic
Emulex Corp.
Costa Mesa, 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)