[comp.std.internat] Question about netlist description in EDIF 200

janick@bnr.ca (Janick Bergeron 1617964) (06/14/90)

The following questions apply to gate-level netlists described
in EDIF 200, not schematics.
The schematics shown here are for illustration purposes only. 


1- Can two nets be connected to the same port of the same
   instance of a cell ??


        Net N -----\       +-----------------
                    \      |
                     \     |       Instance
                      o----| A
                     /     |         "I"
                    /      |
        Net M -----/       +-----------------


     (Net N
       (Joined
         (PortRef A (InstanceRef I))
         ...
       )
     )

     (Net M
       (Joined
         (PortRef A (InstanceRef I))
         ...
       )
     )

         Is this acceptable EDIF 200 ? or should ripper cells
         be used ?


2- In "Using EDIF 200 For Schematic Transfer" published by the EIA,
   two ripper cells are used when a net must be split in two other nets.
   Is this a recommendation of a committee or can a single ripper cell
   be used ?

		       +-----------+
		   +--o|           |o--+
		   |   |  RIPPER   |   +---- Signal(0:1)
                   +--o|	   |o--+
   Signal(0:3) -+--+   |	   |
		|  +--o|	   |o--
		|  |   |   CELL    |
		|  +--o|	   |o--
		|      +-----------+
		|
		|
		|      +-----------+
		|  +--o|           |o--
		|  |   |  RIPPER   |
                |  +--o|	   |o--
                +--+   |	   |
        	   +--o|	   |o------- Signal(2)
        	   |   |   CELL    |
        	   +--o|	   |o--
		       +-----------+


               As described in the EIA publication


		       +-----------+
		   +--o|           |o--+
		   |   |  RIPPER   |   +---- Signal(0:1)
                   +--o|	   |o--+
   Signal(0:3) ----+   |	   |
		   +--o|	   |o------- Signal(2)
		   |   |   CELL    |
		   +--o|	   |o--
		       +-----------+


                Can it be replaced by this ??


Thanks you for your help,
-- 
Janick Bergeron     Bell-Northern Research, Ltd       Ph.: (613) 763-5457
VHDL Tools            P.O. Box 3511, Station C        Fax: (613) 763-2661
                  Ottawa, Ontario, Canada, K1Y 4H7  Flame: 1-800-DEV-NULL
janick@bnr.ca                     library disclaimer; use disclaimer.all;

alanrw@cs.man.ac.uk (Alan R Williams) (06/15/90)

Warning: This is my first post to USENET using gnus so please don't flame me
for any mistakes

In article <1336@bcrka298.UUCP> janick@bnr.ca (Janick Bergeron 1617964) writes:
   Some questions about EDIF 200 netlist.

If anyone has any questions about EDIF then the only people who can give an
authoritative (sp?) answer are the EDIF Technical Committee.  Questions can 
be sent to them at the following e-mail address:
	edif-support@cs.man.ac.uk    (Please note that it is a hyphen/dash not
an underscore) or by letter to
	Mrs J. Spink
	  Room IT 406
	    Department of Computer Science
	      University of Manchester
		Manchester
		  M13 9PL
		    United Kingdom
or by Fax to +44 (61) 275 6280

There are four books of previous questions and answers which can also be
obtained from the above address.

I can only give my personal opinion as to the correct answers to your 
questions but here I go anyway :

1- Can two nets be connected to the same port of the same instance of a cell?

	< Schematic deleted >

The answer is that it depends upon where the nets are and the cellType of
the cell.  If the nets are directly within the contents of a view or a page
then the answer is NO.  For example,
(contents
  (instance I ...)
  (net N
    (joined
       (portRef A (instanceRef I))
       ...
    )
  )
  (net M
    (joined
       (portRef A (instanceRef I))
       ...
    )
  )
) is ILLEGAL

However, if the two nets N and M are subnets of a larger net then it is
legal for them to both reference port A of I if and only if that port is
mentioned in the joined of the main net.  For example:

(contents
  (instance I ...)
  (net main
    (joined (portRef A (instanceRef I)) ...)
    (net subnetN
      (joined (portRef A (instanceRef I))...)
    )
    (net subnetM
       (joined (portRef A (instanceRef I))...)
    )
  )
) is LEGAL

Two subnets can also reference the same port is it is a port of a TIE cell
instantiated in the main net.  For example:

(contents
  (net main
    (joined ...)
    (instance I (viewRef someView (cellRef someTieCell)))
    (net subnetN
      (joined (portRef A (instanceRef I))...)
    )
    (net subnetM
      (joined (portRef A (instanceRef I))...)
    )
  )
) is LEGAL

I cannot comment on how you should represent your example in EDIF 200 as the
context in which the nets and the instance occur is unclear.

   2- In "Using EDIF 200 For Schematic Transfer" published by the EIA,
      two ripper cells are used when a net must be split in two other nets.
      Is this a recommendation of a committee or can a single ripper cell
      be used ?

I think that the two ripper cells can legally be combined as you suggest.
However, "Using EDIF 200 For Schematic Transfer" was written by the EDIF
Schematic Technical SubCommittee to aid in the production of reliable
transfer via EDIF.  Although it is legal to combine the ripper cells, 
certain EDIF readers may not be able to understand a design where this has 
been done.  Therefore, if you want to able to pass your files to lots of
different CAD systems, you would be wise to follow their recommendations.

I hope this was of some use














--
--------------------------------------------------------------------------------
Alan WIlliams, Room IT406, Department of Computer Science,
University of Manchester, Oxford Road, Manchester, M13 9PL, U.K.
Tel: (061) 275 6289      Fax: (061) 275 6280
EMAIL: alanrw@cs.man.ac.uk or ...!uunet!mcsun!ukc!mucs!alanrw