( 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
|
|