Patent Publication Number: US-6668361-B2

Title: Method and system for use of a field programmable function within a chip to enable configurable I/O signal timing characteristics

Description:
CROSS-RELATED APPLICATIONS 
     The present application is related to the following listed seven applications: Ser. No. 10/016,346 entitled “Field Programmable Network Processor and Method for Customizing a Network Processor;” Ser. No. 10/016,772 entitled “Method and System for Use of an Embedded Field Programmable Gate Array Interconnect for Flexible I/O Connectivity;” Ser. No. 10/016,449 entitled “Method and System for Use of a Field Programmable Gate Array (FPGA) Function Within an Application Specific Integrated Circuit (ASIC) to Enable Creation of a Debugger Client Within the ASIC;” Ser. No. 10/016,448 entitled “Method and System for Use of a Field Programmable Function Within an Application Specific Integrated Circuit (ASIC) To Access Internal Signals for External Observation and Control;” Ser. No. 10/015,992 entitled “Method and System for Use of a Field Programmable Interconnect Within an ASIC for Configuring the ASIC;” Ser. No. 10/015,923 entitled “Method and System for Use of a Field Programmable Function Within a Standard Cell Chip for Repair of Logic Circuits;” and Ser. No. 10/015,921 entitled “Method and System for Use of a Field Programmable Gate Array 9FPGA) Cell for Controlling Access to On-Chip Functions of a System on a Chip (S)C) Integrated Circuit;” assigned to the assignee of the present application, and filed on the same date. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to application specific integrated circuits (ASICs) and specifically to configuring I/O signal timing characteristics of such a circuit. 
     BACKGROUND OF THE INVENTION 
     The high clock speeds of today&#39;s application specific integrated circuits (ASICs) demand that critical timing to external devices must be met. During the development cycle, great effort is spent to complete timing analysis and design a printed circuit board that will meet all of the timing specifications. If the same ASIC is used in a different design, the timing analysis effort needs to be reanalyzed. The timing constraints make the printed board layout more difficult, resulting in a longer development cycle. 
     Time to market is very critical in the product life cycle. Often the design engineer is challenged by a complex design and short development schedules. It would be very attractive to be able to design with high speed ASICs without the intense timing analysis. In some cases, there are no resources (engineers, equipment, tools, knowledge, and time) to complete successful timing analysis. Currently, timing and EMC issues are solved by a combination of delay lines, PCB layout, selection of proper vendor for external devices, ferrite beads and enclosure requirements. These techniques are time consuming and expensive. Sometimes there is not enough resources and/or time to complete a successful design. 
     Accordingly, what is needed is a system and method to overcome the above-identified problems. The present invention addresses such a need. 
     SUMMARY OF THE INVENTION 
     An application specific integrated circuit (ASIC) is disclosed. The ASIC includes a standard cell, the standard cell including a plurality of logic functions. The ASIC also includes an input/output (I/O) configuration function coupled to at least a portion of the logic functions. The ASIC further includes a field programmable gate array (FPGA) function coupled to the I/O configuration function. The FPGA function controls the I/O configuration function based upon a configuration file. 
     A system in accordance with the present invention reduces the cost and time associated with the timing analysis activities during development. An FPGA function within the ASIC is utilized to control the I/O characteristics such as delay, pin mapping, termination and/or slew rate for the I/O. Different I/O configurations will be provided by the FPGA function depending on the environment the ASIC is used in. By providing an ASIC that is adaptable to different timing criteria through FPGA programming, the timing analysis performed by the user of the ASIC will be substantially reduced, resulting in a reduction of the development cycle. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram illustrating a particular chip coupled to an ASIC. 
     FIG. 1A is an expanded block diagram of the I/O configuration block. 
     FIG. 2 illustrates the ASIC being coupled to a chip with different timing than the chip in FIG.  1 . 
     FIG. 3 illustrates the use of a logic analyzer to collect data and modify the configuration file of the FPGA function. 
     FIG. 3A illustrates two signals (signal a and signal b) before an adjustment. 
     FIG. 3B illustrates signal b delayed to adjust timing. 
     FIG. 4 illustrates the use of an electromagnetic compatibility analyzer that can be used to obtain information to be used to modify the I/O configuration to ensure that there is EMC compliance. 
    
    
     DETAILED DESCRIPTION 
     The present invention relates generally to application specific integrated circuits (ASICs) and specifically to configuring I/O signal timing characteristics of such a circuit. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein. 
     FIG. 1 is a block diagram illustrating a particular chip  100  coupled to an ASIC  102 . The ASIC  102  includes an FPGA function  104 . The FPGA function  104  is coupled to an I/O configuration block  106 . The I/O configuration block  106  is also coupled to internal signals  108 . As is seen, the I/O signals  110  are coupled from the chip  100  to an I/O configuration block  106  of the ASIC  102 . The FPGA function  104  is loaded with a configuration that matches the configuration of the chip  100  to ensure proper timing between I/O channel  110  and/or pinouts. Accordingly, a configuration file is loaded into the FPGA function  104  that then communicates that configuration file to the I/O configuration block  106 . In so doing, the I/Os pinouts match to minimize timing problems. To further describe this matching function refer now to FIG.  1 A. 
     FIG. 1A is an expanded block diagram of the I/O configuration block  106 . I/O configuration block  106  includes an adjustable delay logic  202  and an I/O driver  204  coupled to the adjustable delay logic  202 . The adjustable delay logic  202  is in a standard cell array. The configuration file which is loaded into the FPGA function  104  (FIG. 1) allows the FPGA to control the adjustable delay logic  202  to provide the appropriate timing to the I/O driver  204 . 
     Having a ASIC  102  that can change its I/O timing characteristics and pinout can eliminate design issues and can create opportunities for applications that previously may not have existed. A major advantage is that the ASIC can adapt any I/O pin out to match the attached chips. This increases performance and greatly reduces the PCB design effort. 
     FIG. 2 illustrates the ASIC  102  being coupled to a chip  150  with different timing than the chip in FIG.  1 . If the vendor of the external device that the ASIC  102  is attached to changes its timing specification, the new timing can be met by simply adjusting the I/O timing configuration provided by the FPGA function  104 . Accordingly, choosing a new vendor and/or re-spin of the PCB is avoided. 
     In a preferred embodiment, the manufacturer of the ASIC  102  will know what applications and external devices that it will connect to. Testing will be done by the manufacturer of ASIC  102  to determine the correct I/O characteristics on a suit of different applications and various external devices that ASIC  102  is intended for. A set of different configurations will be available to the customer. The customer will choose an I/O configuration depending on how the ASIC  102  is used in the application. Only minimal timing analysis need to be completed to ensure a successful design. The FPGA function  104  controls the I/O configuration block  106 . The pin layout of the ASIC  102  and chip  100  will be considered. The ASIC  102  pin layout will be remapped to line up with the chip  100  pin out. This will reduce the length of the PCB traces and greatly reduce the effort of PCB layout. It can also reduce the crosstalk between signals by having a straight path between the ASIC  102  and chip  100 . 
     Once the configuration is set the system can be tuned to provide optimal performance. Two tuning techniques are described in detail hereinbelow. 
     Logic Analyzer Tuning 
     FIG. 3 illustrates the use of a logic analyzer to collect data and modify the configuration file of the FPGA function. As is seen in FIG. 3, a logic analyzer  200  monitors the I/O signals  110  to ensure that the signals between the signals  110  are within its timing specifications. FIG. 3A illustrates two signals (signal a and signal b) before an adjustment. As is seen, signal a and signal b can have timing problems because they rise and fall in a corresponding fashion. The logic analyzer can modify the I/O configuration file in accordance with known programming techniques and therefore the timing performance can be optimized. In this embodiment signal b is delayed as shown in FIG. 3B to correct timing problems. In this embodiment signal b is delayed a shown in FIG. 3B to correct timing problems. 
     EMC Analyzer Tuning 
     FIG. 4 illustrates the use of an electromagnetic compatibility (EMC) analyzer  400  that can be used similarly to obtain information to be used to modify the I/O configuration to ensure that there is EMC compliance. The I/O timing characteristics can be changed by modifying the I/O configuration file in accordance with known programming techniques while the product is in an EMC chamber. This can save a vast amount of time not having to re-spin a PCB in order to meet EMC requirements. Accordingly, the I/O timing characteristics can be tuned to give the optimal performance to overcome process variations of ASICs and external devices. 
     Although the above-identified two tuning techniques are disclosed, numerous other tuning techniques could be utilized and they would be within the spirit and scope of the present invention. 
     Conclusion 
     A system in accordance with the present invention reduces the cost and time associated with the timing analysis activities during development. An FPGA cell function within the ASIC is utilized to control the I/O characteristics such as delay, termination and/or slew rate for the I/O. Different I/O configurations will be provided by the FPGA function depending on the environment the ASIC is used in. By providing an ASIC that is adaptable to different timing criteria through FPGA programming, the timing analysis performed by the user of the ASIC will be substantially reduced, resulting in a reduction of the development cycle. 
     Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.