US20020143510A1 - Integrated circuit I/O pad cell modeling - Google Patents

Integrated circuit I/O pad cell modeling Download PDF

Info

Publication number
US20020143510A1
US20020143510A1 US10/099,754 US9975402A US2002143510A1 US 20020143510 A1 US20020143510 A1 US 20020143510A1 US 9975402 A US9975402 A US 9975402A US 2002143510 A1 US2002143510 A1 US 2002143510A1
Authority
US
United States
Prior art keywords
pad
output
input
state
resolved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/099,754
Inventor
Michael Peters
Richard Collins
David Musolf
Patrick Bashford
Bradley Wright
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MagnaChip Semiconductor Ltd
Original Assignee
Hynix Semiconductor America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor America Inc filed Critical Hynix Semiconductor America Inc
Priority to US10/099,754 priority Critical patent/US20020143510A1/en
Publication of US20020143510A1 publication Critical patent/US20020143510A1/en
Assigned to HYNIX SEMICONDUCTOR INC. reassignment HYNIX SEMICONDUCTOR INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HYNIX SEMICONDUCTOR AMERICA, INC.
Assigned to HYNIX SEMICONDUCTOR AMERICA INC. reassignment HYNIX SEMICONDUCTOR AMERICA INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: HYUNDAI ELECTRONICS AMERICA
Assigned to MAGNACHIP SEMICONDUCTOR, LTD. reassignment MAGNACHIP SEMICONDUCTOR, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HYNIX SEMICONDUCTOR, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Definitions

  • the present invention relates to modeling of electrical circuit characteristics, and more specifically to modeling of an integrated circuit I/O or bi-directional pad cell.
  • design test tools assist a circuit designer in logic entry, simulation and test pattern generation.
  • Simulation of integrated circuit designs generally rely on models, or other types of information, that the simulator uses to generate signals resulting from some type of circuit stimulus.
  • the relative timings between the stimulus and resulting response are of critical importance as circuits are operated at high speed.
  • I/O pins The modeling and simulation of integrated circuit input and output (I/O) pins is particularly troublesome, in that due to the bi-directional nature of many I/O pins (such as those driving and receiving signals on a bus), there can be contentions where more than one driver is trying to drive a given I/O signal to a given (and sometimes conflicting) voltage level.
  • contention situations exist the simulation results are erroneous, due to the inability to determine which direction the signal is to be propagated (e.g. into the chip, as driven from some external source, or out of the chip, as driven by the chip circuitry itself).
  • a design system for modeling bi-directional pad cells, the interaction of internal pull cells/resistors with pad cells, and the interaction of external pull cells/resistors with pad cells is provided.
  • a new modeling technique referred to herein as split-I/O modeling, involves the use of three separate pins on each bi-directional pad cell model: an input-only pin, an output-only pin, and a resolved pin.
  • the input-only pin reflects the data that is supplied to the pad from external sources (strong data that is forced in).
  • the output-only pin reflects the data that is supplied as output from the pad cell (strong data from the output driver).
  • the resolved pin reflects the combination of the input and the output data that are present, as well as the effect of resistive data supplied by pull-up/down resistors/cells (i.e. the resistive state).
  • the output-only and resolved pins are implemented as internal or hidden pins within a pad cell model. These pins are included in the model for the I/O pad cells in a given library. These pins are named O_ONLY (the output-only pin) and RESOLVED (the resolved pin).
  • O_ONLY the output-only pin
  • RESOLVED the resolved pin
  • the existing pad pin serves as the input-only pin. The system is able to instruct the simulator to log the internal signals through the use of the occurrence name for each I/O pad cell.
  • the split I/O model provides two modes of operation such that the same model can be used for either chip-level or system-level simulations.
  • FIG. 1 shows sample bi-directional waveforms.
  • FIG. 2 shows an example of I/O contention.
  • FIG. 3 shows a modified bi-directional pad and pull-up combination.
  • FIG. 4 shows an alternate bi-directional pad with pull leaf cell.
  • FIG. 5 shows an I/O pad with internal pull-up.
  • FIG. 6 shows the resulting waveform for the I/O pad of FIG. 5.
  • FIG. 7 shows an I/O pad with external pull-up.
  • FIG. 8 shows the resulting waveform for the I/O pad of FIG. 7.
  • FIG. 9 shows a waveform for resistive state modeling for a SCSI pad cell.
  • FIG. 10 shows a design methodology for designing and fabricating integrated circuit devices.
  • FIG. 11 shows interdependencies for logic simulation of an integrated circuit.
  • ASICs application specific integrated circuits
  • design test tools available to assist the logic designer in logic entry, simulation, layout, test pattern generation, etc. These tools are well known in the art.
  • the present invention is a model used to represent a particular portion of an integrated circuit design, specifically the I/O pad cell. This model is used in conjunction with a simulator to synthesize the behavior of an actual I/O pad cell when embodied as part of a resulting integrated circuit.
  • FIG. 10 shows a typical design methodology for designing integrated circuits, and in particular for designing ASICs.
  • initial planning of the design is done at 90 .
  • the design is then entered at 91 using standard CAE/CAD tools known in the industry, such as those from Cadence Design Systems, Mentor Graphics, Synopsis and Viewlogic.
  • Part of logic entry includes compiling the pad cells, using an I/O compiler such as the VS500 I/O Compiler, available from AT&T Global Information Solutions Company, Microelectronics Division located in Ft. Collins, Colo. (hereinafter AT&T MPD).
  • AT&T MPD AT&T Global Information Solutions Company, Microelectronics Division located in Ft. Collins, Colo.
  • the user can optionally perform static timing analysis at 92 (using a tool such as VeriTime, available from Cadence Design Systems, Inc.
  • NetChecker also available from AT&T MPD
  • the layout 99 , post-layout verification 100 and prototype 101 phases shown in FIG. 10C are standard in the industry, and are not important to the understanding of the present invention described herein.
  • logic simulators are commonly known in the industry, and such simulators are provided by companies such as Viewlogic, Cadence, Mentor Graphics, Zycad and Ikos. These simulators not only provide for device-level simulation, but also allow for behavior-model simulation. With behavior-model simulation, a particular subset of the integrated circuit to be simulated is replaced with a programming model that generates output responses to various input stimuli.
  • split I/O pad cell model described herein adheres to standard behavior-model interface protocols/programming interfaces known in the industry. Accordingly, the design techniques used for the model itself will be described herein, with the specific implementation for the Verilog simulator being listed thereafter. It is a matter of routine coding to adhere to the techniques described herein to generate specific models for other types of simulators.
  • Waveform diagrams are used to provide examples of the desired model behavior.
  • Table 2 shows the types of lines used in the waveform diagrams to represent each of the different strengths.
  • FIG. 2 shows an I/O contention situation which illustrates the need for using the input-only and output-only signals.
  • the I/O pin is in input mode, as shown at 24 , with a logic one being driven by an external source.
  • the I/O switches to an output mode, as shown at 26 , with a logic one being driven by the pad cell.
  • This results in a contention situation as both the input and output signals are attempting to drive the signal to a logic one.
  • the resolved signal does not reflect the turning on of the output signal, and remains at a logic one until both the input and output are at high impedance, as indicated at 28 .
  • an I/O enable signal would provide an approximate indication of the time at which the output turned on and off, it would not indicate the precise turn-on and turn-off times, due to an internal delay between the time the enable signal is detected by input circuitry and the time the resulting output signal is actually asserted.
  • the delay between the I/O enable transition and the actual turn-on/off times is negligible.
  • the exact location of the I/O switch point must be determined.
  • the output-only signal provides this exact information concerning the turn-on/off points. This is why use of the output-only signal is necessary.
  • an I/O enable signal provides some indication of the output turn-on/off times. And, the output-only signal completes the picture of the data that is provided by the I/O pad cell itself. However, neither the I/O enable signal, output-only signal, or the resolved signal provide an indication of the time at which the input data turned off. Since the tester must be programmed to produce the input waveform that was applied as stimulus during simulation, the design test tools need to determine the exact input waveform that was applied. More information is needed to make this determination. The input-only signal provides this information. This is why use of the input-only signal is necessary.
  • the input-only and output-only signals will provide the design test tools with sufficient information to both determine directionality and determine turn-on/off times
  • only the resolved signal contains information regarding the signal that results from mixing the input-only signal, the output-only signal, internal pull cells (if any) and external pull resistors (if any). Since the resolved signal is the only signal that properly reflects the contribution of the resistive components, it must also be provided in each I/O pad cell model to allow the design test tools to have a complete picture of the state of the bi-directional signal.
  • the input-only, output-only and resolved signals are included in the simulation output file for each bi-directional pad cell in the design.
  • the bi-directional pad cell models operate in two modes: tester-compatible mode and system simulation mode.
  • the simsetup files' TESTER_EMULATION keyword is used to select which mode is in use for a particular simulation. It should be noted that some simulators require the TESTER_EMULATION keyword to be entered as a parameter on the command line when invoking the simulator. Setting TESTER_EMULATION on (either by simsetup file or command invocation parameter) will imply use of the tester-compatible mode.
  • tester-compatible mode the three pins of the bi-directional pad cell model provide the information described above.
  • system simulation mode the isolation between the input-only and the resolved signal is removed and these two signals are equivalent.
  • each bi-directional pad cell model in each library provides the three required signals.
  • the following sections describe two types of implementations. Note that in both cases, the output-only (O_ONLY) and the resolved (RESOLVED) pins are implemented as internal pins that cannot be connected to other signals in the design.
  • the preferred libraries containing cell models are the VS500 library and non-VS500 libraries, both of which are available from AT&T MPD.
  • FIG. 3 shows a modified pad cell 30 in combination with an internal pull-up cell 32 .
  • the internal pull-up 32 is completely optional, but is shown here to clarify that its connection 34 to the I/O pad cell is isolated from the output driver 36 by an isolation buffer 38 that has been added to the pad cell model (the isolation buffer does not actually exist in silicon).
  • the isolation buffer 38 that has been added to the pad cell model (the isolation buffer does not actually exist in silicon).
  • the existing I/O pad cell prior to modification, comprises a stacked p-channel and n-channel transistor pair output driver 36 , and an I/O pad 48 .
  • Elements 38 and 40 within the pad cell 30 indicate new circuitry that has been added.
  • the circuitry 38 is an isolation buffer which insures that the output-only signal is not affected by any input to the cell other than from the PCH/NCH pins 35 and 37 .
  • the receiver circuitry 40 is more complex. It contains an optional external pull-up resistor 42 whose presence and strength are controlled through keywords in the simsetup file (see Table 3 below). It also contains some switchable circuitry 43 that is controlled by the TESTER_EMULATION keyword in the simsetup file.
  • the switchable circuitry selects either to isolate the input-only signal (switch down), or to directly connect the input-only signal to the resolved signal (switch up).
  • the buffer 44 is used to isolate the input-only signal from the resolved signal.
  • the wire 46 connects the input-only signal directly to the resolved signal to let data flow in both directions.
  • FIG. 4 shows a second implementation, where a second type of bi-directional pad macro (from the VS500 library) was modified to provide the required signals.
  • This second implementation has leaf cells which are connected by the I/O compiler to create bi-directional pad macros 50 .
  • a pull leaf cell 56 is added if an internal pull-up, pull-down, or keeper is desired.
  • elements 38 and 40 are new circuitry that has been added. Elements 38 and 40 are the same as previously described with respect to FIG. 3.
  • the I/O compiler is responsible for adding this circuitry between the leaf cells as it creates the pad macro using the fixed signal names of O_ONLY for the output-only signal and RESOLVED for the resolved signal.
  • internal pull resistors are the pull-up and pull-down cells that can be connected to a pad cell and which lie inside the integrated circuit (IC), such as elements 32 of FIG. 3 and 56 of FIG. 4. The interaction between these cells and the pad cells to which they are connected has been a problem area in the past.
  • IC integrated circuit
  • the data that is present on the DI pin 61 of the I/O pad is in transition from logic zero to logic one. Since the data on the DI pin is potentially controlling internal logic, this transition must be modeled accurately. If it appears to reach a logic one state too early, the device's performance during simulation may differ from the actual performance of the resulting fabricated IC. Therefore, the model takes into account the strength of the pull resistor 32 , as well as the capacitive loading of the I/O pad 48 , to determine the transition time.
  • both the pull resistor cell's strength (in terms of current source/sink) and the capacitive load value for each pin are available in the simsetup file and are used during simulation for the necessary calculations. This applies to any transition from a strong state to a resistive state of the opposite polarity.
  • FIG. 6 shows the waveforms which are produced on the pad cell's signals in this situation.
  • an external pull-up resistor is one that is connected to a pad cell but which lies outside the IC (as previously noted, these external pull-ups will now be part of the pad cell/macro model), such as element 70 of FIG. 7.
  • the interaction between these external resistors and the pad cells to which they are connected has been a problem area in the past.
  • situations have existed that allowed a signal to transition instantaneously from a strong state to a resistive state of the opposite polarity. This behavior is not realistic and can cause the same two problems that were previously described for internal pull cells.
  • the following discussions use the combination of an I/O pad cell with an external pull-up resistor to illustrate these problems. This configuration is shown in FIG. 7.
  • SCSI which stands for small-computer standard interface, and which is a commonly known industry standard
  • pad cells are used to drive clock signals which are unable to tolerate unknown input states.
  • the modeling of resistive states in connection to SCSI pad cells should be slightly different from that of other I/O pad cells.
  • R resistive unknown
  • a technique is used which avoids the unknown state usage while insuring that simulation functionality and strobe placements for test purposes are not adversely affected. This technique involves utilizing resistive high (H) and low (L) states in place of the resistive unknowns, as shown in FIG. 9.
  • the resulting waveform will be such that the signal will transition to a resistive logic zero state L for one tick, then to a resistive unknown state R for the time up to the point where the signal reaches a resistive logic one state H at the worst-case pull-up time.
  • the pull cell passes through the resistive unknown (‘R’) state for the calculated transition time on its way to the resistive state of the opposite level (in a manner similar to that shown for the composite signal of FIG. 9).
  • the simulation setup (simsetup) file of Table 3 is a representative file which specifies various parameters and configurations for use with simulation. TABLE 3 # This sim.setup file created by ‘ncr_setup' # Version 11.0.0_1.5.0 #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • the handling of external pullup information in the simsetup file warrants further discussion.
  • the strength of the pullup is specified in the simsetup file, using the pullup_current and pullup_voltage keywords as shown above in Table 3. If an external pullup is not specified or is given a strength of zero, and the cell is not an open drain, the effect is to remove the pullup. If the cell is an open drain, then the split I/O model uses the default_current and default_voltage if the pullup_current and pullup_voltage are not specified (the only way to remove the external pullup from the open drain is to specify a pullup_current or voltage as 0).
  • the pullup delays are calculated by Node5RC.
  • the logic simulation block 112 gets multiple types of input information, and generates an output file 114 .
  • the actual logic design itself is input from 108 .
  • Delay values 106 which are the result of a delay calculator 104 such as Node5RC (available from AT&T MPD), are also input to the simulator 112 .
  • the delay values 106 are calculated using parameters supplied by the simulation setup file 102 known as simsetup, delay information contained in the cell & model library 110 , and the actual logic design 108 .
  • the simsetup file 102 also provides information for use by the simulator.
  • the detailed cells/models from library 110 (such as the VS500 library described hereinabove) are input to the simulator, and provide the actual simulation details for the particular logic design to be simulated.
  • the simulator outputs various values, including both input stimulus and resulting net/node values (both internal and external). These simulation results are stored in an output file 114 for subsequent processing by other design test tools.
  • the system is able to instruct the simulator to log the internal signals of the split I/O model through the use of the occurrence name for each I/O pad cell (an occurrence name is a name for a node or net name that is internal to a model, as opposed to a regular node or net name that is external to a model).
  • an occurrence name is a name for a node or net name that is internal to a model, as opposed to a regular node or net name that is external to a model.
  • the occurrence name is stored in a Worksheet database 103 of FIG. 11 (Worksheet is a design test tool available from AT&T MPD that allows a user-friendly front end for specifying various simulator parameters in a manner that is independent of the particular syntax/format of a particular simulator).
  • the occurrence name will be automatically extracted from the netlist when the Worksheet database is initially created. In schematicless flows, the occurrence names will be generated by Worksheet. In other cases, the user will need to enter the occurrence name information into the Worksheet database
  • the split-I/O technique provides new modeling capabilities. These capabilities include mid-cycle I/O (allowing input stimulus to turn-on and turn-off at times other than cycle boundaries) and improved I/O contention handling. In previous versions of design test tools, the information available in the simulation output files was not sufficient to allow these capabilities.
  • the split-I/O technique provides the design test tools with the extra information necessary to fully analyze the direction of the data present on the I/O signals. This allows users a greater flexibility in the types of waveforms they may generate during simulation.
  • the improved modeling of resistive states serves two purposes. First, it eliminates the incorrect design functionality that results when inaccurate resistive states are used to control the input of circuitry. Second, it allows the design test tools to extract proper strobe placements for resistive signals. Without these changes, the patterns produced by the design test tools which involve the strobing of resistive states often result in test failures. These situations require manual—and often numerous—changes to correct the patterns. Since a large majority of all designs utilize some type of pull resistors (internal and/or external), this is a significant issue in the effort to automate test pattern development.

Abstract

A design system for modeling bi-directional pad cells, the interaction of internal pull cells/resistors with pad cells of all types, and the interaction of external pull cells/resistors with pad cells of all types. This modeling technique involves the use of three separate pins on each bi-directional pad cell: an input-only pin, an output-only pin, and a resolved pin. The input-only pin reflects the data that is supplied to the pad from external sources. The output-only pin reflects the data that is supplied as output from the pad cell (strong data from the output driver). The resolved pin reflects the combination of the input and the output data that are present, as well as the effect of resistive data supplied by pull-up/down resistors/cells. The output-only and resolved pins are implemented as internal or hidden pins within a pad cell model. These pins are included in the model for the I/O pad cells in a given library. The existing pad pin serves as the input-only pin. The model provides two modes of operation such that the same model can be used for either chip-level or system-level simulations.

Description

    TECHNICAL FIELD
  • The present invention relates to modeling of electrical circuit characteristics, and more specifically to modeling of an integrated circuit I/O or bi-directional pad cell. [0001]
  • BACKGROUND OF THE INVENTION
  • The design of integrated circuits has become increasingly complex as more and more circuits are realizable on a given substrate. This increase in circuit density, and resulting increase in circuit functionality, has resulted in the need for automated circuit design tools. These circuit design tools (hereinafter design test tools) assist a circuit designer in logic entry, simulation and test pattern generation. [0002]
  • Simulation of integrated circuit designs generally rely on models, or other types of information, that the simulator uses to generate signals resulting from some type of circuit stimulus. The relative timings between the stimulus and resulting response are of critical importance as circuits are operated at high speed. [0003]
  • Also of particular importance is how well the simulated responses actually track with the resulting physical implementation of the circuit. This correspondence between predicted and actual responses is important both as to the logical circuit design itself, and to the test patterns that are generated to test the resulting circuit embodiment. Incorrect timings of the logical circuit could result in logical errors being propagated into the physical embodiment of the integrated circuit. Incorrect timings for test patterns could result in test patterns being generated (stimulus and expected response) which don't match the actual circuit responses during test. [0004]
  • The modeling and simulation of integrated circuit input and output (I/O) pins is particularly troublesome, in that due to the bi-directional nature of many I/O pins (such as those driving and receiving signals on a bus), there can be contentions where more than one driver is trying to drive a given I/O signal to a given (and sometimes conflicting) voltage level. When contention situations exist, the simulation results are erroneous, due to the inability to determine which direction the signal is to be propagated (e.g. into the chip, as driven from some external source, or out of the chip, as driven by the chip circuitry itself). [0005]
  • Current methods of utilizing I/O enable signals for direction determination do not provide actual switch point locations, and do not identify when contention is occurring. These limitations are becoming increasingly important for designs which run at higher frequencies and those which require I/O contention situations to exist. [0006]
  • Enhanced modeling of both internal pull cells and external pull resistors is necessary to improve simulation accuracy as well as to insure that design test tools can extract appropriate test vectors for signals which utilize pull cells/resistors. Incomplete and/or inaccurate pull-up/down information can result in incorrect simulation functionality as well as misplaced strobing (i.e. checking the value) of resistive states. These issues have repeatedly caused manufacturing test problems over the past several years. [0007]
  • Using the combination of the I/O enable signal and the resolved I/O signal for design analysis does not provide enough information to properly handle mid-cycle I/O capabilities and contention situations. [0008]
  • In the case of resistive state modeling, current techniques provide less than accurate simulation information. In some cases, this type of inaccuracy compromises the correctness of the design functionality exhibited during simulation. It also makes strobing of resistive states difficult during manufacturing tests. [0009]
  • SUMMARY OF THE INVENTION
  • It is an object of the present invention to provide an improved circuit model for simulation of electrical circuits. [0010]
  • It is another object of the present invention to provide an improved I/O pad cell model for use by a simulator. [0011]
  • It is yet another object of the present invention to provide accurate timing information in the generation of test patterns for an integrated circuit. [0012]
  • A design system for modeling bi-directional pad cells, the interaction of internal pull cells/resistors with pad cells, and the interaction of external pull cells/resistors with pad cells is provided. A new modeling technique, referred to herein as split-I/O modeling, involves the use of three separate pins on each bi-directional pad cell model: an input-only pin, an output-only pin, and a resolved pin. The input-only pin reflects the data that is supplied to the pad from external sources (strong data that is forced in). The output-only pin reflects the data that is supplied as output from the pad cell (strong data from the output driver). The resolved pin reflects the combination of the input and the output data that are present, as well as the effect of resistive data supplied by pull-up/down resistors/cells (i.e. the resistive state). [0013]
  • The output-only and resolved pins are implemented as internal or hidden pins within a pad cell model. These pins are included in the model for the I/O pad cells in a given library. These pins are named O_ONLY (the output-only pin) and RESOLVED (the resolved pin). The existing pad pin serves as the input-only pin. The system is able to instruct the simulator to log the internal signals through the use of the occurrence name for each I/O pad cell. [0014]
  • The split I/O model provides two modes of operation such that the same model can be used for either chip-level or system-level simulations. [0015]
  • BRIEF DESCRIPTION OF THE DRAWING
  • FIG. 1 shows sample bi-directional waveforms. [0016]
  • FIG. 2 shows an example of I/O contention. [0017]
  • FIG. 3 shows a modified bi-directional pad and pull-up combination. [0018]
  • FIG. 4 shows an alternate bi-directional pad with pull leaf cell. [0019]
  • FIG. 5 shows an I/O pad with internal pull-up. [0020]
  • FIG. 6 shows the resulting waveform for the I/O pad of FIG. 5. [0021]
  • FIG. 7 shows an I/O pad with external pull-up. [0022]
  • FIG. 8 shows the resulting waveform for the I/O pad of FIG. 7. [0023]
  • FIG. 9 shows a waveform for resistive state modeling for a SCSI pad cell. [0024]
  • FIG. 10 shows a design methodology for designing and fabricating integrated circuit devices. [0025]
  • FIG. 11 shows interdependencies for logic simulation of an integrated circuit.[0026]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • In the design of integrated circuits, including application specific integrated circuits (ASICs), there are numerous types of design test tools available to assist the logic designer in logic entry, simulation, layout, test pattern generation, etc. These tools are well known in the art. The present invention is a model used to represent a particular portion of an integrated circuit design, specifically the I/O pad cell. This model is used in conjunction with a simulator to synthesize the behavior of an actual I/O pad cell when embodied as part of a resulting integrated circuit. [0027]
  • FIG. 10 shows a typical design methodology for designing integrated circuits, and in particular for designing ASICs. First, initial planning of the design is done at [0028] 90. The design is then entered at 91 using standard CAE/CAD tools known in the industry, such as those from Cadence Design Systems, Mentor Graphics, Synopsis and Viewlogic. Part of logic entry includes compiling the pad cells, using an I/O compiler such as the VS500 I/O Compiler, available from AT&T Global Information Solutions Company, Microelectronics Division located in Ft. Collins, Colo. (hereinafter AT&T MPD). After design entry, the user can optionally perform static timing analysis at 92 (using a tool such as VeriTime, available from Cadence Design Systems, Inc. which is located in San Jose, Calif.), as well as generate input stimulus waveforms at 93 for use in subsequent simulation (using a tool such as Wisil, also available from AT&T MPD). After such stimulus waveform creation, the user can optionally perform functional simulations at 94. The user then performs real time simulation at 95 using the same simulator. These simulation steps are where the present invention is utilized. The particular model detailed herein was written for use with the Verilog simulator, such simulator being available from Cadence Design Systems. After simulation, power analysis can optionally be performed at 96 using a PowerCalc tool, available from AT&T MPD. The simulation results are then validated at 97, preferably with the Verify design test tool (also available from AT&T MPD). A net checking tool called NetChecker (also available from AT&T MPD) can then be run at 98. The layout 99, post-layout verification 100 and prototype 101 phases shown in FIG. 10C are standard in the industry, and are not important to the understanding of the present invention described herein.
  • As mentioned above, logic simulators are commonly known in the industry, and such simulators are provided by companies such as Viewlogic, Cadence, Mentor Graphics, Zycad and Ikos. These simulators not only provide for device-level simulation, but also allow for behavior-model simulation. With behavior-model simulation, a particular subset of the integrated circuit to be simulated is replaced with a programming model that generates output responses to various input stimuli. [0029]
  • The split I/O pad cell model described herein adheres to standard behavior-model interface protocols/programming interfaces known in the industry. Accordingly, the design techniques used for the model itself will be described herein, with the specific implementation for the Verilog simulator being listed thereafter. It is a matter of routine coding to adhere to the techniques described herein to generate specific models for other types of simulators. [0030]
  • In the following discussions, logic states will be referred to by the appropriate state characters. The list of state characters that are used, and the logic state/strength combination that they represent, are shown in Table 1. [0031]
    TABLE 1
    State Characters
    State Character Logic Level Strength
    0 low strong
    1 high strong
    X unknown strong
    L low resistive
    H high resistive
    R unknown resistive
    Z unknown high-impedance
  • Waveform diagrams are used to provide examples of the desired model behavior. Table 2 shows the types of lines used in the waveform diagrams to represent each of the different strengths. [0032]
    TABLE 2
    Waveform Strengths
    strong ———
    resistive - - - - -
    high-impedance ...........
  • To illustrate the signals present on the input-only, output-only, and resolved pins, consider the waveforms in FIG. 1. This example shows a situation where the I/O pin is first in input mode, as indicated at [0033] 20, with a logic one being driven from an external source. The I/O then switches to an output mode, as indicated at 22, with a logic zero then being driven from the pad cell. The resolved signal is the resulting signal value as determined by the simulator, based upon the input-only and output-only signals. An enable signal (not shown) is ‘active’ during the region 22 of outputting data, and ‘inactive’ during the region 20 of inputting data. Note that in this example, use of the I/O enable signal in combination with the resolved signal 24 would have been sufficient to determine which portion of the resolved waveform represented input data and which represented output data.
  • However, consider the waveforms shown in FIG. 2. This example shows an I/O contention situation which illustrates the need for using the input-only and output-only signals. Initially, the I/O pin is in input mode, as shown at [0034] 24, with a logic one being driven by an external source. Then, the I/O switches to an output mode, as shown at 26, with a logic one being driven by the pad cell. This results in a contention situation, as both the input and output signals are attempting to drive the signal to a logic one. The resolved signal does not reflect the turning on of the output signal, and remains at a logic one until both the input and output are at high impedance, as indicated at 28.
  • While, in this case, the use of an I/O enable signal would provide an approximate indication of the time at which the output turned on and off, it would not indicate the precise turn-on and turn-off times, due to an internal delay between the time the enable signal is detected by input circuitry and the time the resulting output signal is actually asserted. When dealing with low speed designs, the delay between the I/O enable transition and the actual turn-on/off times is negligible. However, for high speed circuits it becomes significant: the exact location of the I/O switch point must be determined. The output-only signal provides this exact information concerning the turn-on/off points. This is why use of the output-only signal is necessary. [0035]
  • As mentioned above, use of an I/O enable signal provides some indication of the output turn-on/off times. And, the output-only signal completes the picture of the data that is provided by the I/O pad cell itself. However, neither the I/O enable signal, output-only signal, or the resolved signal provide an indication of the time at which the input data turned off. Since the tester must be programmed to produce the input waveform that was applied as stimulus during simulation, the design test tools need to determine the exact input waveform that was applied. More information is needed to make this determination. The input-only signal provides this information. This is why use of the input-only signal is necessary. [0036]
  • While the input-only and output-only signals will provide the design test tools with sufficient information to both determine directionality and determine turn-on/off times, only the resolved signal contains information regarding the signal that results from mixing the input-only signal, the output-only signal, internal pull cells (if any) and external pull resistors (if any). Since the resolved signal is the only signal that properly reflects the contribution of the resistive components, it must also be provided in each I/O pad cell model to allow the design test tools to have a complete picture of the state of the bi-directional signal. As a result, the input-only, output-only and resolved signals are included in the simulation output file for each bi-directional pad cell in the design. [0037]
  • The bi-directional pad cell models operate in two modes: tester-compatible mode and system simulation mode. The simsetup files' TESTER_EMULATION keyword is used to select which mode is in use for a particular simulation. It should be noted that some simulators require the TESTER_EMULATION keyword to be entered as a parameter on the command line when invoking the simulator. Setting TESTER_EMULATION on (either by simsetup file or command invocation parameter) will imply use of the tester-compatible mode. In tester-compatible mode, the three pins of the bi-directional pad cell model provide the information described above. In system simulation mode, the isolation between the input-only and the resolved signal is removed and these two signals are equivalent. This is necessary since other components may need to be connected to the pad pin (the input-only signal) in system simulations. This signal not only reflects what is going into the pad, but also reflects the output so that the other component(s) connected to the pad can react to the pad's output. Because of this, simulation results that are generated in system simulation mode may not be used to generate test patterns for manufacturing test purposes. It should be noted that the term ‘reflect’ as used herein means ‘to show’ or ‘to bring or cast as a result’, and does not mean ‘to throw back light or sound’ (see e.g. Webster's New Collegiate Dictionary). [0038]
  • As mentioned earlier, each bi-directional pad cell model in each library provides the three required signals. The following sections describe two types of implementations. Note that in both cases, the output-only (O_ONLY) and the resolved (RESOLVED) pins are implemented as internal pins that cannot be connected to other signals in the design. [0039]
  • As described above, there are two new signals that are required in every I/O pad cell in the cell libraries: an input-only signal and an output-only signal. These new signals are obtained by adding new components to existing cell models known in the art. The preferred libraries containing cell models are the VS500 library and non-VS500 libraries, both of which are available from AT&T MPD. [0040]
  • In the non-VS500 libraries, all of the circuitry was added within the bi-directional pad cells themselves. FIG. 3 shows a modified [0041] pad cell 30 in combination with an internal pull-up cell 32. Note that the internal pull-up 32 is completely optional, but is shown here to clarify that its connection 34 to the I/O pad cell is isolated from the output driver 36 by an isolation buffer 38 that has been added to the pad cell model (the isolation buffer does not actually exist in silicon). It should also be noted that although the example only shows one particular I/O pad cell in the non-VS500 libraries, the changes are applicable to all I/O pad cells in the non-VS500 library.
  • The existing I/O pad cell, prior to modification, comprises a stacked p-channel and n-channel transistor [0042] pair output driver 36, and an I/O pad 48. Elements 38 and 40 within the pad cell 30 indicate new circuitry that has been added. The circuitry 38 is an isolation buffer which insures that the output-only signal is not affected by any input to the cell other than from the PCH/NCH pins 35 and 37. The receiver circuitry 40 is more complex. It contains an optional external pull-up resistor 42 whose presence and strength are controlled through keywords in the simsetup file (see Table 3 below). It also contains some switchable circuitry 43 that is controlled by the TESTER_EMULATION keyword in the simsetup file. The switchable circuitry selects either to isolate the input-only signal (switch down), or to directly connect the input-only signal to the resolved signal (switch up). In tester-compatible mode, the buffer 44 is used to isolate the input-only signal from the resolved signal. In system simulation mode, the wire 46 connects the input-only signal directly to the resolved signal to let data flow in both directions.
  • FIG. 4 shows a second implementation, where a second type of bi-directional pad macro (from the VS500 library) was modified to provide the required signals. This second implementation has leaf cells which are connected by the I/O compiler to create [0043] bi-directional pad macros 50. There is an input leaf cell 52 and an output leaf cell 54. A pull leaf cell 56 is added if an internal pull-up, pull-down, or keeper is desired.
  • As in the first implementation, [0044] elements 38 and 40 are new circuitry that has been added. Elements 38 and 40 are the same as previously described with respect to FIG. 3. The I/O compiler is responsible for adding this circuitry between the leaf cells as it creates the pad macro using the fixed signal names of O_ONLY for the output-only signal and RESOLVED for the resolved signal.
  • Internal pull resistor modeling will now be described. For purposes of this description, internal pull resistors are the pull-up and pull-down cells that can be connected to a pad cell and which lie inside the integrated circuit (IC), such as [0045] elements 32 of FIG. 3 and 56 of FIG. 4. The interaction between these cells and the pad cells to which they are connected has been a problem area in the past.
  • Situations have existed which allowed a signal to transition instantaneously from a strong state to a resistive state of the opposite polarity (to transition, for example, from a strong logic zero state to a resistive logic one state). This behavior is not realistic and can cause two problems: incorrect input into the device and incorrect output from the device. Each of these problems is discussed in more detail below. The combination of an I/O pad cell with an internal pull-up cell is used to illustrate these problems. This configuration is shown in FIG. 5. [0046]
  • The issue of incorrect input data applies only to input and bi-directional signals. To understand the potential problems that can arise, consider the following situation regarding the circuit of FIG. 5 and related timing diagram of FIG. 6. If a strong logic zero state is being applied as input to the I/[0047] O pad 48 and is then taken away, the stimulus entering the pad transitions from a strong logic zero to a high-impedance state, as shown at 60 of FIG. 6. The internal pull-up 32 (which, in this circuit, is always enabled) will then begin to pull the signal to a resistive logic one state. However, this will take a finite amount of time depending on the strength of the pull-up and the clock rate of the device. It could take as much as several clock cycles.
  • Assuming that the output side of the I/O pad is disabled throughout this time, the data that is present on the [0048] DI pin 61 of the I/O pad is in transition from logic zero to logic one. Since the data on the DI pin is potentially controlling internal logic, this transition must be modeled accurately. If it appears to reach a logic one state too early, the device's performance during simulation may differ from the actual performance of the resulting fabricated IC. Therefore, the model takes into account the strength of the pull resistor 32, as well as the capacitive loading of the I/O pad 48, to determine the transition time. For external pull resistors, both the pull resistor cell's strength (in terms of current source/sink) and the capacitive load value for each pin are available in the simsetup file and are used during simulation for the necessary calculations. This applies to any transition from a strong state to a resistive state of the opposite polarity. FIG. 6 shows the waveforms which are produced on the pad cell's signals in this situation.
  • Since it is not possible to model the actual waveform which is produced by this type of transition, a suitable approximation is necessary. To insure that the data is not utilized as valid input data during the transition region, it is necessary to model this portion of the waveform as having an unknown level. And, since any strong data that is driven onto the pad during the transition region—either as input to the pad or output from the pad—should take precedence over this transitioning resistive data, it must have a resistive strength. For these reasons, a resistive unknown state (the format state ‘R’) is used, as shown at [0049] 62 of FIG. 6.
  • The issue of incorrect output data coming out of the device applies only to output and bi-directional signals. The configuration shown in FIG. 5 and utilized in the previous section can also be used to illustrate this type of problem. If the transition from a strong logic zero state to a resistive logic one state occurs instantaneously, it will appear to the design test tools as though the resistive data is available for strobing immediately. The resulting test vectors could then potentially attempt to strobe this resistive data while it is still in transition (as mentioned earlier, the transition could actually span several clock cycles). When this occurs, the device will fail during test. The test engineer must manually remove the strobing from the test vectors for each such occurrence. This type of manual effort is time consuming and must be avoided. The use of the ‘R’ [0050] state 62 during the transition region, as shown in FIG. 6, will prevent strobing from occurring before the transition is complete.
  • External pull-up resistor modeling will now be described. For purposes of this description, an external pull-up resistor is one that is connected to a pad cell but which lies outside the IC (as previously noted, these external pull-ups will now be part of the pad cell/macro model), such as [0051] element 70 of FIG. 7. The interaction between these external resistors and the pad cells to which they are connected has been a problem area in the past. As with the case of internal pull cells, situations have existed that allowed a signal to transition instantaneously from a strong state to a resistive state of the opposite polarity. This behavior is not realistic and can cause the same two problems that were previously described for internal pull cells. The following discussions use the combination of an I/O pad cell with an external pull-up resistor to illustrate these problems. This configuration is shown in FIG. 7.
  • The situations previously cited apply as well to external pull-up resistors as they do to internal pull cells. Therefore, the modeling of these situations must be almost identical to the modeling previously prescribed regarding internal pull transistors. The main difference is that the presence and strength of the external pull-[0052] up 70 is controlled entirely through keyword(s) in the simsetup file, as shown below in Table 3.
  • As an example of this situation, consider the waveforms shown in FIG. 8. These waveforms begin with the I/O pad's output enabled and driving a strong logic zero state at [0053] 80. When the output turns off at 82, the resistive data from the external pull-up begins to pull the pad to a resistive logic one state at 84. These waveforms show the desired modeling where the resolved state passes through the ‘R’ state. Again, the transition time is calculated by the model using the strength of the pull resistor and the capacitive loading on the pad.
  • The following describes several special case situations which deserve additional discussion: [0054]
  • 1) In some cases, SCSI (which stands for small-computer standard interface, and which is a commonly known industry standard) pad cells are used to drive clock signals which are unable to tolerate unknown input states. For this reason, the modeling of resistive states in connection to SCSI pad cells should be slightly different from that of other I/O pad cells. In order to avoid using a resistive unknown (R) state on these signals, a technique is used which avoids the unknown state usage while insuring that simulation functionality and strobe placements for test purposes are not adversely affected. This technique involves utilizing resistive high (H) and low (L) states in place of the resistive unknowns, as shown in FIG. 9. [0055]
  • Note that the pull-up times vary greatly between the best- and worst-case simulations. Both simulations show the signal transitioning from a strong logic zero state to a resistive logic zero state L as the output driver turns off. For best-case, the signal transitions to a pulled-up state H one simulation tick later. For worst-case, the signal stays at a resistive logic zero state until the maximum pull-up delay time (calculated using the pull-up strength and the pin's capacitive load). In a composite simulation (i.e. where the best case and worst case timings are merged into a single simulation), the resulting waveform will be such that the signal will transition to a resistive logic zero state L for one tick, then to a resistive unknown state R for the time up to the point where the signal reaches a resistive logic one state H at the worst-case pull-up time. [0056]
  • 2) In the past, open drain configurations were treated as special cases. In certain situations, a pull-up was assumed to be used in combination with open drain cells even if no pull-up was present in the schematic. However, in many cases, “normal” output and I/O cells could be configured as open drain cells by the user. These cells would not make the same pull-up assumptions as the open drain cells. To avoid this situation, and to insure that all of the output and I/O pad cells model resistive states consistently, it is preferable to eliminate this type of assumption. If a pull-up is desired, it will have to be specified by the user (i.e. internal pull-up cells must be present in the schematic and external pull-up resistors must be specified in the simsetup file). This provides the user with complete control over whether resistive states occur on open drain signals during simulation. [0057]
  • 3) The situation where the internal pull cell's enable signal is toggled during simulation is considered a special case. Whenever the pull cell becomes enabled, the model considers the current state of the resolved I/O signal to determine the proper action. If the resolved signal is already at the same logic level that the pull cell is tied to (logic one for pull-ups; logic zero for pull-downs), the output of the pull cell attains the resistive state at that level instantaneously. If the resolved signal is at a strong state of the opposite polarity (logic zero for pull-ups; logic one for pull-downs), or if it is at a strong unknown state, the pull cell passes through the resistive unknown (‘R’) state for the calculated transition time on its way to the resistive state of the opposite level (in a manner similar to that shown for the composite signal of FIG. 9). [0058]
  • 4) It is possible for the user to specify that both a pull-up and a pull-down exist on the same pad (these may be a combination of internal and external). If both the pull-up and pull-down are enabled at the same time, and there is no strong signal present during this time, the resulting resolved state is a resistive unknown (‘R’) even if one pull cell is stronger than the other. [0059]
  • The following describes several impacts to users of the split I/O model: [0060]
  • 1) Users of bi-directional signals are affected by the split-I/O technique. The worst-case effect is that their simulation output includes the input-only and output-only signals for each bi-directional pad cell occurrence in addition to the resolved signal. Each of these signals is utilized by the design test tools in analyzing the simulation results. The I/O enable signal is no longer needed to be included in the simulation output. [0061]
  • 2) Any user of internal pull cells or external pull-up resistors is also affected by the modeling changes regarding generated resistive state output values. This will occur regardless of whether the pull cell/resistor is used in conjunction with input, output, or I/O pads—the modeling changes will affect each type of pad. However, the use of pull cells/resistors will not require any changes to the way the user performs the simulations. Users of external pull-up resistors are required to specify, in the simsetup file, which pads are connected to an external resistor and the strength (current sink/source rating) of the pull resistor. For libraries which support mixed voltages, the user is also required to specify the voltage level to which the external pull-up is connected. Examples of this are shown below in Table 3. [0062]
  • The simulation setup (simsetup) file of Table 3 is a representative file which specifies various parameters and configurations for use with simulation. [0063]
    TABLE 3
    # This sim.setup file created by ‘ncr_setup'
    # Version 11.0.0_1.5.0
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # ASIC Specific Information
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DESIGN_NAME my_design
    TECHNOLOGY vs500
    CHIP_VOLTAGE 5.0_only
    BOUNDARY_SCAN false
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # Delay Information
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #- - - - - - - - - - - - - - - - - - - - - - -
    # Best case operating point
    #- - - - - - - - - - - - - - - - - - - - - - -
    BEST_VPT_NAME best
    BEST_TEMP 0
    BEST_VOLT 5.5
    BEST_PROC b
    BEST_PARASITIC b
    #- - - - - - - - - - - - - - - - - - - - - - -
    # Typical case operating point
    #- - - - - - - - - - - - - - - - - - - - - - -
    TYPICAL_VPT_NAME typical #OFF
    TYPICAL_TEMP 25
    TYPICAL_VOLT 5.0
    TYPICAL_PROC t
    TYPICAL_PARASITIC t
    #- - - - - - - - - - - - - - - - - - - - - - -
    # Worst case operating point
    #- - - - - - - - - - - - - - - - - - - - - - -
    WORST_VPT_NAME worst
    WORST_TEMP 70
    WORST_VOLT 4.5
    WORST_PROC w
    WORST_PARASITIC w
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # Pull-Up Information
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # The following three lines define default pullup. If an
    # external pullup is not specified [in sim.setup] for an OPEN
    # DRAIN, the default values will be used.
    DEFAULT_EXTERNAL_LOAD 30.0
    DEFAULT_PULLUP_CURRENT 0.0
    DEFAULT_PULLUP_VOLTAGE 5
    # The following three key-words (PULLUP_CURRENT,
    # PULLUP_VOLTAGE, and EXTERNAL_LOAD) are used to specify
    # the rise time of the external pullup. In the example above, a
    # PAD is given a pullup that supplies 0.5 ma at 5 volts. PAD
    # is loaded with 30.0 pf.
    PULLUP_CURRENT PAD 0.5
    PULLUP_VOLTAGE PAD 5
    EXTERNAL_LOAD PAD 30.0
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # Library Information
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    VITA_DATA_PATH .:/usr/local/ncr/MG_11.0.4/data_files/vs500
    VITA_HEADER
    /usr/local/ncr/MG_11.0.4/data_files/vs500/vs500.vt5.head
    CELLCAP_DATA
    /usr/local/ncr/MG_11.0.4/data_files/vs500_DLM.cellcap
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # Output Files Placed in ‘DESIGN_NAME/NCR_DESIGN’ directory
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NCR_DESIGN_DIR ncr_design
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # Cellcount output file: my_design.cellcount
    # Critpath output file: my_design.critpath
    # DVE output file: my_design.dve_setup
    # Netchecker output file: my_design.netchecker
    # Design Vita file: my_design.vt5
    # Node5rc output file: my_design.ndr
    # Port Occurrence file: my_design.portoccs
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # Global Information
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CELLCOUNT off #Does ncr_presim run
    ncr_cellcount?
    NETCHECKER off #Does ncr_presim run
    ncr_netchecker?
    NODE5RC off #Does ncr_presim run
    ncr_node5rc?
    SYNCRP_X_OUTPUTS on
    POR_DELAY 0.0 #Specify in nanoseconds
    ESTIMATED_GATE_COUNT 0
    ST_MARGIN 0.0 #Specify in nanoseconds
    HT_MARGIN 0.0 #Specify in nanoseconds
    RT_MARGIN 0.0 #Specify in nanoseconds
    MPW_MARGIN 0.0 #Specify in nanoseconds
    TESTER_EMULATION #Specifying this key-word
    turns tester_emul on
    # Input Signal Information
    DEFAULT_INPUT_RISE 5.0
    DEFAULT_INPUT_FALL 5.0
    # Output Signal Information
    DEFAULT_MODULE_LOAD 0.0
    #SKEW 0.0
    #BA_FILE_LIST # Colon separated list
  • The handling of external pullup information in the simsetup file warrants further discussion. The strength of the pullup is specified in the simsetup file, using the pullup_current and pullup_voltage keywords as shown above in Table 3. If an external pullup is not specified or is given a strength of zero, and the cell is not an open drain, the effect is to remove the pullup. If the cell is an open drain, then the split I/O model uses the default_current and default_voltage if the pullup_current and pullup_voltage are not specified (the only way to remove the external pullup from the open drain is to specify a pullup_current or voltage as 0). The pullup delays are calculated by Node5RC. [0064]
  • Node5RC calculates the delay for the external pullup using the following formula. This formula calculates the rise time from 0 to 1.5 volts (threshold) using a resistive model. The RefVoltage and PullupCurrent are specified in the simsetup file using the pullup_voltage and pullup_current keywords. [0065]
    TABLE 4
    External Pullup Delay Calculation
    tp = - ( log ( 1 - 1.5 RefVoltage ) · RefVoltage PullupCurrent · ExternalLoad · 100 )
    Figure US20020143510A1-20021003-M00001
  • The following code listing in Table 5 is the split I/O model software code that is operational with a VeriLog simulator. Other types of simulators may be used by adhering to the underlying principles and techniques of this code, and description hereinabove, to the particular behavioral programming language required for those particular simulators. [0066]
    TABLE 5
    Split I/O Pad Model Code Listing
    //********************************************************
    //Copyright (c) AT&T Global Information Solutions 1994
    module B0C1S310C11C(A,ENB,PAD,Z);
    output Z;
    inout PAD;
    input A, ENB;
    J0C1S0000000 IPAD(.PAD(RESOLVED), .Z(Z)); /*Input - Fig 4 #52 */
    U0000000C1IC OPAD(.A(A), .ENB(ENB), .PAD(O_ONLY)); /*Output - Fig 4 # 54 */
    A00003100000 PULLINST(.VDDIN(1′b0), .PAD(RESOLVED));/*Pullup - Fig 4 # 56*/
    NCR_ISOLATE iso1(.X(RESOLVED),.A(O_ONLY)); /* Isolate - Figure 4 # 38 */
    NCR_EXTERNAL ext1(.VDDIN(1′b1),.PAD(RESOLVED)); /* External - Fig 4 # 42 */
    NCR_SWITCH sw1(.X(RESOLVED),.A(PAD)); /* Switch - Fig 4 # 43 and 44 */
    endmodule
    //********************************************************
    //Copyright (c) AT&T Global Information Solutions 1994
    Figure US20020143510A1-20021003-P00801
    timescale 100ps/10ps
    Figure US20020143510A1-20021003-P00801
    celldefine
    module J0C1S0000000(PAD,Z)
    input PAD;
    output Z;
    specify
    (PAD *> Z) = (1:1:1, 0:0:0);
    endspecify
    buf #(0.1) (Z, PAD);
    endmodule
    Figure US20020143510A1-20021003-P00801
    endcelldefine
    //********************************************************
    //Copyright (c) AT&T Global Information Solutions 1994
    Figure US20020143510A1-20021003-P00801
    timescale 100ps/10ps
    Figure US20020143510A1-20021003-P00801
    celldefine
    module U0000000C1IC(A,ENB,PAD);
    input A, ENB;
    output PAD;
    specify
    (A *> PAD) = (12:12:12, 12:12:12)
    (ENB *> PAD) = (13:13:13, 12:12:12);
    endspecify
    supply1 PWR;
    tri PAD;
    DELAY_BUF d1(ENB1_d,ENB);
    DELAY_BUF d2(ENB2_d,ENB);
    notif0 (strong1, highz0) (PADX, A, ENB1_d);
    notif0 (highz1, strong0) (PADX, A, ENB2_d);
    nmos (PAD, PADX, PWR);
    endmodule
    Figure US20020143510A1-20021003-P00801
    endcelldefine
    //********************************************************
    //Copyright (c) AT&T Global Information Solutions 1954
    Figure US20020143510A1-20021003-P00801
    timescale 100ps/10ps
    Figure US20020143510A1-20021003-P00801
    celldefine
    module A00003100000(VDDIN,PAD)
    input VDDIN;
    output PAD;
    supply0 GND;
    supply1 PWR;
    pmos (A, PAD, GND);
    pmos (B, PAD, GND);
    pullup(A);
    pulldown(B);
    UDP_PPD_SLOWer (C_SLOW,A,B,PWR);
    UDP_PPD_FASTer (C_FAST,A,B,PWR);
    DELAY_BUF da0(CS0,C_SLOW);
    DELAY_BUF da1(CS1,CS0);
    DELAY_BUF da2(CS2,CS1);
    DELAY_BUF da3(CS3,CS2);
    DELAY_BUF da4(CS4,CS3);
    DELAY_BUF da5(CS5,CS4);
    DELAY_BUF da6(CS6,CS5);
    DELAY_BUF da7(CS7,CS6);
    DELAY_BUF da8(CS8,CS7);
    DELAY_BUF da9(C1,CS8);
    DELAY_BUF db0(C2,C_FAST);
    and (C12, C1, C2)
    rnmos (PAD,PWR,C12)
    rpmos (PAD,GND,GND);
    endmodule
    Figure US20020143510A1-20021003-P00801
    endcelldefine
    /*****************************************
    //Copyright (c) AT&T Global Information Solutions 1994
    Figure US20020143510A1-20021003-P00801
    timescale 100ps/10ps
    Figure US20020143510A1-20021003-P00801
    celldefine
    module NCR_ISOLATE(A,X);
    input A;
    output X;
    supply0 GND;
    supply1 PWR;
    nmos (X, A, PWR);
    endmodule
    Figure US20020143510A1-20021003-P00801
    endcelldefine
    //***************************************************
    //Copyright (c) AT&T Global Information Solutions 1954
    Figure US20020143510A1-20021003-P00801
    timescale 100ps/10ps
    Figure US20020143510A1-20021003-P00801
    celldefine
    module NCR_EXTERNAL,(VDDIN,PAD);
    input VDDIN;
    inout PAD;
    supply0 GND;
    supply1 PWR;
    reg NO_X;
    pmos (A, PAD, GND);
    pmos (B, PAD, GND);
    pmos (C, PAD, GND);
    pmos (D, PAD, GND);
    pullup(A);
    pulldown(B);
    nmos (C, GND, PWR);
    nmos (D, PWR, PWR)
    UDP_PPU_SLOWer (C_SLOW,PAD, A,B, C, D, GND,PWR);
    UDP_PPD_FASTer (C_FAST,PAD,A,B, C, D, GND,PWR);
    DELAY_BUF da0 (CS0,C_SLOW);
    DELAY_BUF da1 (CS1,CS0);
    DELAY_BUF da2 (CS2,CS1);
    DELAY_BUF da3 (CS3,CS2);
    DELAY_BUF da4 (CS4,CS3);
    DELAY_BUF da5 (CS5,CS4);
    DELAY_BUF da6 (CS6,CS5);
    DELAY_BUF da7 (CS7,CS6);
    DELAY_BUF da8 (CS8,CS7);
    DELAY_BUF da9 (C1,CS8);
    DELAY_BUF db0 (C2,C_FAST);
    and (C12, C1, C2);
    rnmos (PADX,GND,C12);
    rpmos (PADX,PWR,GND);
    nmos (PAD, PADX, EN);
    NCR_RACE rc1(EN);
    endmodule
    Figure US20020143510A1-20021003-P00801
    endcelldefine
    /*************************************************
    //Copyright (c) AT&T Global Information Solutions 1994
    Figure US20020143510A1-20021003-P00801
    timescale 100ps/10ps
    Figure US20020143510A1-20021003-P00801
    celldefine
    module NCR_SWITCH(A, X);
    inout A;
    inout X;
    supply0 GND;
    supply1 PWR;
    Figure US20020143510A1-20021003-P00801
    ifdef TESTER_EMULATION
    nmos (X, A, PWR);
    Figure US20020143510A1-20021003-P00801
    else
    tran (X,A);
    Figure US20020143510A1-20021003-P00801
    endif
    endmodule
    Figure US20020143510A1-20021003-P00801
    endcelldefine
  • Writing to the output file will now be described. Referring to FIG. 11, it is seen that the [0067] logic simulation block 112 gets multiple types of input information, and generates an output file 114. The actual logic design itself is input from 108. Delay values 106, which are the result of a delay calculator 104 such as Node5RC (available from AT&T MPD), are also input to the simulator 112. The delay values 106 are calculated using parameters supplied by the simulation setup file 102 known as simsetup, delay information contained in the cell & model library 110, and the actual logic design 108. The simsetup file 102 also provides information for use by the simulator. The actual stimulus to be applied during simulation, and a list of nets/nodes to be monitored/tracked, are specified in file 103. Finally, the detailed cells/models from library 110 (such as the VS500 library described hereinabove) are input to the simulator, and provide the actual simulation details for the particular logic design to be simulated. During simulation, the simulator outputs various values, including both input stimulus and resulting net/node values (both internal and external). These simulation results are stored in an output file 114 for subsequent processing by other design test tools.
  • The system is able to instruct the simulator to log the internal signals of the split I/O model through the use of the occurrence name for each I/O pad cell (an occurrence name is a name for a node or net name that is internal to a model, as opposed to a regular node or net name that is external to a model). This requires that the occurrence name information be accessible for use by the simulator. In the preferred embodiment, the occurrence name is stored in a [0068] Worksheet database 103 of FIG. 11 (Worksheet is a design test tool available from AT&T MPD that allows a user-friendly front end for specifying various simulator parameters in a manner that is independent of the particular syntax/format of a particular simulator). Normally, the occurrence name will be automatically extracted from the netlist when the Worksheet database is initially created. In schematicless flows, the occurrence names will be generated by Worksheet. In other cases, the user will need to enter the occurrence name information into the Worksheet database.
  • In summary, the split-I/O technique provides new modeling capabilities. These capabilities include mid-cycle I/O (allowing input stimulus to turn-on and turn-off at times other than cycle boundaries) and improved I/O contention handling. In previous versions of design test tools, the information available in the simulation output files was not sufficient to allow these capabilities. The split-I/O technique provides the design test tools with the extra information necessary to fully analyze the direction of the data present on the I/O signals. This allows users a greater flexibility in the types of waveforms they may generate during simulation. [0069]
  • The improved modeling of resistive states serves two purposes. First, it eliminates the incorrect design functionality that results when inaccurate resistive states are used to control the input of circuitry. Second, it allows the design test tools to extract proper strobe placements for resistive signals. Without these changes, the patterns produced by the design test tools which involve the strobing of resistive states often result in test failures. These situations require manual—and often numerous—changes to correct the patterns. Since a large majority of all designs utilize some type of pull resistors (internal and/or external), this is a significant issue in the effort to automate test pattern development. [0070]
  • While we have illustrated and described the preferred embodiments of our invention, it is to be understood that we do not limit ourselves to the precise constructions herein disclosed, and the right is reserved to all changes and modifications coming within the scope of the invention as defined in the appended claims.[0071]

Claims (12)

We claim:
1. A system for modeling a bi-directional signal of an electric circuit, comprising:
means for maintaining a state of an input component of the bi-directional signal;
means for maintaining a state of an output component of the bi-directional signal; and
means for generating a resolved state based upon at least the input component state and output component state.
2. The system of claim 1 wherein the resolved state is further based upon resistive data.
3. The system of claim 1 wherein the input component state, output component state and resolved state are output to a computer file.
4. An improved pad cell model, comprising:
an input node which reflects data that is supplied to the pad cell from external sources;
an output node which reflects data that is supplied as output from the pad cell; and
a resolved node which reflects the combination of the input node and output node.
5. The pad cell model of claim 4 wherein the resolved node also reflects the combination of resistive data.
6. The pad cell model of claim 4 further comprising means for selectively connecting the input node to the resolved node.
7. An improved pad cell model, comprising:
an I/O pad;
an output driver;
a buffer coupled between the I/O pad and the output driver; and
an input receiver having an input and output, said input receiver comprising means for coupling the input (i) directly to the output, or (ii) to the output through a buffer.
8. A method for modeling a bi-directional signal of an electric circuit, comprising the steps of:
maintaining a state of an input component of the bi-directional signal;
maintaining a state of an output component of the bi-directional signal; and
generating a resolved state based upon at least the input component state and output component state.
9. The method of claim 8 wherein the resolved state is further based upon resistive data.
10. The method of claim 8 further comprising the steps of:
specifying at least one bi-directional signal of a logic design to be simulated; and
simulating the logic design.
11. The method of claim 8 further comprising the step of selecting whether to couple the input (i) directly to the output, or (ii) to the output through a buffer.
12. A method for operating the pad cell model of claim 4 in accordance with the method of claim 8.
US10/099,754 1994-09-01 2002-03-14 Integrated circuit I/O pad cell modeling Abandoned US20020143510A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/099,754 US20020143510A1 (en) 1994-09-01 2002-03-14 Integrated circuit I/O pad cell modeling

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/299,395 US6480817B1 (en) 1994-09-01 1994-09-01 Integrated circuit I/O pad cell modeling
US10/099,754 US20020143510A1 (en) 1994-09-01 2002-03-14 Integrated circuit I/O pad cell modeling

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/299,395 Division US6480817B1 (en) 1994-09-01 1994-09-01 Integrated circuit I/O pad cell modeling

Publications (1)

Publication Number Publication Date
US20020143510A1 true US20020143510A1 (en) 2002-10-03

Family

ID=23154612

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/299,395 Expired - Fee Related US6480817B1 (en) 1994-09-01 1994-09-01 Integrated circuit I/O pad cell modeling
US10/099,754 Abandoned US20020143510A1 (en) 1994-09-01 2002-03-14 Integrated circuit I/O pad cell modeling

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/299,395 Expired - Fee Related US6480817B1 (en) 1994-09-01 1994-09-01 Integrated circuit I/O pad cell modeling

Country Status (4)

Country Link
US (2) US6480817B1 (en)
EP (1) EP0700008A3 (en)
JP (1) JPH08115350A (en)
KR (1) KR100403551B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244484A1 (en) * 2007-03-28 2008-10-02 Masahito Kumazaki Circuit design verification system, method and medium
US20090125292A1 (en) * 2007-11-12 2009-05-14 Shridhar Narasimha Ambilkar Method and system for testing functionality of a chip checker
US20090149244A1 (en) * 2007-12-10 2009-06-11 Lutnick Howard W Products and processes for a point exchange
US8806415B1 (en) 2013-02-15 2014-08-12 International Business Machines Corporation Integrated circuit pad modeling

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117461B1 (en) * 1998-07-22 2006-10-03 Magma Design Automation, Inc. Method of estimating performance of integrated circuit designs using state point identification
GB9925655D0 (en) 1999-10-29 1999-12-29 Sgs Thomson Microelectronics A method of distinguishing bidirectional pins
DE10001154A1 (en) * 2000-01-13 2001-07-26 Infineon Technologies Ag Circuit for simulating input or output load of analogue circuit - has measuring element between input of driver stage and reference potential, and controllable coupling resistance between output of driver stage and reference potential
US6892171B2 (en) * 2001-02-28 2005-05-10 Intel Corporation Method for modeling a reflected electrical wave in a digital simulation
US6985842B2 (en) * 2001-05-11 2006-01-10 International Business Machines Corporation Bidirectional wire I/O model and method for device simulation
US6496058B1 (en) * 2001-07-24 2002-12-17 Virtual Ip Group Method for designing an integrated circuit containing multiple integrated circuit designs and an integrated circuit so designed
TW530525B (en) * 2001-07-27 2003-05-01 Via Tech Inc Method of disposing buffer and its chip
US6662352B2 (en) * 2001-09-06 2003-12-09 International Business Machines Corporation Method of assigning chip I/O's to package channels
US7421675B1 (en) 2006-01-17 2008-09-02 Xilinx, Inc. Annotating timing information for a circuit design for increased timing accuracy
US20070194451A1 (en) * 2006-02-22 2007-08-23 Chih-Hung Wu Apparatus for integrated input/output circuit and verification method thereof
US7451417B1 (en) * 2006-05-12 2008-11-11 Xilinx, Inc. Timing annotation accuracy through the use of static timing analysis tools
JP2008009776A (en) * 2006-06-29 2008-01-17 Matsushita Electric Ind Co Ltd Design method of semiconductor integrated circuit, design device, semiconductor integrated circuit system, semiconductor integrated circuit mounting substrate, package, and semiconductor integrated circuit
US7904838B2 (en) * 2007-08-15 2011-03-08 Ati Technologies Ulc Circuits with transient isolation operable in a low power state
US7840925B1 (en) 2008-03-13 2010-11-23 Xilinx, Inc. Source specific timing checks on synchronous elements using a static timing analysis engine
JP2010102655A (en) * 2008-10-27 2010-05-06 Fujitsu Microelectronics Ltd Logic simulation model of input/output circuit, logic simulation, and logic simulation method
US10823781B1 (en) 2019-09-25 2020-11-03 Nxp B.V. Internally clocked logic built-in self-test apparatuses and methods
CN116842902B (en) * 2023-08-29 2023-11-21 深圳鲲云信息科技有限公司 System-level simulation modeling method for black box model

Citations (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702011A (en) * 1970-05-12 1972-10-31 Bell Telephone Labor Inc Apparatus and method for simulating logic faults
US4488354A (en) * 1981-11-16 1984-12-18 Ncr Corporation Method for simulating and testing an integrated circuit chip
US4683384A (en) * 1985-08-09 1987-07-28 Hitachi, Ltd. Integrated circuit having input and output drivers cascaded between I/O pads and internal circuitry
US4695968A (en) * 1983-11-03 1987-09-22 Prime Computer, Inc. Digital system simulation method and apparatus having improved sampling
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
US4727545A (en) * 1986-09-02 1988-02-23 Digital Equipment Corporation Method and apparatus for isolating faults in a digital logic circuit
US4744084A (en) * 1986-02-27 1988-05-10 Mentor Graphics Corporation Hardware modeling system and method for simulating portions of electrical circuits
US4745305A (en) * 1985-09-23 1988-05-17 Ncr Corporation Common cell I/O interface circuit
US4791357A (en) * 1987-02-27 1988-12-13 Hyduke Stanley M Electronic Circuit board testing system and method
US4792913A (en) * 1986-11-03 1988-12-20 Grumman Aerospace Corporation Simulator for systems having analog and digital portions
US4821173A (en) * 1986-06-30 1989-04-11 Motorola, Inc. Wired "OR" bus evaluator for logic simulation
US4837767A (en) * 1987-09-04 1989-06-06 Digital Equipment Corporation Bus adapter module with improved error recovery in a multibus computer system
US4942317A (en) * 1988-05-16 1990-07-17 Kabushiki Kaisha Toshiba Master slice type semiconductor integrated circuit having 2 or more I/O cells per connection pad
US4978633A (en) * 1989-08-22 1990-12-18 Harris Corporation Hierarchical variable die size gate array architecture
US4980889A (en) * 1988-12-29 1990-12-25 Deguise Wayne J Multi-mode testing systems
US4995037A (en) * 1987-05-13 1991-02-19 Hitachi, Ltd. Adjustment method and apparatus of a computer
US5105373A (en) * 1990-01-22 1992-04-14 Texas Instruments Incorporated Method of simulating the operation of a circuit having analog and digital circuit parts
US5134314A (en) * 1990-12-18 1992-07-28 Vlsi Technology, Inc. Automatic pin circuitry shutoff for an integrated circuit
US5166937A (en) * 1990-12-26 1992-11-24 Ag Communication System Corporation Arrangement for testing digital circuit devices having tri-state outputs
US5202593A (en) * 1991-10-30 1993-04-13 I-Cube Design Systems Inc. Bi-directional bus repeater
US5223792A (en) * 1986-09-19 1993-06-29 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US5293123A (en) * 1990-10-19 1994-03-08 Tandem Computers Incorporated Pseudo-Random scan test apparatus
US5300835A (en) * 1993-02-10 1994-04-05 Cirrus Logic, Inc. CMOS low power mixed voltage bidirectional I/O buffer
US5317698A (en) * 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
US5345401A (en) * 1992-04-27 1994-09-06 Mitsubishi Denki Kabushiki Kaisha Logic circuit simulator for verifying circuit operations having MOS transistors
US5406147A (en) * 1993-06-18 1995-04-11 Digital Equipment Corporation Propagation speedup by use of complementary resolver outputs in a system bus receiver
US5426739A (en) * 1992-03-16 1995-06-20 Opti, Inc. Local bus - I/O Bus Computer Architecture
US5426770A (en) * 1991-04-11 1995-06-20 Hewlett-Packard Company System for automatically determining the logical function of a circuit
US5426591A (en) * 1994-01-28 1995-06-20 Vlsi Technology, Inc. Apparatus and method for improving the timing performance of a circuit
US5428800A (en) * 1991-10-30 1995-06-27 I-Cube, Inc. Input/output (I/O) bidirectional buffer for interfacing I/O ports of a field programmable interconnection device with array ports of a cross-point switch
US5428750A (en) * 1991-10-30 1995-06-27 I-Cube Design Systems, Inc. Bi-directional buffers for mounting a plurality of integrated circuit devices
US5436591A (en) * 1992-02-19 1995-07-25 Henze; Werner Demodulator for radio data signals
US5452229A (en) * 1992-12-18 1995-09-19 Lattice Semiconductor Corporation Programmable integrated-circuit switch
US5479123A (en) * 1993-06-18 1995-12-26 Digital Equipment Corporation Externally programmable integrated bus terminator for optimizing system bus performance
US5481484A (en) * 1991-10-09 1996-01-02 Hitachi, Ltd. Mixed mode simulation method and simulator
US5528447A (en) * 1994-09-30 1996-06-18 At&T Global Information Solutions Company 5-volt tolerant bi-directional i/o pad for 3-volt-optimized integrated circuits
US5535223A (en) * 1993-05-28 1996-07-09 Sun Microsystems, Inc. Method and apparatus for the verification and testing of electrical circuits
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5625631A (en) * 1996-04-26 1997-04-29 International Business Machines Corporation Pass through mode for multi-chip-module die
US5995740A (en) * 1996-12-23 1999-11-30 Lsi Logic Corporation Method for capturing ASIC I/O pin data for tester compatibility analysis
US6708144B1 (en) * 1997-01-27 2004-03-16 Unisys Corporation Spreadsheet driven I/O buffer synthesis process

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63244238A (en) * 1987-03-31 1988-10-11 Matsushita Electric Ind Co Ltd Output evaluation device for logic circuit
JPH04273382A (en) 1991-02-27 1992-09-29 Fujitsu Ltd Logic simulation system of lsi
JPH04358272A (en) * 1991-06-04 1992-12-11 Fujitsu Ltd Logical simulation system
JPH0581368A (en) * 1991-09-21 1993-04-02 Nec Corp Mode verification method for bidirectional terminal in scan path
US5455928A (en) * 1993-06-14 1995-10-03 Cadence Design Systems, Inc. Method for modeling bidirectional or multiplicatively driven signal paths in a system to achieve a general purpose statically scheduled simulator

Patent Citations (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702011A (en) * 1970-05-12 1972-10-31 Bell Telephone Labor Inc Apparatus and method for simulating logic faults
US4488354A (en) * 1981-11-16 1984-12-18 Ncr Corporation Method for simulating and testing an integrated circuit chip
US4695968A (en) * 1983-11-03 1987-09-22 Prime Computer, Inc. Digital system simulation method and apparatus having improved sampling
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
US4683384A (en) * 1985-08-09 1987-07-28 Hitachi, Ltd. Integrated circuit having input and output drivers cascaded between I/O pads and internal circuitry
US4745305A (en) * 1985-09-23 1988-05-17 Ncr Corporation Common cell I/O interface circuit
US4744084A (en) * 1986-02-27 1988-05-10 Mentor Graphics Corporation Hardware modeling system and method for simulating portions of electrical circuits
US4821173A (en) * 1986-06-30 1989-04-11 Motorola, Inc. Wired "OR" bus evaluator for logic simulation
US4727545A (en) * 1986-09-02 1988-02-23 Digital Equipment Corporation Method and apparatus for isolating faults in a digital logic circuit
US5223792A (en) * 1986-09-19 1993-06-29 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US4792913A (en) * 1986-11-03 1988-12-20 Grumman Aerospace Corporation Simulator for systems having analog and digital portions
US4791357A (en) * 1987-02-27 1988-12-13 Hyduke Stanley M Electronic Circuit board testing system and method
US4995037A (en) * 1987-05-13 1991-02-19 Hitachi, Ltd. Adjustment method and apparatus of a computer
US4837767A (en) * 1987-09-04 1989-06-06 Digital Equipment Corporation Bus adapter module with improved error recovery in a multibus computer system
US4942317A (en) * 1988-05-16 1990-07-17 Kabushiki Kaisha Toshiba Master slice type semiconductor integrated circuit having 2 or more I/O cells per connection pad
US4980889A (en) * 1988-12-29 1990-12-25 Deguise Wayne J Multi-mode testing systems
US4978633A (en) * 1989-08-22 1990-12-18 Harris Corporation Hierarchical variable die size gate array architecture
US5105373A (en) * 1990-01-22 1992-04-14 Texas Instruments Incorporated Method of simulating the operation of a circuit having analog and digital circuit parts
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5293123A (en) * 1990-10-19 1994-03-08 Tandem Computers Incorporated Pseudo-Random scan test apparatus
US5134314A (en) * 1990-12-18 1992-07-28 Vlsi Technology, Inc. Automatic pin circuitry shutoff for an integrated circuit
US5166937A (en) * 1990-12-26 1992-11-24 Ag Communication System Corporation Arrangement for testing digital circuit devices having tri-state outputs
US5426770A (en) * 1991-04-11 1995-06-20 Hewlett-Packard Company System for automatically determining the logical function of a circuit
US5481484A (en) * 1991-10-09 1996-01-02 Hitachi, Ltd. Mixed mode simulation method and simulator
US5202593A (en) * 1991-10-30 1993-04-13 I-Cube Design Systems Inc. Bi-directional bus repeater
US5428750A (en) * 1991-10-30 1995-06-27 I-Cube Design Systems, Inc. Bi-directional buffers for mounting a plurality of integrated circuit devices
US5428800A (en) * 1991-10-30 1995-06-27 I-Cube, Inc. Input/output (I/O) bidirectional buffer for interfacing I/O ports of a field programmable interconnection device with array ports of a cross-point switch
US5436591A (en) * 1992-02-19 1995-07-25 Henze; Werner Demodulator for radio data signals
US5426739A (en) * 1992-03-16 1995-06-20 Opti, Inc. Local bus - I/O Bus Computer Architecture
US5345401A (en) * 1992-04-27 1994-09-06 Mitsubishi Denki Kabushiki Kaisha Logic circuit simulator for verifying circuit operations having MOS transistors
US5317698A (en) * 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
US5452229A (en) * 1992-12-18 1995-09-19 Lattice Semiconductor Corporation Programmable integrated-circuit switch
US5300835A (en) * 1993-02-10 1994-04-05 Cirrus Logic, Inc. CMOS low power mixed voltage bidirectional I/O buffer
US5535223A (en) * 1993-05-28 1996-07-09 Sun Microsystems, Inc. Method and apparatus for the verification and testing of electrical circuits
US5406147A (en) * 1993-06-18 1995-04-11 Digital Equipment Corporation Propagation speedup by use of complementary resolver outputs in a system bus receiver
US5479123A (en) * 1993-06-18 1995-12-26 Digital Equipment Corporation Externally programmable integrated bus terminator for optimizing system bus performance
US5426591A (en) * 1994-01-28 1995-06-20 Vlsi Technology, Inc. Apparatus and method for improving the timing performance of a circuit
US5528447A (en) * 1994-09-30 1996-06-18 At&T Global Information Solutions Company 5-volt tolerant bi-directional i/o pad for 3-volt-optimized integrated circuits
US5625631A (en) * 1996-04-26 1997-04-29 International Business Machines Corporation Pass through mode for multi-chip-module die
US5995740A (en) * 1996-12-23 1999-11-30 Lsi Logic Corporation Method for capturing ASIC I/O pin data for tester compatibility analysis
US6708144B1 (en) * 1997-01-27 2004-03-16 Unisys Corporation Spreadsheet driven I/O buffer synthesis process

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244484A1 (en) * 2007-03-28 2008-10-02 Masahito Kumazaki Circuit design verification system, method and medium
US20090125292A1 (en) * 2007-11-12 2009-05-14 Shridhar Narasimha Ambilkar Method and system for testing functionality of a chip checker
US7904289B2 (en) * 2007-11-12 2011-03-08 International Business Machines Corporation Method and system for testing functionality of a chip checker
US20090149244A1 (en) * 2007-12-10 2009-06-11 Lutnick Howard W Products and processes for a point exchange
US8806415B1 (en) 2013-02-15 2014-08-12 International Business Machines Corporation Integrated circuit pad modeling

Also Published As

Publication number Publication date
EP0700008A3 (en) 1996-04-24
US6480817B1 (en) 2002-11-12
EP0700008A2 (en) 1996-03-06
KR100403551B1 (en) 2004-02-11
KR960011771A (en) 1996-04-20
JPH08115350A (en) 1996-05-07

Similar Documents

Publication Publication Date Title
US6480817B1 (en) Integrated circuit I/O pad cell modeling
Bhatnagar Advanced ASIC Chip Synthesis: Using Synopsys® Design CompilerTM Physical CompilerTM and PrimeTime®
US6083269A (en) Digital integrated circuit design system and methodology with hardware
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
US6523149B1 (en) Method and system to improve noise analysis performance of electrical circuits
US20080270958A1 (en) Method and system for debug and test using replicated logic
US20040117746A1 (en) Intent-driven functional verification of digital designs
US8266559B2 (en) Nonlinear driver model for multi-driver systems
JPH05167046A (en) System and method for manufacturing factory- programmed device
US7139988B2 (en) Modeling metastability in circuit design
US5995740A (en) Method for capturing ASIC I/O pin data for tester compatibility analysis
US8205177B2 (en) Non-linear receiver model for gate-level delay calculation
US7882483B2 (en) Method for checking constraints equivalence of an integrated circuit design
US7210109B2 (en) Equivalence checking of scan path flush operations
US7979262B1 (en) Method for verifying connectivity of electrical circuit components
US9792394B2 (en) Accurate glitch detection
US6321365B1 (en) System and method for detecting storage nodes that are susceptible to charge sharing
JP2891004B2 (en) Timing check method for logic IC
US20030204386A1 (en) Class-based system for circuit modeling
Khondkar et al. UPF Based Power Aware Static Verification
Shaw et al. Deriving accurate ASIC cell fault models for VITAL compliant VHDL simulation
Bhatnagar SDF Generation: For Dynamic Timing Simulation
Singh et al. Post Synthesis Gate Simulation
Bai Modeling and testing for signal integrity in nanometer system-on-chips
Knieser et al. SoC gate level design migration

Legal Events

Date Code Title Description
AS Assignment

Owner name: HYNIX SEMICONDUCTOR AMERICA INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:HYUNDAI ELECTRONICS AMERICA;REEL/FRAME:015246/0599

Effective date: 20010412

Owner name: HYNIX SEMICONDUCTOR INC., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HYNIX SEMICONDUCTOR AMERICA, INC.;REEL/FRAME:015279/0556

Effective date: 20040920

AS Assignment

Owner name: MAGNACHIP SEMICONDUCTOR, LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HYNIX SEMICONDUCTOR, INC.;REEL/FRAME:016216/0649

Effective date: 20041004

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION