( ESNUG 328 Item 8 ) ----------------------------------------------- [9/9/99]

From: Gzim Derti <gderti@intrinsix.com>
Subject: ( ESNUG 315 #8 )  Headaches Because PrimeTime Tcl Lacks "Ldelete"

Hi John,

Here's a question for the masses that came up when I was playing with
PrimeTime... By the by, I want to THANK Paul Zimmer at Cerent for his
posting in ESNUG 315 Item 8!!!!  I forgot about it until I NEEDED to
get the simple name out of a collection, or his fullname proc!!!!
I was banging my head for about an hour before I re-read his note that I
had saved off.... It was KILLING me, (%#@(*&^#$  full_name....

Does anyone have an answer as to why Synopsys chose to use TCL but
NOT include ldelete in their commands???  By using add_to_collection or
remove_from_collection, you need to create a NEW collection rather than
using a single one and for me that gets to be cumbersome.  I can take
a collection named, let's say, input_pins, and by using lappend be able
to add another pin to the collection and use the same name rather than
creating and using another name.  When I want to REMOVE an object from
said collection, I tried to use the TCL ldelete command, but PrimeTime
gives me "unknown command".  Any one know why???  Or better yet, how
to possibly get around it???

I've also tried the following, to no avail:

   pt_shell> set l1 [all_inputs]

   {"CARRY_IN", "CLOCK", "CONDITION_CODE", "CONDITION_CODE_ENABLE",
    "D[10]", "D[11]", "D[12]", "D[1]", "D[2]", "D[3]", "D[4]", "D[5]",
    "D[6]", "D[7]", "D[8]", "D[9]", "INSTRUCTION[0]", "INSTRUCTION[1]",
    "INSTRUCTION[2]", "INSTRUCTION[3]", "RELOAD"}

   pt_shell> query $l1

   {"CARRY_IN", "CLOCK", "CONDITION_CODE", "CONDITION_CODE_ENABLE",
    "D[10]", "D[11]", "D[12]", "D[1]", "D[2]", "D[3]", "D[4]", "D[5]",
    "D[6]", "D[7]", "D[8]", "D[9]", "INSTRUCTION[0]", "INSTRUCTION[1]",
    "INSTRUCTION[2]", "INSTRUCTION[3]", "RELOAD"}

   pt_shell> set l1 [lminus $l1 {"CLOCK"}]

   {"CARRY_IN", "CLOCK", "CONDITION_CODE", "CONDITION_CODE_ENABLE",
    "D[10]", "D[11]", "D[12]", "D[1]", "D[2]", "D[3]", "D[4]", "D[5]",
    "D[6]", "D[7]", "D[8]", "D[9]", "INSTRUCTION[0]", "INSTRUCTION[1]",
    "INSTRUCTION[2]", "INSTRUCTION[3]", "RELOAD"}

   pt_shell> query $l1

   {"CARRY_IN", "CLOCK", "CONDITION_CODE", "CONDITION_CODE_ENABLE",
    "D[10]", "D[11]", "D[12]", "D[1]", "D[2]", "D[3]", "D[4]", "D[5]",
    "D[6]", "D[7]", "D[8]", "D[9]", "INSTRUCTION[0]", "INSTRUCTION[1]",
    "INSTRUCTION[2]", "INSTRUCTION[3]", "RELOAD"}

   pt_shell> set l1 [lminus $l1 [index_collection $l1 1]]

   {"CARRY_IN", "CLOCK", "CONDITION_CODE", "CONDITION_CODE_ENABLE",
    "D[10]", "D[11]", "D[12]", "D[1]", "D[2]", "D[3]", "D[4]", "D[5]",
    "D[6]", "D[7]", "D[8]", "D[9]", "INSTRUCTION[0]", "INSTRUCTION[1]",
    "INSTRUCTION[2]", "INSTRUCTION[3]", "RELOAD"}

   pt_shell> query $l1

   {"CARRY_IN", "CLOCK", "CONDITION_CODE", "CONDITION_CODE_ENABLE",
    "D[10]", "D[11]", "D[12]", "D[1]", "D[2]", "D[3]", "D[4]", "D[5]",
    "D[6]", "D[7]", "D[8]", "D[9]", "INSTRUCTION[0]", "INSTRUCTION[1]",
    "INSTRUCTION[2]", "INSTRUCTION[3]", "RELOAD"}

Does anyone have an answer as to why Synopsys chose to use TCL but
NOT include ldelete in their commands???

    - Gzim Derti
      Intrinsix Corp.                           Rochester, NY



 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)