diff --git a/cocotbext/eth/constants.py b/cocotbext/eth/constants.py index 539067e..6197658 100644 --- a/cocotbext/eth/constants.py +++ b/cocotbext/eth/constants.py @@ -93,3 +93,41 @@ class BaseRBlockType(enum.IntEnum): TERM_5 = 0xd2 # C7 C6 D4 D3 D2 D1 D0 BT TERM_6 = 0xe1 # C7 D5 D4 D3 D2 D1 D0 BT TERM_7 = 0xff # D6 D5 D4 D3 D2 D1 D0 BT + + +xgmii_ctrl_to_baser_mapping = { + XgmiiCtrl.IDLE: BaseRCtrl.IDLE, + XgmiiCtrl.LPI: BaseRCtrl.LPI, + XgmiiCtrl.ERROR: BaseRCtrl.ERROR, + XgmiiCtrl.RES_0: BaseRCtrl.RES_0, + XgmiiCtrl.RES_1: BaseRCtrl.RES_1, + XgmiiCtrl.RES_2: BaseRCtrl.RES_2, + XgmiiCtrl.RES_3: BaseRCtrl.RES_3, + XgmiiCtrl.RES_4: BaseRCtrl.RES_4, + XgmiiCtrl.RES_5: BaseRCtrl.RES_5, +} + + +baser_ctrl_to_xgmii_mapping = { + BaseRCtrl.IDLE: XgmiiCtrl.IDLE, + BaseRCtrl.LPI: XgmiiCtrl.LPI, + BaseRCtrl.ERROR: XgmiiCtrl.ERROR, + BaseRCtrl.RES_0: XgmiiCtrl.RES_0, + BaseRCtrl.RES_1: XgmiiCtrl.RES_1, + BaseRCtrl.RES_2: XgmiiCtrl.RES_2, + BaseRCtrl.RES_3: XgmiiCtrl.RES_3, + BaseRCtrl.RES_4: XgmiiCtrl.RES_4, + BaseRCtrl.RES_5: XgmiiCtrl.RES_5, +} + + +block_type_term_lane_mapping = { + BaseRBlockType.TERM_0: 0, + BaseRBlockType.TERM_1: 1, + BaseRBlockType.TERM_2: 2, + BaseRBlockType.TERM_3: 3, + BaseRBlockType.TERM_4: 4, + BaseRBlockType.TERM_5: 5, + BaseRBlockType.TERM_6: 6, + BaseRBlockType.TERM_7: 7, +}