# Patent

## Title
Designing photonic switching systems utilizing equalized drivers

## Abstract

Designing a photonics switching system is provided. A photonic switch diode is designed to attain each performance metric in a plurality of performance metrics associated with a photonic switching system based on a weighted value corresponding to each of the plurality of performance metrics. A switch driver circuit is selected from a plurality of switch driver circuits for the photonic switching system. It is determined whether each performance metric associated with the photonic switching system meets or exceeds a threshold value corresponding to each of the plurality of performance metrics based on the designed photonic switch diode and the selected switch driver circuit. In response to determining that each performance metric associated with the photonic switching system meets or exceeds the threshold value corresponding to each of the performance metrics, the photonic switching system is designed using the designed photonic switch diode and the selected switch driver circuit.

## Background
This application is a continuation of U.S. Ser. No. 13/604,337, entitled, “DESIGNING PHOTONIC SWITCHING SYSTEMS UTILIZING EQUALIZED DRIVERS,” filed, Sep. 5, 2012, status pending.


This invention was made with Government support under Contract No.: W911NF-11-2-0059 (awarded by Defense Advanced Research Projects Agency (DARPA)). The Government has certain rights in this invention.


BACKGROUND
1. Field
The disclosure relates generally to an improved silicon photonic chip and more specifically to designing a photonic switching system that utilizes an equalized driver to increase performance of photonic switch diodes located on the silicon photonic chip.
2. Description of the Related Art
Silicon (Si) photonics is a technology that is under worldwide research and development due to its promise of delivering high performance optical components built in low-cost silicon chip technologies. Silicon photonics is the study and application of photonic systems that use silicon as an optical medium. The silicon is patterned with sub-micrometer precision into silicon photonic components. The silicon typically lies on top of a layer of silica in what is known as silicon-on-insulator (SOI).
Photonic switches have been considered as a replacement to electrical switches due to their very large per-port bandwidth enabled by wavelength-division multiplexing, and due to the energy savings provided by the mitigation of optical detection and re-transmission before and after the electrical switch. Photonic switches, which often leverage phase alteration within forward or reverse biased diodes to achieve path selectivity, have demonstrated broad spectral operation with low crosstalk. Designing a photonic switch can be a complex task, requiring tradeoffs of various performance metrics for an optimized design. Notably, speed of the photonic switch is often traded for or against other performance metrics in the design of the photonic switch.
SUMMARY
According to one embodiment of the present invention, a data processing system for designing a photonic switching system is provided. A photonic switch diode is designed to attain each performance metric in a plurality of performance metrics associated with a photonic switching system based on a weighted value corresponding to each of the plurality of performance metrics. An electronic switch driver circuit design is selected from a plurality of electronic switch driver circuit designs for the photonic switching system. It is determined whether each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds a threshold value corresponding to each of the plurality of performance metrics based on the designed photonic switch diode and the selected electronic switch driver circuit design. Then, the photonic switching system is designed using the designed photonic switch diode and the selected electronic switch driver circuit design that met or exceeded each threshold value corresponding to each of the plurality of performance metrics associated with the photonic switching system based on the weighted value of each performance metric in response to determining that each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds the threshold value corresponding to each of the performance metrics. According to another embodiment of the present invention, a computer program product for designing a photonic switching system is provided.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a diagram of a cross-section view of a silicon photonic chip in accordance with an illustrative embodiment;
FIG. 2 is a diagram of a photonic switching system in accordance with an illustrative embodiment;
FIG. 3 is a pictorial illustration of a photonic switching system that includes a current mode logic-based driver circuit and a photonic switch diode in accordance with an illustrative embodiment;
FIG. 4 is a pictorial illustration of an inverter logic-based driver circuit and a drive waveform that exits the driver circuit in accordance with an illustrative embodiment;
FIG. 5 is a pictorial illustration of two different photonic switching systems in accordance with an illustrative embodiment;
FIG. 6 is a pictorial illustration of a photonic switching system that includes two electronic switch driver circuits in accordance with an illustrative embodiment;
FIG. 7 is a flowchart illustrating a process for designing a photonic switching system in accordance with an illustrative embodiment;
FIG. 8 is a flowchart illustrating a process of an electronic switch driver circuit in accordance with an illustrative embodiment; and
FIG. 9 is a diagram of a data processing system in accordance with an illustrative embodiment.



