hdlConvertorAst.to.vhdl package¶
This module contains a convertor from HdlConvertor AST to a VHDL code.
Submodules¶
hdlConvertorAst.to.vhdl.expr module¶
-
class
hdlConvertorAst.to.vhdl.expr.
ToVhdl2008Expr
(out_stream)[source]¶ Bases:
hdlConvertorAst.to.common.ToHdlCommon
-
BITWISE_BIN_OPS
= {<HdlOpType.AND: 18>, <HdlOpType.NAND: 20>, <HdlOpType.XNOR: 23>, <HdlOpType.NOR: 21>, <HdlOpType.XOR: 22>, <HdlOpType.OR: 19>, <HdlOpType.AND_LOG: 16>, <HdlOpType.OR_LOG: 17>}¶
-
EQ_NEQ_OPS
= (<HdlOpType.EQ: 36>, <HdlOpType.NE: 37>)¶
-
GENERIC_BIN_OPS
= {<HdlOpType.AND: 18>: ' AND ', <HdlOpType.AND_LOG: 16>: ' AND ', <HdlOpType.OR: 19>: ' OR ', <HdlOpType.OR_LOG: 17>: ' OR ', <HdlOpType.DIV: 4>: ' / ', <HdlOpType.MOD: 6>: ' MOD ', <HdlOpType.REM: 7>: ' REM ', <HdlOpType.POW: 8>: ' ** ', <HdlOpType.NAND: 20>: ' NAND ', <HdlOpType.NOR: 21>: ' NOR ', <HdlOpType.XOR: 22>: ' XOR ', <HdlOpType.XNOR: 23>: ' XNOR ', <HdlOpType.EQ: 36>: ' = ', <HdlOpType.NE: 37>: ' /= ', <HdlOpType.EQ_MATCH: 44>: ' ?= ', <HdlOpType.NE_MATCH: 45>: ' ?/= ', <HdlOpType.LT_MATCH: 46>: ' ?< ', <HdlOpType.LE_MATCH: 47>: ' ?<= ', <HdlOpType.GT_MATCH: 48>: ' ?> ', <HdlOpType.GE_MATCH: 49>: ' ?>= ', <HdlOpType.TO: 79>: ' TO ', <HdlOpType.DOWNTO: 78>: ' DOWNTO ', <HdlOpType.ARROW: 58>: ' => ', <HdlOpType.MAP_ASSOCIATION: 81>: ' => ', <HdlOpType.RANGE: 82>: ' RANGE ', <HdlOpType.CONCAT: 51>: ' & ', <HdlOpType.ROL: 34>: ' ROL ', <HdlOpType.ROR: 35>: ' ROR ', <HdlOpType.SLA: 32>: ' SLA ', <HdlOpType.SRA: 33>: ' SRA ', <HdlOpType.SLL: 30>: ' SLL ', <HdlOpType.SRL: 31>: ' SRL ', <HdlOpType.UNIT_SPEC: 86>: ' ', <HdlOpType.ADD: 3>: ' + ', <HdlOpType.SUB: 2>: ' - ', <HdlOpType.MUL: 5>: ' * ', <HdlOpType.LT: 40>: ' < ', <HdlOpType.LE: 41>: ' <= ', <HdlOpType.GT: 42>: ' > ', <HdlOpType.GE: 43>: ' >= ', <HdlOpType.DOT: 55>: '.'}¶
-
GENERIC_UNARY_OPS
= {<HdlOpType.PLUS_UNARY: 1>: '+', <HdlOpType.MINUS_UNARY: 0>: '-', <HdlOpType.NEG: 15>: 'NOT ', <HdlOpType.NEG_LOG: 14>: 'NOT ', <HdlOpType.RANGE: 82>: 'RANGE '}¶
-
NUM_BASES
= {2: '', 8: 'O', 16: 'X', 256: ''}¶
-
OP_PRECEDENCE
= {<HdlOpType.UNIT_SPEC: 86>: (0, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.DOT: 55>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.CALL: 75>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.INDEX: 50>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.RISING: 76>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.FALLING: 77>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.APOSTROPHE: 57>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.POW: 8>: (2, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.ABS: 9>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.NEG: 15>: (2, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.NEG_LOG: 14>: (2, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.MUL: 5>: (3, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.DIV: 4>: (3, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.MOD: 6>: (3, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.REM: 7>: (3, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.PLUS_UNARY: 1>: (4, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.MINUS_UNARY: 0>: (4, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.CONCAT: 51>: (5, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.ADD: 3>: (5, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SUB: 2>: (5, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SLL: 30>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SRL: 31>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SLA: 32>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SRA: 33>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.ROL: 34>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.ROR: 35>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.EQ: 36>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.NE: 37>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.GT: 42>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.LT: 40>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.GE: 43>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.LE: 41>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.EQ_MATCH: 44>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.NE_MATCH: 45>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.LT_MATCH: 46>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.LE_MATCH: 47>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.GT_MATCH: 48>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.GE_MATCH: 49>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.AND: 18>: (8, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.OR: 19>: (8, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.NAND: 20>: (8, <ASSOCIATIVITY.NONE: 'NONE'>), <HdlOpType.NOR: 21>: (8, <ASSOCIATIVITY.NONE: 'NONE'>), <HdlOpType.XOR: 22>: (8, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.XNOR: 23>: (8, <ASSOCIATIVITY.NONE: 'NONE'>), <HdlOpType.DOWNTO: 78>: (9, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.TO: 79>: (9, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.TERNARY: 74>: (9, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.RANGE: 82>: (10, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.ARROW: 58>: (11, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.MAP_ASSOCIATION: 81>: (11, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>)}¶
-
hdlConvertorAst.to.vhdl.keywords module¶
hdlConvertorAst.to.vhdl.stm module¶
-
class
hdlConvertorAst.to.vhdl.stm.
ToVhdl2008Stm
(out_stream)[source]¶
hdlConvertorAst.to.vhdl.vhdl2008 module¶
-
class
hdlConvertorAst.to.vhdl.vhdl2008.
ToVhdl2008
(out_stream)[source]¶ Bases:
hdlConvertorAst.to.vhdl.stm.ToVhdl2008Stm
Convert hdlObject AST back to VHDL
-
DIR2V
= {<HdlDirection.IN: 0>: 'IN', <HdlDirection.OUT: 1>: 'OUT', <HdlDirection.INOUT: 2>: 'INOUT'}¶
-