diff --git a/cocotbext/eth/gmii.py b/cocotbext/eth/gmii.py index 33ae516..6aca80d 100644 --- a/cocotbext/eth/gmii.py +++ b/cocotbext/eth/gmii.py @@ -53,11 +53,14 @@ class GmiiFrame(object): data.extend(payload) return cls(data) + def get_preamble_len(self): + return self.data.index(EthPre.SFD)+1 + def get_preamble(self): - return self.data[0:8] + return self.data[0:self.get_preamble_len()] def get_payload(self): - return self.data[8:] + return self.data[self.get_preamble_len():] def normalize(self): n = len(self.data) diff --git a/cocotbext/eth/xgmii.py b/cocotbext/eth/xgmii.py index 8de1121..1d9aec4 100644 --- a/cocotbext/eth/xgmii.py +++ b/cocotbext/eth/xgmii.py @@ -55,11 +55,14 @@ class XgmiiFrame(object): data.extend(payload) return cls(data) + def get_preamble_len(self): + return self.data.index(EthPre.SFD)+1 + def get_preamble(self): - return self.data[0:8] + return self.data[0:self.get_preamble_len()] def get_payload(self): - return self.data[8:] + return self.data[self.get_preamble_len():] def normalize(self): n = len(self.data)