class MuxOTA(OTA):
"""Cast bits cint and zero as the mode. Bit se is unused."""
- MODE_SHIFT = 14
- MODE_WIDTH = 2
+ MODE_SHIFT = 13
+ MODE_WIDTH = 3
+
+ # mode symbols
+ MUX_CMP = 0
+ MUX_BUF = 2
+ CAL_CMP = 4
+ CAL_BUF = 6
@property
def mode(self):
class Mux(object):
MUX_WIDTH = 48
SEL_WIDTH = 6
- MODE_WIDTH = 2
SEL_A_SHIFT = 40
SEL_B_SHIFT = 32
OTA_A_SHIFT = 16
OTA_B_SHIFT = 0
- # mode symbols
- MUX_CMP = 0
- MUX_BUF = 1
- CAL_CMP = 2
- CAL_BUF = 3
def __init__(self, spibus, csname):
self.bus = spibus
self._selB = intbv(48, max=2**self.SEL_WIDTH) #select CMI
self.otaA = MuxOTA()
self.otaB = MuxOTA()
- self.otaA.mode = self.MUX_BUF
- self.otaB.mode = self.MUX_BUF
+ self.otaA.mode = self.otaA.MUX_BUF
+ self.otaB.mode = self.otaB.MUX_BUF
self.ota = (self.otaA, self.otaB)
def __str__(self):