DETAILED DESCRIPTION
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a data processing system or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module,” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
With reference now to the figures, and in particular, with reference to FIGS. 1-6, diagrams of apparatuses are provided in which illustrative embodiments may be implemented. It should be appreciated that FIGS. 1-6 are only meant as examples and are not intended to assert or imply any limitation with regard to the apparatuses in which different embodiments may be implemented. Many modifications to the depicted apparatuses may be made.
FIG. 1 depicts a cross-section view of a silicon photonic chip in accordance with an illustrative embodiment. Silicon photonic chip 100 is an example of a semiconductor chip that may be used in a data processing system, such as a computer. In addition, silicon photonic chip 100 is capable of routing optical signals (i.e., pulses of light), which are used to communicate data. In other words, silicon photonic chip 100 is an optical switching device or an array of such devices. Silicon photonic chip 100 includes active silicon photonic layer 102, buried oxide layer 104, and silicon substrate 106.
Active silicon photonic layer 102 is located on a front side of silicon photonic chip 100. Active silicon photonic layer 102 transports the optical signals or pulses of light and is typically 150-300 nanometers in thickness. Active silicon photonic layer 102 includes silicon photonic devices 108, which are essentially transparent to the optical signals at a wavelength of approximately 1.1 to beyond 2.0 micrometers. In addition, active silicon photonic layer 102 also includes electronic devices 110. However, it should be noted that active silicon photonic layer 102 may include both silicon photonic devices 108 and electronic devices 110 or may only include silicon photonic devices 108.
The photonic devices (i.e., silicon optical structures) are fabricated within active silicon photonic layer 102. A photonic device is any optical structure fabricated in active silicon photonic layer 102 that guides, generates, manipulates, or detects the pulses of light. Examples of photonic devices are lasers, optical modulators, photodetectors, and optical switch diodes, along with silicon optical waveguides 112, which are used to transport the optical signals to and from the photonic devices. Examples of electronic devices that may be included in active silicon photonic layer 102 are transistors, capacitors, resistors, and inductors. A standard process for fabricating these photonic and electronic devices is a complimentary metal oxide-semiconductor (CMOS) process.
Buried oxide layer 104 of silicon photonic chip 100 is buried between active silicon photonic layer 102 and silicon substrate 106. Buried oxide layer 104 may, for example, be comprised of silicon dioxide (SiO2) material. Typically, buried oxide layer 104 is greater than or equal to one to two micrometers in thickness.
Silicon substrate 106 is on a backside of silicon photonic chip 100. Silicon substrate 106 is a bulk silicon layer that provides support for silicon photonic chip 100. Typically, silicon substrate 106 is greater than or equal to 300 micrometers.
In the course of developing illustrative embodiments, it was discovered that through a process of passivating the sidewalls of the silicon optical waveguides with a thin layer of silicon nitride (Si3N4) the lifetime of an electronic carrier within a photonic switch diode that enables photonic switching within optical waveguides formed in the active silicon photonic layer may be altered by two orders of magnitude. This thin layer of silicon nitride has a negligible effect on the optical mode within the silicon optical waveguide, but has a substantial effect on surface recombination, thereby influencing the electronic carrier lifetime for a photonic switch diode constructed across the silicon optical waveguide. Photonic switch diodes with an increased carrier lifetime demonstrate extremely low steady-state power consumption, but suffer from decreased reconfiguration speeds. Conversely, photonic switch diodes with a decreased carrier lifetime enable increased reconfiguration speeds, but require increased amounts of power to hold the photonic switch diode in an ON-state due to the increased recombination current in the photonic switch diode during steady-state operation. Therefore, within photonic switch diodes a trade-off exists between reconfiguration speed and power consumption.
In addition, photonic switch diodes may suffer from decreased reconfiguration speeds for other reasons. For example, when using silicon optical waveguides that have a cross sectional dimension greater than one micrometer (μm), the reconfiguration speed of the photonic switch diode is decreased. Typically, the cross sectional dimension of a silicon optical waveguide is less than 1 micrometer. This increased mode size of the silicon optical waveguide provides increased alignment tolerances, more efficient optical coupling between the silicon photonic devices and a standard single-mode optical fiber, and decreased light propagation and device insertion losses. However, the increased cross sectional dimension of the silicon optical waveguide requires an increased length of the photonic switch diode, which leads to decreased reconfiguration speed of the photonic switch diode or slower operation of the photonic switch diode.
Another example of influencing the reconfiguration speed of the photonic switch diode is choosing between reverse-biased diodes and forward-biased diodes. Forward-biased diodes have a decreased footprint or size, but also have a significantly slower reconfiguration speed as compared to reverse-biased diodes. Therefore, photonic switch diode designers often sacrifice the low drive voltage associated with the slower reconfiguration speed and smaller footprint achievable with a forward-biased diode design for the reconfiguration speed afforded by a reverse-biased diode design.
Thus in each of the examples above, a tradeoff exists between speed of the photonic switch diode and other performance metrics, such as power consumption of the photonic switch diode, size or footprint of the photonic switch diode, alignment tolerance of the photonic switch diode with an optical cable, and cost of the photonic switch diode. However, illustrative embodiments use a system-wide optimization approach that designs the photonic switch diodes in conjunction with selecting a custom electronic switch driver circuit design from a plurality of electronic switch driver circuit designs that increases performance of the designed photonic switch diodes (e.g., increases the speed of the photonic switch diodes). The plurality of electronic switch driver circuit designs may be, for example, a current mode logic design, an inverter logic design, and an inverter logic design coupled with an inductively peaked inverter logic design. Each of these electronic switch driver circuit designs may employ, for example, feed-forward equalization techniques and be implemented in a complimentary metal oxide-semiconductor driver.
Illustrative embodiments by using this system-wide optimization approach increase the speed of the photonic switch diode by customizing the switch drivers. Consequently, the design of the photonic switch diode can sacrifice speed performance of the photonic switch diode for gains in optical coupling efficiency, footprint, power consumption, and cost with no loss in the speed of the overall photonic switching system, which includes the photonic switch diode and the electronic switch driver circuit. As a result, illustrative embodiments break the inherent speed tradeoffs in photonic switch design by selecting the appropriate switch driver architecture or design that yields an increased system-wide response.
In addition, even though a photonic modulator and a photonic switch diode may in some cases share similar structures and topologies, the prioritized performance metrics of a photonic modulator and a photonic switch diode rarely overlap. For example, pre-emphasizing a photonic modulator is primarily done to increase the bandwidth of the photonic modulator and is done at the expense of other performance metrics, such as power consumption. Whereas for a photonic switch diode, illustrative embodiments leverage pre-emphasis as a means of maintaining the reconfiguration speed of the photonic switch diode while making gains in other critical photonic switching system performance metrics, such as power consumption, footprint, alignment tolerance, and cost. Thus, it should be noted that illustrative embodiments are not just simply making the photonic switch diode as fast as possible. This distinction is important because it leads to different options for the switch driver circuit design. For example, illustrative embodiments may use a complimentary metal oxide-semiconductor driver based on inverter logic or may use a complimentary metal oxide-semiconductor driver based on inverter logic and inductively peaked inverter logic to drive the photonic switch diode. Alternatively, illustrative embodiments may use a complimentary metal oxide-semiconductor driver based on current-mode logic to drive the photonic switch diode. Each of these driver designs may employ feed-forward equalization.
With reference now to FIG. 2, a diagram of a photonic switching system is depicted in accordance with an illustrative embodiment. Photonic switching system 200 is a system of components designed to increase the speed of optical signal transmission without increasing other system performance metrics, such as power consumption, size, and cost. Photonic switching system 200 includes electronic switch driver circuit 202 and photonic switch diode 204.
Electronic switch driver circuit 202 is, for example, a complimentary metal oxide-semiconductor driver that drives photonic switch diode 204 by outputting a drive waveform from electronic switch driver circuit 202 to photonic switch diode 204 based on an electrical input signal received by electronic switch driver circuit 202 from optical packet scheduler 206. Optical packet scheduler 206 schedules optical packets for transmission by photonic switch diode 204. Electronic switch driver circuit 202 generates the drive waveform from the electrical input signal received from optical packet scheduler 206 by using one of inverter logic, inverter logic and inductively peaked inverter logic in combination, or current mode logic.
Photonic switch diode 204 is a photonic device located in an active silicon photonic layer of a silicon photonic chip, such as one of silicon photonic devices 108 located in active silicon photonic layer 102 of silicon photonic chip 100 in FIG. 1. In this example, photonic switch diode 204 is a routing switch for routing optical signals or packets to an appropriate output port in a plurality of output ports. Also, in this illustrated example, photonic switch diode is shown to include one input port and two output ports. However, it should be noted that photonic switch diode 204 may include any number of input ports and any number of output ports and that the number of input ports and the number of outputs does not have to be the same, but may be the same. Further, electronic switch driver circuit 202 and photonic switch diode 204 are located on separate chips. However, in an alternative embodiment, electronic switch driver circuit 202 and photonic switch diode 204 may be located on the same silicon photonic chip, such as electronic devices 110 and silicon photonic devices 108 located on silicon photonic chip 100 in FIG. 1.
With reference now to FIG. 3, a pictorial illustration of a photonic switching system that includes a current mode logic-based driver circuit and a photonic switch diode is depicted in accordance with an illustrative embodiment. Photonic switching system 300 may be, for example, photonic switching system 200 in FIG. 2. Photonic switching system 300 includes electronic switch driver circuit 302 and photonic switch diode 304, such as electronic switch driver circuit 202 and photonic switch diode 204 in FIG. 2.
In this illustrated example, electronic switch driver circuit 302 is a complimentary metal oxide-semiconductor driver based on current mode logic that employs feed-forward equalization to drive photonic switch diode 304. Electronic switch driver circuit 302 pre-amplifies an electrical signal received from an optical packet scheduler, such as optical packet scheduler 206 in FIG. 2, and applies equalization to the electronic signal to generate pre-emphasized drive waveform 306, which is used to drive photonic switch diode 304. It should be noted that in this illustrated example, solid lines in the circuit schematic denote electrical connections, whereas the dashed lines denote optical or photonic connections.
Photonic switch diode 304, by itself, has a slower step response as shown by photonic switch step response 308, which leads to decreased reconfiguration speeds of photonic switch diode 304 causing increased network inefficiencies. However, the response of photonic switching system 300, which is photonic switch diode 304 being driven by the current mode logic-based feed-forward equalization driver (i.e., electronic switch driver circuit 302), shows faster transitions between states of photonic switch diode 304 in photonic switch diode response to the pre-emphasized drive waveform 310. Further, although photonic switch diode 304 is illustrated with one input port and two output ports, illustrative embodiments may utilize any integral combination of input ports and output ports in photonic switch diode 304.
Furthermore, it should be noted that even though this illustrated example demonstrates the efficacy of this approach, current mode logic circuit designs are not the preferred illustrative embodiment for implementing the electronic switch driver circuits. Because photonic switch diode 304 may frequently be held in a steady-state for long periods of time, the always-on current mode logic tail currents result in increased average power consumption as compared to inverter logic-based electronic complimentary metal oxide-semiconductor designs. The smaller footprint of the inverter logic-based designs complement the density afforded with photonic switch diodes. In addition, inverter logic-based designs are capable of providing ultra-low steady-state supply currents, which are beneficial to photonic switching systems that may be held in the ON-state or the OFF-state for long periods of time. Co-designing switch drivers using inverter logic in electronic complimentary metal oxide-semiconductor designs requires a system view, which considers each of the prioritized performance metrics of the photonic switching system that is often headed up by low steady-state power dissipation. Unfortunately, a simple approach to an inverter-based feed-forward equalization driver that mimics the current mode logic circuit techniques results in larger supply currents in the steady-state as shown in the illustration of FIG. 4.
With reference now to FIG. 4, a pictorial illustration of an inverter logic-based driver circuit and a drive waveform that exits the driver circuit is depicted in accordance with an illustrative embodiment. Electronic switch driver circuit 400 may be, for example, electronic switch driver circuit 202 in FIG. 2. In this illustrated example, electronic switch driver circuit 400 is a complimentary metal oxide-semiconductor driver based on inverter logic that employs feed-forward equalization to drive a photonic switch diode, such as photonic switch diode 204 in FIG. 2. Electronic switch driver circuit 400 pre-amplifies an electrical signal received from an optical packet scheduler, such as optical packet scheduler 206 in FIG. 2, and applies equalization to the electronic signal to generate pre-emphasized drive waveform 402, which is used to drive the photonic switch diode. As shown in this illustrated example, electronic switch driver circuit 400 provides lower currents when the output voltage is held at the supply rails, but provides higher currents when the output voltage is off of the supply rails. A challenge using this approach of a complimentary metal oxide-semiconductor driver design based on inverter logic that employs feed-forward equalization is the condition that the circuit's output voltage must remain on one of the supply rails as much as possible in order to maintain lower supply currents and thus lower power consumption.
With reference now to FIG. 5, a pictorial illustration of two different photonic switching systems is depicted in accordance with an illustrative embodiment. Photonic switching system 502 and photonic switching system 504 represent preferred illustrative embodiments. Photonic switching system 502 and photonic switching system 504 may be, for example, photonic switching system 200 in FIG. 2.
Photonic switching system 502 includes electronic switch driver circuit 506 and photonic switch diode 508, such as electronic switch driver circuit 202 and photonic switch diode 204 in FIG. 2. In this illustrated example, electronic switch driver circuit 506 is a complimentary metal oxide-semiconductor driver based on inverter logic and inductively peaked inverter logic that employs feed-forward equalization to drive photonic switch diode 508. Electronic switch driver circuit 506 pre-amplifies an electrical signal received from an optical packet scheduler, such as optical packet scheduler 206 in FIG. 2, and applies equalization to the electronic signal to generate pre-emphasized drive waveform 514, which is used to drive photonic switch diode 508.
Electronic switch driver circuit 506, which is a complimentary metal oxide-semiconductor driver design based on inverter logic and inductively peaked inverter logic, leverages inductive peaking in electronic switch driver circuit 506 to enable overshoot, undershoot, or both on drive waveform 514 exiting electronic switch driver circuit 506. Pre-emphasized drive waveform 514, which resembles pre-emphasized drive waveform 306 in FIG. 3, is able to increase the speed performance of photonic switching system 502. In particular, the ability to add overshoot to the rising edge of the drive waveform, undershoot to the falling edge of the drive waveform, or both, enables the selective speed-up of only the OFF-state to ON-state transition of the photonic switch diode, the selective speed-up of only the ON-state to OFF-state transition of the photonic switch diode, or both, respectively.
It should be noted that in the steady-state, pre-emphasized drive waveform 514 returns to the supply rails where power consumption is minimal.
Photonic switching system 504 includes electronic switch driver circuit 510 and photonic switch diode 512, such as electronic switch driver circuit 202 and photonic switch diode 204 in FIG. 2. In this illustrated example, electronic switch driver circuit 510 is a complimentary metal oxide-semiconductor driver based on inverter logic with inductive loading that enables overshoot, undershoot, or both on the waveform used to drive photonic switch diode 512. Electronic switch driver circuit 510 pre-amplifies an electrical signal received from the optical packet scheduler and applies equalization to the electronic signal to generate pre-emphasized drive waveform 514, which is used to drive photonic switch diode 512.
With reference now to FIG. 6, a pictorial illustration of a photonic switching system that includes two electronic switch driver circuits is depicted in accordance with an illustrative embodiment. Photonic switching system 600 illustrates a general implementation and photonic switching system 614 illustrates a specific implementation of a dual-power supply photonic switching system that switches between the outputs of two electronic switch driver circuits in order to generate a drive waveform of a feed-forward equalization circuit, such as pre-emphasized drive waveform 616. Photonic switching system 600 and photonic switching system 614 both include two copies of an electronic complimentary metal oxide-semiconductor driver based on inverter logic with each driver circuit powered by separate and distinct supply voltages.
Photonic switching system 600 includes electronic switch driver circuit 602, electronic switch driver circuit 604, electronic switch 606, electronic switch 608, edge detector circuit 610, and photonic switch diode 612, which is driven from produced pre-emphasized drive waveform 616. Photonic switching system 600 uses edge detector circuit 610 and two electronic switches 606 and 608 to switch between drive waveform outputs of electronic switch driver circuit 602 and electronic switch driver circuit 604 at different times. For example, edge detector circuit 610 may output a short electrical pulse that switches the output voltage from a driver circuit using a smaller supply voltage to a driver circuit using a larger supply voltage at each state change of photonic switch diode 612. The state of photonic switch diode 612 may be changed, for example, between transmission of each optical packet encoded with data.
In some cases the photonic switch diode may exhibit a slower reconfiguration speed on only one of the two state changes (i.e., rising edge or falling edge), while the other state change may exhibit a faster reconfiguration speed. In such a case, the driver circuit can be optimized through co-design with the photonic switch diode to advance the speed of the photonic switching system in only one direction (i.e., on the rising edge or the falling edge). This type of unidirectional optimization may be beneficial in decreasing cost, power consumption, and footprint.
With reference now to FIG. 7, a flowchart illustrating a process for designing a photonic switching system is shown in accordance with an illustrative embodiment. The process shown in FIG. 7 may be implemented in a data processing system, such as data processing system 900 in FIG. 9.
The process begins when the data processing system receives a weighted value for each performance metric in a plurality of performance metrics associated with a photonic switching system that includes a photonic switch diode and an electronic switch driver circuit (step 702). The photonic switching system may be, for example, photonic switching system 200 in FIG. 2 that includes electronic switch driver circuit 202 and photonic switch diode 204. The weighted values for each of the plurality of performance metrics may be received by the data processing system via user inputs or may be received from a software application executing on the data processing system. The plurality of performance metrics associated with the photonic switching system may be, for example, speed of the photonic switching system, size or footprint of the photonic switching system, power consumption of the switching system, alignment tolerance of the photonic switching system with a optical cable, and cost of the photonic switching system. A weighted value is a value assigned to each of the plurality of performance metrics that indicates a level of importance of each of the plurality of performance metrics in designing the photonic switching system. It should be noted that illustrative embodiments use speed of the photonic switching system as the primary performance metric in the plurality of performance metrics. Also, it should be noted that illustrative embodiments may utilize more performance metrics other than what is listed above.
After receiving a weighted value for each performance metric in step 702, the data processing system designs the photonic switch diode to attain each performance metric in the plurality of performance metrics based on the weighted value received for each of the plurality of performance metrics (step 704). In addition, the data processing system selects an electronic switch driver circuit design from a plurality of electronic switch driver circuit designs (step 706). The plurality of electronic switch driver circuit designs that the data processing system selects from may be, for example, a complimentary metal oxide-semiconductor driver design based on inverter logic, a complimentary metal oxide-semiconductor driver design based on inverter logic coupled with inductively peaked inverter logic, and a complimentary metal oxide-semiconductor driver design based on current mode logic.
Subsequently, the data processing system makes a determination as to whether each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds a threshold value corresponding to each of the plurality of performance metrics based on the photonic switch diode designed by the data processing system in step 704 and the electronic switch driver circuit design selected by the data processing system in step 706 (step 708). The data processing system may determine that each performance metric in the plurality of performance metrics meets or exceeds the threshold value corresponding to each of the performance metrics by using, for example, a simulation program. Alternatively, the data processing system may determine that each performance metric in the plurality of performance metrics meets or exceeds the threshold value corresponding to each of the performance metrics by analyzing, for example, test data.
If the data processing system determines that each performance metric in the plurality of performance metrics associated with the photonic switching system does meet or exceed the threshold value corresponding to each of the plurality of performance metrics based on the photonic switch diode designed by the data processing system and the electronic switch driver circuit design selected by the data processing system, yes output of step 708, then the data processing system designs the photonic switching system using the photonic switch diode designed by the data processing system and the electronic switch driver circuit design selected by the data processing system that met or exceeded each threshold value corresponding to each of the plurality of performance metrics associated with the photonic switching system based on the weighted value of each performance metric (step 710). After designing the photonic switching system in step 710, the data processing system stores the design of the photonic switching system in a storage device (step 712). The process terminates thereafter.
Returning again to step 708, if the data processing system determines that each performance metric in the plurality of performance metrics associated with the photonic switching system does not meet or exceed the threshold value corresponding to each of the plurality of performance metrics based on the photonic switch diode designed by the data processing system and the electronic switch driver circuit design selected by the data processing system, no output of step 708, then the data processing system re-designs the photonic switch diode by increasing the weighted value of each performance metric that did not meet or exceed its respective threshold value and decreasing the weighted value corresponding to a speed of the photonic switching system (step 714). Thereafter, the process returns to step 706.
With reference now to FIG. 8, a flowchart illustrating a process of an electronic switch driver circuit is shown in accordance with an illustrative embodiment. The process shown in FIG. 8 may be implemented in an electronic switch driver circuit, such as, for example, electronic switch driver circuit 202 in FIG. 2, electronic switch driver circuit 302 in FIG. 3, electronic switch driver circuit 506 or electronic switch driver circuit 510 in FIG. 5, or electronic switch driver circuit 602 and electronic switch driver circuit 604 in FIG. 6.
The process begins when the electronic switch driver circuit receives an electronic control signal input from an optical packet scheduler, such as optical packet scheduler 206 in FIG. 2, to send an optical signal encoded with data via a photonic switch diode located in a silicon photonic chip (step 802). The photonic switch diode may be, for example, photonic switch diode 204 in FIG. 2 or photonic switch diode 304 in FIG. 3. The silicon photonic chip may be, for example, silicon photonic chip 100 in FIG. 1.
After receiving the electronic control signal input from the optical packet scheduler to send an optical signal encoded with data via the photonic switch diode in step 802, the electronic switch driver circuit amplifies the electronic control signal input received from the optical packet scheduler and applies equalization to the electronic control signal input if necessary to generate a pre-emphasized drive waveform to drive the photonic switch diode (step 804). The pre-emphasized drive waveform may be, for example, pre-emphasized drive waveform 402 in FIG. 4, pre-emphasized drive waveform 514 in FIG. 5, or pre-emphasized drive waveform 614 in FIG. 6.
In addition, the electronic switch driver circuit waits a predetermined amount of guard time to ensure that a state of the photonic switch diode has changed (step 806). In other words, optical signals are not passed through the photonic switch diode until state transition has stabilized. An example of a predetermined amount of guard time would be typically one nanosecond to tens of nanoseconds. Subsequent to waiting the predetermined amount of guard time to ensure that the state of the photonic switch diode has changed in step 806, the electronic switch driver circuit applies the pre-emphasized drive waveform to the photonic switch diode to drive the photonic switch diode to transmit the optical signal encoded with data from an appropriate output port in a plurality of output ports located on the photonic switch diode (step 808). The process terminates thereafter.
With reference now to FIG. 9, a diagram of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system 900 is an example of a computer in which computer readable program code or instructions implementing processes of illustrative embodiments may be located. Data processing system 900 may be used to implement the processes shown in the flowchart of FIG. 7. In other words, data processing system 900 may be used to generate a design of a photonic switching system that utilizes an electronic switch driver circuit, which amplifies electronic input signals from an optical packet scheduler and applies equalization, to increase performance of photonic switch diodes located in an active silicon photonic layer of a silicon photonic chip.
In this illustrative example, data processing system 900 includes communications fabric 902, which provides communications between processor unit 904, memory 906, persistent storage 908, communications unit 910, input/output (I/O) unit 912, and display 914. In this example, communications fabric 902 may take the form of a bus system.
Processor unit 904 serves to execute instructions for software that may be loaded into memory 906. Processor unit 904 may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation.
Memory 906 and persistent storage 908 are examples of storage devices 916. A computer readable storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, data, program code in functional form, and/or other suitable information either on a temporary basis and/or a persistent basis. Storage devices 916 may also be referred to as computer readable storage devices in these illustrative examples. Memory 906 in these examples may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage 908 may take various forms, depending on the particular implementation.
For example, persistent storage 908 may contain one or more components or devices. For example, persistent storage 908 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage 908 also may be removable. For example, a removable hard drive may be used for persistent storage 908.
Communications unit 910, in these illustrative examples, provides for communications with other data processing systems or devices. In these illustrative examples, communications unit 910 is a network interface card.
Input/output unit 912 allows for input and output of data with other devices that may be connected to data processing system 900. For example, input/output unit 912 may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output unit 912 may send output to a printer. Display 914 provides a mechanism to display information to a user.
Instructions for the operating system, applications, and/or programs may be located in storage devices 916, which are in communication with processor unit 904 through communications fabric 902. The processes of the different embodiments may be performed by processor unit 904 using computer-implemented instructions, which may be located in a memory, such as memory 906.
These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit 904. The program code in the different embodiments may be embodied on different physical or computer readable storage devices, such as memory 906 or persistent storage 908.
Program code 918 is located in a functional form on computer readable media 920 that is selectively removable and may be loaded onto or transferred to data processing system 900 for execution by processor unit 904. Program code 918 and computer readable media 920 form computer program product 922 in these illustrative examples. In one example, computer readable media 920 may be computer readable storage media 924 or computer readable signal media 926. In these illustrative examples, computer readable storage media 924 is a physical or tangible storage device used to store program code 918 rather than a medium that propagates or transmits program code 918.
Alternatively, program code 918 may be transferred to data processing system 900 using computer readable signal media 926. Computer readable signal media 926 may be, for example, a propagated data signal containing program code 918. For example, computer readable signal media 926 may be an electromagnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, and/or any other suitable type of communications link.
The different components illustrated for data processing system 900 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different advantageous embodiments may be implemented in a data processing system including components in addition to and/or in place of those illustrated for data processing system 900. Other components shown in FIG. 9 can be varied from the illustrative examples shown. The different embodiments may be implemented using any hardware device or system capable of running program code 918.
Thus, illustrative embodiments provide a method for designing a photonic switching system that utilizes an equalized driver to increase performance of a photonic switch diode located on the silicon photonic chip. The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiment. The terminology used herein was chosen to best explain the principles of the embodiment, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed here.
The flowcharts and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code which comprises one or more executable instructions for implementing the specified logical function(s). It also should be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The circuit as described above is part of the design for an integrated circuit chip. The chip design is created in a graphical computer programming language and stored in a computer readable storage medium (such as a disk, tape, physical hard drive, or virtual hard drive such as in a storage access network). If the designer does not fabricate chips or the photolithographic masks used to fabricate chips, the designer transmits the resulting design by physical means (e.g., by providing a copy of the computer readable storage medium storing the design) or electronically (e.g., through the Internet) to such entities, directly or indirectly. The stored design is then converted into the appropriate format (e.g., GDSII) for the fabrication of photolithographic masks, which typically include multiple copies of the chip design in question that are to be formed on a wafer. The photolithographic masks are utilized to define areas of the wafer (and/or the layers thereon) to be etched or otherwise processed.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

