12#ifndef TIMING_INCLUDE_TIMING_CDRMUXDESIGNINTERFACE_HPP_
13#define TIMING_INCLUDE_TIMING_CDRMUXDESIGNINTERFACE_HPP_
21#include "uhal/DerivedNode.hpp"
50 auto active_sfp_mux_channel = getNode(
"us_mux.csr.ctrl.src").read();
51 getClient().dispatch();
52 return active_sfp_mux_channel.value();
60 void switch_mux(uint8_t mux_channel,
bool resync_cdr=
false) const override
63 getNode(
"us_mux.csr.ctrl.src").write(mux_channel);
64 getClient().dispatch();
80 std::string cdr_path(
"cdr"+std::to_string(active_mux));
81 getNode<UpstreamCDRNode>(cdr_path).resync();
Base class for timing endpoint design nodes.
uint8_t read_active_mux() const override
Read cdr mux.
virtual ~CDRMuxDesignInterface()
void switch_mux(uint8_t mux_channel, bool resync_cdr=false) const override
Switch cdr mux.
void resync_active_cdr() const override
Resync active cdr.
CDRMuxDesignInterface(const uhal::Node &node)
Base class for timing endpoint design nodes.
Base class for timing top design nodes.