-def log_pin(dut, pin):
- _, _, type_, name, _ = pin
- if type_ == IOType.In:
- core_i = getattr(dut.test_issuer, f"{name}__core__i").value
- pad_i = getattr(dut.test_issuer, f"{name}__pad__i").value
- dut._log.info(f"{name}: core.i={core_i}, pad.i={pad_i}")
- elif type_ == IOType.Out:
- core_o = getattr(dut.test_issuer, f"{name}__core__o").value
- pad_o = getattr(dut.test_issuer, f"{name}__pad__o").value
- dut._log.info(f"{name}: core.o={core_o}, pad.o={pad_o}")
- elif type_ == IOType.TriOut:
- core_o = getattr(dut.test_issuer, f"{name}__core__o").value
- core_oe = getattr(dut.test_issuer, f"{name}__core__oe").value
- pad_o = getattr(dut.test_issuer, f"{name}__pad__o").value
- pad_oe = getattr(dut.test_issuer, f"{name}__pad__oe").value
- dut._log.info(f"{name}: core.(o={core_o}, oe={core_oe}), pad.(o={pad_o}, oe={pad_oe})")
- elif type_ == IOType.InTriOut:
- core_i = getattr(dut.test_issuer, f"{name}__core__i").value
- core_o = getattr(dut.test_issuer, f"{name}__core__o").value
- core_oe = getattr(dut.test_issuer, f"{name}__core__oe").value
- pad_i = getattr(dut.test_issuer, f"{name}__pad__i").value
- pad_o = getattr(dut.test_issuer, f"{name}__pad__o").value
- pad_oe = getattr(dut.test_issuer, f"{name}__pad__oe").value
- dut._log.info(f"{name}: core.(i={core_i}, o={core_o}, oe={core_oe}), pad.(t={core_i}, o={pad_o}, oe={pad_oe})")
- else:
- raise ValueError(f"Unsupported pin type {type_}")
-
-def log_pins(dut, pins):
- for pin in get_jtag_boundary():
- log_pin(dut, pin)
-
-def check_pin(dut, pin, val):
- _, _, type_, name, _ = pin
- if type_ == IOType.In:
- assert getattr(dut.test_issuer, f"{name}__core__i").value == val
- elif type_ == IOType.Out:
- assert getattr(dut.test_issuer, f"{name}__pad__o").value == val
- elif type_ == IOType.TriOut:
- assert getattr(dut.test_issuer, f"{name}__core__o").value == val
- assert getattr(dut.test_issuer, f"{name}__core__oe").value == 1
- elif type_ == IOType.InTriOut:
- assert getattr(dut.test_issuer, f"{name}__core__i").value == val
- assert getattr(dut.test_issuer, f"{name}__pad__o").value == val
- assert getattr(dut.test_issuer, f"{name}__pad__oe").value == val
- else:
- raise ValueError(f"Unsupported pin type {type_}")
-