## Claims

1. A data processing system for designing a photonics switching system, the data processing system comprising:
a bus system;
a storage device connected to the bus system, wherein the storage device stores computer readable program code; and
a processor unit connected to the bus system, wherein the processor unit executes the computer readable program code to design a photonic switch diode to attain each performance metric in a plurality of performance metrics associated with a photonic switching system based on a weighted value corresponding to each of the plurality of performance metrics; select an electronic switch driver circuit design from a plurality of electronic switch driver circuit designs for the photonic switching system; determine whether each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds a threshold value corresponding to each of the plurality of performance metrics based on the designed photonic switch diode and the selected electronic switch driver circuit design; and design the photonic switching system using the designed photonic switch diode and the selected electronic switch driver circuit design that met or exceeded each threshold value corresponding to each of the plurality of performance metrics associated with the photonic switching system based on the weighted value of each performance metric in response to determining that each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds the threshold value corresponding to each of the performance metrics.

2. The data processing system of claim 1, wherein the processor unit further executes the computer readable program code to re-design the photonic switch diode by increasing the weighted value of each performance metric that did not meet or exceed its respective threshold value and decreasing the weighted value corresponding to a speed of the photonic switching system in response to determining that each performance metric in the plurality of performance metrics associated with the photonic switching system does not meet or exceed the threshold value corresponding to each of the plurality of performance metrics.

