Walter, I was responding to your example: (Root.(Model_Specific(Tap(-1 (Range 0 -.4 1.) (Usage In) (Type Float))) is represented as Tap.-1 in Labels (e.g. "Tap.-2 Out_PWL") where these is a dot after "Root". It wasn't clear to me why you put it there since you also had an open parentheses, but I thought you "meant it". Either way, I don't want to go back to the "AMIfile()" syntax now that we started going down the path of generalizing this whole thing. I think the best might be to do this: thisfile.ibs(TreeRootName(Model_Specific(Branch1(Branch2(Vinh))))) or thisfile.ibs:TreeRootName(Model_Specific(Branch1(Branch2(Vinh))))) or thisfile.ibs:TreeRootName:Model_Specific:Branch1:Branch2:Vinh or thisfile.ibs:TreeRootName(Model_Specific:Branch1:Branch2:Vinh) or anything along those lines... Thanks, Arpad ==================================================================== -----Original Message----- From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Tuesday, April 10, 2012 8:23 PM To: Muranyi, Arpad; 'IBIS-ATM' Subject: RE: [ibis-macro] Re: BIRD 117 AMI parameter uniqueness Arpad, The dot is in the parameter name, which is in (). So there is no parsing problem at all. thisfile.ibs:TreeRootName(Model_Specific(dfe.mode)) I do strongly believe that in the case of an IBIS AMI [Model], all that is required is: AMIfile(dfe.mode) This shortcut is rigorously accurate, since we already have the constraint of leaving off (Model_Specific in the calls to the BNF. We should consider adding to IBIS 5.2 the rule that a branch or parameter off (Reserved_Parameter cannot be the same name as a branch or parameter off (Model_Specific. I know this is going back to your original proposal which is now a shortcut to you more general rule for accessing other parameter tree structures which need not follow the context rule we put into the .ami parameter tree requiring a Reserved and Model Specific branch. Walter -----Original Message----- From: Muranyi, Arpad [mailto:Arpad_Muranyi@xxxxxxxxxx] Sent: Tuesday, April 10, 2012 9:08 PM To: Walter Katz; 'IBIS-ATM' Subject: RE: [ibis-macro] Re: BIRD 117 AMI parameter uniqueness Walter, The dot "." might not work very well as the separator character because it is a legal character in file names. This is why I was originally thinking of using the semicolon ":", but I am beginning to wonder if we would be better off using parentheses. Thanks, Arpad ================================================================ -----Original Message----- From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Tuesday, April 10, 2012 8:04 PM To: Muranyi, Arpad; 'IBIS-ATM' Subject: RE: [ibis-macro] Re: BIRD 117 AMI parameter uniqueness Mike, "dfe.mode" and "agc.mode" are the correct syntax. This is even mentioned in the last page of BIRD 150: Note that Hierarchical Parameter Names are represented using "." as the hierarchical delimiter. For example, the name of the parameter (Root .(Model_Specific(Tap(-1 (Range 0 -.4 1.) (Usage In) (Type Float))) is represented as Tap.-1 in Labels (e.g. "Tap.-2 Out_PWL"). Walter -----Original Message----- From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Tuesday, April 10, 2012 7:56 PM To: IBIS-ATM Subject: [ibis-macro] Re: BIRD 117 AMI parameter uniqueness Mike, The next question then is "how far up" do we need to go from the parameter name in the tree to have a "fully qualified" reference? I can see that the same parameter name might appear in the Reserved_Parameters branch as well as in the Model_Specific branch. I don't recall the spec prohibiting that either... So should this parameter reference then include basically the whole "nine yards" after the TreeRootName? For example, if we had a parameter tree like this: [Begin Parameter Trees] (TreeRootName (Description "Converter_Parameters illustration") (Model_Specific (TstoneFile (Usage In)(List "Typ.s4p" "Min.s4p" "Max.s4p" "SSS.s4p" "FFF.s4p")(Type String) (Vinh (Usage In)(List 0.8 0.7 0.9)(Type Float) (Vinl (Usage In)(List 0.2 0.1 0.3)(Type Float) (R1 (Usage In)(Range 50 45 55)(Type Float) (Trf (Usage In)(Value 10.0e-12)(Type Float)) ) | End Model_Specific ) [End Parameter Trees] should the assignment reference look like this: thisfile.ibs:TreeRootName(Model_Specific(Vinh)) regardless of whether "Vinh" appears only once or multiple times within the tree? A refinement detail for the syntax is the question of what character should be used as the separator character? I had a semicolon between the file name and the TreeRootName above, but I wonder whether we should use the same separator character in the entire reference syntax, like this: thisfile.ibs(TreeRootName(Model_Specific(Vinh))) or thisfile.ibs:TreeRootName:Model_Specific:Vinh Comments and suggestions are welcome from anyone. Thanks, Arpad ============================================================= -----Original Message----- From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Tuesday, April 10, 2012 6:33 PM To: IBIS-ATM Subject: [ibis-macro] Re: BIRD 117 AMI parameter uniqueness Mike, You are making a good point. But instead of resolving this on the D_to_A line, as you suggested: D_to_A D_drive my_drive my_ref (Vd2a(low)) (Vd2a(high)) (Td2a(fall)) (Td2a(rise)) Typ this should be resolved on the parameter assignment line: Converter_Parameters MyVinl = thisfile.ibs:TreeRootName(Vd2a(high)) because the converter parameter name on the D_to_A line is just a parameter name in the .ibs file (defined by the "Converter_Parameters" subparameter), not the parameter name in the parameter tree... Thanks, Arpad ============================================================= -----Original Message----- From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Mike LaBonte Sent: Saturday, April 07, 2012 8:03 AM To: IBIS-ATM Subject: [ibis-macro] BIRD 117 AMI parameter uniqueness As we have been discussing BIRD 117, which offers a way to reference AMI-style parameters trees, I am wondering if we might suffer from name ambiguity. Consider this fragment of a .ami file: (Model_Specific (dfe (mode (Usage In)(Type Integer)(List 0 1)(Description "DFE on/off control")) ) (agc (mode (Usage In)(Type Integer)(List 0 1)(Description "AGC on/off control")) ) ) The parameter "mode" appears twice, but as far as I can tell that is legal because it follows the BIRD 127 rule that "Each sub-branch of a branch must have a unique name.". I can't find any rule disallowing two parameters with the same name in different branches. EDA tools handle this ambiguity by using a syntax like "dfe.mode" and "agc.mode" when giving users control. But nothing like that is suggested in BIRD 117. The examples there are simple parameter names like "MyTrise". It seems it would be up to the EDA tool to walk through the various branch levels until it finds a parameter at any level with a matching name. If only one is found, great. If more than one is found ... then what? I would feel more comfortable if parameters were always referenced by full hierarchy. For example: | D_to_A d_port port1 port2 vlow vhigh trise tfall corner_name D_to_A D_drive my_drive my_ref MyVlow MyVhigh1 MyTfall MyTrise Typ could be... | D_to_A d_port port1 port2 vlow vhigh trise tfall corner_name D_to_A D_drive my_drive my_ref (Vlow) (Vhigh1) (Tfall) (Trise) Typ or... | D_to_A d_port port1 port2 vlow vhigh trise tfall corner_name D_to_A D_drive my_drive my_ref (Vd2a(low)) (Vd2a(high)) (Td2a(fall)) (Td2a(rise)) Typ depending on where the parameters fall in the tree hierarchy. Mike --------------------------------------------------------------------- IBIS Macro website : http://www.eda.org/pub/ibis/macromodel_wip/ IBIS Macro reflector: //www.freelists.org/list/ibis-macro To unsubscribe send an email: To: ibis-macro-request@xxxxxxxxxxxxx Subject: unsubscribe --------------------------------------------------------------------- IBIS Macro website : http://www.eda.org/pub/ibis/macromodel_wip/ IBIS Macro reflector: //www.freelists.org/list/ibis-macro To unsubscribe send an email: To: ibis-macro-request@xxxxxxxxxxxxx Subject: unsubscribe --------------------------------------------------------------------- IBIS Macro website : http://www.eda.org/pub/ibis/macromodel_wip/ IBIS Macro reflector: //www.freelists.org/list/ibis-macro To unsubscribe send an email: To: ibis-macro-request@xxxxxxxxxxxxx Subject: unsubscribe --------------------------------------------------------------------- IBIS Macro website : http://www.eda.org/pub/ibis/macromodel_wip/ IBIS Macro reflector: //www.freelists.org/list/ibis-macro To unsubscribe send an email: To: ibis-macro-request@xxxxxxxxxxxxx Subject: unsubscribe