部分:宏模块
本节介绍宏模块的参数。该部分是在您生成宏模块时自动创建的。作为替代方案,您可以手动将该部分插入模块声明中或编辑自动生成的部分。
SEC MacroModule //optional: yes, modifier: None
SEC Rootmodule : <identifier> //optional: no, modifier: None
SEC MacroParameter : <identifier> //optional: yes, modifier: None
Local_ParameterID := <parameter ID>; //optional: no, type: ID
New_Name := <parameter name>; //optional: no, type: text
New_Desc := <parameter description>; //optional: no, type: text
END_SEC
SEC MacroIO : <identifier> //optional: yes, modifier: None
Local_IOID := <IO ID>; //optional: no, type: ID
New_Name := <IO name>; //optional: yes, type: text
New_Desc := <IO description>; //optional: yes, type: text
END_SEC
SEC MacroSlot : <identifier> //optional: yes, modifier: None
Local_SlotID := <slot ID>; //optional: no, type: ID
New_Role := <role name>; //optional: yes, type: text
END_SEC
SEC Default_Allocation //optional: no, modifier: None
Module_Name := <module name>; //optional: no, type: QID
SEC VisuEmbeddings //optional: yes, modifier: None
Empty := TRUE/FALSE; //optional: yes, type: BoolFlag
SEC Embedding : <identifier> //optional: yes, modifier: None
VisuName := <visu ID>; //optional: no, type: ID
ProxyVisuName := <proxy visu ID>; //optional: no, type: ID
Target := <target ID>; //optional: yes, type: ID
LinkId := <linke ID>; //optional: yes, type: ID
END_SEC
END_SEC
SEC PageVisu //optional: yes, modifier: None
VisuName := <visu ID>; //optional: yes, type: ID
TopLevelTab := <top level tab>; //optional: yes, type: ID/Bool
END_SEC
SEC IOMappings : <identifier> //optional: no, modifier: None
SEC Mapping : <identifier> //optional: yes, modifier: None
NoMapping := TRUE/FALSE; //optional: yes, type: BoolFlag
STExpression := <ST expression>; //optional: yes, type: ID/ST expression
ModuleConnection := <module connection>; //optional: yes, type: ID/ST expression
END_SEC
END_SEC
SEC Parameters : <identifier> //optional: yes, modifier: None
SEC Param : <identifier> //optional: yes, modifier: None
Value := <value ID>; //optional: no, type: ID
END_SEC
END_SEC
END_SEC
END_SEC
SEC Submodule : <identifier> //optional: yes, modifier: None
Parent_Instance := <instance ID>; //optional: no, type: ID
Parent_Slot := <slot ID>; //optional: no, type: ID
SEC MacroParameter : <identifier> //optional: yes, modifier: None
Local_ParameterID := <parameter ID>; //optional: no, type: ID
New_Name := <parameter name>; //optional: yes, type: text
New_Desc := <parameter description>; //optional: yes, type: text
END_SEC
SEC MacroIO : <identifier> //optional: yes, modifier: None
Local_IOID := <IO Id>; //optional: no, type: ID
New_Name := <IO name>; //optional: yes, type: text
New_Desc := <IO description>; //optional: yes, type: text
END_SEC
SEC MacroSlot : <identifier> //optional: yes, modifier: None
Local_SlotID := <slot ID>; //optional: no, type: ID
New_Role := <role name>; //optional: yes, type: text
END_SEC
SEC Default_Allocation //optional: no, modifier: None
Module_Name := <module name>; //optional: no, type: QID
Instance_Name := <instance name>; //optional: no, type: ID
SEC VisuEmbeddings //optional: no, modifier: None
Empty := TRUE/FALSE; //optional: yes, type: BoolFlag
SEC Embedding : <identifier> //optional: yes, modifier: None
VisuName := <visu ID> //optional: no, type: ID
ProxyVisuName := <proxy visu ID> //optional: no, type: ID
Target := <target ID>; //optional: yes, type: ID
LinkId := <link ID>; //optional: yes, type: ID
END_SEC
END_SEC
SEC PageVisu //optional: yes, modifier: None
VisuName := <visu ID>; //optional: yes, type: ID
TopLevelTap := <top level tab>; //optional: yes, type: ID/Bool
END_SEC
SEC IOMappings : <identifier> //optional: yes, modifier: None
SEC Mapping : <identifier> //optional: yes, modifier: None
NoMapping := TRUE/FALSE //optional: yes, type: BoolFlag
STExpression := <ST expression> //optional: yes, type: ID/ST expression
ModuleConnection := <module connection> //optional: yes, type: ID/ST expression
END_SEC
END_SEC
SEC Parameters //optional: yes, modifier: None
SEC Param : <identifier> //optional: yes, modifier: None
Value := <value>; //optional: no, type: ID
END_SEC
END_SEC
END_SEC
END_SEC
SEC Reference : <identifier> //optional: yes, modifier: None
Parent_Instance := <instance ID>; //optional: no, type: ID
Parent_Slot := <slot ID>; //optional: no, type: ID
Referenced_Instance := <instance ID>; //optional: no, type: ID
END_SEC
END_SEC有关定义类型语法的详细信息,请参阅 部分 模块声明。
MacroModule:如果定义了该节,则整个模块声明中除该节外不允许出现其他节MetaData。此部分的每个模块声明都明确标识为 MacroModule 类型。另一段MacroModule模块声明中不允许使用。Rootmodule:表示以下小节描述根子模块,它应该是 1) 此类型 MacroModule 的根,2) 作为 MacroModule 类型的所有其他子模块的顶级父级插入。Submodule:表示以下小节描述了一个子模块,该子模块应插入到 MacroModule 类型的子树中的根子模块下。MacroParameter:如果在一个section中使用了这种subsectionSubmodule或者Root,那么可以指示所定义的子模块(或根)的特定参数本身应该作为宏模块的参数出现。为此,本节的目标MacroParameter用作宏模块参数的新参数ID。然后给定子模块(或根)的参数定义为Local_ParameterID。此外,可以使用以下定义创建文本列表条目New_Name和New_Desc。这些条目用于新宏模块参数的名称和描述,而不是子模块或根参数的名称和描述。所有部分的所有定义目标MacroParameter整个宏模块内必须清晰,以确保所有宏模块参数的参数 ID 唯一。MacroIO:如果在section中使用了这种小节Submodule或者Root,则可以指示所定义的子模块(或根)的特定 I/O 本身应该作为宏模块的 I/O 出现。为此,本节的目标MacroIO用作宏模块 I/O 的新 I/O ID。然后给定子模块(或根)的 I/O 定义为Local_IOID。此外,可以使用以下定义创建文本列表条目New_Name和New_Desc。这些条目用于新宏模块 I/O(而不是子模块或根 I/O)的名称和描述。所有部分的所有定义目标MacroIO整个宏模块内的 I/O ID 必须清晰,以确保所有宏模块 I/O 具有唯一的 I/O ID。MacroSlot:如果本节中使用了该小节Submodule或者Root,则可以指示所定义的子模块(或根)的特定槽本身应该作为宏模块的槽出现。这样,可以将其他模块实例插入到 MacroModule 实例的该插槽下方。为此,本节的目标MacroSlot用作宏模块插槽的新插槽 ID。然后给定子模块(或根)的插槽定义为Local_SlotID。此外,可以使用定义创建文本列表条目New_Role。该条目用于新宏模块插槽的角色,而不是子模块或根插槽的角色。所有部分的所有定义目标MacroSlot整个宏模块内的内容必须清晰,以确保所有宏模块插槽的插槽 ID 唯一。Parent_Instance: 定义一个ID对应一个section的目标IDRootmodule或者Submodule包围部分的MacroModule。该定义仅存在于该部分中Submodule。它定义了应在其下方插入子模块的父模块实例。该子模块由相应部分描述Submodule的宏模块。此外,定义Parent_Slot也是必需的。Parent_Slot:定义与位于由 标识的子模块类型下的插槽 ID 相对应的 IDParent_Module。本节描述的 MacroModule 类型的子模块Submodule插入此插槽下方。Default_Allocation:这与插槽声明下的同名部分相同(Slot和Slot_Multi)。本节为“根模块”和“子模块”定义了应为哪个实例配置插入哪种 MacroModule 类型的子模块。唯一的区别是没有Instance_Name可以定义为Default_Allocation在一个部分下Rootmodule,而是在部分下Submodule。原因是作为“根模块”插入的模块实例从 MacroModule 实例接收其名称,因此不能通过“默认”输入。Reference:表明以下小节描述了模块参考。模块实例下方生成引用Parent_Instance和插槽Parent_Slot,引用子模块Referenced_Instance。作为Parent_Instance,该引用的实例必须源自同一节下面的根模块实例的子模块集合MacroModule。
不得使用
IMPLEMENTED_BY或者IMPORTS在其模块声明中。它必须包括该部分
MetaData和MacroModule。否则,不得使用附加部分。必须至少有一个
Rootmodule下面的部分Macro_Module部分。而且,绝对不能有第二次Rootmodule部分。对于每个
submodule, 这俩Parent_Instance和Parent_Slot必须定义在MacroModule。这必须被定义为Local_SlotID之内MacroSlot的Parent_Instance。