3. The data processing system of claim 1, wherein the processor unit further executes the computer readable program code to receive the weighted value for each performance metric in the plurality of performance metrics associated with the photonic switching system.

4. The data processing system of claim 1, wherein the processor unit further executes the computer readable program code to store the designed photonic switching system in the storage device.

5. The data processing system of claim 1, wherein the plurality of electronic switch driver circuit designs is a current mode logic design, an inverter logic design, and an inverter logic design coupled with an inductively peaked inverter logic design.

6. The data processing system of claim 1, wherein the selected electronic switch driver circuit design is a complimentary metal oxide-semiconductor driver based on current mode logic employing feed-forward equalization to drive the photonic switch diode.

7. The data processing system of claim 1, wherein the selected electronic switch driver circuit design is a complimentary metal oxide-semiconductor driver based on inverter logic employing feed-forward equalization to drive the photonic switch diode.

8. The data processing system of claim 1, wherein the selected electronic switch driver circuit design is a complimentary metal oxide-semiconductor driver based on inverter logic and inductively peaked inverter logic generating a pre-emphasized drive waveform to drive the photonic switch diode.

9. The data processing system of claim 8, wherein the complimentary metal oxide-semiconductor driver based on the inverter logic and the inductively peaked inverter logic uses inductive peaking to enable one of overshoot, undershoot, or both overshoot and undershoot on the pre-emphasized drive waveform exiting the electronic switch driver circuit.

