Coverage for src / tracekit / analyzers / digital / __init__.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-11 23:04 +0000

1"""Digital signal analysis module. 

2 

3Provides digital signal extraction, edge detection, timing analysis, 

4signal quality metrics, multi-channel correlation, clock recovery, 

5bus decoding, edge timing analysis, and signal quality metrics. 

6 

7- RE-THR-001: Time-Varying Threshold Support 

8- RE-THR-002: Multi-Level Logic Support 

9""" 

10 

11from tracekit.analyzers.digital.bus import ( 

12 BusConfig, 

13 BusDecoder, 

14 BusTransaction, 

15 ParallelBusConfig, 

16 decode_bus, 

17 sample_at_clock, 

18) 

19from tracekit.analyzers.digital.clock import ( 

20 BaudRateResult, 

21 ClockMetrics, 

22 ClockRecovery, 

23 detect_baud_rate, 

24 detect_clock_frequency, 

25 measure_clock_jitter, 

26 recover_clock, 

27) 

28from tracekit.analyzers.digital.correlation import ( 

29 ChannelCorrelator, 

30 CorrelatedChannels, 

31 CorrelationResult, 

32 align_by_trigger, 

33 correlate_channels, 

34 resample_to_common_rate, 

35) 

36from tracekit.analyzers.digital.edges import ( 

37 Edge, 

38 EdgeDetector, 

39 EdgeTiming, 

40 TimingConstraint, 

41 check_timing_constraints, 

42 classify_edge_quality, 

43 interpolate_edge_time, 

44 measure_edge_timing, 

45) 

46from tracekit.analyzers.digital.edges import ( 

47 TimingViolation as EdgeTimingViolation, 

48) 

49from tracekit.analyzers.digital.edges import ( 

50 detect_edges as detect_edges_advanced, 

51) 

52from tracekit.analyzers.digital.extraction import ( 

53 LOGIC_FAMILIES, 

54 detect_edges, 

55 get_logic_threshold, 

56 to_digital, 

57) 

58from tracekit.analyzers.digital.quality import ( 

59 Glitch, 

60 NoiseMarginResult, 

61 Violation, 

62 detect_glitches, 

63 detect_violations, 

64 noise_margin, 

65 signal_quality_summary, 

66) 

67from tracekit.analyzers.digital.signal_quality import ( 

68 NoiseMargins, 

69 SignalIntegrityReport, 

70 SignalQualityAnalyzer, 

71 SimpleQualityMetrics, 

72 TransitionMetrics, 

73 analyze_signal_integrity, 

74 measure_noise_margins, 

75) 

76 

77# RE-THR-001, RE-THR-002: Adaptive Thresholding and Multi-Level Logic 

78from tracekit.analyzers.digital.thresholds import ( 

79 AdaptiveThresholder, 

80 AdaptiveThresholdResult, 

81 MultiLevelDetector, 

82 MultiLevelResult, 

83 ThresholdConfig, 

84 apply_adaptive_threshold, 

85 calculate_threshold_snr, 

86 detect_multi_level, 

87) 

88from tracekit.analyzers.digital.timing import ( 

89 ClockRecoveryResult, 

90 TimingViolation, 

91 hold_time, 

92 phase, 

93 propagation_delay, 

94 recover_clock_edge, 

95 recover_clock_fft, 

96 setup_time, 

97 skew, 

98 slew_rate, 

99) 

100 

101__all__ = [ 

102 # Extraction 

103 "LOGIC_FAMILIES", 

104 "AdaptiveThresholdResult", 

105 # Adaptive Thresholds (RE-THR-001) 

106 "AdaptiveThresholder", 

107 # Clock Recovery (DSP-002) 

108 "BaudRateResult", 

109 # Bus Decoding (DSP-003) 

110 "BusConfig", 

111 "BusDecoder", 

112 "BusTransaction", 

113 # Correlation (DSP-001) 

114 "ChannelCorrelator", 

115 "ClockMetrics", 

116 "ClockRecovery", 

117 # Timing 

118 "ClockRecoveryResult", 

119 "CorrelatedChannels", 

120 "CorrelationResult", 

121 # Edge Analysis (DSP-004) 

122 "Edge", 

123 "EdgeDetector", 

124 "EdgeTiming", 

125 "EdgeTimingViolation", 

126 # Quality 

127 "Glitch", 

128 # Multi-Level Logic (RE-THR-002) 

129 "MultiLevelDetector", 

130 "MultiLevelResult", 

131 "NoiseMarginResult", 

132 # Signal Quality (DSP-005) 

133 "NoiseMargins", 

134 "ParallelBusConfig", 

135 "SignalIntegrityReport", 

136 "SignalQualityAnalyzer", 

137 "SimpleQualityMetrics", 

138 "ThresholdConfig", 

139 "TimingConstraint", 

140 "TimingViolation", 

141 "TransitionMetrics", 

142 "Violation", 

143 "align_by_trigger", 

144 "analyze_signal_integrity", 

145 "apply_adaptive_threshold", 

146 "calculate_threshold_snr", 

147 "check_timing_constraints", 

148 "classify_edge_quality", 

149 "correlate_channels", 

150 "decode_bus", 

151 "detect_baud_rate", 

152 "detect_clock_frequency", 

153 "detect_edges", 

154 "detect_edges_advanced", 

155 "detect_glitches", 

156 "detect_multi_level", 

157 "detect_violations", 

158 "get_logic_threshold", 

159 "hold_time", 

160 "interpolate_edge_time", 

161 "measure_clock_jitter", 

162 "measure_edge_timing", 

163 "measure_noise_margins", 

164 "noise_margin", 

165 "phase", 

166 "propagation_delay", 

167 "recover_clock", 

168 "recover_clock_edge", 

169 "recover_clock_fft", 

170 "resample_to_common_rate", 

171 "sample_at_clock", 

172 "setup_time", 

173 "signal_quality_summary", 

174 "skew", 

175 "slew_rate", 

176 "to_digital", 

177]