Circuit component sharing protocol
Circuitry with a secondary clock generator arbitrates access to shared components, addressing conflicts in multi-element circuits by ensuring conflict-free time-sharing, thereby enhancing miniaturization and reducing manufacturing costs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2026-04-02
AI Technical Summary
Designing circuits where multiple elements share a single component is challenging due to potential conflicts or overlaps in accessing the shared component, particularly in communication systems like Ethernet, where clock drift causes unreliability.
Implementing circuitry that arbitrates access to a shared circuit component, such as an ADC, using a secondary clock generator to ensure conflict-free time-sharing (CFTS) by controlling switches to prevent simultaneous access, even in the presence of clock drift.
Facilitates device miniaturization and cost reduction by enabling reliable sharing of circuit components without conflicts, ensuring efficient operation even with clock signal inaccuracies.
Smart Images

Figure US2025048344_02042026_PF_FP_ABST
Abstract
Description
CIRCUIT COMPONENT SHARING PROTOCOLBACKGROUND
[0001] The technology industry strives to miniaturize devices while maintaining device functionality. Engineers may reduce device size by improving circuit efficiency, such as by designing circuits that share one or more components among multiple elements. For example, a circuit that uses four identical instances of a particular component may be redesigned so that a single instance of the component is shared among multiple circuit elements. This significantly lowers both physical size and manufacturing cost by efficiently utilizing resources.SUMMARY
[0002] In examples, an apparatus includes a first D flip-flop including a first data output, a first negative edge-triggered clock input, and a first reset input, and a second D flip-flop including a second data output, a second negative edge-triggered clock input, and a second reset input. The apparatus includes a logic gate having an output and first and second inputs, the first input of the logic gate coupled to the first data output, and the second input of the logic gate coupled to the second data output, in which the output of the logic gate is configured to be a first clock output of the apparatus. A delay circuit of the apparatus includes an output and input, the output of the delay circuit coupled to the first and second reset inputs, and the input of the delay circuit coupled to the output of the logic gate.
[0003] In examples, an electronic device includes a first switch including a terminal and a second switch including first and second terminals. The electronic device includes a first capacitor coupled to the terminal of the first switch and the first terminal of the second switch, a third switch including a terminal, a fourth switch including first and second terminals, and a second capacitor coupled to the terminal of the third switch and the first terminal of the fourth switch. The electronic device includes an electronic component coupled to the second terminals of the second and fourth switches. The electronic device includes a first clock generator coupled to control terminals of the first and third switches, where the first clock generator is configured to generate first and second clock signals to operate the first and third switches. The electronic device includes a second clock generatorcoupled to control terminals of the second and fourth switches and to the first clock generator, where the second clock generator is configured to generate third and fourth clock signals to close the second and fourth switches at mutually exclusive times.
[0004] In examples, a device includes a first flip-flop including a first data output, a first clock input, and a first reset input, in which the first clock input is configured to receive a clock signal, the clock signal indicating a state of a switch coupling an Ethernet channel to a capacitor. The device includes second and third flip-flops configured to provide flip-flop output signals indicating whether any of a plurality of capacitors is coupled to a shared circuit component. The device includes a multiplexer including an output, first and second inputs, and a select input, in which the first input of the multiplexer is coupled to the second flip-flop, the second input of the multiplexer is coupled to the third flip-flop, and the multiplexer is configured to provide one of the flip-flop output signals to the output of the multiplexer. The device includes a logic gate including an output and first and second inputs, in which the first input of the logic gate is coupled to the first data output and the second input of the logic gate is coupled to the output of the multiplexer. The device includes a delay circuit including an output and an input, where the output of the delay circuit is coupled to the first reset input, and the input of the delay circuit is coupled to the output of the logic gate. The device includes a reset circuit including first and second outputs and an input, in which the first output of the reset circuit is coupled to a reset input of the second flip-flop and the second output of the reset circuit is coupled to a reset input of the third flip-flop. The input of the reset circuit is coupled to the output of the delay circuit.BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 is a block diagram of an electronic device including circuitry that facilitates circuit component sharing in various examples.
[0006] FIG. 2 is a schematic diagram of a system including circuitry that facilitates circuit component sharing in various examples.
[0007] FIGS. 3A and 3B are schematic diagrams of circuitry that facilitates circuit component sharing in various examples.
[0008] FIG. 4 is a timing diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples.
[0009] FIGS. 5 A and 5B are schematic diagrams of circuitry that facilitates circuit component sharing in various examples.
[0010] FIG. 6 is a timing diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples.
[0011] FIG. 7 is a schematic diagram of circuitry that facilitates circuit component sharing in various examples.
[0012] FIG. 8 is a schematic diagram of circuitry that facilitates circuit component sharing in various examples.
[0013] FIG. 9 is a block diagram of circuitry that facilitates circuit component sharing in various examples.
[0014] FIG. 10 is a timing diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples.
[0015] FIG. 11 is a flow diagram depicting a method of operating circuitry that facilitates circuit component sharing in various examples.
[0016] FIG. 12 is a block diagram of circuitry that facilitates circuit component sharing in various examples.DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0017] As described above, shared circuit components can provide significant reductions in device size and manufacturing costs. However, designing circuits in which multiple elements effectively share a single circuit component can be challenging, as different attempts to access the shared circuit component can overlap. Accordingly, the challenge is to design a circuit that can arbitrate multiple circuit elements’ access to a shared circuit component without conflict or overlap. This description refers to multiple circuit elements sharing a single circuit component without conflict, as conflict- free time-sharing, or CFTS.
[0018] Achieving CFTS in the communications context is particularly difficult. For example, an Ethernet cable includes four pairs of twisted wires, with each pair of wires providing a different data channel. An Ethernet receiver may receive, amplify, and digitize data received from the four data channels. The receiver may include four different analog-to-digital converters (ADCs), with each ADC digitizing analog signals received on a different data channel. Using a single ADC shared among the four data channels is more efficient than using four separate ADCs, but the clock signals used to control access to the shared ADC are subject to drift. This clock drift results in overlapping attempts by the four data channels to access the shared ADC. Such overlap renders the receiver essentially useless.
[0019] This description presents various examples of circuitry that facilitates CFTS of a circuit component. The circuitry may be implemented in any suitable context in which a circuit component is to be shared by multiple circuit elements. For example, in the Ethernet context described above, the circuitry effectively arbitrates the four data channels’ access to the shared ADC without overlap or conflict, even in the presence of clock drift. In this way, the circuitry described herein promotes device miniaturization and manufacturing cost reduction by facilitating circuit component sharing.
[0020] An example CFTS circuit includes a first D flip-flop including a first data output, a first clock input, and a first reset input. The first clock input receives a signal indicating a status of a switch that charges a first capacitor. The circuit may include a second D flip-flop including a second data output, a second clock input, and a second reset input. The second clock input receives a signal indicating whether a shared circuit component is available to the first capacitor. The circuit may include a logic gate having a logic gate output and first and second logic gate inputs. The first logic gate input is coupled to the first data output, and the second logic gate input is coupled to the second data output. The circuit may include a delay circuit having a delay circuit output and a delay circuit input. The delay circuit output is coupled to the first and second reset inputs. The delay circuit input is coupled to the logic gate output and to a switch that discharges the first capacitor by coupling the first capacitor to the shared circuit component.
[0021] FIG. 1 is a block diagram of an electronic device including circuitry that facilitates circuit component sharing in various examples. In particular, FIG. 1 depicts an electronic device 100, a printed circuit board (PCB) 102, and a chip 104 (e.g., a semiconductor package). The electronic device 100 includes the PCB 102, and the chip 104 is coupled (e.g., soldered) to the PCB 102. The chip 104 includes circuitry that facilitates circuit component sharing. For example, the circuitry facilitates CFTS of an ADC among the data channels of an Ethernet cable coupled to the electronic device 100. Examples of the electronic device 100 include an automobile, an aircraft, a watercraft, a spacecraft, a video game console, an arcade video game unit, a smartphone, an entertainment device, an appliance, a laptop computer, a desktop computer, a tablet, a notebook, or any other suitable type of electronic device or system.
[0022] FIG. 2 is a schematic diagram of a system 200 including circuitry that facilitates circuit component sharing in various examples. Although the system 200 may be of any suitable type, this description assumes that the system 200 is a communication system. For example, the system 200 is a Gigabit Ethernet system (e g., 1000BASE-T defined by the IEEE 802.3ab standard) The system200 may include an Ethernet cable 202 and the electronic device 100 (FIG. 1). The Ethernet cable 202 is coupled to the electronic device 100. The Ethernet cable 202 provides data signals from a signal source to the electronic device 100. The electronic device 100, in turn, processes the data signals using shared circuit component(s). For example, the electronic device 100 digitizes analog signals received via the Ethernet cable 202 and provide the digital signals to another device or component for subsequent use.
[0023] In examples, the Ethernet cable 202 includes multiple channels. For instance, the Ethernet cable 202 includes four channels A-D. Each of the channels A-D may include a pair of twisted wires. The wires are twisted to mitigate electromagnetic interference and crosstalk between the wires.
[0024] In examples, the electronic device 100 includes ports A-D, signal amplifiers 204a-204d, a primary clock generator 206, digital signal processing circuitry 208, and the chip 104 (FIG. 1). The ports A-D are coupled to the signal amplifiers 204a-204d, respectively. The signal amplifiers 204a- 204d are coupled to the chip 104. The primary clock generator 206 is coupled to the chip 104 via connections 210a-210d. The digital signal processing circuitry 208 is coupled to the chip 104. The digital signal processing circuitry 208 includes an output 212. In operation, the ports A-D receive analog signals from the channels A-D, respectively. The ports A-D provide the analog signals to the signal amplifiers 204a-204d, respectively. The signal amplifiers 204a-204d amplify the received analog signals and provide amplified analog signals to the chip 104. The chip 104 digitizes the four amplified analog signals received from the signal amplifiers 204a-204d using a shared ADC and using clock signals received from the primary clock generator 206 via the connections 210a-210d. The chip 104 includes circuitry that arbitrates access to shared ADC by the four channels A-D in a manner that achieves CFTS of the shared ADC. The chip 104 provides the digitized signals to the digital signal processing circuitry 208 for further processing. The digital signal processing circuitry 208 may process the digitized signals received from the chip 104 and provide appropriate output signals on the output 212.
[0025] In examples, the chip 104 includes switches 214a-214d (e.g., field effect transistors (FETs), such as metal oxide semiconductor FETs (MOSFETs)) and switches 216a-216d (e g., FETs, such as MOSFETs). Optionally, the chip 104 includes capacitors 218a-218d and ground 220 (or may include a ground terminal that couples to an electrical ground. In other examples, the capacitors 218a-218d and ground 220 are included in the electronic device 100 (e.g., on the PCB 102 of FIG. 1) but are not part of the chip 104. The chip 104 may include a secondary clock generator 222 and a sharedADC 224.
[0026] Each of the switches 214a-214d is coupled to a respective signal amplifier 204a-204d. Each of the switches 216a-216d is coupled to a respective switch 214a-214d. Also, a capacitor may be coupled between pairs of switches, in which a first terminal of the capacitor is coupled to respective terminals of a pair of switches, and a second terminal of the capacitor is coupled to ground. As shown, the capacitor 218a may be coupled between the switches 214a and 216a. The capacitor 218b may be coupled between the switches 214b and 216b. The capacitor 218c may be coupled between the switches 214c and 216c. The capacitor 218d may be coupled between the switches 214d and 216d. Each of the capacitors 218a-218d may be coupled to ground 220.
[0027] The connections 210a-210d are coupled to control terminals of the switches 214a-214d, respectively. The connections 210a-210d are also coupled to the secondary clock generator 222. The secondary clock generator 222, in turn, includes outputs 226a-226d. Each of the outputs 226a-226d is coupled to a control terminal of a respective switch 216a-216d. The shared ADC 224 includes an input 228, which is coupled to each of the switches 216a-216d. The digital signal processing circuitry 208 is coupled to the shared ADC 224.
[0028] The specific configuration of the components shown in FIG. 2 may vary. For example, some or all of the components shown in FIG. 2 are included on the chip 104. Some or all of the components shown in FIG. 2 may be included on the PCB 102, but not necessarily exclusively within the chip 104 (FIG. 1). Some or all of the components shown in FIG. 2 may be included as part of the electronic device 100. Some of the components shown in FIG. 2 may be part of the electronic device 100, while other component(s) shown in FIG. 2 may be separate from the electronic device 100. Any and all such variations and combinations are included in the scope of this description.
[0029] In some examples, a connection (e.g., 210a-210d) represents a coupling between an output of one component and an input of another component or represents a coupling between terminals of two or more different components. Moreover, arrows on the connections may represent direction of signal or data flow, e.g., from the output of one component to the input of another component. Connections without an arrow may represent or include a terminal of one or more components coupled to another component to receive a signal or data.
[0030] In operation, the primary clock generator 206 generates clock signals to operate the switches 214a-214d. The primary clock generator 206 provides these clock signals to the switches 214a-214d via the connections 210a-210d, respectively. The primary clock generator 206 also usesthe connections 21 Oa-21 Od to provide these clock signals to the secondary clock generator 222. The secondary clock generator 222, in turn, uses these clock signals to operate the switches 216a-216d. The primary clock generator 206 and the secondary clock generator 222 operate the switches 214a- 214d and the switches 216a-216d, respectively, as follows. The switches 214a-214d are closed so as to couple each of the signal amplifiers 204a-204d to a respective capacitor 218a-218d. When a capacitor 218a-218d is coupled to a signal amplifier 204a-204d, that capacitor 218a-218d is charged. For example, the capacitor 218a-218d is charged according to the amplitude of the analog signal provided by the respective signal amplifier 204a-204d. When a switch 214a-214d is closed and the respective capacitor 218a-218d is being charged, the respective switch 216a-216d is open, so as to avoid discharging the respective capacitor 218a-218d. After the analog signal provided by a respective signal amplifier 204a-204d has been sampled and stored in a respective capacitor 218a-218d, each of the switches 214a-214d is opened.
[0031] After the capacitors 218a-218d are charged and the switches 214a-214d are opened, the switches 216a-216d cannot be closed simultaneously. If the switches 216a-216d were closed simultaneously, the shared ADC 224 would be coupled to the capacitors 218a-218d at the same time. This would render the output signals of the chip 104 unreliable. Further, the switches 216a-216d cannot be closed and opened in sequence, because the clock signals operating the switches 216a- 216d are subject to drift. Eventually, this drift causes two or more of the switches 216a-216d to simultaneously access the shared ADC 224, causing the same unreliability problems described above.
[0032] Accordingly, the secondary clock generator 222 operates the switches 216a-216d in a manner that precludes competing attempts to access the shared ADC 224, even in the presence of clock drift. Specifically, and as described in detail below, the secondary clock generator 222 includes circuitry that closes each of the switches 216a-216d only when the respective switch 214a-214d is open and the remaining switches 216a-216d are open. For example, the secondary clock generator 222 closes the switch 216a only when the switch 214a is open and the switches 216b-216d are open. Similarly, the secondary clock generator 222 closes the switch 216b only when the switch 214b is open and the switches 216a, 216c, and 216d are open. Likewise, the secondary clock generator 222 closes the switch 216c only when the switch 214c is open and the switches 216a, 216b, and 216d are open. The secondary clock generator 222 closes the switch 216d only when the switch 214d is open and the switches 216a-216c are open. By closing each of the switches 216a-216d only when theabove-described criteria are met, CFTS of the shared ADC 224 is preserved, even in the presence of clock drift.
[0033] When one of the switches 216a-216d is closed, the remaining switches 216a-216d are open, meaning that the capacitor 218a-218d corresponding to the closed switch 216a-216d is coupled to the shared ADC 224 and that no other capacitors 218a-218d are coupled to the shared ADC 224. The shared ADC 224 converts the analog signal from the connected capacitor 218a-218d to a digital signal. The shared ADC 224 provides the digital signal to the digital signal processing circuitry 208, which may further process the digital signal as appropriate and provide an output signal on the output 212.
[0034] FIGS. 3A and 3B are schematic diagrams of circuitry that facilitates circuit component sharing in various examples. FIG. 4 is a timing diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples. The circuitry and operation depicted in FIGS. 3A, 3B, and 4 are not representative of the full scope of an example chip 104, but rather representative of the fundamental concepts underlying the circuitry and operation of the chip 104. Accordingly, before describing the circuitry within the chip 104 (and more particularly, within the secondary clock generator 222), the circuitry and operation of FIGS. 3 A, 3B, and 4 are first described.
[0035] FIG. 3 A depicts switches 314 and 316, a capacitor 318, ground 320, and an ADC 324. The switch 314 is coupled to a respective signal amplifier, such as signal amplifiers 204a-204d (FIG. 2). The switches 314 and 316 are coupled to each other. One terminal of the capacitor 318 is coupled between the switches 314 and 316, and the other terminal of the capacitor 318 is coupled to ground 320. The switch 316 is coupled to the ADC 324. The features and properties of the switches 314 and 316, the capacitor 318, ground 320, and the ADC 324 are similar to those of the switches 214a-214d and 216a-216d, the capacitor 218a-218d, ground 220, and the shared ADC 224 described above and thus are not repeated. A clock signal CLK A controls the switch 314. A clock source, such as the primary clock generator 206 (FIG. 2), provides CLK_A. A clock signal CLKA_S controls the switch 316. A clock source, such as the secondary clock generator 222 (FIG. 2), provides CLKA_S.
[0036] FIG. 3B depicts an edge-triggered D flip-flop (“FF”) 350 and a delay circuit 352. The FF 350 includes a D input (referred to herein as a data input or data input), a CLK input, set and reset inputs, and a Q output. The FF 350 may include other inputs and / or outputs. The D input receives a high signal that remains high (as used in reference to signals herein, the term “high” or “logic high”denotes a binary 1 and the term “low” or “logic low” denotes a binary 0). Because the input signal to the D input remains high, the D input is referred to herein as a logic high D input, or a logic high data input. Other input pins that continuously receive high input signals are also referred to herein as logic high data inputs. The CLK input receives CLK A. The Q output provides CLKA S to the delay circuit 352. The delay circuit 352 provides RSTA to the reset input. In examples, the CLK input is negative-edge triggered, meaning that a falling edge of a clock signal triggers the FF 350 to perform an action (e.g., capture the data input signal at the D input), but a rising edge of the clock signal does not trigger any action by the FF 350.
[0037] The various delay circuits described herein, such as the delay circuit 352, may be implemented in any suitable manner. In some examples, such delay circuits are resistor-capacitor (RC) delay circuits, in which a resistor is coupled to a capacitor that is charged via the resistor. The capacitor charge time introduces the delay. The capacitor may be sized to provide a target delay duration. In other examples, the delay circuits are inductor-capacitor (LC) delay circuits that rely on the oscillation between inductor and capacitor to provide the delay. Other types of delay circuits are contemplated and included in the scope of this description.
[0038] FIG. 4 depicts curves 400 and 402. Curve 400 includes pulses 404 and 406. Curve 402 includes pulses 408 and 410. Pulses 404 and 406 have positive (or “rising”) edges 412 and 416, respectively. Pulses 404 and 406 have negative (or “falling”) edges 414 and 418, respectively.
[0039] Referring to FIGS. 3A, 3B, and 4, in operation, when CLK A rises at rising edge 412, switch 314 closes. Because FF 350 is negative-edge triggered, the rising edge 412 does not trigger the FF 350, thus keeping CLKA_S low, as curve 402 shows. Because CLKA_S is low, switch 316 remains open. Thus, with the switch 314 closed and the switch 316 open, the capacitor 318 is coupled to an analog signal source (e.g., signal amplifier 204a in FIG. 2), and the analog signal charges the capacitor 318.
[0040] Later, CLK A falls at negative edge 414, as curve 400 depicts. Because FF 350 is negativeedge triggered, the negative edge 414 of CLK_A triggers FF 350 to capture the signal at the D input and provide that signal to the Q output. The signal at the D input is consistently high, as described above. Thus, CLKA_S at the Q output of the FF 350 goes high. Curve 402 depicts this change in CLKA S with pulse 408. CLKA S is a pulse 408 and does not remain high because of the delay circuit 352, which delays the transition of CLKA_S from low to high reaching the reset input of the FF 350. The amount of this delay determines the duration of the pulse 408. After the high CLKA Sreaches the reset input of the FF 350, the Q output of the FF 350 is again low. Thus, at the time of the pulse 408, CLK A is low, and CLKA S is high. Consequently, the switch 314 is open, and the switch 316 is closed, thus coupling the capacitor 318 to the ADC 324, which may be a shared ADC 324. During the pulse 408, the ADC 324 digitizes the analog signal provided by the capacitor 318 and provides the digital signal to downstream circuitry for further processing (e.g., the digital signal processing circuitry 208 in FIG. 2). After pulse 408, both CLK A and CLKA S are low, and thus the capacitor 318 is not being charged and is not coupled to the ADC 324. The process then repeats at rising edge 416, at which time CLK A goes high and the switch 314 closes to charge the capacitor 318 while the switch 316 remains open. At the falling edge 418, CLK A goes low, causing the switch 314 to open, and CLKA_S goes high, causing the switch 316 to close. CLKA_S is high only for the duration of the pulse 410, during which time the ADC 324 digitizes the signal provided by the capacitor 318. Subsequently, both CLK A and CLKA S are low, and thus both the switches 314 and 316 are open. This process may continue repeating.
[0041] FIGS. 5A and 5B are schematic diagrams of circuitry that facilitates circuit component sharing in various examples. FIG. 6 is a timing diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples. The circuitry and operation depicted in FIGS. 5A, 5B, and 6 are not representative of the full scope of an example chip 104, but rather representative of the fundamental concepts underlying the circuitry and operation of the chip 104. Accordingly, before describing the circuitry within the chip 104 (and more particularly, within the secondary clock generator 222), the circuitry and operation of FIGS. 5A, 5B, and 6 are first described.
[0042] FIG. 5 A depicts switches 514a and 516a, a capacitor 518a, ground 520, and an ADC 524. FIG. 5A also depicts switches 514b and 516b and a capacitor 518b. Each of the switches 514a and 514b is coupled to a respective signal amplifier, such as signal amplifiers 204a-204d (FIG. 2). The switches 514a and 516a are coupled to each other. One terminal of the capacitor 518a is coupled between the switches 514a and 516a, and the other terminal of the capacitor 518a is coupled to ground 520. The switch 516a is coupled to the ADC 524. The switches 514b and 516b are coupled to each other. One terminal of the capacitor 518b is coupled between the switches 514b and 516b, and the other terminal of the capacitor 518b is coupled to ground 520. The switch 516b is coupled to the ADC 524. The features and properties of the switches 514a, 514b, 516a, and 516b, the capacitors 518a and 518b, ground 520, and the ADC 524 are similar to those of theswitches 214a-214d and 216a-216d, the capacitor 218a-218d, ground 220, and the shared ADC 224 described above and thus are not repeated. A clock signal CLK A controls the switch 514a. A clock source, such as the primary clock generator 206 (FIG. 2), provides CLK A. A clock signal CLKA S controls the switch 516a. A clock source, such as the secondary clock generator 222 (FIG. 2), provides CLKA S. A clock signal CLK B controls the switch 514b. A clock source, such as the primary clock generator 206 (FIG. 2), provides CLK B. A clock signal CLKB S controls the switch 516b. A clock source, such as the secondary clock generator 222 (FIG. 2), provides CLKB S.
[0043] FIG. 5B depicts edge-triggered D flip-flops (“FF”) 550a, 550b, 551a, and 551b. Each of the FFs 550a-550b and 551-55 lb includes a D input, a CLK input, set and reset inputs, and a Q output. FIG. 5B also depicts logic gates (e.g., AND gates) 554a and 554b and delay circuits 552a and 552b. The Q output of the FF 550a is coupled to an input of the logic gate 554a, and the Q output of the FF 551a is coupled to an input of the logic gate 554a. An output of the logic gate 554a is coupled to an input of the delay circuit 552a. An output of the delay circuit 552a is coupled to the reset input of the FF 550a. The Q outputs of the FFs 550b and 55 lb are coupled to the inputs of the logic gate 554b. An output of the logic gate 554b is coupled to an input of the delay circuit 552b. An output of the delay circuit 552b is coupled to the reset input of the FF 550b. The output of the logic gate 554a may be coupled to the CLK input of the FF 551b. The output of the logic gate 554b may be coupled to the CLK input of the FF 551a.
[0044] The CLK inputs of the FFs 550a, 550b, 551a, and 551b may be negative-edge triggered and may receive clock signals CLK A, CLK B, CLKB S, and CLKA S, respectively. The D inputs of the FFs 550a, 550b, 551a, and 551b may receive continuous high signals. The signal provided by the delay circuit 552a to the reset input of the FF 550a is RSTA, and the signal provided by the delay circuit 552b to the reset input of the FF 550b is RSTB.
[0045] FIG. 6 depicts curves 600, 602, 604, and 606. Curve 600 includes pulses 608 and 610. Curve 602 includes pulses 612 and 614. Curve 604 includes pulses 616 and 618. Curve 606 includes pulses 620 and 622. The pulse 608 has a rising edge 624 and falling edge 625. The pulse 610 has a rising edge 626 and a falling edge 627. The pulse 616 has a rising edge 628 and a falling edge 629. The pulse 618 has a rising edge 630 and a falling edge 631.
[0046] The circuitry shown in FIG. 5B operates the switches of FIG. 5 A to facilitate CFTS of the ADC 524 among the capacitors 518a and 518b. As described above, to achieve CFTS of the ADC 524, the switch 516a may be closed only when the switches 514a and 516b are open. Similarly, theswitch 516b may be closed only when the switches 514b and 516a are open. Accordingly, as the curves in FIG. 6 depict, the pulses 612 and 614, which close the switch 516a, are issued only when CLK A is low (i.e., the switch 514a is open) and CLKB S is low (i.e., the switch 516b is open). Similarly, as the curves in FIG. 6 depict, the pulses 620 and 622, which close the switch 516b, are issued only when CLK_B is low (i.e., the switch 514b is open) and CLKA_S is low (i.e., the switch 516a is open). Accordingly, the manner in which the circuitry of FIG. 5B operates to achieve the clock signaling scheme of FIG. 6 is now described.
[0047] At the rising edge 624 of CLK_A, the Q output of FF 550a remains low. Thus, the CLKA S output of the logic gate 554a is low. Because no falling edge of CLKA S triggers the FF 551b, the output CLKB_S of the logic gate 554b also remains low. Thus, at the rising edge 624, the switch 514a is closed, while the switches 514b, 516a, and 516b remain open.
[0048] However, at the falling edge 625 of CLK_A, the FF 550a is triggered, capturing the high input signal at the D input and providing a high output signal at the Q output. Further, the Q output of the FF 551a provides a high output signal from the most recent falling edge of CLKB S, as the FF 551a has not been reset since that most recent falling edge ofCLKB S. Thus, the logic gate 554a provides a high output signal CLKA S. The CLK B has gone high at rising edge 628, but because the FF 550b may be negative-edge triggered, the logic gate 554b provides a low CLKB_S. Thus, at falling edge 625, CLK_A opens the switch 514a, CLKA_S closes the switch 516a, CLK_B maintains the switch 514b in a closed state to charge the capacitor 518b, and CLKB S is low, keeping the switch 516b open. Stated another way, when CLKA_S rises to close the switch 516a, the switches 514a and 516b are open, thus preventing the possibility of competing simultaneous attempts to access the shared ADC 524. The delay circuit 552a provides a short delay before the high signal CLKA_S resets the FF 550a, which causes the Q output of 550a to provide a low output signal and the output signal provided on the output of the logic gate 554a to fall. In this way, the pulse 612 is formed. The pulse 612 closes the switch 516a for a time period during which the capacitor 518a is discharged to the shared ADC 524. The pulse 612 also resets both of the FFs 550a and 551a.
[0049] After the capacitor 518a has the opportunity to access the shared ADC 524, it is the turn of capacitor 518b to access the shared ADC 524. To couple the capacitor 518b to the shared ADC 524, the switch 516b may close. However, as described above, to prevent competing attempts to access the shared ADC 524, the switch 516b may close only when the switch 516a is open. Further, as described, to prevent the simultaneous charging and discharging of the capacitor 518b, theswitch 516b may close only when the switch 14b is open. The circuitry of FIG. 5B facilitates the switch 516b closing only when the switches 516a and 514b are open by producing the pulse 620 after the CLKA S pulse 612 has gone low, thus triggering the FF 551b to provide a high output signal on the Q output, and after CLK B has gone low at falling edge 629, thus triggering the FF 550b to provide a high output signal on the Q output. As a result of receiving two high output signals on the Q outputs, the logic gate 554b provides a high CLKB_S (pulse 620), which closes the switch 516b. The delay circuit 552b causes the pulse 620 to form, as described above. The pulse 620 also resets both of the FFs 550b and 551b.
[0050] The operation of the circuitry of FIG. 5B facilitates CFTS of the shared ADC 524 even in the presence of clock drift because the circuitry does not rely on continuous clock accuracy. Rather, the circuitry of FIG. 5B couples the capacitor 518a to the shared ADC 524 only after the capacitor 518b has had a turn to couple to the shared ADC 524 and when the switch 514a is open. Similarly, the circuitry of FIG. 5B couples the capacitor 518b to the shared ADC 524 only after the capacitor 518a has had a turn to couple to the shared ADC 524 and when the switch 514b is open. Stated another way, the circuitry follows a sequence in which the capacitors 518a, 518b take turns accessing the shared ADC 524 and relies on switch state to determine when it is appropriate to connect a capacitor 518a, 518b to the shared ADC 524. Thus, even if the clocks CLK A, CLKA S, CLK B, and / or CLKB_S were to drift over time, the circuitry would still facilitate CFTS of the shared ADC 524.
[0051] The circuitry of FIG. 5B implements fundamental concepts that can be extended to accommodate additional switches, such as in the case of Ethernet systems, which may require four switches (FIG. 2). FIG. 7 is a schematic diagram of circuitry that facilitates circuit component sharing among multiple circuit elements in various examples. Because the circuitry of FIG. 7 generates the clock signals CLKA S, CLKB S, CLKC S, and CLKD S, the circuitry is said to generate secondary clock signals, and thus is an example of the secondary clock generator 222 (FIG. 2).
[0052] The example secondary clock generator 222 includes four instances of circuitry 700, 702, 704, and 706, also referred to as output clock generator circuitry and each of which produces a different one of the secondary clock signals CLKA S, CLKB S, CLKC S, and CLKD S. The secondary clock generator 222 may further include phase sorter logic 708 (e.g., a processor or microcontroller), D flip-flops (FFs) 710, 712, 714, and 716, a multiplexer 718, a D flip-flop (FF) 720, and a delay circuit 722.
[0053] In examples, the instance of circuitry 700 includes a D flip-flop 750, D flip-flops 751, 753, and 755, a delay circuit 752, a logic gate 754 (e.g., an AND gate), and a multiplexer 756. Each of the FFs 750, 751, 753, and 755 may include a negative-edge triggered CLK input, a D input, set and reset inputs, and a Q output. The CLK input of FF 750 may be coupled to a clock source that provides CLK A, such as the primary clock generator 206 via the connection 210a (FIG. 2). The D input of FF 750 continuously receives a high signal. The Q output of FF 750 is coupled to an input of the logic gate 754. The CLK input of FF 751 may be coupled to the instance of circuitry 706 that generates CLKD S. The D input of FF 751 continuously receives a high signal. The Q output of FF 751 is coupled to an input of the multiplexer 756. The CLK input of FF 753 may be coupled to the instance of circuitry 704 that generates CLKC_S. The D input of FF 753 continuously receives a high signal. The Q output of FF 753 is coupled to an input of the multiplexer 756. The CLK input of FF 755 may be coupled to the instance of circuitry 702 that generates CLKB_S. The D input of FF 755 continuously receives a high signal. The Q output of FF 755 is coupled to an input of the multiplexer 756. The multiplexer 756 receives a control signal SELO. An output 732 of the multiplexer 756 is coupled to an input of the logic gate 754. An output of the logic gate 754 is coupled to an input of the delay circuit 752. An output of the delay circuit 752 is coupled to the reset inputs of the FFs 750, 751, 753, and 755.
[0054] Each of the instances of circuitry 700, 702, 704, and 706 includes identical or virtually identical hardware, although the signals provided to each instance of circuitry may vary. The instances of circuitry 702, 704, and 706 have virtually identical hardware and similar operation as the instance of circuitry 700. For example, the instances of circuitry 702, 704, and 706 include negative-edge triggered D flip-flops similar to FF 750 that receive CLK B, CLK C, and CLK D signals as input signals, respectively. Similarly, the instances of circuitry 702, 704, and 706 may include negative-edge triggered D flip-flops similar to FF 751 that receive CLKA S, CLKB S, and CLKC_S, respectively. The instances of circuitry 702, 704, and 706 may include negative-edge triggered D flip-flops similar to FF 753 that receive CLKD S, CLKA S, and CLKB S, respectively. The instances of circuitry 702, 704, and 706 may include negative-edge triggered D flip-flops similar to FF 755 that receive CLKC S, CLKD S, and CLKA S, respectively. Each of the instances of circuitry 702, 704, and 706 may include a multiplexer similar to the multiplexer 756 that couples to the Q outputs of the FFs in that instance of circuitry that correspond to the FFs 751, 753, and 755 in the instance of circuitry 700. Each of the instances of circuitry 702, 704, and 706 includes a logicgate similar to the logic gate 754 in the instance of circuitry 700, with similar connections to other components in that instance of circuitry. Each of the instances of circuitry 702, 704, and 706 includes a delay circuit similar to the delay circuit 752 in the instance of circuitry 700. The various components in each of the instances of circuitry 702, 704, and 706 may couple to each other in the same or identical manner as do the components in the instance of circuitry 700.
[0055] The phase sorter logic 708 includes outputs 724, 726, 728, and 730. The FFs 710, 712, 714, and 716 include D inputs, positive-edge triggered CLK inputs, set and reset inputs, and Q outputs. The output 724 is coupled to the D input of FF 710. The output 726 is coupled to the D input of FF 712. The output 728 is coupled to the D input of FF 714. The output 730 is coupled to the D input of FF 716. The Q output of each of the FFs 710, 712, 714, and 716 is coupled to the multiplexer of the instances of circuitry 700, 702, 704, and 706, respectively. For example, the Q output of the FF 710 is coupled to the control input of the multiplexer 756. Similarly, the Q output of the FF 712 is coupled to the control input of the multiplexer in the instance of circuitry 702 that corresponds to the multiplexer 756. The Q output of the FF 714 is coupled to the control input of the multiplexer in the instance of circuitry 704 that corresponds to the multiplexer 756. The Q output of the FF 716 is coupled to the control input of the multiplexer in the instance of circuitry 706 that corresponds to the multiplexer 756.
[0056] The multiplexer 718 may include a first input that is coupled to the output of the logic gate 754. The multiplexer 718 may include a second input that is coupled to the output of the logic gate in the instance of circuitry 702 that corresponds to the logic gate 754. The multiplexer 718 may include a third input that is coupled to the output of the logic gate in the instance of circuitry 704 that corresponds to the logic gate 754. The multiplexer 718 may include a fourth input that is coupled to the output of the logic gate in the instance of circuitry 706 that corresponds to the logic gate 754. The phase sorter logic 708 includes an output 731 that is coupled to a control input of the multiplexer 718. The phase sorter logic 708 provides a signal SELCAL on the output 731.
[0057] The FF 720 includes a negative-edge triggered CLK input, a D input, set and reset inputs, and a Q output. The CLK input is coupled to an output of the multiplexer 718. The D input continuously receives a high signal. The Q output is coupled to an input of the delay circuit 722. An output of the delay circuit 722 is coupled to the reset input of the FF 720. The Q output of the FF 720 is also coupled to the CLK inputs of the FFs 710, 712, 714, and 716.
[0058] In operation, each of the instances of circuitry 700, 702, 704, and 706 receives a differentprimary clock signal from the primary clock generator 206 (FIG. 2) via the connections 21 Oa-21 Od (FIG. 2) and provides a different secondary clock signal to the switches 216a, 216b, 216c, and 216d as output signals. For example, the instance of circuitry 700 receives CLK A as an input signal from the primary clock generator 206 and provide CLKA S as an output signal to the switch 216a. Similarly, the instance of circuitry 702 may receive CLK_B as an input signal from the primary clock generator 206 and provide CLKB S as an output signal to the switch 216b. The instance of circuitry 704 may receive CLK_C as an input signal from the primary clock generator 206 and provide CLKC_S as an output signal to the switch 216c. The instance of circuitry 706 may receive CLK D as an input signal from the primary clock generator 206 and provide CLKD S as an output signal to the switch 216d. In this way, the primary clock generator 206 and the secondary clock generator 222 work together to operate the switches 214a-214d and 216a-216d (FIG. 2) so as to facilitate CFTS of the shared ADC 224.
[0059] Referring to the instance of circuitry 700, the FF 750 operates to keep CLKA S low (i.e., switch 216a is not closed) unless CLK_A is low (i.e., switch 214a is open). The FFs 751, 753, and 755 and the multiplexer 756 operate to keep CLKA_S low (i.e., switch 216a is not closed) unless CLKB S, CLKC S, and CLKD S are low (i.e., the switches 216b-216d are open). The logic gate 754 generates a high CLKA_S only when the foregoing conditions are true. Accordingly, when CLK_A goes low, the falling edge of CLK_A triggers the FF 750 to capture the high D input and to provide a high output signal on the Q output. This Q output provides the high output signal until the FF 750 is reset. Further, when CLKD_S goes low, the falling edge triggers the FF 751 to capture the high input signal on the D input and to provide a high output signal on the Q output. This high output signal on the Q output is provided as an input signal to the multiplexer 756 and remains high until the FF 751 is reset. When CLKC S goes low, the falling edge triggers the FF 753 to capture the high input signal on the D input and to provide a high output signal on the Q output. This high output signal on the Q output is provided as an input signal to the multiplexer 756 and remains high until the FF 753 is reset. When CLKB S goes low, the falling edge triggers the FF 755 to capture the high input signal on the D input and to provide a high output signal on the Q output. This high output signal on the Q output is provided as an input signal to the multiplexer 756 and remains high until the FF 755 is reset.
[0060] Although high output signals on the Q outputs of the FFs 751, 753, and 755 are available to the multiplexer 756, the high Q output that is pertinent to whether a CLKA S pulse can begenerated to close the switch 216a is dependent upon the sequence that is programmed into the phase sorter logic 708. For example, if the phase sorter logic 708 is programmed with a sequence A, B, C, D, the CLKA S pulse is scheduled to be generated first, followed by the CLKB S pulse, followed by the CLKC S pulse, followed by the CLKD S pulse. Thus, in determining whether a particular secondary clock signal pulse can be generated without causing competing attempts to access the shared ADC 224 (FIG. 2), the multiplexer 756 may determine whether the previous secondary clock signal in the sequence has provided a pulse. For example, in the case of CLKA S and assuming a sequence of A, B, C, D, the phase sorter logic 708 sets the signal SELO to cause the multiplexer 756 to provide on the output 732 the output signal of the Q output of FF 751, because the output signal on the Q output of FF 751 indicates whether a falling edge of CLKD S has been detected. Similarly, in the case of CLKB S and assuming a sequence of A, B, C, D, the multiplexer in the instance of circuitry 702 receives control signal SEL1 and provide the output signal of the Q output of the FF that indicates a falling edge of CLKA S has been detected. Likewise, in the case of CLKC S and assuming a sequence of A, B, C, D, the multiplexer in the instance of circuitry 704 receives control signal SEL2 and provides the output signal of the Q output of the FF that indicates a falling edge of CLKB S has been detected. In the case of CLKD S and assuming the same sequence of A, B, C, D, the multiplexer in the instance of circuitry 706 receives control signal SEL3 and provide the output signal of the Q output of the FF that indicates a falling edge of CLKC S has been detected. Thus, in the instance of circuitry 700, a high CLKA_S output signal of the logic gate 754 indicates that CLK A is low and that CLKD S has finished its pulse. Accordingly, the CLKA S pulse does not cause competing attempts to access the shared ADC 224. During the CLKA_S pulse, only the capacitor 218a is coupled to the shared ADC 224, and the remaining capacitors 218b-218d is decoupled from the shared ADC 224. The same is true for CLKB S, CLKC S, and CLKD S.
[0061] The phase sorter logic 708 may be programmed with the sequence of the secondary clock signals. For example, the phase sorter logic 708 is programmed with the sequence A, B, C, D. The phase sorter logic 708 provides signals on the outputs 724, 726, 728, and 730 to the D inputs of the FFs 710, 712, 714, and 716, respectively, responsive to the programmed sequence. The CLK inputs to the FFs 710, 712, 714, and 716 receive a ri sing edge trigger that causes the FFs 710, 712, 714, and 716 to capture the signals provided on the respective D inputs and to provide the signals as Q output signals SELO, SEL1, SEL2, and SEL3, respectively. Thus, if the sequence is A, B, C, D, then SELO has a digital value that causes the multiplexer 756 to output CLKD S, SEL1 has a digital value thatcauses the multiplexer of the instance of circuitry 702 to output CLKA S, SEL2 has a digital value that causes the multiplexer of the instance of circuitry 704 to output CLKB S, and SEL3 has a digital value that causes the multiplexer of the instance of circuitry 706 to output CLKC S. In some examples, each of SEL0-SEL3 is multiple bits in length, and in such examples, the FFs 710, 712, 714, and 716 are multi -bit D flip-flops with multi -bit D inputs and multi -bit Q outputs.
[0062] In some examples, the above-described sequence is programmed in the phase sorter logic 708. In other examples, the phase sorter logic 708 dynamically determines the sequence responsive to the primary clock signals CLK A, CLK B, CLK C, and CLK D received on the connections 210a-210d, respectively (FIG. 2). Any clock drift that occurs is accounted for as the phase sorter logic 708 monitors the primary clock signals. In this manner, the phase sorter logic 708 continuously monitors the sequence of the primary clock signals and adjust the control signals SEL0-SEL3 accordingly.
[0063] The multiplexer 718, FF 720, and delay circuit 722 determine when the FFs 710, 712, 714, and 716 capture new sequences from the phase sorter logic 708. The phase sorter logic 708 provides the control signal SELCAL on the output 731 responsive to the identity of the last clock signal in the most recent sequence output by the phase sorter logic 708. For example, if the phase sorter logic 708 most recently output a sequence A, B, C, D, then the phase sorter logic 708 provides a SELCAL signal that indicates the secondary clock signal CLKD S, since “D” is the last element in the sequence. Accordingly, the multiplexer 718 provides CLKD S as an output signal. Because the multiplexer output is coupled to a negative-edge triggered CLK input of FF 720, the FF 720 is triggered at the falling edge of CLKD_S. Stated another way, the FF 720 is triggered when all of the switches 216a-216d have been closed and opened according to the sequence most recently output by the phase sorter logic 708. When the FF 720 is triggered, the FF 720 captures the high input signal on the D input and provides a high output signal on the Q output. The high output signal on the Q output triggers the FFs 710, 712, 714, and 716, causing these FFs to capture the newest sequence being provided by the phase sorter logic 708. Thus, the secondary clock generator 222 adapts to sequence changes due to clock drift.
[0064] In this way, the primary clock generator 206 operates the switches 214a-214d and the secondary clock generator 222 operates the switches 216a-216d to facilitate CFTS of the shared ADC 224.
[0065] In some cases, it is possible for FFs 751, 753, and 755 to capture and store data after theseFFs are reset but before these FFs are used again. For example, when the instance of circuitry 700 generates CLKA_S, the FFs 750, 751, 753, and 755 are reset. The instances of circuitry 702, 704, and 706 may then proceed to generate CLKB S, CLKC S, and CLKD S. During that time, the instance of circuitry 700 is still active, and the FFs 751, 753, and 755 may still receive and capture data as these FFs are triggered by their respective CLK inputs. This data stored in the FFs 751, 753, and 755 is not stored and can result in operational failure. The same is true for FFs in the instances of circuitry 702, 704, and 706.
[0066] To prevent data from being stored in the FFs of a particular instance of circuitry 700, 702, 704, and 706 when that particular instance of circuitry is not being used to generate a secondary clock signal CLKA S, CLKB S, CLKC S, or CLKD S, a circuit may maintain the FFs in a reset state until the sequence of the phase sorter logic 708 is complete. FIG. 8 depicts an example secondary clock generator 222 containing such a circuit. In particular, the example secondary clock generator 222 of FIG. 8 includes a reset circuit 800 having inputs 802, 804 and an output 806. The input 802 is coupled to the output of the delay circuit 752. The input 804 is coupled to the Q output of the FF 720. The output 806 is coupled to the reset inputs of the FFs 751, 753, and 755. The reset circuit 800 includes, for example, an SR latch, with the set input S being the input 802, and the reset input R being the input 804. Responsive to a pulse CLKA S being generated by the logic gate 754, the FF 750 is reset, and the reset circuit 800 receives a high signal on the input 802 (the set input of the SR latch). Because the sequence of the phase sorter logic 708 is not yet complete, CLK CAL is low, and thus the input 804 (the reset input of the SR latch) is low. Thus, the reset circuit 800 (the SR latch) provides a high signal on the output 806, which causes the FFs 751, 753, and 755 to be reset. The output 806 provides the high signal until the sequence of the phase sorter logic 708 is complete, and thus the FFs 751, 753, and 755 remain in a reset state. Because the FFs 751, 753, and 755 are in a reset state, these FFs cannot capture data, and the risk to the operational integrity of these FFs is mitigated. When the sequence of the phase sorter logic 708 is complete, CLK CAL rises as described above, thus causing the SR latch to be reset. Thus, the reset circuit 800 may provide a low signal on the output 806, causing the FFs 751, 753, and 755 to exit the reset state and to again be available to store data. Each of the instances of circuitry 702, 704, and 706 may include reset circuits that operate similarly to the reset circuit 800.
[0067] FIG. 9 is a block diagram of circuitry that facilitates circuit component sharing in various examples. In particular, FIG. 9 depicts a secondary clock generator 900 that is a genericized versionof the secondary clock generator 222 of FIG. 8. The secondary clock generator 900 may include four instances of circuitry 902a-902d. The four instances of circuitry 902a-902d may include circuits 904a-904d, circuits 906a-906d, circuits 908a-908d, and circuits 910a-910d. The circuits 904a-904d include inputs 912a-912d and outputs 914a-914d. The circuits 906a-906d include outputs 916a- 916d. Circuits 910a-910d include outputs 918a-918d. The secondary clock generator 900 may include a sequence circuit 920. The sequence circuit 920 may include outputs 922a-922d. The outputs 914a-914d are provided to the circuits 906a-906d, respectively. The outputs 916a-916d are provided to the circuits 904a-904d, respectively. The outputs 918a-918d are provided to the circuits 906a-906d, respectively. The outputs 922a-922d are provided to the circuits 910a-910d, respectively. The circuits 906a-906d provide outputs 924a-924d, respectively.
[0068] Referring to FIGS. 8 and 9, the FF 750 is an example of the circuit 904a. The delay circuit 752 and the logic gate 754 are examples of circuitry that are included in the circuit 906a. The reset circuit 800 is an example of the circuit 908a. The FFs 751, 753, and 755 and the multiplexer 756 are examples of circuitry that are included in the circuit 910a. The phase sorter logic 708, the FFs 710, 712, 714, and 716, the multiplexer 718, the FF 720, and the delay circuit 722 are examples of circuitry that are included in the sequence circuit 920.
[0069] The circuit 904a performs at least those actions attributed herein to the FF 750. The circuit 906a performs at least those actions attributed herein to the delay circuit 752 and the logic gate 754. The circuit 908a performs at least those actions attributed herein to the reset circuit 800. The circuit 910a performs at least those actions attributed herein to the FFs 751, 753, and 755 and the multiplexer 756. The sequence circuit 920 performs at least those actions attributed herein to the phase sorter logic 708, the FFs 710, 712, 714, and 716, the multiplexer 718, the FF 720, and the delay circuit 722. The circuits 904b, 906b, 908b, and 910b in the instance of circuitry 902b include components similar to those included in the circuits 904a, 906a, 908a, and 910a, respectively. The operation of the instance of circuitry 902b is similar to that of the instance of circuitry 902a and of the instance of circuitry 702, and thus is not repeated. The circuits 904c, 906c, 908c, and 910c in the instance of circuitry 902c include components similar to those included in the circuits 904a, 906a, 908a, and 910a, respectively. The operation of the instance of circuitry 902c is similar to that of the instance of circuitry 902a and of the instance of circuitry 702, and thus is not repeated. The circuits 904d, 906d, 908d, and 910d in the instance of circuitry 902d include components similar to those included in the circuits 904a, 906a, 908a, and 910a, respectively. The operation of the instance of circuitry902d is similar to that of the instance of circuitry 902a and of the instance of circuitry 702, and thus is not repeated.
[0070] FIG. 10 is a timing diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples. The timing diagram includes plots 1002, 1004, 1006, and 1008. Each of the plots 1002, 1004, 1006, and 1008 includes time (unit intervals (UI) / 200 (sec)) on the x-axis and voltage on the y-axis. The plot 1002 includes curves representing CLK_A and CLKA S. The plot 1004 includes curves representing CLK B and CLKB S. The plot 1006 includes curves representing CLK C and CLKC S. The plot 1006 includes curves representing CLK D and CLKD S. As shown, the sequence of the primary clock signals, and thus the sequence of the secondary clock signals, is C, A, D, B. This means that the primary clock generator 206 (FIG. 2) generates CLK C first among the primary clock signals CLK A, CLK B, CLK C, and CLK D. Thus, the secondary clock generator 222 generates CLKC_S first among the secondary clock signals CLKA S, CLKB S, CLKC S, and CLKD S. The primary clock generator 206 generates CLK A second among the primary clock signals, and thus the secondary clock generator 222 generates CLKA_S second among the secondary clock signals. The primary clock generator 206 generates CLK D third among the primary clock signals, and thus the secondary clock generator 222 generates CLKD S third among the secondary clock signals. The primary clock generator 206 generates CLK_B fourth among the primary clock signals, and thus the secondary clock generator 222 generates CLKB S fourth among the secondary clock signals. Although the signals CLK A and CLK D appear to be generated at the same time, CLK A is generated just slightly before CLK D. However, to prevent competing attempts to access the shared ADC 224, the secondary clock generator 222 generates the secondary clock signals in a distinctly non-overlapping manner. As shown, the secondary clock generator 222 generates CLKA S only when CLK A is low and when the remaining secondary clock signals are low. The same is true for CLKB S relative to CLK B and the remaining secondary clock signals, CLKC S relative to CLK C and the remaining secondary clock signals, and CLKD S relative to CLK D and the remaining secondary clock signals.
[0071] The sequence C, A, D, B repeats until the sequence changes due to clock drift at time = 600. At this time, the phase sorter logic 708 determines that the sequence has changed from C, A, D, B to C, D, A, B. As described above, CLK A almost imperceptibly preceded CLK D from time = 0 to 600, but over time, CLK D almost imperceptibly precedes CLK A starting at time = 600. Accordingly, the phase sorter logic 708 provides new sequence signals SEL0-SEL3, altering theoperation of the secondary clock generator 222 as described above and causing the sequence of secondary clock signals to become CLKC S, CLKD S, CLKA S, and CLKB S. The secondary clock generator 222 continues generating the secondary clock signals such that CFTS of the shared ADC 224 is maintained.
[0072] FIG. 11 is a flow diagram depicting the operation of circuitry that facilitates circuit component sharing in various examples. Specifically, FIG. 11 depicts a method of operation 1100 performed by the phase sorter logic 708 (FIGS. 7 and 8). FIG. 12 is an example block diagram of the phase sorter logic 708. In examples, the phase sorter logic 708 includes a processor 1200 and a memory 1202 coupled to the processor 1200. The memory 1202 stores executable code 1204. The processor 1200 performs some or all of the actions attributed herein to the phase sorter logic 708 responsive to executing the executable code 1204. Inputs 1206, 1208, 1210, and 1212 may be coupled to the primary clock generator 206, such as to the connections 210a-210d, respectively. In examples, the processor 1200 receives signals CLK A, CLK B, CLK C, and CLK D as input signals on the inputs 1206, 1208, 1210, and 1212, respectively. Outputs 1214, 1216, 1218, and 1220 of the processor 1200 are coupled to the select signal inputs of the multiplexers in the instances of circuitry 700, 702, 704, and 706, respectively. Output 1222 of the processor 1200 is coupled to the select signal input of the multiplexer 718. The processor 1200 may provide output signals CLKA S, CLKB S, CLKC S, CLKD S, and SELCAL on the outputs 1214, 1216, 1218, 1220, and 1222, respectively.
[0073] The operation of FIG. 12 is now described in parallel with FIGS. 8 and 11. The method 1100 includes the phase sorter logic 708 (e.g., the processor 1200) determining a sequence of clock pulses provided by the primary clock generator 206 (FIG. 2) (1102). For example, the primary clock generator 206 provides pulses in the clock signals CLK A, CLK B, CLK C, and CLK D, and the processor 1200 determines the sequence in which the pulses appear. For example, the sequence is a pulse in CLK A, followed by a pulse in CLK B, followed by a pulse in CLK C, followed by a pulse in CLK D. Thus, in this example, the sequence is A, B, C, D. The processor 1200 may store the determined sequence in the memory 1202.
[0074] The method 1100 includes the phase sorter logic 708 (e.g., the processor 1200) generating multiplexer input select signals SEL0-SEL3 responsive to the determination in block 1102 (1104). More specifically, each of the multiplexer input select signals is generated responsive to the sequence determined in block 1102 and the secondary clock signal provided by the instance of circuitry 700,702, 704, or 706 to which the multiplexer input select signal SEL0-SEL3 is provided. For example, if the sequence determined in block 1102 is A, B, C, D, when generating SELO, the phase sorter logic 708 (e.g., the processor 1200) selects a value of SELO that will cause the output signal of the FF 751 to pass through the multiplexer 756. The phase sorter logic 708 may generate SEL1, SEL2, and SEL3 in a manner similar to that in which SELO is generated.
[0075] The method 1100 includes generating a multiplexer input select signal SELCAL responsive to the determination of block 1102 (1106). The signal SELCAL indicates the final pulse in the sequence of pulses described above. For example, if the sequence described above is A, B, C, D, the phase sorter logic 708 generates SELCAL such that CLKD S passes through the multiplexer 718.
[0076] In this description, the term “couple” may cover connections, communications, or signal paths that enable a functional relationship consistent with this description. For example, if device A generates a signal to control device B to perform an action: (a) in a first example, device A is coupled to device B by direct connection; or (b) in a second example, device A is coupled to device B through intervening component C if intervening component C does not alter the functional relationship between device A and device B, such that device B is controlled by device A via the control signal generated by device A.
[0077] A device that is “configured to” perform a task or function may be configured (e.g., programmed and / or hardwired) at a time of manufacturing by a manufacturer to perform the function and / or may be configurable (or reconfigurable) by a user after manufacturing to perform the function and / or other additional or alternative functions. The configuring may be through firmware and / or software programming of the device, through a construction and / or layout of hardware components and interconnections of the device, or a combination thereof.
[0078] Uses of the term “ground” in the foregoing description include a chassis ground, an Earth ground, a floating ground, a virtual ground, a digital ground, a common ground, and / or any other form of ground connection applicable to, or suitable for, the teachings of this description. In this description, unless otherwise stated, “about,” “approximately” or “substantially” preceding a parameter means being within + / - 10 percent of that parameter. Modifications are possible in the described examples, and other examples are possible within the scope of the claims.
Claims
CLAIMSWhat is claimed is:
1. An apparatus, comprising: a first D flip-flop having a first data output, a first negative edge-triggered clock input, and a first reset input; a second D flip-flop having a second data output, a second negative edge-triggered clock input, and a second reset input; a logic gate having an output and first and second inputs, the first input of the logic gate coupled to the first data output, the second input of the logic gate coupled to the second data output, in which the output of the logic gate is configured as a first clock output of the apparatus; and a delay circuit having an output and an input, the output of the delay circuit coupled to the first and second reset inputs, and the input of the delay circuit coupled to the output of the logic gate.
2. The apparatus of claim 1, further comprising: a third D flip-flop having a third data output, a third negative edge-triggered clock input, and a third reset input; a fourth D flip-flop having a fourth data output, a fourth negative edge-triggered clock input, and a fourth reset input; a second logic gate having an output and first and second inputs, the first input of the second logic gate coupled to the third data output, the second input of the second logic gate coupled to the fourth data output, in which the output of the second logic gate is configured as a second clock output of the apparatus; and a second delay circuit having an output and an input, the output of the second delay circuit coupled to the third and fourth reset inputs, and the input of the second delay circuit coupled to the second logic gate output.
3. The apparatus of claim 2, further comprising: a first switch having first and second terminals and a control terminal, the control terminal of the first switch coupled to the first clock output of the apparatus; a first capacitor coupled to the first terminal of the first switch; a second switch having first and second terminals and a control terminal, the control terminalof the second switch coupled to the second clock output of the apparatus; a second capacitor coupled to the first terminal of the second switch; and a shared circuit component coupled to the second terminals of the first and second switches.
4. The apparatus of claim 3, further comprising: a third switch having a terminal coupled to the first capacitor and to the first terminal of the first switch, and having a control terminal; a fourth switch having a terminal coupled to the second capacitor and to the first terminal of the second switch, and having a control terminal; and a clock generator having first and second clock outputs, the first clock output of the clock generator coupled to the control terminal of the third switch and to the first negative edge-triggered clock input of the first D flip-flop, the second clock output of the clock generator coupled to the control terminal of the fourth switch and to the third negative edge-triggered clock input of the third D flip-flop.
5. The apparatus of claim 3, wherein the shared circuit component is an analog-to-digital converter (ADC).
6. The apparatus of claim 1, wherein the logic gate is an AND gate.
7. The apparatus of claim 1, wherein the first D flip-flop includes a first logic high data input, and the second D flip-flop includes a second logic high data input.
8. An electronic device, comprising: a first switch having a terminal; a second switch having first and second terminals; a first capacitor having a terminal coupled to the terminal of the first switch and to the first terminal of the second switch; a third switch having a terminal; a fourth switch having first and second terminals; a second capacitor having a terminal coupled to the terminal of the third switch and to the first terminal of the fourth switch; an electronic component coupled to the second terminals of the second and fourth switches; a first clock generator coupled to control terminals of the first and third switches, the first clock generator configured to provide first and second clock signals to control the first and third switches; anda second clock generator coupled to control terminals of the second and fourth switches and to the first clock generator, the second clock generator configured to generate third and fourth clock signals to close the second and fourth switches at mutually exclusive times.
9. The electronic device of claim 8, wherein the second clock generator is configured to generate the third clock signal to close the second switch only when the first switch is open.
10. The electronic device of claim 9, wherein the second clock generator is configured to generate the fourth clock signal to close the fourth switch only when the third switch is open.
11. The electronic device of claim 8, wherein the first and third switches are adapted to be coupled to an Ethernet cable.
12. The electronic device of claim 8, wherein the second clock generator includes a first D flipflop configured to provide a high signal during a time that the first switch is open.
13. The electronic device of claim 12, wherein the second clock generator includes a second D flip-flop configured to provide a high signal during a time that the fourth switch is open.
14. The electronic device of claim 13, wherein the second D flip-flop is configured to provide the high signal responsive to a falling edge of the fourth clock signal.
15. A device, comprising: first output clock generator circuitry having a clock input and a clock output; second output clock generator circuitry having a clock input and a clock output; and third output clock generator circuitry including; a first flip-flop having a first data output and a first clock input; a second flip flop having a second data output, and a second clock input coupled to the clock output of the first output clock generator circuitry; a third flip-flop having a third data output, a third clock input coupled to the clock output of the second clock generator circuitry; a multiplexer having an output, first and second inputs, and a select input, the first input of the multiplexer coupled to the second data output of the second flipflop, the second input of the multiplexer coupled to the third data output of the third flip-flop; a logic gate having an output and first and second inputs, the first input of the logic gate coupled to the first data output of the first flip-flop, the second input ofthe logic gate coupled to the output of the multiplexer, and the output of the logic gate coupled to the clock inputs of the first and second output clock generator circuitry; and a delay circuit having an output and an input, the output of the delay circuit coupled to the first reset input, and the input of the delay circuit coupled to the output of the logic gate.
16. The device of claim 15, wherein the multiplexer is a first multiplexer, the device further comprising: a reset circuit having first and second inputs and an output, the output of the reset circuit coupled to a reset input of the second flip-flop and to a reset input of the third flip- flop, the first input of the reset circuit coupled to the output of the delay circuit; a second multiplexer having a first input coupled to the clock output of the first output clock generator circuitry, a second input coupled to the clock output of the second output clock generator circuitry, a third input coupled to the output of the logic gate, and an output; a fourth flip-flop having a fourth clock input coupled to the output of the second multiplexer, a data output coupled to the second input of the reset circuit; and a reset input; and a delay circuit having an input coupled to the data output of the fourth flip-flop, and an output coupled to the reset input of the fourth flip-flop.
17. The device of claim 16, further comprising logic coupled to a select input of the second multiplexer and configured to operate the multiplexer according to a sequence.
18. The device of claim 17, further comprising a fifth flip-flop having an input coupled to an output of the logic, and an output coupled to a select input of the first multiplexer, the fourth flipflop configured to operate the first multiplexer according to the sequence.
19. The device of claim 16, wherein the reset circuit includes an SR latch.
20. The device of claim 15, wherein the first, second, and third flip-flops each have a logic high data input.