def p_primitive(p): '''primitive : IDENTIFIER IDENTIFIER '(' primitive_port_list ')' ';' | IDENTIFIER IDENTIFIER BIT '(' primitive_port_list ')' ';' | IDENTIFIER IDENTIFIER '(' primitive_port_list ')' ';' defparam_list | IDENTIFIER IDENTIFIER BIT '(' primitive_port_list ')' ';' defparam_list | IDENTIFIER IDENTIFIER VECTOR '(' primitive_port_list ')' ';' defparam_list ''' if len(p)==7: p[0]=cc.circut_module(name=p[2],cellref=p[1]) p[0].add_port_list(p[4]) elif len(p)==8: if not p[3]=='(': #WITH BIT and NO para p[0]=cc.circut_module(name=p[2]+p[3],cellref=p[1]) p[0].add_port_list(p[5]) else: #NO BIT ,WITH PARA p[0]=cc.circut_module(name=p[2],cellref=p[1]) p[0].add_port_list(p[4]) p[0].add_param_list(p[7]) elif len(p)==9: p[0]=cc.circut_module(name=p[2]+p[3],cellref=p[1]) p[0].add_port_list(p[5]) p[0].add_param_list(p[8])
def p_primitive(p): '''primitive : IDENTIFIER IDENTIFIER '(' primitive_port_list ')' ';' | IDENTIFIER IDENTIFIER BIT '(' primitive_port_list ')' ';' | IDENTIFIER IDENTIFIER '(' primitive_port_list ')' ';' defparam_list | IDENTIFIER IDENTIFIER BIT '(' primitive_port_list ')' ';' defparam_list | IDENTIFIER IDENTIFIER VECTOR '(' primitive_port_list ')' ';' defparam_list ''' if len(p) == 7: p[0] = cc.circut_module(name=p[2], cellref=p[1]) p[0].add_port_list(p[4]) elif len(p) == 8: if not p[3] == '(': #WITH BIT and NO para p[0] = cc.circut_module(name=p[2] + p[3], cellref=p[1]) p[0].add_port_list(p[5]) else: #NO BIT ,WITH PARA p[0] = cc.circut_module(name=p[2], cellref=p[1]) p[0].add_port_list(p[4]) p[0].add_param_list(p[7]) elif len(p) == 9: p[0] = cc.circut_module(name=p[2] + p[3], cellref=p[1]) p[0].add_port_list(p[5]) p[0].add_param_list(p[8])
def p_module_decl(p): '''module_decl : MODULE IDENTIFIER '(' pipo_list ')' ';' ''' p[0]=cc.circut_module(name=p[2],m_type='top_module',cellref='module')
def p_module_decl(p): '''module_decl : MODULE IDENTIFIER '(' pipo_list ')' ';' ''' p[0] = cc.circut_module(name=p[2], m_type='top_module', cellref='module')