hdlConvertorAst.to.hwt package¶
Convert HdlConvertor AST to a HWT component declarations
Submodules¶
hdlConvertorAst.to.hwt.expr module¶
- class hdlConvertorAst.to.hwt.expr.ToHwtExpr(out_stream)[source]¶
Bases:
ToBasicHdlSimModelExpr- GENERIC_BIN_OPS = {HdlOpType.ADD: ' + ', HdlOpType.AND: ' & ', HdlOpType.DIV: ' // ', HdlOpType.DOT: '.', HdlOpType.DOWNTO: ':', HdlOpType.EQ: ' == ', HdlOpType.GE: ' >= ', HdlOpType.GT: ' > ', HdlOpType.IS: ' is ', HdlOpType.IS_NOT: ' is not ', HdlOpType.LE: ' <= ', HdlOpType.LT: ' < ', HdlOpType.MOD: ' % ', HdlOpType.MUL: ' * ', HdlOpType.NE: ' != ', HdlOpType.OR: ' | ', HdlOpType.POW: ' ** ', HdlOpType.SLL: ' << ', HdlOpType.SUB: ' - ', HdlOpType.XOR: ' ^ '}¶
- OP_PRECEDENCE = {HdlOpType.ADD: (7, ASSOCIATIVITY.L_TO_R), HdlOpType.AND: (9, ASSOCIATIVITY.L_TO_R), HdlOpType.AND_LOG: (14, ASSOCIATIVITY.L_TO_R), HdlOpType.CALL: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.DIV: (6, ASSOCIATIVITY.L_TO_R), HdlOpType.DOT: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.DOWNTO: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.EQ: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.FALLING: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.GE: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.GT: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.INDEX: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.IS: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.IS_NOT: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.LE: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.LT: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.MINUS_UNARY: (5, ASSOCIATIVITY.R_TO_L), HdlOpType.MOD: (6, ASSOCIATIVITY.L_TO_R), HdlOpType.MUL: (6, ASSOCIATIVITY.L_TO_R), HdlOpType.NE: (12, ASSOCIATIVITY.L_TO_R), HdlOpType.NEG: (5, ASSOCIATIVITY.R_TO_L), HdlOpType.NEG_LOG: (13, ASSOCIATIVITY.L_TO_R), HdlOpType.OR: (11, ASSOCIATIVITY.L_TO_R), HdlOpType.OR_LOG: (15, ASSOCIATIVITY.L_TO_R), HdlOpType.PARAMETRIZATION: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.PLUS_UNARY: (5, ASSOCIATIVITY.R_TO_L), HdlOpType.POW: (4, ASSOCIATIVITY.R_TO_L), HdlOpType.RISING: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.ROL: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.ROR: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.SLA: (8, ASSOCIATIVITY.L_TO_R), HdlOpType.SLL: (8, ASSOCIATIVITY.L_TO_R), HdlOpType.SRA: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.SRL: (1, ASSOCIATIVITY.L_TO_R), HdlOpType.SUB: (7, ASSOCIATIVITY.L_TO_R), HdlOpType.XOR: (10, ASSOCIATIVITY.L_TO_R)}¶