10. The data processing system of claim 1, wherein the photonic switching system includes two electronic switch driver circuits, each of the two electronic switch driver circuits is powered by a separate supply voltage, wherein the photonic switching system uses an edge detector circuit to switch between drive waveform outputs of the two electronic switch driver circuits at different times.

11. A computer program product stored on a computer readable storage device having computer readable program code encoded thereon that is executable by a data processing system for designing a photonics switching system, the computer program product comprising:
computer readable program code for designing a photonic switch diode to attain each performance metric in a plurality of performance metrics associated with a photonic switching system based on a weighted value corresponding to each of the plurality of performance metrics;
computer readable program code for selecting an electronic switch driver circuit design from a plurality of electronic switch driver circuit designs for the photonic switching system;
computer readable program code for determining whether each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds a threshold value corresponding to each of the plurality of performance metrics based on the designed photonic switch diode and the selected electronic switch driver circuit design; and
computer readable program code for designing the photonic switching system using the designed photonic switch diode and the selected electronic switch driver circuit design that met or exceeded each threshold value corresponding to each of the plurality of performance metrics associated with the photonic switching system based on the weighted value of each performance metric in response to determining that each performance metric in the plurality of performance metrics associated with the photonic switching system meets or exceeds the threshold value corresponding to each of the performance metrics.

