Source code for hdlConvertorAst.language
from enum import Enum
# [TODO] use full names of standard like 1800_2012
# because there are modifications and extensions which differs
# in first number but they have same second number
# (e.g. 1800-2017 vs 1802-2017)
[docs]class Language(Enum):
VHDL_2002 = "vhdl2002"
VHDL_2008 = "vhdl2008"
VHDL = VHDL_2008 # default vhdl version
VERILOG_1995 = "verilog1995" # ieee1364_1995
VERILOG_2001 = "verilog2001" # ieee1364_2001
VERILOG_2001_NOCONFIG = "verilog2001_noconfig" # ieee1364_2001-noconfig
VERILOG_2005 = "verilog2005" # ieee1364_2001
VERILOG = VERILOG_2001 # default verilog version
SYSTEM_VERILOG_2005 = "sv2005" # ieee1800_2005
SYSTEM_VERILOG_2009 = "sv2009" # ieee1800_2009
SYSTEM_VERILOG_2012 = "sv2012" # ieee1800_2012
SYSTEM_VERILOG_2017 = "sv2017" # ieee1800_2017
SYSTEM_VERILOG = SYSTEM_VERILOG_2017 # default verilog version
# json produced by hdlConvertor.to.json.ToJson
HDLCONVERTOR_JSON = "hdlConvertor_JSON"
HWT = "hwt"
[docs] def is_vhdl(self):
return self in [Language.VHDL_2002,
Language.VHDL_2008]
[docs] def is_verilog(self):
return self in (
Language.VERILOG_1995,
Language.VERILOG_2001,
Language.VERILOG_2001_NOCONFIG,
Language.VERILOG_2005
)
[docs] def is_system_verilog(self):
return self in (
Language.SYSTEM_VERILOG_2005,
Language.SYSTEM_VERILOG_2009,
Language.SYSTEM_VERILOG_2012,
Language.SYSTEM_VERILOG_2017
)