A photodiode current comparison circuit for a semiconductor package, comprising: a first current source coupled to a circuit node and a second power supply terminal; a second current source coupled to the circuit node and a ground terminal; wherein a control signal is configured to enable the first current source or second current source; a third current source; a first transistor including a drain terminal coupled to the circuit node, a source terminal coupled to the third current source, and a gate terminal coupled for receiving a data signal; a second transistor including a drain terminal coupled to a first power supply terminal, a source terminal coupled to the third current source, and a gate terminal coupled for receiving the data signal; a cross-over switch for providing a polarity swapping of the data signal by selecting between two modes depending on the control signal, wherein the first transistor and second transistor are adapted to switch a current from the third current source to the circuit node in response to the data signal, the data signal is routed through the cross-over switch to the gate terminal of the first transistor and a complement of the data signal is routed through the cross-over switch to the gate terminal of the second transistor according to a first mode of the two modes, and the data signal is routed through the cross-over switch to the gate terminal of the second transistor and the complement of the data signal is routed through the cross-over switch to the gate terminal of the first transistor according to a second mode of the two modes; and the circuit node adapted to receive a monitoring signal from a laser monitoring photodiode; a first current source coupled to a circuit node and a second power supply terminal; a second current source coupled to the circuit node and a ground terminal; wherein a control signal is configured to enable the first current source or second current source; a third current source; a first transistor including a drain terminal coupled to the circuit node, a source terminal coupled to the third current source, and a gate terminal coupled for receiving a data signal; a second transistor including a drain terminal coupled to a first power supply terminal, a source terminal coupled to the third current source, and a gate terminal coupled for receiving the data signal; a cross-over switch for providing a polarity swapping of the data signal by selecting between two modes depending on the control signal, wherein the first transistor and second transistor are adapted to switch a current from the third current source to the circuit node in response to the data signal, the data signal is routed through the cross-over switch to the gate terminal of the first transistor and a complement of the data signal is routed through the cross-over switch to the gate terminal of the second transistor according to a first mode of the two modes, and the data signal is routed through the cross-over switch to the gate terminal of the second transistor and the complement of the data signal is routed through the cross-over switch to the gate terminal of the first transistor according to a second mode of the two modes; and the circuit node adapted to receive a monitoring signal from a laser monitoring photodiode; the first transistor and second transistor are adapted to switch a current from the third current source to the circuit node in response to the data signal, the data signal is routed through the cross-over switch to the gate terminal of the first transistor and a complement of the data signal is routed through the cross-over switch to the gate terminal of the second transistor according to a first mode of the two modes, and the data signal is routed through the cross-over switch to the gate terminal of the second transistor and the complement of the data signal is routed through the cross-over switch to the gate terminal of the first transistor according to a second mode of the two modes; and the circuit node adapted to receive a monitoring signal from a laser monitoring photodiode;