12. The computer program product of claim 11 further comprising:
computer readable program code for re-designing the photonic switch diode by increasing the weighted value of each performance metric that did not meet or exceed its respective threshold value and decreasing the weighted value corresponding to a speed of the photonic switching system in response to determining that each performance metric in the plurality of performance metrics associated with the photonic switching system does not meet or exceed the threshold value corresponding to each of the plurality of performance metrics.

13. The computer program product of claim 11 further comprising:
computer readable program code for receiving the weighted value for each performance metric in the plurality of performance metrics associated with the photonic switching system.

14. The computer program product of claim 11 further comprising:
computer readable program code for storing the designed photonic switching system in a storage device.

15. The computer program product of claim 11, wherein the plurality of electronic switch driver circuit designs is a current mode logic design, an inverter logic design, and an inverter logic design coupled with an inductively peaked inverter logic design.

16. The computer program product of claim 11, wherein the selected electronic switch driver circuit design is a complimentary metal oxide-semiconductor driver based on current mode logic employing feed-forward equalization to drive the photonic switch diode.

17. The computer program product of claim 11, wherein the selected electronic switch driver circuit design is a complimentary metal oxide-semiconductor driver based on inverter logic employing feed-forward equalization to drive the photonic switch diode.

18. The computer program product of claim 11, wherein the selected electronic switch driver circuit design is a complimentary metal oxide-semiconductor driver based on inverter logic and inductively peaked inverter logic generating a pre-emphasized drive waveform to drive the photonic switch diode.

19. The computer program product of claim 18, wherein the complimentary metal oxide-semiconductor driver based on the inverter logic and the inductively peaked inverter logic uses inductive peaking to enable one of overshoot, undershoot, or both overshoot and undershoot on the pre-emphasized drive waveform exiting the electronic switch driver circuit.

20. The computer program product of claim 11, wherein the photonic switching system includes two electronic switch driver circuits, each of the two electronic switch driver circuits is powered by a separate supply voltage, wherein the photonic switching system uses an edge detector circuit to switch between drive waveform outputs of the two electronic switch driver circuits at different times.