Example #1
0
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])
Example #2
0
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])
Example #3
0
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')
Example #4
0
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')