( ESNUG 231 Item 4 ) ---------------------------------------------- [12/8/95]

From: greg@cqt.com (Greg Bell)
Subject: There's Even A Clever Way To Work Without Library Compiler!

Hi John,

Here's a way you can do a lot of library-like fakeouts without even having a
Library Compiler license.  I believe the only thing you can't do is have
cell functionality described in your library.  (Hopefully this isn't a
convenient freebie "bug" that I just broadcasted to Synopsys' corporate
offices so that it'll be fixed in the next release.  Doh!)

In other words, you can create fake cells with high drive, RAM cells for
timing through black-box RAMs (see SolvIt), etc.  To read the library in, do
a read_lib <sourcename>.  You'll get an error about not having the Library
Compiler license, but it will then complete with a "Technology library read
successfully" message.  Then do a write_lib <libname> -output <libname>.db
to save it out.  For reference, here's an example of some library source
that can be compiled:

  library(manly_inverter) {
  technology (cmos);
  default_output_pin_rise_res : 0.1;
  default_output_pin_fall_res : 0.1;
  date : "Oct 5, 1995";
  revision : 0.1;
  time_unit : "1ns";
  voltage_unit : "1V";
  current_unit : "1mA";
  pulling_resistance_unit : "1kohm";
  capacitive_load_unit (1000, ff);
 
  cell (manly_inverter) {
    area : 10    /* area of cell */
    pin(i) {
      direction : input
      capacitance : 0.060   /*  capacitance of pin  */
      fanout_load : 0.060   /*  fanout load   */
    }
    pin (zn) {
      direction : output
      max_fanout : 1000
      timing() {
        intrinsic_rise : 2.000000   /*  intrinsic delay of A1 to Z1  */
        intrinsic_fall : 2.000000
        rise_resistance : 0.000000  /*  drive strength of output port */
        fall_resistance : 0.000000
        related_pin : "i"
        timing_sense : negative_unate
     }
   }
  }
  }

Because we had gated clocks and Synopsys doesn't treat the clock *network*
as ideal, just the clock port, we had to create a super-high drive buffer
and put it after the clock gate for each sub-module.  This is replaced by
a clock tree at the P&R stage.

  - Greg Bell
    CommQuest Technologies, Inc.



 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)