Abstract:
A method includes manipulating at least one electric signal received from one or more electronic components to provide a slope substantially proportional to a discrete integer data value of n discrete integer data values, n being a positive integer greater than or equal to 3, said discrete integer data value represented by using one of n distinct slopes, said one of n distinct slopes to be transmitted utilizing a particular reference voltage of n predetermined reference voltages. The method further includes transmitting data as the particular reference voltage of the n predetermined reference voltages to at least one electronic component utilizing slope manipulation.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application is a continuation of U.S. patent application Ser. No. 13/614,119 filed Sep. 13, 2012, entitled “REDUCED WIRING REQUIREMENTS WITH SIGNAL SLOPE MANIPULATION”, which is a continuation of U.S. patent application Ser. No. 12/362,649 filed Jan. 30, 2009, entitled “REDUCED WIRING REQUIREMENTS WITH SIGNAL SLOPE MANIPULATION”; the present continuation application claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 13/614,119, which claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 12/362,649. U.S. patent application Ser. Nos. 13/614,119 and 12/362,649 are herein incorporated by reference in their entirety. 
    
    
     TECHNICAL FIELD 
     The present disclosure generally relates to the field of printed circuit boards, and more particularly to a system, method, and apparatus for reducing the number of traces on a printed circuit board. 
     BACKGROUND 
     As data transfer rates steadily increase, more exotic and expensive methodologies are introduced into modules and printed circuit boards. One such technique includes adding pre-emphasis stages to the drivers of modules to improve channel performance. Another technique includes utilizing differential signals for improving signal integrity. However, pre-emphasis circuits add complexity and power requirements to the modules, and differential signals may require twice the routing space required by single-ended signals. Thus, both techniques may increase system performance, but they may also increase the cost of the system as well. It would be desirable to boost system performance while lowering overall cost. 
     SUMMARY 
     A computer program product is provided for manipulating and transmitting data. The computer program product comprises a computer readable storage medium having program code embodied therewith. The program code is executable by a device to perform a method comprising: manipulating at least one electric signal received from one or more electronic components to provide a slope substantially proportional to a discrete integer data value, the discrete integer data value being an n-bit data value, n being a positive integer greater than or equal to 2, said discrete integer data value represented by using one of 2 n  distinct slopes, said one of 2 n  distinct slopes to be transmitted utilizing a particular reference voltage of 2 n  predetermined reference voltages; and transmitting data as the particular reference voltage of the 2 n  predetermined reference voltages to at least one electronic component utilizing slope manipulation. 
     A computer program product is provided for manipulating and transmitting data. The computer program product comprises a computer readable storage medium having program code embodied therewith. The program code is executable by a device to perform a method comprising: manipulating at least one electric signal received from one or more electronic components to provide a slope substantially proportional to a discrete integer data value of n discrete integer data values, n being a positive integer greater than or equal to 3, said discrete integer data value represented by using one of n distinct slopes, said one of n distinct slopes to be transmitted utilizing a particular reference voltage of n predetermined reference voltages; and transmitting data as the particular reference voltage of the n predetermined reference voltages to at least one electronic component utilizing slope manipulation. 
     A method includes manipulating at least one electric signal received from one or more electronic components to provide a slope substantially proportional to a discrete integer data value of n discrete integer data values, n being a positive integer greater than or equal to 3, said discrete integer data value represented by using one of n distinct slopes, said one of n distinct slopes to be transmitted utilizing a particular reference voltage of n predetermined reference voltages. The method further includes transmitting data as the particular reference voltage of the n predetermined reference voltages to at least one electronic component utilizing slope manipulation. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not necessarily restrictive of the present disclosure. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate subject matter of the disclosure. Together, the descriptions and the drawings serve to explain the principles of the disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The numerous advantages of the disclosure may be better understood by those skilled in the art by reference to the accompanying figures in which: 
         FIG. 1  is a model illustrating an input into an ideal integrator (top), a slope manipulated signal transmitted from the ideal integrator to an ideal differentiator (middle), and an output of the ideal differentiator (bottom), where the output of the integrator is connected directly to the input of the differentiator; 
         FIG. 2  is a model illustrating an input, a slope manipulated signal, and an output utilizing the same ideal components as shown in  FIG. 1 , where a 5-inch trace connects the driver of the source circuit/module (the ideal integrator, top) to the receiver of the destination circuit/module (the ideal differentiator, bottom), and where a slope manipulated signal is transmitted from the driver to the receiver (middle); 
         FIG. 3  is a schematic illustrating card routing for a number of multi-bit bus circuit traces, where data is transmitted in a digital form; 
         FIG. 4  is a schematic of the same multi-bit bus card routing as illustrated in  FIG. 3 , where slope modulation is utilized to reduce the number of traces; and 
         FIG. 5  is a block diagram illustrating an information handling system device in accordance with the present disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     Reference will now be made in detail to the subject matter disclosed, which is illustrated in the accompanying drawings. 
     Examples of slope modulation are illustrated in  FIGS. 1 and 2 .  FIG. 1  is a model illustrating an input into an ideal integrator (top), a slope manipulated signal transmitted from the ideal integrator to an ideal differentiator (middle), and an output of the ideal differentiator (bottom), where the output of the integrator is connected directly to the input of the differentiator.  FIG. 2  is a model illustrating an input, a slope manipulated signal, and an output utilizing the same ideal components as shown in  FIG. 1 , where a 5-inch trace connects the driver of the source circuit/module (the ideal integrator, top) to the receiver of the destination circuit/module (the ideal differentiator, bottom), and where a slope manipulated signal is transmitted from the driver to the receiver (middle). It should be noted that in  FIG. 2 , the output is offset in time due to the time of flight through the wire. (Additionally, parasitic characteristics of the wire may cause the slight offset on the back end of the output trace.) 
       FIGS. 1 and 2  illustrate the transmission of two data values, namely one and five. In these figures, it can be seen how slope modulation may be utilized to drive an analog signal through an electric circuit, where the analog signal can represent discrete integer values. For the purposes of the present disclosure, slope modulation may be defined as modulating a waveform such that the slope of the manipulated signal is directly proportional to the value of the incident data provided to the source circuit/module. For example, in  FIG. 1 , the value of one is transmitted from a driver circuit/module to a receiver circuit/module over a first nanosecond utilizing slope manipulation to create a slope modulated waveform from which the value of one may determined (e.g., by examining a slope of the waveform during the first nanosecond). 
     Similarly, the value of five is transmitted over a second nanosecond utilizing slope manipulation to create a slope modulated waveform from which the value of five may be determined (e.g., by examining a slope of the waveform during the second nanosecond). As previously described, a slope of the signal transmitted during the first nanosecond is directly proportional to the value of one, while a slope of the signal transmitted during the second nanosecond is directly proportional to the value of five. It will be appreciated that time delays may be associated with the data transmission (as shown in  FIG. 2 ). However, regardless of the speed of transmission and/or any associated time delays, data may be gathered from the received signal by calculating the slope of the transmitted data, as previously discussed. 
     Referring now to  FIG. 5 , an information handling system device  100  is described in accordance with the present disclosure. The information handling system device  100  may comprise any type of electronic device having the ability to store, retrieve, and/or process data (e.g., a desktop computer, a laptop computer, and/or a server). The information handling system device  100  may include one or more thin boards of insulating material (e.g., fiberglass impregnated with epoxy resin, paper impregnated with phenolic resin, plastic, polyimide film, silicon, and materials including copper or aluminum cores) that serve as the base for a printed circuit, i.e., a pattern of connections, or traces, superimposed (printed) onto a non-conductive substrate. For example, in one embodiment, the information handling system device  100  includes a printed circuit board  102  having one or more electric circuits connecting one or more electronic components. 
     The printed circuit board  102  includes a substrate  104  with an electric circuit  106  superimposed thereupon. The electric circuit  106  may include connections formed of metal strips (e.g., copper) comprising a conductive pathway in a pattern typically produced utilizing silk screen printing, photoengraving, PCB Milling, and/or electroplating. For instance, the electric circuit  106  may include traces etched from a copper sheet and laminated onto the substrate  104 . Electronic components, such as an analog electronic component  108  and/or a digital electronic component  110 , may be fixed to the substrate  104  and connected to the electric circuit  106  with solder. Component leads and integrated circuit pins may pass through holes (vias) in the board, or, alternatively, they may be surface mounted. The printed circuit board  102  may include components mounted on one or both sides, as well as internal signal layers, which allow more connections within the same board area. 
     The analog electronic component  108  and/or the digital electronic component  110  may comprise processing units, memory, specialized microchips, fans, input/output ports, and the like. In some embodiments, the printed circuit board  102  may add functionality to the information handling system device  100 . For example, the information handling system device  100  may include a processor  112 , a memory  114 , and an I/O interface  116 . The printed circuit board  102  may be interconnected with the processor  112 , the memory  114 , and/or the I/O interface  116  via a bus  118 . Additionally, the printed circuit board  102  may include a port for connecting an external device (e.g., a printer, a monitor, an external disk drive) to the information handling system device  100 . In this configuration, the printed circuit board  102  may be utilized for controlling data exchanged between the external device and the information handling system device  100 . 
     In a configuration where the information handling system device  100  comprises a desktop Personal Computer (PC), a primary circuit board may include a mainboard/motherboard (e.g., a printed circuit board including a Central Processing Unit (CPU), one or more buses, memory sockets, and/or expansion slots). In one embodiment, the printed circuit board  102  may comprise the mainboard/motherboard. In another embodiment, the printed circuit board  102  may be connected to a component of the information handling system device  100  (e.g., the primary circuit board) via an expansion slot. In other embodiments, the printed circuit board  102  may be connected to a component of the information handling system device  100  via a direct/soldered connection, while in still further embodiments, the printed circuit board  102  may be wirelessly connected to a component of the information handling system device  100 . 
     The electric circuit  106  may be utilized to connect a number of different electronic components, including the analog electronic component  108  and the digital electronic component  110 . The analog electronic component  108  may receive and/or transmit data via the electric circuit  106  in analog form, while the digital electronic component  110  may receive and/or transmit data in digital form. An analog to digital (A/D) converter  120  may be coupled between a first trace of the electric circuit  106  and the digital electronic component  110 . The A/D converter  120  may be utilized for converting an analog signal transmitted along the first trace (e.g., from the analog electronic component  108 ) into a digital signal, which may then be transmitted along a number of separate traces to the digital electronic component  110 . 
     A digital to analog (D/A) converter  122  may be coupled between a first trace of the electric circuit  106  and the digital electronic component  110 . The D/A converter  122  may be utilized for converting a digital signal transmitted along a number of separate traces from the digital electronic component  110  into an analog signal, which may then be transmitted along the first trace (e.g., to the analog electronic component  108 ). It is further contemplated that the information handling system device  100  may include an analog interface  124  for transmitting information to and/or from the information handling system device  100  in analog form. Also, the information handling system device  100  may include a digital interface  126  for transmitting information to and/or from the information handling system device  100  in digital form. 
     In one embodiment, slope modulation is utilized for transferring data comprising integer data values ranging from zero to 255 on the printed circuit board  102 . Each integer data value may be encoded into a single slope and transmitted along a single circuit board trace. Encoding integer data values in this manner may provide an eight-to-one reduction in the number of circuit board traces required for a printed circuit board when compared to transmitting the same amount of data in bit (binary digit) form. For instance, one circuit board trace transmitting integer data values ranging from zero to 255 may be capable of transmitting the same amount of data as eight circuit board traces where each circuit board trace transmits a single bit (2^8=256). Thus, transmitting data utilizing slope modulation in accordance with the present disclosure may reduce the cost of manufacturing printed circuit boards and/or reduce cross-talk by widening the spacing between circuit board traces. 
     Returning now to the present example, 256 different slopes are required to represent the integer data values ranging from zero to 255. In this example, in order to provide 256 distinct slopes with moderate granularity to account for noise, each one of the 256 different slopes may be transmitted utilizing reference voltages ranging from −12.8 volts to +12.8 volts. These reference voltages would allow for at least approximately 100 millivolts between each value (+12.8 volts−−12.8 volts=25.6 volts; 25.6 volts/256 slopes=0.1 volts/slope=100 millivolts/slope). It will be appreciated that for each bit increase (i.e., for each additional circuit board trace to be combined into a single circuit board trace), the number of distinct slopes required doubles, and the reference voltages required may increase as well (e.g., in order to maintain moderate granularity to account for noise). 
     For instance, if an additional bit&#39;s worth of data were transferred along the single circuit board trace of the present example (i.e., in a configuration where a single circuit board trace transmits the same amount of data as nine circuit board traces each transmitting a single bit), 512 distinct slopes would be required (2^9=512). Additionally, reference voltages ranging from −25.6 volts to +25.6 volts would be required to achieve the same granularity as previously described (+25.6 volts−−25.6 volts=51.2 volts; 51.2 volts/512 slopes=0.1 volts/slope=100 millivolts/slope). 
     While the previous two examples illustrate the transmission of eight and nine bits&#39; worth of data along a single circuit board trace, these examples are meant to be illustrative of the present disclosure and not restrictive thereof. Indeed, this technique could potentially be utilized to represent any number of bits per trace. However, since the data in computers is presently manipulated in modules as binary data and stored in bytes, it is contemplated that 2-bit, 4-bit and 8-bit representations of data may be the most useful (at least with present computing architectures). It should be noted that this discussion is merely contemplative and is not meant to preclude or steer away from the use of other bit representations in combination with any current and/or future computing architectures. 
     In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented. 
     It is believed that the present disclosure and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes.