US5347181A - Interface control logic for embedding a microprocessor in a gate array - Google Patents

Interface control logic for embedding a microprocessor in a gate array Download PDF

Info

Publication number
US5347181A
US5347181A US07/875,508 US87550892A US5347181A US 5347181 A US5347181 A US 5347181A US 87550892 A US87550892 A US 87550892A US 5347181 A US5347181 A US 5347181A
Authority
US
United States
Prior art keywords
circuit
asic
input
output
signal
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.)
Expired - Lifetime
Application number
US07/875,508
Inventor
Laurin R. Ashby
Franz Steininger
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.)
NXP USA Inc
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Priority to US07/875,508 priority Critical patent/US5347181A/en
Priority to EP93105126A priority patent/EP0567790B1/en
Priority to DE69325205T priority patent/DE69325205T2/en
Priority to JP5107748A priority patent/JPH0689990A/en
Assigned to MOTOROLA, INC. reassignment MOTOROLA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STEININGER, FRANZ, ASHBY, LAURIN R.
Priority to US08/135,637 priority patent/US5304860A/en
Application granted granted Critical
Publication of US5347181A publication Critical patent/US5347181A/en
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA, INC.
Assigned to CITIBANK, N.A. AS COLLATERAL AGENT reassignment CITIBANK, N.A. AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: FREESCALE ACQUISITION CORPORATION, FREESCALE ACQUISITION HOLDINGS CORP., FREESCALE HOLDINGS (BERMUDA) III, LTD., FREESCALE SEMICONDUCTOR, INC.
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: FREESCALE SEMICONDUCTOR, INC.
Anticipated expiration legal-status Critical
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. PATENT RELEASE Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. PATENT RELEASE Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. PATENT RELEASE Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Definitions

  • This invention relates to interface circuits, for example, an interface circuit for embedding a microprocessor core in a standard cell or gate array.
  • Microprocessors are chief processing units within the electronics industry. They are utilized in a myriad of applications such as computers.
  • ASIC gate array where the ASIC cells may be utilized to perform specific functions.
  • One attempt at embedding a core processor within a custom integrated circuit has been implemented by Motorola on the MC68302 integrated circuit.
  • this integrated circuit includes an interface circuit between the core processor and the custom logic that is specifically designed for one environment and one predetermined function.
  • the MC68302 lacks flexibility and is restrictive in its capability because the ASIC customer cannot use the ASIC cells for any other applications.
  • a gate array having a plurality of I/O pads comprising a microprocessor circuit, an ASIC cell block and an interface circuit.
  • the microprocessor circuit has a plurality of microprocessor I/O pads and is fully diffused and fixed-placed within the gate array.
  • the ASIC cell block provides a customer defined predetermined function.
  • the interface circuit provides a flexible interface between the microprocessor I/O pads, the ASIC cell block and the plurality of I/O pads of the gate array, the interface circuit being fully diffused and fixed-placed within the gate array.
  • FIG. 1 is a block diagram illustrating a gate array having an interface control logic circuit for providing a flexible interface between a microprocessor core and an ASIC cell block within the gate array;
  • FIGS. 2 and 4-13 are a partial schematic/block diagrams illustrating various circuits existing within the interface control logic circuit shown in FIG. 1;
  • FIG. 3 is a block diagram illustrating power isolation between the microprocessor core and the ASIC cell block.
  • Gate array 10 includes microprocessor core 12, interface control logic (ICL) circuit 14 and ASIC cell block 16. Gate array 10 also includes I/O pad region 18 having a plurality of ASIC I/O pads such as I/O pad 20.
  • ICL interface control logic
  • Microprocessor core 12 includes a plurality of I/O pads, for example pads 22-24, which are coupled to interface control logic circuit 14. It is worth noting that there exists a plurality of microprocessor pads like 22-24 which are coupled to ICL circuit 14, but only a few are shown for simplicity.
  • I/O pad 22 is shown providing tri-state control (TSC) signal to ICL circuit 14, while I/O pad 24 provides a signal from microprocessor core 12 to ICL circuit 12 as denoted by SIC -- FROM -- UP.
  • I/O pad 23 is shown to receive a signal frown ICL circuit 14 as denoted by SIC -- TO -- UP.
  • the microprocessor core I/O pads are typically implemented in a bi-directional configuration with the exception of the clock input. It is understood that microprocessor core 12 is fully diffused and fixed placed within gate array 10. Further, one example of microprocessor core 12 is the Motorola MC68000 (CP000) microprocessor core which is fully compatible with a standard MC68000 processor.
  • Interface control logic circuit 14 is comprised of standard gate array macros (such as those found in ASIC cell block 16) which are utilized to provide an interface between microprocessor core 12, ASIC cell block 16, and the external world via ASIC I/O pads such as I/O pad 20. In this manner, interface control logic circuit 14 allows a very flexible three-way communication between microprocessor core 12, ASIC cell block 16 and any external sources. Similar to microprocessor core 12, interface control logic circuit 14 is also fixed-placed within gate array 10, but is built from typical gate array macros.
  • Signals ASIC -- MAS and ASIC -- WR are two logic signals provided to ICL circuit 14 from ASIC cell block 16.
  • Signal ASIC -- MAS indicates ASIC mastership.
  • signal ASIC -- MAS is a logic high, the signal direction is controlled by signals generated within ASIC cell block 16.
  • signal ASIC -- MAS is asserted in the following three cases: 1) in normal application mode when the ASIC is providing a signal to microprocessor core 12, for example when microprocessor core 12 reads data from ASIC cell block 16; 2) if the ASIC becomes master of the bus and signals will be sourced by ASIC cell block 16. 3) if the customer redefines a microprocessor core I/O pin as an ASIC I/O pin in the application mode.
  • signal ASIC -- WR controls the tri-state control for the signals if signal ASIC -- MAS is asserted. This applies to the normal mode operation wherein in the test mode, the direction is controlled by ICL circuit 14 or microprocessor core 12.
  • a signal ASIC -- MAS and ASIC -- WR are provided for each pin of micrprocessor core 12 which allows for separate bus mastership by either microprocessor core 12, ASIC cell block 16 or an external device (via ASIC I/O pads such as pad 20). Further, signals ASIC -- MAS and ASIC -- WR also provide for ASIC I/O pads such as pad 20 to be redefined as an input or an output.
  • interface control logic circuit 14 further includes input signals CP -- EN and ASIC -- EN which are off-chip signals used to set interface control logic circuit 14 in one of four modes.
  • Table 1 shows the logic states of signals ASIC -- EN and CP -- EN for the different modes.
  • mode 0 is known as the in-circuit test mode. This mode allows the customer to do in-circuit testing with the ASIC device in place. In this mode all microprocessor core 12 output signals are high impedance, but can be driven as inputs to ASIC cell block 16 or microprocessor core 12. Further, I/O pads such as I/O pad 20 must be tri-state (high impedance) during the in-circuit test mode. Also, signals ASIC -- MAS, ASIC -- WR and control signals from microprocessor core 12 are ignored.
  • Mode 1 is known as the stand alone microprocessor test mode. In this mode, ASIC cell block 16 is isolated to allow microprocessor core 12 to be tested. Signals ASIC -- MAS and ASIC -- WR are ignored, while the tri-state control for ASIC I/O pads such as I/O pad 20 is generated by microprocessor core 12.
  • Mode 2 is known as the stand alone ASIC test mode. In this mode microprocessor core 12 is isolated thereby allowing stand alone testing of ASIC cell block 16. Signal ASIC -- MAS and the control signals from microprocessor 12 are ignored, while the tri-state of the ASIC I/O pads are controlled by signal ASIC -- WR.
  • mode 3 is known as the normal application mode. During this mode, tri-state control signals for the ASIC I/O pads are generated by microprocessor core 12 or ASIC cell block 16 depending upon the logic state of signal ASIC -- MAS.
  • interface control logic circuit 14 is coupled to terminal 30 for receiving a signal from ASIC cell bock 16 as denoted by signal SIG -- FROM -- ASIC. Also, interface control logic circuit 14 provides an output to either I/O pad 20 or terminal 32 via buffers 34 and 36, respectively. It is understood that terminal 32 provides a signal to ASIC cell block 16 as denoted by signal SIG -- TO -- ASIC. Also, it is understood that buffers 34 and 36 may be incorporated within I/O pad 20.
  • Signature logic block 40 is shown coupled between ICL circuit 14 and ASIC cell block 16.
  • Signature logic block 40 includes signature analysis circuitry which allows for complete fault coverage testing of ICL circuit 14 when microprocessor core 12 is being tested as in mode 1.
  • Signature logic block 40 provides adequate fault coverage of ICL circuit 14 and also ensures that ICL circuit 14 has not been modified. It is understood that signature block 40 is typically included within ICL circuit 14.
  • a signal from microprocessor core 12 which appears at I/O pad 24 can be sent through ICL circuit 14 and to either ASIC I/O pad 20 or to ASIC cell block 16 (via terminal 32).
  • a signal appearing at I/O pad 24 may be an address output signal which may be utilized to access either an external device via ASIC I/O pad 20, or ASIC cell block 16 via terminal 32.
  • the present invention provides a flexible 3-way interface between microprocessor core 12, ASIC cell block 16 and the external world. This enables a customer to utilize cells within ASIC cell block 16 to design a gate array to perform customer defined functions wherein this customer designed gate array will readily interface with microprocessor core 12.
  • interface control logic circuit 14 for a tri-state output from microprocessor core 12, for example, an address output.
  • the circuit of FIG. 2 includes multiplexor 50 having a first input coupled to receive a signal from microprocessor core 12 (SIG -- FROM -- UP) which may be output from microprocessor core I/O pad 24.
  • a second input of multiplexor 50 is coupled to receive a signal from ASIC cell block 16 as denoted by signal SIG -- FROM -- ASIC.
  • Signal SIG -- FROM -- ASIC may be provided to interface control logic circuit 14 via a terminal similar to terminal 30.
  • Logic circuit 52 which is part of interface control logic circuit 14, is responsive to signals ASIC -- EN, CP -- EN, ASIC -- MAS and ASIC -- WR to provide logic signals SELECT and PAD -- EN respectively to the SELECT input of multiplexor 50 and the control input of tri-state buffer 54.
  • the output of multiplexor 50 is coupled to an input of tri-state buffer 54 while the output of tri-state buffer 54 is coupled to ASIC I/O pad 56 which may be for example ASIC I/O pad 20.
  • the output of tri-state buffer 54 is coupled to an input of buffer 58 the output of which provides a signal to ASIC cell block 16 via signal SIG -- TO -- ASIC.
  • buffers 54 and 58 may be incorporated within ASIC I/O pad 56.
  • the circuit in FIG. 2 includes tri-state buffer 60 which has an input for receiving signal PWR-DWN and an output coupled to the first input of multiplexor 50.
  • the control input of inverting tri-state buffer 60 is responsive to tri-state control signal TSC.
  • Table 2 shows the mode and control signals of ICL circuit 14 for a tristate output of microprocessor core 12.
  • signals SELECT and PAD -- EN are a logic low and ASIC I/O pad 56 is tri-stated. It is worth noting that for all portions of ICL circuit 14 operating in mode 0, all ASIC I/O pads are tri-stated.
  • mode 1 microprocessor core 12 In mode 1 microprocessor core 12 is being tested while ASIC cell block 16 is isolated. Signals ASIC -- MAS and ASIC -- WR are ignored and the tri-state controls of the ASIC I/O pads are generated by control signals of microprocessor core 12 as aforementioned.
  • the supported data path for mode 1 is a signal from the microprocessor core 12 (SIG -- FROM -- UP), through multiplexor 50, through buffer 55 and to both ASIC I/O pad 56 and through buffer 58 to ASIC cell block 16 to provide SIG -- TO -- ASIC.
  • microprocessor core 12 In mode 2, microprocessor core 12 is isolated allowing stand alone testing of ASIC cell block 16. Control signals from microprocessor core 12 as well as signal ASIC -- MAS are ignored. Further, the tri-state control signals of ASIC pads are generated via signal ASIC -- WR.
  • the supported data paths exists from ASIC cell block 16 to pad 56 and back to ASIC cell block 16 via buffer 58.
  • Another supported signal path is utilizing ASIC I/O pad 56 as an ASIC input wherein an external signal is sent to ASIC cell block 16 via buffer 58.
  • signal ASIC -- MAS is a logic high which indicates that the ASIC is the master and the signal appearing at ASIC I/O pad 56 is redefined as an ASIC input since signal ASIC)WR is a logic low.
  • the supported data path is through I/O pad 56 and through buffer 58 to ASIC cell block 16.
  • signal ASIC -- MAS is a logic high indicating that the ASIC is the master and the signal appearing at I/ 0 pad 56 is redefined as an ASIC output since signal ASIC -- WR is a logic high.
  • the supported data path flows from ASIC cell block 16 via SIG -- FROM -- ASIC through multiplexor 50, through tri-state buffer 54 and to both pad 56 and through buffer 58 back to ASIC cell block 16.
  • mode 3 which the normal application mode, the tri-state control of ASIC I/O pads are generated by microprocessor core 12 or by signal ASIC -- WR depending on the logic state of signal ASIC -- MAS.
  • the supported data paths are essentially from pad 56 to ASIC cell block 16 when microprocessor core 12 is the master, and from ASIC cell block 16 to pad 56 when the ASIC is the master.
  • microprocessor core 12 is the master, and ASIC I/O pad 56 is an output unless it is tri-stated by signal TSC of microprocessor core 12 as indicated by the "follow TSC signal" in the PAD -- EN column. Thus, as long as microprocessor core 12 outputs data, this data is output to I/O pad 56.
  • the supported data path in this set up is from microprocessor core 12, through multiplexer 50, and through tri-state buffer 54 to both ASIC pad 56 and through buffer 58 back to ASIC cell block 16.
  • signal ASIC -- MAS is a logic high and the ASIC is the master, and the signal appearing at ASIC pad 56 is redefined as an ASIC input since signal ASIC -- WR is a logic low.
  • the supported data path is from ASIC pad 56 through buffer 58 to ASIC cell block 16. This configuration represents a case where an external processor is bus master.
  • the ASIC is again the master as indicated by signal ASIC -- MAS being a logic high and the signal appearing at ASIC pad 56 is redefined as an ASIC output since signal ASIC -- WR is a logic high.
  • the supported data path is from ASIC cell block 16 via signal SIG -- FROM -- ASIC, through multiplexor 50, through tri-state buffer 54 and to both ASIC pad 56 and through buffer 58 back to ASIC cell block 16.
  • tri-state buffer 60 a method for actively pulling the voltage appearing at the first input of multiplexor 50 to a predetermined logic state via signal PWR -- DWN is shown.
  • the first step is to provide independent and separate power supply pins for microprocessor core 12 and ASIC cell block 16 so that microprocessor core 12 may be powered down and ASIC cell block 16 may remain powered up (this will be discussed in detail hereinafter).
  • this simple measure is not enough because tri-state nodes from microprocessor core 12 that are left floating will consume a substantial amount of power for CMOS applications.
  • microprocessor core 12 includes power down logic circuitry similar to tri-state buffer 60.
  • tri-state buffer 60 when signal TSC goes high, tri-state buffer 60 is rendered operative and the voltage level appearing at the first input of multiplexor 50 is pulled to a predetermined level via signal PWR -- DWN. For example if signal PWR -- DWN was a logic high, the first input of multiplexor 50 would be a logic low. It should be understood that this phenomena exists because microprocessor core 12 is a dynamic element and when the clock is stopped the CMOS transistors essentially go into linear region and draw substantially more current than usually. Thus, if power is to be saved the power to microprocessor core 12 must be turned off and the outputs of microprocessor core 12 must be tied to a predetermined logic state.
  • external power supply busses 240-241 respectively provide voltages V DD and V SS to I/O pads such as pad 20 of FIG. 1.
  • internal power supply busses 242--243 respectively provide voltages V DD and V SS to the inside of ASIC cell block 16, while power supply busses 244 and 245 respectively provide voltages V DD and V SS to power rings 246 and 247 of microprocessor core 12.
  • power busses such as 248 and 249 represent a portion of the internal power grid within ASIC cell block 16 wherein termination busses 250 and 251 are utilized to terminate the internal power grid structure of ASIC cell block 16 to prevent connection with microprocessor core 12.
  • ASIC I/O pads 253-256 can be utilized to provide separate and independent power to microprocessor core 12 (pads 255, 256) and to ASIC cell block 16 (pads 253, 254). Further, pads 257-258 are used to provide power to external power supply busses 240 and 241, respectively.
  • Microprocessor pad 260 is utilized to output signal TSC (tri-state control) to the control input of tri-state buffer 261.
  • microprocessor pad 262 is shown to represent an output which is coupled to the input of buffer 261.
  • the output of buffer 261 is coupled through buffer 263 to provide a signal to ASIC cell block 16. It is understood that buffer 261 may be incorporated within microprocessor pad 260, while buffer 263 is part of ASIC cell block 16.
  • Tri-state buffer 265 operates in an identical fashion as aforedescribed for tri-state buffer 60 of FIG. 2 wherein tri-state buffer 265 functions to pull a microprocessor core output signal to a logic low to prevent floating of the output when microprocessor core 12 is powered down.
  • AND gate 267 functions to pull input signals to microprocessor core 12 to a logic low when core 12 is powered down thereby preventing any power from being applied to core 12.
  • signal PWR -- DWN goes to a logic low (indicating power down of core 12) the output of AND gate 267 forces the voltage level appearing at pad 268 to a logic low.
  • the present invention includes a method for independently powering down microprocessor core 12, while power may be maintained to ASIC cell block 16.
  • One advantage of such power isolation is that digital noise from ASIC cell block 16 is prevented from affecting the microprocessor core 12.
  • ASIC cell block 16 may be statically tested while core 12 is powered down.
  • Microprocessor core 12 may also be powered down in an application thereby significantly reducing current drain which may be ideal for battery powered systems.
  • FIG. 4 a portion of interface control logic drcuit 14 for a bi-directional data output (D0-D15) of microprocessor core 12 is shown.
  • the circuit shown in FIG. 4 provides a three way interface between microprocessor 12, ASIC cell block 16 and any external devices which may be coupled to the ASIC I/O pads.
  • the circuit of FIG. 4 accomplishes the same task of the drcuit of FIG. 2, but it is a bit more complex because a signal is not just output from microprocessor core 12 but also is input since it is a bi-directional signal.
  • the circuit in FIG. 4 includes multiplexor 70 having a first input coupled to receive signal D -- TO/FROM -- UP and a second input coupled to receive signal D -- FROM -- ASIC which may be respectively provided via I/O pad 24 of microprocessor core 12 and terminal 30 as shown in FIG. 1.
  • the output of multiplexor 70 is coupled through tri-state buffer 72 to ASIC I/O pad 74.
  • I/O pad 74 is coupled through buffers 76 and 78 to provide signal D -- TO -- ASIC which provides a data signal to ASIC cell block 16.
  • I/O pad 74 is coupled through buffer 76 and tri-state buffer 80 for providing a signal to microprocessor core 12 via signal D -- TO/FROM -- UP. It is understood as mentioned in FIG.
  • tri-state buffer 72 and buffer 76 are respectively similar to tri-state buffer 34 and buffer 36 shown in FIG. 1 and further that these buffers may be incorporated within ASIC I/O pad 74.
  • ASIC I/O pad 74 is similar to ASIC I/O pad 20 as shown in FIG. 1.
  • Logic circuit 82 is shown being responsive to signals ASIC -- EN, CP -- EN, ASIC -- MAS and ASIC -- WR for providing signals SELECT and PAD -- EN respectively to the select input of multiplexor 70 and to the tri-state control input of tri-state buffer 72.
  • tri-state control buffer 80 is controlled by signal TSC which is the tri-state signal for the I/O pads of microprocessor core 12.
  • Table 3 will be utilized to explain the operation of the circuit shown in FIG. 3.
  • the circuit is in microprocessor test mode (mode and microprocessor core 12 controls the direction of I/O pad 74.
  • the supported data paths during this mode are from the microprocessor through multiplexor 70, through tri-state buffer 72 and to ASIC I/O pad 74, or from ASIC I/O pad 74 through buffer 76 and tri-state buffer 80 back to microprocessor core 12.
  • signal PAD -- EN follows signal TSC which is generated by microprocessor core 12.
  • row 4 supports the data path of data from the ASIC (signal D -- FROM -- ASIC), through multiplexor 70, through tri-state buffer 72 and to ASIC I/O pad 74.
  • Row 3 supports the data path from ASIC I/O pad 74, through buffers 76 and 78 and back to ASIC cell block 16.
  • mode 3 is the application mode.
  • the configuration shown in row 5 denotes that microprocessor core 12 is master (ASIC -- -- MAS is low).
  • Microprocessor core 12 writes data off chip via pad 74, or to ASIC cell block 16, or microprocessor core 12 reads off-chip data depending upon the logic state of signal PAD -- EN which follows signal TSC of microprocessor core 12.
  • ASIC cell block 16 is master since signal ASIC -- MAS is a logic high and the ASIC reads off-chip data (ASIC -- WR is a logic low) wherein the supported data path is through ASIC I/O pad 74 and through buffers 76 and 78 back to ASIC cell block 16.
  • microprocessor core 12 reads data from ASIC cell block 16 if microprocessor core 12 is bus master or ASIC cell block 16 writes data off-chip if ASIC cell block 16 is bus master.
  • the supported data path is from ASIC cell block 16 through multiplexor 70, through tri-state buffer 72 and to ASIC I/O pad 74 when the ASIC is master.
  • the supported data path is from ASIC cell block 16 via multiplexor 70 to pad 74, and through buffer 76 and tri-state buffer 80 back to microprocessor core 12.
  • interface control logic circuit 14 for synchronizing input signals (such as BGACKB, BERRB and VPAB) which are input to the microprocessor core 12 and must be synchronized to the internal clock of microprocessor core 12 is shown.
  • input signals such as BGACKB, BERRB and VPAB
  • a signal is received via an ASIC I/O pad such as pad 20 and is synchronized through ICL circuit 14 to provide synchronous signals to both microprocessor core 12 and to ASIC cell block 16.
  • the drcuit shown in FIG. 5 includes ASIC I/O pad 90 which is coupled to drcuit node 92 wherein pad 90 is similar to ASIC I/O pad 20 of FIG. 1.
  • NOR gate 94 has a first input coupled to receive a signal from ASIC cell block 16 as denoted by signal SIG -- FROM -- ASIC.
  • a second input of NOR gate 94 is coupled to receive signal ASIC -- EN.
  • the output NOR gate 94 is coupled to the control input of tri-state buffer 96.
  • Tri-state buffer 96 has an input returned to ground and an output coupled to circuit node 92.
  • Circuit 92 is coupled to operating potential VCC via resistor 98 and to the input of buffer 98.
  • buffer 98 The output of buffer 98 is coupled to the input of flip-flop 100, and also provides a signal to ASIC cell block 16 (signal SIG -- TO -- ASIC) via buffer 102.
  • Clock signal CLK -- UP of microprocessor core 12 is coupled to the clock input of flip-flop 104 and through inverter 106 to the clock input of flip-flop 100.
  • flip-flop 100 The output of flip-flop 100 is coupled to the data input of flip-flop 104 while the non-inverting and inverting outputs of: flip-flop 104 provide synchronous signals to microprocessor core 12 and ASIC cell block 16, respectively, wherein the inverting output of flip-flop 104 provides signal SYNC -- TO -- ASIC through inverter 108 while the non-inverting output of flip-flop 104 provides signal SYNC -- TO -- UP.
  • ASIC I/O pad 90 is just one pad that may be coupled to drcuit node 92 which may supply a signal to microprocessor core 12 that needs to be synchronized. Further, a signal from ASIC cell block 16 via signal SIG -- FROM -- ASIC may also be synchronized with the clock of microprocessor core 12. This is accomplished in that when the voltage level appearing at circuit 92 is a logic low which subsequently allows the output of buffer 98 to be a logic low. This logic low level will then be synchronized with the microprocessor dock (CLOCK -- UP) via flip-flops 100 and 104 thereby providing synchronous signals to microprocessor core 12 and ASIC cell block 16 via signals SYNC -- TO -- UP and SYNC -- TO -- ASIC. It is understood that since circuit node 92 may be responsive to a plurality of signals that must be synchronized to the microprocessor clock, resistor 95 along with the input of buffer 98 form an open drain wired-OR gate.
  • a truth table for the circuit shown in FIG. 4 is not necessary since signals AISC -- EN and CP -- EN are of the only concern.
  • ICL circuit 14 is in the in circuit test and ASIC I/O pad 90 is tri-stated.
  • mode 1 microprocessor core 12 is being tested and the supported data path is from ASIC I/O pad 90 through buffer 98 and flip-flops 100 and 104 to provide signals to microprocessor core 12 and ASIC cell block 16.
  • mode 2 or 3 which are respectively the ASIC test mode or the application mode, the supported data path is from ASIC I/O pad 90 through buffer 98 and flip-flops 100 and 104 to provide signals to both microprocessor core 12 and ASIC cell block 16.
  • Another supported path is from ASIC cell block 16 via signal SIG -- FROM -- ASIC through NOR gate 94 thereby allowing tri-state buffer 96 to provide a logic low at circuit node 92 when signal ASIC -- ENB (the inversion of ASIC -- EN) is a logic low.
  • FIG. 6 a portion of interface control logic circuit 14 for synchronizing input signals (such as DTACKB) which is input to the microprocessor core 12 and must be synchronized to the internal clock of microprocessor core 12 is shown.
  • the components shown in FIG. 6 which are identical to components shown in FIG. 5 are identified by the same reference numbers.
  • the circuit in FIG. 6 further includes multiplexor 101 (coupled between flip-flops 100 and 104. Multiplexor 101 has a first input coupled to receive signal Y -- IN (from ASIC cell block 16) and a second input coupled to the output of flip-flop 100. The output of multiplexor 101 is coupled to the data input of flip-flop 104. Finally, the select input of multiplexor 101 is coupled to receive signal SEL which is generated from ASIC cell block 16.
  • FIG. 6 The operation of FIG. 6 is similar to the operation of the circuit shown in FIG. 5 except that multiplexor 101 now provides for early recognition (of 1/2 of a clock cycle plus the data path delay of buffer 98 and either pad 90 of OR gate 94) of a data acknowledgement signal (DTACKB) via signal Y -- IN which is generated by ASIC cell block 16.
  • DTACKB data acknowledgement signal
  • ICL circuit 14 for tri-state outputs such as ASB, UDSB and LDSB
  • ICL circuit 14 for tri-state outputs such as ASB, UDSB and LDSB
  • FIG. 7 further includes OR gate 120 having a first input coupled to the output of buffer 58 and a second input coupled to receive signal CTRL -- SIG.
  • OR gate 120 provides signal SIG -- TO -- ASIC to ASIC cell block 16.
  • OR gate 120 allows gated control of signal SIG -- TO -- ASIC before being sent to ASIC cell block 16.
  • OR gate 120 allows signal SIG -- TO -- ASIC to be forced inactive during test mode of microprocessor core 12 thereby preventing false starting cycles within ASIC cell block 16.
  • the truth table for FIG. 7 is identical to the truth table for FIG. 2 as illustrated in table 2.
  • FIG. 8 a portion of interface control logic circuit 14 for an open drain input (such as BRB) of microprocessor core 12 is shown.
  • Components 130, 132, 134, 136, 138, 140, 142, 144, 145 and 146 perform an identical function as components 90, 96, 94, 95, 98, 102, 100, 104, 106 and 108, respectively of FIG. 5.
  • the circuit of FIG. 8 includes flip-flops 148 and 150 and AND gate 152 for forcing signal SYNC -- TO -- UP to a logic low during ASIC test mode (mode 2).
  • ICL circuit 14 for inputs such as IPLB0, IPL1B and IPL2B of microprocessor core 12 is shown. Further, table 4 shows the mode and control signals of ICL circuit 14 for the circuit shown in FIG. 9.
  • the circuit shown in FIG. 9 provides synchronous signals to microprocessor core 12 and ASIC cell block 16 via signals SYNC -- TO -- UP and SYNC -- TO -- ASIC. This is done in a similar manner as aforedescribed for the circuit shown in FIG. 5 by utilizing flip-flops 161 and 162 and inverters 163 and 164 thereby corresponding to flip-flops 100 and 104 of FIG. 5 and inverters 106 and 108 of FIG. 5. Further, the signal to be synchronized can come from an external source via pad 166, or from an ASIC signal via signal SIG -- FROM -- ASIC via tri-state buffer 168.
  • a signal can be sent directly from the ASIC via signal IPLB -- FROM -- ASIC -- DIRECT via the second input of multiplexor 169. This may be used for example when the ASIC generates an interrupt. Also, a non-synchronized signal (signal SIG -- TO -- ASIC) may be sent to ASIC cell block 16 via buffer 165. Further, logic circuit 170 is shown for providing signals SELECT and PAD -- EN.
  • ICL circuit 14 for microprocessor core 12 I/O signals such as RESETB and HALTB is shown.
  • the circuit in FIG. 10 includes logic circuit 172 having inputs responsive to signals from microprocessor core 12 (signal SIG -- FROM -- UP) and from ASIC cell block 16 (SIG -- FROM -- ASIC).
  • Logic circuit 172 also has inputs coupled to receive signals ASIC -- EN and CP -- EN. The output of logic circuit 172 supplies signal PAD -- EN to the gate of transistor 174 via buffer 175.
  • the drain of transistor 174 is coupled to ASIC I/O pad 177 and to the input of buffer 178.
  • the source and substrate of transistor 174 is returned to ground.
  • the input of buffer 178 is also coupled to operating potential V CC via resistor 179.
  • the output of buffer 178 provides a signal to ASIC cell block 16 (SIG -- TO -- ASIC) and a gated signal (GATED -- SIG -- TO -- ASIC) to ASIC cell block 16 by way of OR gate 180.
  • Signal GATED -- SIG -- TO -- ASIC is gated in the sense that the output of buffer 178 is OR'ed with signal ASIC -- EN .
  • the output signal of buffer 178 is also synchronized with microprocessor core 12 by flip-flops 182 and 183 and inverter 184 (in a similar manner as aforedescribed for the circuit shown in FIG. 5) in order to provide synchronized signal SYNC -- TO -- UP to microprocessor core 12.
  • RESETB and HALTB can be generated off-chip or by microprocessor core 12.
  • Signal GATED -- SIG -- TO -- ASIC is gated with signal ASIC -- EN which forces signal GATED -- SIG -- TO -- ASIC to a logic low during modes 0 and 1.
  • Signal SIG -- TO -- ASIC is not gated and follows the signal appearing at I/O pad 177.
  • flip-flops 182 and 183 provide a synchronized signal to microprocessor core 12 in a similar manner as aforedescribed for the circuit of FIG. 5.
  • the mode pin selects between 8 or 16 bit operation. If the mode pin is tied high, microprocessor core 12 will be in a 16 bit mode, and if the mode pin is tied low, microprocessor core 12 will be in an 8 bit mode. However, whenever the mode is changed, microprocessor core 12 must go through a reset sequence. In the application mode, signal MODE -- FROM -- ASIC controls the mode pin to microprocessor core 12. Typically, the mode pin is tied high or low, however, if the customers wants a dynamic access to the mode pin at the pad, the customer must connect signal MODE -- TO -- ASIC to signal MODE -- FROM -- ASIC to allow pad control in the application mode.
  • the circuit shown in FIG. 11 includes ASIC I/O pad 191 being coupled to the first input of multiplexer 193 via buffer 195.
  • the second input of multiplexer of 193 is coupled to receive signal MODE -- FROM -- ASIC, while the select input of multiplexer 193 is coupled to an output of logic circuit 197.
  • Tri-state buffer 199 has an input coupled to receive signal MODE -- TO -- PAD and an output coupled to ASIC I/O pad 191. It is understood that buffers 199 and 195 may be incorporated into I/O pad 191 as aforedescribed for other similar ASIC I/O pads.
  • the control input of tri-state buffer 199 is coupled to receive signal PAD -- EN from logic circuit 197.
  • logic circuit 197 has inputs for receiving signals ASIC -- EN and CP -- EN. Also, the output of buffer 195 supplies a signal MODE -- TO -- ASIC via buffer 201.
  • the supported data path is from ASIC I/O pad 191 through buffers 195 and 201 to provide signal MODE -- TO -- ASIC and through buffer 195 through multiplexer 193 to provide signal MODE -- TO -- UP.
  • signal SELECT is a logic high.
  • signal PAD -- EN is a logic low, the supported data path is from I/O pad 191 through buffers 195 and 201 to provide signal MODE -- TO -- ASIC wherein the mode of microprocessor core 12 is controlled by signal MODE -- FROM -- ASIC. It is worth noting that in this configuration ASIC I/O pad 191 may be redefined as an ASIC input
  • ASIC I/O pad 191 may be redefined as an ASIC output.
  • FIG. 12 a portion of ICL circuit 14 for the test mode pin of microprocessor core 12 is shown.
  • the circuit shown in FIG. 12 includes ASIC I/O pad 210 being coupled to a first input of OR gate 212 via buffer 214.
  • the second input of OR gate 212 is coupled to receive signal ASIC -- ENB, while the output of OR gate 212 provides signal UPTEST -- TO -- UP.
  • Tri-state buffer 216 has an input coupled to receive signal UPTEST -- TO -- PAD and an output coupled to ASIC I/O pad 210.
  • the control input of tri-state buffer 216 is coupled to receive signal PAD -- EN from logic circuit 218 wherein logic circuit 218 is responsive to input signals ASIC -- EN, CP -- EN and ASIC -- WR.
  • the output of buffer 214 is coupled to provide signal UPTEST -- TO -- ASIC via buffer 220.
  • ASIC I/O pad 210 In mode 0, ASIC I/O pad 210 is in a tri-state condition. In mode 1, signal PAD -- EN is a logic low and the supported data path is from ASIC I/O pad 210 through buffer 214 and OR gate 212 to provide signal UPTEST -- TO -- UP to microprocessor core 12, and also through buffer 220 to provide signal UPTEST -- TO -- ASIC to ASIC cell block 16.
  • signals ASIC -- WR and PAD -- EN are both either a logic low or a logic high.
  • signal UPTEST -- TO -- UP is a logic low since signal ASIC -- EN is a logic high.
  • ASIC I/O pad 210 may be redefined as an ASIC input. In this configuration the supported data path is from ASIC I/O pad 210 through buffers 214 and 220 to provide Signal UPTEST -- TO -- ASIC.
  • signal UPTEST -- TO -- UP is again a logic low, but ASIC I/O pin 210 may be redefined as an ASIC output because signal ASIC -- WR is a logic high.
  • the supported data path is from signal UPTEST -- TO -- PAD which is a signal from ASIC cell block 16 through tristate buffer 216 to ASIC I/O pad 210.
  • ICL circuit 14 for the dock pin of microprocessor core 12 is shown.
  • the clock pin supplies the clock signal to microprocessor core 12.
  • This same clock is also provided to ASIC cell block 16 via signal CLK -- TO -- ASIC and to ICL circuit 14 via signal CLK -- ICL.
  • the circuit in FIG. 13 includes ASIC I/O pad 230 which is coupled to the first input of multiplexor 231 via buffer 232.
  • the second input of multiplexer 231 is coupled to receive a clock signal from ASIC cell block 16 as denoted by signal CLK -- FROM -- ASIC.
  • the select input of multiplexer 231 is coupled to the output of NAND gate 233 the latter having inputs for receiving signals ASIC -- EN and CLKSL (a clock select signal).
  • the output of multiplexer 231 provides a dock signal to ICL circuit 14 (signal CLK -- ICL) via buffer 234.
  • the output of multiplexer 231 also provides a clock signal to ASIC cell block 16 (signal CLK -- TO -- ASIC) via buffer 237 and as denoted by signal CLOCK -- TO -- ASIC.
  • the output of multiplexer 231 provides a dock signal to microprocessor core 12 as denoted by signal CLK -- TO -- UP.
  • Multiplexer 231 allows a clock signal to microprocessor core 12 to be provided by ASIC cell block 16 via signal CLOCK -- FROM -- ASIC or from ASIC I/O pad 230. If ASIC cell block 16 is to supply the clock to microprocessor core 12, signal CLKSL should be tied high, otherwise it should be tied low. Further, signal ASIC -- EN is low during mode 1 and forces the external clock pin to be used to test microprocessor core 12.
  • novel circuit allows for a flexible three-way interface between a microprocessor, an ASIC cell block, and the external world wherein the microprocessor and the ASIC cell block are fabricated within a gate array.
  • the novel circuit provides an interface circuit for each I/O pin of the microprocessor to allow it to readily interface with the customer designed ASIC cell block or external devices via the ASIC I/O pads.
  • the novel circuit also allows isolated testing of only the microprocessor, of only the ASIC cell block, or of both the microprocessor and the ASIC cell block.
  • the microprocessor is fully diffused and fixed-placed within the gate array while the interface circuit is fixed placed therein.
  • the ASIC cell block may be utilized by a customer to design a circuit to perform a customer defined function. Further, this customer designed gate array will readily interface with the microprocessor and the outside world via the novel interface circuit.

Abstract

An interface circuit (14) that allows for a flexible three-way interface between a microprocessor (12), an ASIC cell block (16), and the external world has been provided wherein the microprocessor and the ASIC cell block are fabricated within a gate array (10). The interface circuit provides circuitry for each I/O pin (22, 23, 24) of the microprocessor to allow it to readily interface with the customer designed ASIC cell block or external devices via the ASIC I/O pads (20). The interface circuit also allows isolated testing of only the microprocessor, of only the ASIC cell block, or of both the microprocessor and the ASIC cell block. The interface circuit and the microprocessor are fully diffused and fixed-placed within the gate array while the ASIC cell block may be utilized by a customer to design a circuit to perform a customer defined function.

Description

FIELD OF THE INVENTION
This invention relates to interface circuits, for example, an interface circuit for embedding a microprocessor core in a standard cell or gate array.
BACKGROUND OF THE INVENTION
Microprocessors are chief processing units within the electronics industry. They are utilized in a myriad of applications such as computers.
It is highly desirable to embed a microprocessor within an ASIC gate array where the ASIC cells may be utilized to perform specific functions. One attempt at embedding a core processor within a custom integrated circuit has been implemented by Motorola on the MC68302 integrated circuit. However, this integrated circuit includes an interface circuit between the core processor and the custom logic that is specifically designed for one environment and one predetermined function. Thus, the MC68302 lacks flexibility and is restrictive in its capability because the ASIC customer cannot use the ASIC cells for any other applications.
Hence, there exists a need to allow an ASIC customer to design a gate array on the same piece of silicon as a core microprocessor wherein an interface control logic circuit exists to allow flexible interface between the core processor and the ASIC cells.
SUMMARY OF THE INVENTION
Briefly, there is provided a gate array having a plurality of I/O pads comprising a microprocessor circuit, an ASIC cell block and an interface circuit. The microprocessor circuit has a plurality of microprocessor I/O pads and is fully diffused and fixed-placed within the gate array. The ASIC cell block provides a customer defined predetermined function. The interface circuit provides a flexible interface between the microprocessor I/O pads, the ASIC cell block and the plurality of I/O pads of the gate array, the interface circuit being fully diffused and fixed-placed within the gate array.
The present invention will be better understood from the following detailed description taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating a gate array having an interface control logic circuit for providing a flexible interface between a microprocessor core and an ASIC cell block within the gate array;
FIGS. 2 and 4-13 are a partial schematic/block diagrams illustrating various circuits existing within the interface control logic circuit shown in FIG. 1; and
FIG. 3 is a block diagram illustrating power isolation between the microprocessor core and the ASIC cell block.
DETAILED DESCRIPTION OF THE DRAWINGS
Referring to FIG. 1, a block diagram illustrating a portion of gate array 10 is shown. Gate array 10 includes microprocessor core 12, interface control logic (ICL) circuit 14 and ASIC cell block 16. Gate array 10 also includes I/O pad region 18 having a plurality of ASIC I/O pads such as I/O pad 20.
Microprocessor core 12 includes a plurality of I/O pads, for example pads 22-24, which are coupled to interface control logic circuit 14. It is worth noting that there exists a plurality of microprocessor pads like 22-24 which are coupled to ICL circuit 14, but only a few are shown for simplicity. In particular, I/O pad 22 is shown providing tri-state control (TSC) signal to ICL circuit 14, while I/O pad 24 provides a signal from microprocessor core 12 to ICL circuit 12 as denoted by SIC-- FROM-- UP. Also, I/O pad 23 is shown to receive a signal frown ICL circuit 14 as denoted by SIC-- TO-- UP. The microprocessor core I/O pads are typically implemented in a bi-directional configuration with the exception of the clock input. It is understood that microprocessor core 12 is fully diffused and fixed placed within gate array 10. Further, one example of microprocessor core 12 is the Motorola MC68000 (CP000) microprocessor core which is fully compatible with a standard MC68000 processor.
Interface control logic circuit 14 is comprised of standard gate array macros (such as those found in ASIC cell block 16) which are utilized to provide an interface between microprocessor core 12, ASIC cell block 16, and the external world via ASIC I/O pads such as I/O pad 20. In this manner, interface control logic circuit 14 allows a very flexible three-way communication between microprocessor core 12, ASIC cell block 16 and any external sources. Similar to microprocessor core 12, interface control logic circuit 14 is also fixed-placed within gate array 10, but is built from typical gate array macros.
Signals ASIC-- MAS and ASIC-- WR are two logic signals provided to ICL circuit 14 from ASIC cell block 16. Signal ASIC-- MAS indicates ASIC mastership. When signal ASIC-- MAS is a logic high, the signal direction is controlled by signals generated within ASIC cell block 16. In general, signal ASIC-- MAS is asserted in the following three cases: 1) in normal application mode when the ASIC is providing a signal to microprocessor core 12, for example when microprocessor core 12 reads data from ASIC cell block 16; 2) if the ASIC becomes master of the bus and signals will be sourced by ASIC cell block 16. 3) if the customer redefines a microprocessor core I/O pin as an ASIC I/O pin in the application mode.
Further, signal ASIC-- WR controls the tri-state control for the signals if signal ASIC-- MAS is asserted. This applies to the normal mode operation wherein in the test mode, the direction is controlled by ICL circuit 14 or microprocessor core 12. A signal ASIC-- MAS and ASIC-- WR are provided for each pin of micrprocessor core 12 which allows for separate bus mastership by either microprocessor core 12, ASIC cell block 16 or an external device (via ASIC I/O pads such as pad 20). Further, signals ASIC-- MAS and ASIC-- WR also provide for ASIC I/O pads such as pad 20 to be redefined as an input or an output.
As shown, interface control logic circuit 14 further includes input signals CP-- EN and ASIC-- EN which are off-chip signals used to set interface control logic circuit 14 in one of four modes. Table 1 shows the logic states of signals ASIC-- EN and CP-- EN for the different modes.
              TABLE 1                                                     
______________________________________                                    
ICL Circuit Modes                                                         
ASIC.sub.-- EN  CP.sub.-- EN                                              
                         MODE                                             
______________________________________                                    
0               0        0                                                
0               1        1                                                
1               0        2                                                
1               1        3                                                
______________________________________                                    
Briefly, mode 0 is known as the in-circuit test mode. This mode allows the customer to do in-circuit testing with the ASIC device in place. In this mode all microprocessor core 12 output signals are high impedance, but can be driven as inputs to ASIC cell block 16 or microprocessor core 12. Further, I/O pads such as I/O pad 20 must be tri-state (high impedance) during the in-circuit test mode. Also, signals ASIC-- MAS, ASIC-- WR and control signals from microprocessor core 12 are ignored.
Mode 1 is known as the stand alone microprocessor test mode. In this mode, ASIC cell block 16 is isolated to allow microprocessor core 12 to be tested. Signals ASIC-- MAS and ASIC-- WR are ignored, while the tri-state control for ASIC I/O pads such as I/O pad 20 is generated by microprocessor core 12.
Mode 2 is known as the stand alone ASIC test mode. In this mode microprocessor core 12 is isolated thereby allowing stand alone testing of ASIC cell block 16. Signal ASIC-- MAS and the control signals from microprocessor 12 are ignored, while the tri-state of the ASIC I/O pads are controlled by signal ASIC-- WR.
Finally, mode 3 is known as the normal application mode. During this mode, tri-state control signals for the ASIC I/O pads are generated by microprocessor core 12 or ASIC cell block 16 depending upon the logic state of signal ASIC-- MAS.
Further, interface control logic circuit 14 is coupled to terminal 30 for receiving a signal from ASIC cell bock 16 as denoted by signal SIG-- FROM-- ASIC. Also, interface control logic circuit 14 provides an output to either I/O pad 20 or terminal 32 via buffers 34 and 36, respectively. It is understood that terminal 32 provides a signal to ASIC cell block 16 as denoted by signal SIG-- TO-- ASIC. Also, it is understood that buffers 34 and 36 may be incorporated within I/O pad 20. It is worth noting that although only one signal to and from ASIC cell block 16 are shown (SIG-- TO-- ASIC and SIG-- FROM-- ASIC), there may be a plurality of signals from ASIC cell block 16 provided to ICL circuit 14 (similar to signal SIG-- FROM-- ASIC), and a plurality of signals provided from ICL circuit 14 to ASIC cell block 16 (similar to SIG-- TO-- ASIC). Further, it should be understood that for example "SIG-- FROM-- ASIC" is a general signal name that is used to represent a typical signal that originates from ASIC cell block 16. Thus, each time SIG-- FROM-- ASIC is used for each Figure, it does not necessarily refer to the same signal.
Signature logic block 40 is shown coupled between ICL circuit 14 and ASIC cell block 16. Signature logic block 40 includes signature analysis circuitry which allows for complete fault coverage testing of ICL circuit 14 when microprocessor core 12 is being tested as in mode 1. Signature logic block 40 provides adequate fault coverage of ICL circuit 14 and also ensures that ICL circuit 14 has not been modified. It is understood that signature block 40 is typically included within ICL circuit 14.
As an example, a signal from microprocessor core 12 which appears at I/O pad 24 can be sent through ICL circuit 14 and to either ASIC I/O pad 20 or to ASIC cell block 16 (via terminal 32). In specific, a signal appearing at I/O pad 24 may be an address output signal which may be utilized to access either an external device via ASIC I/O pad 20, or ASIC cell block 16 via terminal 32.
Thus, the present invention provides a flexible 3-way interface between microprocessor core 12, ASIC cell block 16 and the external world. This enables a customer to utilize cells within ASIC cell block 16 to design a gate array to perform customer defined functions wherein this customer designed gate array will readily interface with microprocessor core 12.
Referring to FIG. 2, a portion of interface control logic circuit 14 is shown for a tri-state output from microprocessor core 12, for example, an address output. The circuit of FIG. 2 includes multiplexor 50 having a first input coupled to receive a signal from microprocessor core 12 (SIG-- FROM-- UP) which may be output from microprocessor core I/O pad 24. A second input of multiplexor 50 is coupled to receive a signal from ASIC cell block 16 as denoted by signal SIG-- FROM-- ASIC. Signal SIG-- FROM-- ASIC may be provided to interface control logic circuit 14 via a terminal similar to terminal 30. Logic circuit 52, which is part of interface control logic circuit 14, is responsive to signals ASIC-- EN, CP-- EN, ASIC-- MAS and ASIC-- WR to provide logic signals SELECT and PAD-- EN respectively to the SELECT input of multiplexor 50 and the control input of tri-state buffer 54. The output of multiplexor 50 is coupled to an input of tri-state buffer 54 while the output of tri-state buffer 54 is coupled to ASIC I/O pad 56 which may be for example ASIC I/O pad 20. The output of tri-state buffer 54 is coupled to an input of buffer 58 the output of which provides a signal to ASIC cell block 16 via signal SIG-- TO-- ASIC. As previously mentioned for buffers 34 and 36 of FIG. 1, buffers 54 and 58 may be incorporated within ASIC I/O pad 56. In addition, the circuit in FIG. 2 includes tri-state buffer 60 which has an input for receiving signal PWR-DWN and an output coupled to the first input of multiplexor 50. The control input of inverting tri-state buffer 60 is responsive to tri-state control signal TSC.
Table 2 shows the mode and control signals of ICL circuit 14 for a tristate output of microprocessor core 12.
                                  TABLE 2                                 
__________________________________________________________________________
Mode and Control Signals (of ICL Circuit 14) for a Tri-state output of    
UProcessor Core 12                                                        
ROW ASIC.sub.-- EN                                                        
          CP.sub.-- EN                                                    
               MODE ASIC.sub.-- MAS                                       
                           ASIC.sub.-- WR                                 
                                 SELECT                                   
                                      PAD.sub.-- EN                       
__________________________________________________________________________
1   0     0    0    X      X     0    0                                   
2   0     1    1    X      X     0    Follow TSC Signal                   
3   1     0    2    0      X     0    Follow TSC Signal                   
4   1     0    2    1      0     1    0                                   
5   1     0    2    1      1     1    1                                   
6   1     1    3    0      X     0    Follow TSC Signal                   
7   1     1    3    1      0     1    0                                   
8   1     1    3    1      1     1    1                                   
__________________________________________________________________________
where "X" denotes a don't care.
In particular, in mode 0, signals SELECT and PAD-- EN are a logic low and ASIC I/O pad 56 is tri-stated. It is worth noting that for all portions of ICL circuit 14 operating in mode 0, all ASIC I/O pads are tri-stated.
In mode 1 microprocessor core 12 is being tested while ASIC cell block 16 is isolated. Signals ASIC-- MAS and ASIC-- WR are ignored and the tri-state controls of the ASIC I/O pads are generated by control signals of microprocessor core 12 as aforementioned. The supported data path for mode 1 is a signal from the microprocessor core 12 (SIG-- FROM-- UP), through multiplexor 50, through buffer 55 and to both ASIC I/O pad 56 and through buffer 58 to ASIC cell block 16 to provide SIG-- TO-- ASIC.
In mode 2, microprocessor core 12 is isolated allowing stand alone testing of ASIC cell block 16. Control signals from microprocessor core 12 as well as signal ASIC-- MAS are ignored. Further, the tri-state control signals of ASIC pads are generated via signal ASIC-- WR.
In this mode, the supported data paths exists from ASIC cell block 16 to pad 56 and back to ASIC cell block 16 via buffer 58. Another supported signal path is utilizing ASIC I/O pad 56 as an ASIC input wherein an external signal is sent to ASIC cell block 16 via buffer 58.
These signal paths for mode 2 may be explained in more detail by referring to rows 3-5 of table II. For example, in row 4 signal ASIC-- MAS is a logic high which indicates that the ASIC is the master and the signal appearing at ASIC I/O pad 56 is redefined as an ASIC input since signal ASIC)WR is a logic low. The supported data path is through I/O pad 56 and through buffer 58 to ASIC cell block 16.
Referring to row 5, signal ASIC-- MAS is a logic high indicating that the ASIC is the master and the signal appearing at I/ 0 pad 56 is redefined as an ASIC output since signal ASIC-- WR is a logic high. The supported data path flows from ASIC cell block 16 via SIG-- FROM-- ASIC through multiplexor 50, through tri-state buffer 54 and to both pad 56 and through buffer 58 back to ASIC cell block 16.
Referring to row 3, it should be noted that this essentially is an invalid set up since signal ASIC-- MAS is a logic low this means that microprocessor core 12 is the master which is inconsistent with the fact that: in mode 2 microprocessor core 12 is isolated. Thus, to have signal PAD-- EN follow the tri-state control signal of microprocessor core 12 is inconsistent.
In mode 3 which the normal application mode, the tri-state control of ASIC I/O pads are generated by microprocessor core 12 or by signal ASIC-- WR depending on the logic state of signal ASIC-- MAS. In this mode, the supported data paths are essentially from pad 56 to ASIC cell block 16 when microprocessor core 12 is the master, and from ASIC cell block 16 to pad 56 when the ASIC is the master.
These signal paths for mode 3 may be explained in more detail by referring to rows 6-8 of table II. Referring to row 6, microprocessor core 12 is the master, and ASIC I/O pad 56 is an output unless it is tri-stated by signal TSC of microprocessor core 12 as indicated by the "follow TSC signal" in the PAD-- EN column. Thus, as long as microprocessor core 12 outputs data, this data is output to I/O pad 56. The supported data path in this set up is from microprocessor core 12, through multiplexer 50, and through tri-state buffer 54 to both ASIC pad 56 and through buffer 58 back to ASIC cell block 16.
Referring to row 7, signal ASIC-- MAS is a logic high and the ASIC is the master, and the signal appearing at ASIC pad 56 is redefined as an ASIC input since signal ASIC-- WR is a logic low. The supported data path is from ASIC pad 56 through buffer 58 to ASIC cell block 16. This configuration represents a case where an external processor is bus master.
Referring to row 8, the ASIC is again the master as indicated by signal ASIC-- MAS being a logic high and the signal appearing at ASIC pad 56 is redefined as an ASIC output since signal ASIC-- WR is a logic high. The supported data path is from ASIC cell block 16 via signal SIG-- FROM-- ASIC, through multiplexor 50, through tri-state buffer 54 and to both ASIC pad 56 and through buffer 58 back to ASIC cell block 16.
Referring to tri-state buffer 60, a method for actively pulling the voltage appearing at the first input of multiplexor 50 to a predetermined logic state via signal PWR-- DWN is shown. In some low power modes, it may be desired to power down microprocessor core 12 so as to conserve power while maintaining power to ASIC cell block 16. In accomplishing this goal, the first step is to provide independent and separate power supply pins for microprocessor core 12 and ASIC cell block 16 so that microprocessor core 12 may be powered down and ASIC cell block 16 may remain powered up (this will be discussed in detail hereinafter). However, this simple measure is not enough because tri-state nodes from microprocessor core 12 that are left floating will consume a substantial amount of power for CMOS applications. Therefore, a second step is performed wherein all microprocessor outputs, which are coupled to circuitry that is still powered up, are maintained at predetermined logic voltage levels. Although only one output of microprocessor core 12 is shown to have such power down capability, it should be understood that every tri-state output of microprocessor core 12 includes power down logic circuitry similar to tri-state buffer 60.
Briefly, when signal TSC goes high, tri-state buffer 60 is rendered operative and the voltage level appearing at the first input of multiplexor 50 is pulled to a predetermined level via signal PWR-- DWN. For example if signal PWR-- DWN was a logic high, the first input of multiplexor 50 would be a logic low. It should be understood that this phenomena exists because microprocessor core 12 is a dynamic element and when the clock is stopped the CMOS transistors essentially go into linear region and draw substantially more current than usually. Thus, if power is to be saved the power to microprocessor core 12 must be turned off and the outputs of microprocessor core 12 must be tied to a predetermined logic state.
Referring to FIG. 3, the power isolation of microprocessor core 12 from ASIC cell block 16 is shown. In particular, external power supply busses 240-241 respectively provide voltages VDD and VSS to I/O pads such as pad 20 of FIG. 1. Further, internal power supply busses 242--243 respectively provide voltages VDD and VSS to the inside of ASIC cell block 16, while power supply busses 244 and 245 respectively provide voltages VDD and VSS to power rings 246 and 247 of microprocessor core 12. Finally, power busses such as 248 and 249 represent a portion of the internal power grid within ASIC cell block 16 wherein termination busses 250 and 251 are utilized to terminate the internal power grid structure of ASIC cell block 16 to prevent connection with microprocessor core 12.
The aforedescribed structure allows independent power isolation between microprocessor 12 and ASIC cell block 16. Thus, ASIC I/O pads 253-256 can be utilized to provide separate and independent power to microprocessor core 12 (pads 255, 256) and to ASIC cell block 16 (pads 253, 254). Further, pads 257-258 are used to provide power to external power supply busses 240 and 241, respectively.
Microprocessor pad 260 is utilized to output signal TSC (tri-state control) to the control input of tri-state buffer 261. In addition, microprocessor pad 262 is shown to represent an output which is coupled to the input of buffer 261. The output of buffer 261 is coupled through buffer 263 to provide a signal to ASIC cell block 16. It is understood that buffer 261 may be incorporated within microprocessor pad 260, while buffer 263 is part of ASIC cell block 16. Tri-state buffer 265 operates in an identical fashion as aforedescribed for tri-state buffer 60 of FIG. 2 wherein tri-state buffer 265 functions to pull a microprocessor core output signal to a logic low to prevent floating of the output when microprocessor core 12 is powered down.
In addition, AND gate 267 functions to pull input signals to microprocessor core 12 to a logic low when core 12 is powered down thereby preventing any power from being applied to core 12. In particular, when signal PWR-- DWN goes to a logic low (indicating power down of core 12) the output of AND gate 267 forces the voltage level appearing at pad 268 to a logic low.
Thus, the present invention includes a method for independently powering down microprocessor core 12, while power may be maintained to ASIC cell block 16. One advantage of such power isolation is that digital noise from ASIC cell block 16 is prevented from affecting the microprocessor core 12. Further, ASIC cell block 16 may be statically tested while core 12 is powered down. Microprocessor core 12 may also be powered down in an application thereby significantly reducing current drain which may be ideal for battery powered systems.
Referring to FIG. 4, a portion of interface control logic drcuit 14 for a bi-directional data output (D0-D15) of microprocessor core 12 is shown. As for all the circuits shown in FIGS. 2-11, the circuit shown in FIG. 4 provides a three way interface between microprocessor 12, ASIC cell block 16 and any external devices which may be coupled to the ASIC I/O pads. The circuit of FIG. 4 accomplishes the same task of the drcuit of FIG. 2, but it is a bit more complex because a signal is not just output from microprocessor core 12 but also is input since it is a bi-directional signal.
In particular, the circuit in FIG. 4 includes multiplexor 70 having a first input coupled to receive signal D-- TO/FROM-- UP and a second input coupled to receive signal D-- FROM-- ASIC which may be respectively provided via I/O pad 24 of microprocessor core 12 and terminal 30 as shown in FIG. 1. The output of multiplexor 70 is coupled through tri-state buffer 72 to ASIC I/O pad 74. Further, I/O pad 74 is coupled through buffers 76 and 78 to provide signal D-- TO-- ASIC which provides a data signal to ASIC cell block 16. Moreover, I/O pad 74 is coupled through buffer 76 and tri-state buffer 80 for providing a signal to microprocessor core 12 via signal D-- TO/FROM-- UP. It is understood as mentioned in FIG. 2 that tri-state buffer 72 and buffer 76 are respectively similar to tri-state buffer 34 and buffer 36 shown in FIG. 1 and further that these buffers may be incorporated within ASIC I/O pad 74. Further, ASIC I/O pad 74 is similar to ASIC I/O pad 20 as shown in FIG. 1. Logic circuit 82 is shown being responsive to signals ASIC-- EN, CP-- EN, ASIC-- MAS and ASIC-- WR for providing signals SELECT and PAD-- EN respectively to the select input of multiplexor 70 and to the tri-state control input of tri-state buffer 72. Additionally, tri-state control buffer 80 is controlled by signal TSC which is the tri-state signal for the I/O pads of microprocessor core 12.
Referring to Table 3, the mode and control signals of interface control logic circuit 14 for a bi-directional data output of microprocessor core 12 is shown.
                                  TABLE 3                                 
__________________________________________________________________________
Mode and Control Signals (of TCL Circuit 14) for a                        
Bi-directional Data Output of UProcessor Core 12.                         
ROW ASIC.sub.-- EN                                                        
          CP.sub.-- EN                                                    
               MODE ASIC.sub.-- MAS                                       
                           ASIC.sub.-- WR                                 
                                 SELECT                                   
                                      PAD.sub.-- EN                       
__________________________________________________________________________
1   0     0    0    X      X     0    0                                   
2   0     1    1    X      X     0    TSC Signal                          
3   1     0    2    X      0     1    0                                   
4   1     0    2    X      1     1    1                                   
5   1     1    3    0      X     0    TSC Signal                          
6   1     1    3    1      0     1    0                                   
7   1     1    3    1      1     1    1                                   
__________________________________________________________________________
In a similar manner as Table 2 was utilized to explain the operation of the circuit shown in FIG. 2, Table 3 will be utilized to explain the operation of the circuit shown in FIG. 3.
Referring to Row 1, in mode 0 the entire circuit is in in-circuit test and I/O pad 74 is in a tri-state condition as aforedescribed.
Referring to Row 2, the circuit is in microprocessor test mode (mode and microprocessor core 12 controls the direction of I/O pad 74. The supported data paths during this mode are from the microprocessor through multiplexor 70, through tri-state buffer 72 and to ASIC I/O pad 74, or from ASIC I/O pad 74 through buffer 76 and tri-state buffer 80 back to microprocessor core 12. As noted in row 2, since microprocessor core 12 controls the direction of I/O pad 74, signal PAD-- EN follows signal TSC which is generated by microprocessor core 12.
Referring to rows 3 and 4, the operation during mode 2 wherein the ASIC is tested and microprocessor core 12 is isolated is shown. In particular, row 4 supports the data path of data from the ASIC (signal D-- FROM-- ASIC), through multiplexor 70, through tri-state buffer 72 and to ASIC I/O pad 74. Row 3 on the other hand supports the data path from ASIC I/O pad 74, through buffers 76 and 78 and back to ASIC cell block 16.
Referring to rows 5-7, signal configurations for mode 3 are shown wherein mode 3 is the application mode. In particular, the configuration shown in row 5 denotes that microprocessor core 12 is master (ASIC-- -- MAS is low). Microprocessor core 12 writes data off chip via pad 74, or to ASIC cell block 16, or microprocessor core 12 reads off-chip data depending upon the logic state of signal PAD-- EN which follows signal TSC of microprocessor core 12.
Referring to row 6, ASIC cell block 16 is master since signal ASIC-- MAS is a logic high and the ASIC reads off-chip data (ASIC-- WR is a logic low) wherein the supported data path is through ASIC I/O pad 74 and through buffers 76 and 78 back to ASIC cell block 16.
Finally, referring to row 7, during this configuration microprocessor core 12 reads data from ASIC cell block 16 if microprocessor core 12 is bus master or ASIC cell block 16 writes data off-chip if ASIC cell block 16 is bus master. Thus, the supported data path is from ASIC cell block 16 through multiplexor 70, through tri-state buffer 72 and to ASIC I/O pad 74 when the ASIC is master. However, if microprocessor core 12 is bus master, the supported data path is from ASIC cell block 16 via multiplexor 70 to pad 74, and through buffer 76 and tri-state buffer 80 back to microprocessor core 12.
Referring to FIG. 5, a portion of interface control logic circuit 14 for synchronizing input signals (such as BGACKB, BERRB and VPAB) which are input to the microprocessor core 12 and must be synchronized to the internal clock of microprocessor core 12 is shown. By utilizing the circuit in FIG. 5, a signal is received via an ASIC I/O pad such as pad 20 and is synchronized through ICL circuit 14 to provide synchronous signals to both microprocessor core 12 and to ASIC cell block 16.
In particular, the drcuit shown in FIG. 5 includes ASIC I/O pad 90 which is coupled to drcuit node 92 wherein pad 90 is similar to ASIC I/O pad 20 of FIG. 1. NOR gate 94 has a first input coupled to receive a signal from ASIC cell block 16 as denoted by signal SIG-- FROM-- ASIC. A second input of NOR gate 94 is coupled to receive signal ASIC-- EN. The output NOR gate 94 is coupled to the control input of tri-state buffer 96. Tri-state buffer 96 has an input returned to ground and an output coupled to circuit node 92. Circuit 92 is coupled to operating potential VCC via resistor 98 and to the input of buffer 98. The output of buffer 98 is coupled to the input of flip-flop 100, and also provides a signal to ASIC cell block 16 (signal SIG-- TO-- ASIC) via buffer 102. Clock signal CLK-- UP of microprocessor core 12 is coupled to the clock input of flip-flop 104 and through inverter 106 to the clock input of flip-flop 100. The output of flip-flop 100 is coupled to the data input of flip-flop 104 while the non-inverting and inverting outputs of: flip-flop 104 provide synchronous signals to microprocessor core 12 and ASIC cell block 16, respectively, wherein the inverting output of flip-flop 104 provides signal SYNC-- TO-- ASIC through inverter 108 while the non-inverting output of flip-flop 104 provides signal SYNC-- TO-- UP.
It is worth noting that ASIC I/O pad 90 is just one pad that may be coupled to drcuit node 92 which may supply a signal to microprocessor core 12 that needs to be synchronized. Further, a signal from ASIC cell block 16 via signal SIG-- FROM-- ASIC may also be synchronized with the clock of microprocessor core 12. This is accomplished in that when the voltage level appearing at circuit 92 is a logic low which subsequently allows the output of buffer 98 to be a logic low. This logic low level will then be synchronized with the microprocessor dock (CLOCK-- UP) via flip- flops 100 and 104 thereby providing synchronous signals to microprocessor core 12 and ASIC cell block 16 via signals SYNC-- TO-- UP and SYNC-- TO-- ASIC. It is understood that since circuit node 92 may be responsive to a plurality of signals that must be synchronized to the microprocessor clock, resistor 95 along with the input of buffer 98 form an open drain wired-OR gate.
A truth table for the circuit shown in FIG. 4 is not necessary since signals AISC-- EN and CP-- EN are of the only concern. Thus, in mode 0, ICL circuit 14 is in the in circuit test and ASIC I/O pad 90 is tri-stated. In mode 1 microprocessor core 12 is being tested and the supported data path is from ASIC I/O pad 90 through buffer 98 and flip- flops 100 and 104 to provide signals to microprocessor core 12 and ASIC cell block 16. In addition, during mode 2 or 3 which are respectively the ASIC test mode or the application mode, the supported data path is from ASIC I/O pad 90 through buffer 98 and flip- flops 100 and 104 to provide signals to both microprocessor core 12 and ASIC cell block 16. Additionally, another supported path is from ASIC cell block 16 via signal SIG-- FROM-- ASIC through NOR gate 94 thereby allowing tri-state buffer 96 to provide a logic low at circuit node 92 when signal ASIC-- ENB (the inversion of ASIC-- EN) is a logic low.
Referring to FIG. 6, a portion of interface control logic circuit 14 for synchronizing input signals (such as DTACKB) which is input to the microprocessor core 12 and must be synchronized to the internal clock of microprocessor core 12 is shown. The components shown in FIG. 6 which are identical to components shown in FIG. 5 are identified by the same reference numbers. The circuit in FIG. 6 further includes multiplexor 101 (coupled between flip- flops 100 and 104. Multiplexor 101 has a first input coupled to receive signal Y-- IN (from ASIC cell block 16) and a second input coupled to the output of flip-flop 100. The output of multiplexor 101 is coupled to the data input of flip-flop 104. Finally, the select input of multiplexor 101 is coupled to receive signal SEL which is generated from ASIC cell block 16.
The operation of FIG. 6 is similar to the operation of the circuit shown in FIG. 5 except that multiplexor 101 now provides for early recognition (of 1/2 of a clock cycle plus the data path delay of buffer 98 and either pad 90 of OR gate 94) of a data acknowledgement signal (DTACKB) via signal Y-- IN which is generated by ASIC cell block 16.
Referring to FIG. 7, a portion of ICL circuit 14 for tri-state outputs (such as ASB, UDSB and LDSB) of microprocessor core 12 is shown. It is understood that components shown in FIG. 7 which perform the same function as those shown in FIG. 2 are identified by the same reference numbers. Further, the circuit shown in FIG. 7 further includes OR gate 120 having a first input coupled to the output of buffer 58 and a second input coupled to receive signal CTRL-- SIG. Finally, the output of OR gate 120 provides signal SIG-- TO-- ASIC to ASIC cell block 16.
The operation of the circuit shown in FIG. 7 is identical to the circuit shown in FIG. 2 with exception that OR gate 120 allows gated control of signal SIG-- TO-- ASIC before being sent to ASIC cell block 16. The addition of OR gate 120 allows signal SIG-- TO-- ASIC to be forced inactive during test mode of microprocessor core 12 thereby preventing false starting cycles within ASIC cell block 16. Further, the truth table for FIG. 7 is identical to the truth table for FIG. 2 as illustrated in table 2.
Referring to FIG. 8, a portion of interface control logic circuit 14 for an open drain input (such as BRB) of microprocessor core 12 is shown. Components 130, 132, 134, 136, 138, 140, 142, 144, 145 and 146 perform an identical function as components 90, 96, 94, 95, 98, 102, 100, 104, 106 and 108, respectively of FIG. 5. In addition, the circuit of FIG. 8 includes flip- flops 148 and 150 and AND gate 152 for forcing signal SYNC-- TO-- UP to a logic low during ASIC test mode (mode 2).
Referring to FIG. 9, a portion of ICL circuit 14 for inputs such as IPLB0, IPL1B and IPL2B of microprocessor core 12 is shown. Further, table 4 shows the mode and control signals of ICL circuit 14 for the circuit shown in FIG. 9.
                                  TABLE 4                                 
__________________________________________________________________________
Mode and control signals of ICL circuit 14 for                            
microprocessor core 12 inputs IPL0B, IPL1B and IBL2B.                     
ASIC.sub.-- EN                                                            
       CP.sub.-- EN                                                       
            ASIC.sub.-- MAS                                               
                    ASIC.sub.-- WR                                        
                          SELECT                                          
                                PAD.sub.-- EN                             
__________________________________________________________________________
0      0    X       X     0     0                                         
0      1    X       X     0     0                                         
1      X    0       0     0     0                                         
1      X    0       1     0     1                                         
1      X    1       0     1     0                                         
1      X    1       1     1     1                                         
__________________________________________________________________________
Briefly, the circuit shown in FIG. 9 provides synchronous signals to microprocessor core 12 and ASIC cell block 16 via signals SYNC-- TO-- UP and SYNC-- TO-- ASIC. This is done in a similar manner as aforedescribed for the circuit shown in FIG. 5 by utilizing flip- flops 161 and 162 and inverters 163 and 164 thereby corresponding to flip- flops 100 and 104 of FIG. 5 and inverters 106 and 108 of FIG. 5. Further, the signal to be synchronized can come from an external source via pad 166, or from an ASIC signal via signal SIG-- FROM-- ASIC via tri-state buffer 168. Additionally, a signal can be sent directly from the ASIC via signal IPLB-- FROM-- ASIC-- DIRECT via the second input of multiplexor 169. This may be used for example when the ASIC generates an interrupt. Also, a non-synchronized signal (signal SIG-- TO-- ASIC) may be sent to ASIC cell block 16 via buffer 165. Further, logic circuit 170 is shown for providing signals SELECT and PAD-- EN.
Referring to FIG. 10, a portion of ICL circuit 14 for microprocessor core 12 I/O signals such as RESETB and HALTB is shown. The circuit in FIG. 10 includes logic circuit 172 having inputs responsive to signals from microprocessor core 12 (signal SIG-- FROM-- UP) and from ASIC cell block 16 (SIG-- FROM-- ASIC). Logic circuit 172 also has inputs coupled to receive signals ASIC-- EN and CP-- EN. The output of logic circuit 172 supplies signal PAD-- EN to the gate of transistor 174 via buffer 175.
The drain of transistor 174 is coupled to ASIC I/O pad 177 and to the input of buffer 178. The source and substrate of transistor 174 is returned to ground. The input of buffer 178 is also coupled to operating potential VCC via resistor 179.
The output of buffer 178 provides a signal to ASIC cell block 16 (SIG-- TO-- ASIC) and a gated signal (GATED-- SIG-- TO-- ASIC) to ASIC cell block 16 by way of OR gate 180. Signal GATED-- SIG-- TO-- ASIC is gated in the sense that the output of buffer 178 is OR'ed with signal ASIC-- EN .
The output signal of buffer 178 is also synchronized with microprocessor core 12 by flip- flops 182 and 183 and inverter 184 (in a similar manner as aforedescribed for the circuit shown in FIG. 5) in order to provide synchronized signal SYNC-- TO-- UP to microprocessor core 12.
Referring to table 5, the mode and control signals of ICL circuit 14 for the RESET and HALTB pins of microprocessor core 12 are shown.
              TABLE 5                                                     
______________________________________                                    
The Mode and control signals of ICL 14 for the                            
RESETB and HALTB pins of microprocessor core 12.                          
ASIC.sub.-- EN                                                            
        CPI.sub.-- EN                                                     
                 MODE     PAD.sub.-- EN                                   
______________________________________                                    
0       0        0        0                                               
0       1        1        Follow SIG.sub.-- FROM.sub.-- UP                
1       0        2        Follow SIG.sub.-- FROM.sub.-- ASIC              
1       1        3        WIRED OR of                                     
                          SIG.sub.-- FROM.sub.-- UP and                   
                          SIG.sub.-- FROM.sub.-- ASIC                     
______________________________________                                    
Briefly, RESETB and HALTB can be generated off-chip or by microprocessor core 12. Signal GATED-- SIG-- TO-- ASIC is gated with signal ASIC-- EN which forces signal GATED-- SIG-- TO-- ASIC to a logic low during modes 0 and 1. Signal SIG-- TO-- ASIC is not gated and follows the signal appearing at I/O pad 177. Further, flip- flops 182 and 183 provide a synchronized signal to microprocessor core 12 in a similar manner as aforedescribed for the circuit of FIG. 5.
Referring to FIG. 11, a portion of ICL circuit 14 for the mode pin of microprocessor core 12 is shown. Briefly, the mode pin selects between 8 or 16 bit operation. If the mode pin is tied high, microprocessor core 12 will be in a 16 bit mode, and if the mode pin is tied low, microprocessor core 12 will be in an 8 bit mode. However, whenever the mode is changed, microprocessor core 12 must go through a reset sequence. In the application mode, signal MODE-- FROM-- ASIC controls the mode pin to microprocessor core 12. Typically, the mode pin is tied high or low, however, if the customers wants a dynamic access to the mode pin at the pad, the customer must connect signal MODE-- TO-- ASIC to signal MODE-- FROM-- ASIC to allow pad control in the application mode.
The circuit shown in FIG. 11 includes ASIC I/O pad 191 being coupled to the first input of multiplexer 193 via buffer 195. The second input of multiplexer of 193 is coupled to receive signal MODE-- FROM-- ASIC, while the select input of multiplexer 193 is coupled to an output of logic circuit 197. Tri-state buffer 199 has an input coupled to receive signal MODE-- TO-- PAD and an output coupled to ASIC I/O pad 191. It is understood that buffers 199 and 195 may be incorporated into I/O pad 191 as aforedescribed for other similar ASIC I/O pads. The control input of tri-state buffer 199 is coupled to receive signal PAD-- EN from logic circuit 197. Further, logic circuit 197 has inputs for receiving signals ASIC-- EN and CP-- EN. Also, the output of buffer 195 supplies a signal MODE-- TO-- ASIC via buffer 201.
Referring to table 6, the mode and control signals of ICL circuit 14 for the mode pin of microprocessor core 12 is shown.
                                  TABLE 6                                 
__________________________________________________________________________
Mode and control signals of ICL circuit 14 for                            
the MODE pin of microprocessor core 12.                                   
ASIC.sub.-- EN                                                            
       CP.sub.-- EN                                                       
            ASIC.sub.-- MAS                                               
                    ASIC.sub.-- WR                                        
                          SELECT                                          
                                PAD.sub.-- EN                             
__________________________________________________________________________
0      0    0       x     0     0                                         
0      1    1       x     0     0                                         
1      x    2,3     0     1     0                                         
1      x    2,3     1     1     1                                         
__________________________________________________________________________
During modes 0 and 1, the supported data path is from ASIC I/O pad 191 through buffers 195 and 201 to provide signal MODE-- TO-- ASIC and through buffer 195 through multiplexer 193 to provide signal MODE-- TO-- UP.
In the ASIC test mode or the application mode, signal SELECT is a logic high. Further, when signal PAD-- EN is a logic low, the supported data path is from I/O pad 191 through buffers 195 and 201 to provide signal MODE-- TO-- ASIC wherein the mode of microprocessor core 12 is controlled by signal MODE-- FROM-- ASIC. It is worth noting that in this configuration ASIC I/O pad 191 may be redefined as an ASIC input
However, if pad ENABLE is a logic 1, the supported data path is from signal MODE-- TO-- PAD through tri-state buffer 199 to ASIC I/O pad 191 wherein again the mode of microprocessor core 12 is controlled by signal MODE-- FROM-- ASIC. It is worth noting that in this configuration ASIC I/O pad 191 may be redefined as an ASIC output.
Referring to FIG. 12, a portion of ICL circuit 14 for the test mode pin of microprocessor core 12 is shown. The circuit shown in FIG. 12 includes ASIC I/O pad 210 being coupled to a first input of OR gate 212 via buffer 214. The second input of OR gate 212 is coupled to receive signal ASIC-- ENB, while the output of OR gate 212 provides signal UPTEST-- TO-- UP. Tri-state buffer 216 has an input coupled to receive signal UPTEST-- TO-- PAD and an output coupled to ASIC I/O pad 210. The control input of tri-state buffer 216 is coupled to receive signal PAD-- EN from logic circuit 218 wherein logic circuit 218 is responsive to input signals ASIC-- EN, CP-- EN and ASIC-- WR. Also, the output of buffer 214 is coupled to provide signal UPTEST-- TO-- ASIC via buffer 220.
Referring to table 7, the mode and control Signals of ICL circuit 14 for the test mode pin of microprocessor core 12 is shown.
              TABLE 7                                                     
______________________________________                                    
Mode and control signals of ICL circuit 14 for                            
the test MODE pin of microprocessor core 12.                              
ASIC.sub.-- EN                                                            
         CP.sub.-- EN                                                     
                  MODE      ASIC.sub.-- WR                                
                                    PAD.sub.-- EN                         
______________________________________                                    
0        0        0         X       0                                     
0        1        1         X       0                                     
1        X        2,3       0       0                                     
1        X        2,3       1       1                                     
______________________________________                                    
In mode 0, ASIC I/O pad 210 is in a tri-state condition. In mode 1, signal PAD-- EN is a logic low and the supported data path is from ASIC I/O pad 210 through buffer 214 and OR gate 212 to provide signal UPTEST-- TO-- UP to microprocessor core 12, and also through buffer 220 to provide signal UPTEST-- TO-- ASIC to ASIC cell block 16.
In modes 2 and 3, signals ASIC-- WR and PAD-- EN are both either a logic low or a logic high. When both signals are a logic low, signal UPTEST-- TO-- UP is a logic low since signal ASIC-- EN is a logic high. Further, in this configuration ASIC I/O pad 210 may be redefined as an ASIC input. In this configuration the supported data path is from ASIC I/O pad 210 through buffers 214 and 220 to provide Signal UPTEST-- TO-- ASIC.
However, when signals ASIC-- WR and PAD-- EN are a logic high, signal UPTEST-- TO-- UP is again a logic low, but ASIC I/O pin 210 may be redefined as an ASIC output because signal ASIC-- WR is a logic high. In this configuration, the supported data path is from signal UPTEST-- TO-- PAD which is a signal from ASIC cell block 16 through tristate buffer 216 to ASIC I/O pad 210.
Referring to FIG. 13, a portion of ICL circuit 14 for the dock pin of microprocessor core 12 is shown. In general, the clock pin supplies the clock signal to microprocessor core 12. This same clock is also provided to ASIC cell block 16 via signal CLK-- TO-- ASIC and to ICL circuit 14 via signal CLK-- ICL.
The circuit in FIG. 13 includes ASIC I/O pad 230 which is coupled to the first input of multiplexor 231 via buffer 232. The second input of multiplexer 231 is coupled to receive a clock signal from ASIC cell block 16 as denoted by signal CLK-- FROM-- ASIC. The select input of multiplexer 231 is coupled to the output of NAND gate 233 the latter having inputs for receiving signals ASIC-- EN and CLKSL (a clock select signal). The output of multiplexer 231 provides a dock signal to ICL circuit 14 (signal CLK-- ICL) via buffer 234. The output of multiplexer 231 also provides a clock signal to ASIC cell block 16 (signal CLK-- TO-- ASIC) via buffer 237 and as denoted by signal CLOCK-- TO-- ASIC. In addition, the output of multiplexer 231 provides a dock signal to microprocessor core 12 as denoted by signal CLK-- TO-- UP.
Multiplexer 231 allows a clock signal to microprocessor core 12 to be provided by ASIC cell block 16 via signal CLOCK-- FROM-- ASIC or from ASIC I/O pad 230. If ASIC cell block 16 is to supply the clock to microprocessor core 12, signal CLKSL should be tied high, otherwise it should be tied low. Further, signal ASIC-- EN is low during mode 1 and forces the external clock pin to be used to test microprocessor core 12.
By now it should be apparent from the foregoing discussion that a novel circuit has been provided that allows for a flexible three-way interface between a microprocessor, an ASIC cell block, and the external world wherein the microprocessor and the ASIC cell block are fabricated within a gate array. The novel circuit provides an interface circuit for each I/O pin of the microprocessor to allow it to readily interface with the customer designed ASIC cell block or external devices via the ASIC I/O pads. The novel circuit also allows isolated testing of only the microprocessor, of only the ASIC cell block, or of both the microprocessor and the ASIC cell block.
The microprocessor is fully diffused and fixed-placed within the gate array while the interface circuit is fixed placed therein. Further, the ASIC cell block may be utilized by a customer to design a circuit to perform a customer defined function. Further, this customer designed gate array will readily interface with the microprocessor and the outside world via the novel interface circuit.
While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alterations, modifications and variations will be apparent to those skilled in the art in light of the forgoing description. Accordingly, it is intended to embrace all such alterations, modifications and variations in the appended claims.

Claims (11)

We claim:
1. A logic circuit for providing a flexible interface between a microprocessor, an ASIC cell block and the external world, the microprocessor circuit and the ASIC cell block being located within a gate array where the microprocessor circuit is fully diffused and fixed-placed within the gate array, the logic circuit comprising a plurality of circuits for providing an interface between a plurality of microprocessor I/O pads to the ASIC cell block and to the external world, said logic circuit being fixed-placed within the gate array, said ASIC cell block being utilized to provide customer defined predetermined functions.
2. A gate array having a plurality of I/O pads, comprising:
a microprocessor circuit having a plurality of microprocessor I/O pads and being fully diffused and fixed-placed within the gate array;
an ASIC cell block for providing customer defined predetermined functions; and
an interface circuit for providing a flexible interface between said microprocessor I/O pads of said microprocessor circuit, said ASIC cell block and the plurality of I/O pads of the gate array, said interface circuit being fixed-placed within the gate array.
3. The gate array according to claim 2 further including bus mastership signals such that a portion of the plurality of I/O pads which correspond to said plurality of microprocessor pads may be redefined as inputs or outputs of the gate array.
4. The gate array according to claim 2 wherein said interface circuit utilizes cells from said ASIC cell block.
5. The gate array according to claim 2 further including first means for actively pulling outputs of said microprocessor circuit to a predetermined logic level, said first means including a tri-state buffer having an input, an output and a control input, said input of said tri-state buffer being coupled to receive a power down signal, said output of said tristate buffer being coupled to an output of said microprocessor circuit, and said control input of said tri-state buffer being coupled to receive a tri-state control signal from said microprocessor circuit.
6. The gate array according to claim 5 further including second means for actively pulling inputs of said microprocessor circuit to a predetermined logic level, said second means including an AND gate having first and second inputs and an output, said first input of said AND gate being coupled to receive said power down signal, said second input of said AND gate being coupled to receive a signal from said ASIC cell block, said output of said AND gate being coupled to an input of said microprocessor circuit.
7. The gate array circuit according to claim 2 wherein said interface circuit includes a first circuit for providing an interface for a tri-state output of said microprocessor circuit, said first circuit including:
a multiplexer circuit having first and second inputs, a select input and an output, said first input being coupled to receive a signal from said microprocessor circuit, said second input being coupled to receive a signal from said ASIC cell block;
a logic circuit being responsive to a plurality of control signals for providing first and second output signals, said first output signal of said logic circuit being provided to said select input of said multiplexer circuit;
a tri-state buffer having a input and an output and a control input, said input of said tri-state buffer being coupled to said output of said multiplexer, said control input of said tri-state buffer being coupled to receive said second signal of said logic circuit, said output of said tri-state buffer being coupled to one of the plurality of IO pads of the gate array; and
a buffer circuit having an input coupled to said output of said tri-state buffer and an output for providing a signal to said ASIC cell block.
8. The gate array circuit according to claim 2 wherein said interface circuit includes a first circuit for providing an interface for a bi-directional output of said microprocessor circuit, said first circuit including;
a multiplexer having first and second inputs, a select input and an output, said first input of said multiplexer being coupled to receive a signal from said microprocessor circuit, said second input of said multiplexer being coupled to receive a signal from said ASIC cell block;
a logic circuit responsive to a plurality of control signals for providing first and second output signals, said first output signal being provided to said select input of said multiplexer;
a first tri-state buffer having an input, an output and a control input, said input of said first tri-state buffer being coupled to said output of said multiplexer, said control input of said first tri-state buffer being coupled to receive said second output signal of said logic circuit, said output of said first tri-state buffer being coupled to one of the plurality of IO pads of the gate array;
a first buffer having an input and an output, said input of said first buffer being coupled to said output of said first tri-state buffer;
a second tri-state buffer having an input, and output and a control input, said input of said second tri-state buffer being coupled to said output of said first buffer, said output of said second tri-state buffer being coupled to provide a signal to said microprocessor circuit, and said control input of said second tri-state buffer being coupled to receive a tri-state signal from said microprocessor circuit; and
a second buffer having an input and an output, said input of said second buffer being coupled to said output of said first buffer, said output said second buffer being coupled to provide a signal to said ASIC cell block.
9. The gate array circuit according to claim 2 wherein said interface circuit includes a first circuit for providing an interface for synchronizing input signals to an internal clock of said microprocessor circuit, said first circuit including:
a first buffer having an input and an output, said input of said first buffer being responsive to a signal to be synchronized to the internal clock of said microprocessor circuit, said output of said first buffer providing an output signal to said ASIC cell block;
a first resistor having first and second terminals, said first terminal of said resistor being coupled to said input of said first buffer, said second terminal of said resistor being coupled to a first supply voltage terminal;
a first flip-flop circuit having a data input, a clock input and an output, said data input of said first flip-flop circuit being coupled to said output of said first buffer, said dock input of said first flip-flop circuit being coupled to receive the inversion of the internal clock signal of said microprocessor circuit;
a second flip-flop circuit having a data input, a clock input and first and second outputs, said data input of said second flip-flop circuit being coupled to said output of said first flip-flop circuit, said clock input of said second flip-flop circuit being coupled to receive the internal clock signal of said microprocessor circuit, said first and second outputs of said second flip-flop circuit respectively providing synchronized signals to said microprocessor circuit and said ASIC cell block.
10. The gate array circuit according to claim 9 further including a multiplexer being coupled between said first and second flip-flop circuits, said multiplexer having first and second inputs, a select input and an output, said first input of said multiplexer being coupled to receive a signal from said ASIC cell block, said second input of said multiplexer being coupled to said output of said first flip-flop circuit, said output of said multiplexer being coupled to said data input of said second flip-flop circuit, and said select input of said multiplexer being coupled to receive a control signal from said ASIC cell block.
11. The gate array circuit according to claim 2 further including signature logic means for testing said interface circuit when said microprocessor circuit is being tested.
US07/875,508 1992-04-29 1992-04-29 Interface control logic for embedding a microprocessor in a gate array Expired - Lifetime US5347181A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US07/875,508 US5347181A (en) 1992-04-29 1992-04-29 Interface control logic for embedding a microprocessor in a gate array
EP93105126A EP0567790B1 (en) 1992-04-29 1993-03-29 Interface control logic for embedding a microprocessor in a gate array
DE69325205T DE69325205T2 (en) 1992-04-29 1993-03-29 Interface control logic for embedding a microprocessor in a gate matrix
JP5107748A JPH0689990A (en) 1992-04-29 1993-04-09 Gate array
US08/135,637 US5304860A (en) 1992-04-29 1993-10-12 Method for powering down a microprocessor embedded within a gate array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/875,508 US5347181A (en) 1992-04-29 1992-04-29 Interface control logic for embedding a microprocessor in a gate array

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US08/135,637 Division US5304860A (en) 1992-04-29 1993-10-12 Method for powering down a microprocessor embedded within a gate array

Publications (1)

Publication Number Publication Date
US5347181A true US5347181A (en) 1994-09-13

Family

ID=25365931

Family Applications (2)

Application Number Title Priority Date Filing Date
US07/875,508 Expired - Lifetime US5347181A (en) 1992-04-29 1992-04-29 Interface control logic for embedding a microprocessor in a gate array
US08/135,637 Expired - Lifetime US5304860A (en) 1992-04-29 1993-10-12 Method for powering down a microprocessor embedded within a gate array

Family Applications After (1)

Application Number Title Priority Date Filing Date
US08/135,637 Expired - Lifetime US5304860A (en) 1992-04-29 1993-10-12 Method for powering down a microprocessor embedded within a gate array

Country Status (4)

Country Link
US (2) US5347181A (en)
EP (1) EP0567790B1 (en)
JP (1) JPH0689990A (en)
DE (1) DE69325205T2 (en)

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5399926A (en) * 1993-12-30 1995-03-21 Honeywell Inc. Connected processing systems including mutual power off and signal path disconnect detection
US5724502A (en) * 1995-08-07 1998-03-03 International Business Machines Corporation Test mode matrix circuit for an embedded microprocessor core
US5737235A (en) * 1995-05-02 1998-04-07 Xilinx Inc FPGA with parallel and serial user interfaces
US6014729A (en) * 1997-09-29 2000-01-11 Firstpass, Inc. Shared memory arbitration apparatus and method
US6122747A (en) * 1997-09-05 2000-09-19 First Pass Inc. Intelligent subsystem interface for modular hardware system
US6414513B1 (en) 2000-10-03 2002-07-02 International Business Machines Corporation Customized system-readable hardware/firmware integrated circuit version information
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US20030020082A1 (en) * 2001-07-25 2003-01-30 Motorola, Inc. Structure and method for fabricating semiconductor structures and devices for optical switching
US20030062922A1 (en) * 2001-09-28 2003-04-03 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US6754882B1 (en) 2002-02-22 2004-06-22 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US6772405B1 (en) 2002-06-13 2004-08-03 Xilinx, Inc. Insertable block tile for interconnecting to a device embedded in an integrated circuit
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US6781407B2 (en) 2002-01-09 2004-08-24 Xilinx, Inc. FPGA and embedded circuitry initialization and processing
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6799195B1 (en) 1996-08-20 2004-09-28 Invensys Systems, Inc. Method and apparatus for remote process control using applets
US6803785B1 (en) * 2000-06-12 2004-10-12 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6820248B1 (en) 2002-02-14 2004-11-16 Xilinx, Inc. Method and apparatus for routing interconnects to devices with dissimilar pitches
US6839874B1 (en) 2002-02-28 2005-01-04 Xilinx, Inc. Method and apparatus for testing an embedded device
US20050040850A1 (en) * 2001-09-28 2005-02-24 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US20050058186A1 (en) * 2003-09-11 2005-03-17 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US6886092B1 (en) 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US6934922B1 (en) 2002-02-27 2005-08-23 Xilinx, Inc. Timing performance analysis
US6961919B1 (en) 2002-03-04 2005-11-01 Xilinx, Inc. Method of designing integrated circuit having both configurable and fixed logic circuitry
US6973405B1 (en) 2002-05-22 2005-12-06 Xilinx, Inc. Programmable interactive verification agent
US6976160B1 (en) 2002-02-22 2005-12-13 Xilinx, Inc. Method and system for controlling default values of flip-flops in PGA/ASIC-based designs
US6983405B1 (en) 2001-11-16 2006-01-03 Xilinx, Inc., Method and apparatus for testing circuitry embedded within a field programmable gate array
US6996758B1 (en) 2001-11-16 2006-02-07 Xilinx, Inc. Apparatus for testing an interconnecting logic fabric
US7007121B1 (en) 2002-02-27 2006-02-28 Xilinx, Inc. Method and apparatus for synchronized buses
US7058920B2 (en) 2001-05-06 2006-06-06 Altera Corporation Methods for designing PLD architectures for flexible placement of IP function blocks
US7076595B1 (en) 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US7085973B1 (en) 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
US7088767B1 (en) 2002-03-01 2006-08-08 Xilinx, Inc. Method and apparatus for operating a transceiver in different data rates
US7092865B1 (en) 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
US7099426B1 (en) 2002-09-03 2006-08-29 Xilinx, Inc. Flexible channel bonding and clock correction operations on a multi-block data path
US7111220B1 (en) 2002-03-01 2006-09-19 Xilinx, Inc. Network physical layer with embedded multi-standard CRC generator
US7111217B1 (en) 2002-02-28 2006-09-19 Xilinx, Inc. Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC)
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US7389487B1 (en) * 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7778717B2 (en) 2002-04-15 2010-08-17 Invensys Systems, Inc. Component object model communication method for a control system
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US7890927B2 (en) 1999-05-17 2011-02-15 Invensys Systems, Inc. Apparatus and method for configuring and editing a control system with live data
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8368640B2 (en) 1999-05-17 2013-02-05 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432464A (en) * 1993-09-29 1995-07-11 Societe D'applications Generales D'electricite Et De Mecanique Sagem Application specific integrated circuit including a microprocessor for customized functions as defined by the user
GB9607528D0 (en) * 1996-04-11 1996-06-12 Int Computers Ltd Integrated circuit processor
JP2002525751A (en) * 1998-09-23 2002-08-13 インフィネオン テクノロジース アクチエンゲゼルシャフト Unit controlled by programming
US6434689B2 (en) 1998-11-09 2002-08-13 Infineon Technologies North America Corp. Data processing unit with interface for sharing registers by a processor and a coprocessor

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4634426A (en) * 1984-12-11 1987-01-06 Baxter Travenol Laboratories Medical infusion controller and user interface
US4809029A (en) * 1982-04-23 1989-02-28 Fujitsu Limited Gate array large scale integrated circuit device
US4987578A (en) * 1988-10-07 1991-01-22 Advanced Micro Devices, Inc. Mask programmable bus control gate array
US5024004A (en) * 1990-03-07 1991-06-18 W. R. Grace & Co.-Conn. Radio frequency air float bar
US5124942A (en) * 1988-09-28 1992-06-23 Solatrol, Inc. Machine interface with cyclically displayed hierarchical menus and user selection of menu items by actuation of a single switch
US5134314A (en) * 1990-12-18 1992-07-28 Vlsi Technology, Inc. Automatic pin circuitry shutoff for an integrated circuit
US5187797A (en) * 1988-09-28 1993-02-16 Solatrol, Inc. Machine interface system with hierarchal menus allowing user sequencing and selection of menu items by actuation of three switches

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0789580B2 (en) * 1985-05-13 1995-09-27 セイコーエプソン株式会社 One-chip micro computer
JPS6297347A (en) * 1985-10-24 1987-05-06 Seiko Epson Corp One chip microcomputer having gate array
US4801820A (en) * 1986-05-02 1989-01-31 Motorola, Inc. LSI array having power down capability
JPS6488264A (en) * 1987-09-30 1989-04-03 Toshiba Corp In-circuit tester
JPH0197016A (en) * 1987-10-09 1989-04-14 Fujitsu Ltd Semiconductor integrated circuit device
US4999519A (en) * 1987-12-04 1991-03-12 Hitachi Vlsi Engineering Corporation Semiconductor circuit with low power consumption having emitter-coupled logic or differential amplifier
JPH01163684A (en) * 1987-12-21 1989-06-27 Hitachi Ltd Diagnostic system for logic circuit board
JPH02164051A (en) * 1988-12-19 1990-06-25 Hitachi Ltd Semiconductor device
JPH0346351A (en) * 1989-07-14 1991-02-27 Mitsubishi Electric Corp Semiconductor integrated circuit device
DE69031257T2 (en) * 1989-09-21 1998-02-12 Texas Instruments Inc Integrated circuit with an embedded digital signal processor
US5111079A (en) * 1990-06-29 1992-05-05 Sgs-Thomson Microelectronics, Inc. Power reduction circuit for programmable logic device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809029A (en) * 1982-04-23 1989-02-28 Fujitsu Limited Gate array large scale integrated circuit device
US4634426A (en) * 1984-12-11 1987-01-06 Baxter Travenol Laboratories Medical infusion controller and user interface
US5124942A (en) * 1988-09-28 1992-06-23 Solatrol, Inc. Machine interface with cyclically displayed hierarchical menus and user selection of menu items by actuation of a single switch
US5187797A (en) * 1988-09-28 1993-02-16 Solatrol, Inc. Machine interface system with hierarchal menus allowing user sequencing and selection of menu items by actuation of three switches
US4987578A (en) * 1988-10-07 1991-01-22 Advanced Micro Devices, Inc. Mask programmable bus control gate array
US5024004A (en) * 1990-03-07 1991-06-18 W. R. Grace & Co.-Conn. Radio frequency air float bar
US5134314A (en) * 1990-12-18 1992-07-28 Vlsi Technology, Inc. Automatic pin circuitry shutoff for an integrated circuit

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5399926A (en) * 1993-12-30 1995-03-21 Honeywell Inc. Connected processing systems including mutual power off and signal path disconnect detection
US5737235A (en) * 1995-05-02 1998-04-07 Xilinx Inc FPGA with parallel and serial user interfaces
US5954824A (en) * 1995-08-07 1999-09-21 International Business Machines Corporation Test mode matrix circuit for an embedded microprocessor core
US5724502A (en) * 1995-08-07 1998-03-03 International Business Machines Corporation Test mode matrix circuit for an embedded microprocessor core
US7720944B2 (en) 1996-08-20 2010-05-18 Invensys Systems, Inc. Process control system with networked digital data processors and a virtual machine environment
US6799195B1 (en) 1996-08-20 2004-09-28 Invensys Systems, Inc. Method and apparatus for remote process control using applets
US7979488B2 (en) 1996-08-20 2011-07-12 Invensys Systems, Inc. Control system methods using value-based transfers
US8081584B2 (en) 1996-08-20 2011-12-20 Invensys Systems, Inc. Control system apparatus and systems using value-based transfers
US8023500B2 (en) 1996-08-20 2011-09-20 Invensys Systems, Inc. Methods for process control with change updates
US7899070B2 (en) 1996-08-20 2011-03-01 Invensys Systems, Inc. Control system apparatus with change updates
US7739361B2 (en) 1996-08-20 2010-06-15 Thibault Richard L Methods for remote process control with networked digital data processors and a virtual machine environment
US7882197B2 (en) 1996-08-20 2011-02-01 Invensys Systems, Inc. Control system methods that transfer control apparatus information over IP networks in web page-less transfers
US6122747A (en) * 1997-09-05 2000-09-19 First Pass Inc. Intelligent subsystem interface for modular hardware system
US6014729A (en) * 1997-09-29 2000-01-11 Firstpass, Inc. Shared memory arbitration apparatus and method
US8990757B2 (en) 1998-04-28 2015-03-24 Microsemi SoC Corporation Dedicated interface architecture for a hybrid integrated circuit
US7389487B1 (en) * 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US8028272B2 (en) 1999-05-17 2011-09-27 Invensys Systems, Inc. Control system configurator and methods with edit selection
US7890927B2 (en) 1999-05-17 2011-02-15 Invensys Systems, Inc. Apparatus and method for configuring and editing a control system with live data
US7984420B2 (en) 1999-05-17 2011-07-19 Invensys Systems, Inc. Control systems and methods with composite blocks
US8229579B2 (en) 1999-05-17 2012-07-24 Invensys Systems, Inc. Control systems and methods with versioning
US8368640B2 (en) 1999-05-17 2013-02-05 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US8225271B2 (en) 1999-05-17 2012-07-17 Invensys Systems, Inc. Apparatus for control systems with objects that are associated with live data
US8060222B2 (en) 1999-05-17 2011-11-15 Invensys Systems, Inc. Control system configurator and methods with object characteristic swapping
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US8028275B2 (en) 1999-05-17 2011-09-27 Invensys Systems, Inc. Control systems and methods with smart blocks
US8090452B2 (en) 1999-06-11 2012-01-03 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US7020532B2 (en) 1999-06-11 2006-03-28 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US7446561B2 (en) 2000-06-12 2008-11-04 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6803785B1 (en) * 2000-06-12 2004-10-12 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US20060186917A1 (en) * 2000-06-12 2006-08-24 Altera Corporation, A Corporation Of Delaware I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6980024B1 (en) 2000-06-12 2005-12-27 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6414513B1 (en) 2000-10-03 2002-07-02 International Business Machines Corporation Customized system-readable hardware/firmware integrated circuit version information
US8407649B2 (en) 2001-05-06 2013-03-26 Altera Corporation PLD architecture for flexible placement of IP function blocks
US7058920B2 (en) 2001-05-06 2006-06-06 Altera Corporation Methods for designing PLD architectures for flexible placement of IP function blocks
US8201129B2 (en) 2001-05-06 2012-06-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
US7584447B2 (en) 2001-05-06 2009-09-01 Altera Corporation PLD architecture for flexible placement of IP function blocks
US8732646B2 (en) 2001-05-06 2014-05-20 Altera Corporation PLD architecture for flexible placement of IP function blocks
US9094014B2 (en) 2001-05-06 2015-07-28 Altera Corporation PLD architecture for flexible placement of IP function blocks
US7266632B2 (en) 2001-05-18 2007-09-04 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US20070255886A1 (en) * 2001-05-18 2007-11-01 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US7076595B1 (en) 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US20060236018A1 (en) * 2001-05-18 2006-10-19 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US7406557B2 (en) 2001-05-18 2008-07-29 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US20030020082A1 (en) * 2001-07-25 2003-01-30 Motorola, Inc. Structure and method for fabricating semiconductor structures and devices for optical switching
US20030062922A1 (en) * 2001-09-28 2003-04-03 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US20050040850A1 (en) * 2001-09-28 2005-02-24 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US7420392B2 (en) 2001-09-28 2008-09-02 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US6798239B2 (en) 2001-09-28 2004-09-28 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US6983405B1 (en) 2001-11-16 2006-01-03 Xilinx, Inc., Method and apparatus for testing circuitry embedded within a field programmable gate array
US7080300B1 (en) 2001-11-16 2006-07-18 Xilinx, Inc. Testing a programmable logic device with embedded fixed logic using a scan chain
US6996758B1 (en) 2001-11-16 2006-02-07 Xilinx, Inc. Apparatus for testing an interconnecting logic fabric
US7194600B2 (en) 2001-11-19 2007-03-20 Xilinx, Inc. Method and apparatus for processing data with a programmable gate array using fixed and programmable processors
US20050149695A1 (en) * 2001-11-19 2005-07-07 Xilinx, Inc. Method and apparatus for processing data within a programmable gate array using fixed and programmable processors
US6886092B1 (en) 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US7539848B1 (en) 2001-11-19 2009-05-26 Xilinx, Inc. Configurable logic fabric including two fixed logic processors with individual interface to receive availability signal from custom operation code configured processor
US6781407B2 (en) 2002-01-09 2004-08-24 Xilinx, Inc. FPGA and embedded circuitry initialization and processing
US6820248B1 (en) 2002-02-14 2004-11-16 Xilinx, Inc. Method and apparatus for routing interconnects to devices with dissimilar pitches
US6996796B2 (en) 2002-02-22 2006-02-07 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US6754882B1 (en) 2002-02-22 2004-06-22 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US7552415B2 (en) 2002-02-22 2009-06-23 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US6976160B1 (en) 2002-02-22 2005-12-13 Xilinx, Inc. Method and system for controlling default values of flip-flops in PGA/ASIC-based designs
US20040225992A1 (en) * 2002-02-22 2004-11-11 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US7254794B1 (en) 2002-02-27 2007-08-07 Xilinx, Inc. Timing performance analysis
US6934922B1 (en) 2002-02-27 2005-08-23 Xilinx, Inc. Timing performance analysis
US7007121B1 (en) 2002-02-27 2006-02-28 Xilinx, Inc. Method and apparatus for synchronized buses
US6839874B1 (en) 2002-02-28 2005-01-04 Xilinx, Inc. Method and apparatus for testing an embedded device
US7111217B1 (en) 2002-02-28 2006-09-19 Xilinx, Inc. Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC)
US7111220B1 (en) 2002-03-01 2006-09-19 Xilinx, Inc. Network physical layer with embedded multi-standard CRC generator
US7088767B1 (en) 2002-03-01 2006-08-08 Xilinx, Inc. Method and apparatus for operating a transceiver in different data rates
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US6961919B1 (en) 2002-03-04 2005-11-01 Xilinx, Inc. Method of designing integrated circuit having both configurable and fixed logic circuitry
US7778717B2 (en) 2002-04-15 2010-08-17 Invensys Systems, Inc. Component object model communication method for a control system
US6973405B1 (en) 2002-05-22 2005-12-06 Xilinx, Inc. Programmable interactive verification agent
US6772405B1 (en) 2002-06-13 2004-08-03 Xilinx, Inc. Insertable block tile for interconnecting to a device embedded in an integrated circuit
US7526689B1 (en) 2002-07-09 2009-04-28 Xilinx, Inc. Testing address lines of a memory controller
US7085973B1 (en) 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
US7099426B1 (en) 2002-09-03 2006-08-29 Xilinx, Inc. Flexible channel bonding and clock correction operations on a multi-block data path
US7092865B1 (en) 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
US7379855B1 (en) 2002-09-10 2008-05-27 Xilinx, Inc. Method and apparatus for timing modeling
US7421014B2 (en) 2003-09-11 2008-09-02 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US20050058186A1 (en) * 2003-09-11 2005-03-17 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking

Also Published As

Publication number Publication date
DE69325205D1 (en) 1999-07-15
EP0567790A3 (en) 1994-09-28
EP0567790B1 (en) 1999-06-09
EP0567790A2 (en) 1993-11-03
JPH0689990A (en) 1994-03-29
DE69325205T2 (en) 2000-01-20
US5304860A (en) 1994-04-19

Similar Documents

Publication Publication Date Title
US5347181A (en) Interface control logic for embedding a microprocessor in a gate array
US4493077A (en) Scan testable integrated circuit
US5254940A (en) Testable embedded microprocessor and method of testing same
US5481471A (en) Mixed signal integrated circuit architecture and test methodology
JP3433404B2 (en) Integrated circuit with test circuit and test method
US5870411A (en) Method and system for testing self-timed circuitry
US7792154B2 (en) Controlling asynchronous clock domains to perform synchronous operations
KR940025183A (en) Integrated circuit having pins that can be active-level disposed and method for placing the same
US6691268B1 (en) Method and apparatus for swapping state data with scan cells
JP2000502445A (en) JTAG high impedance test mode
US6928586B1 (en) Method and apparatus for saving peripheral device states of a microcontroller
US5887004A (en) Isolated scan paths
KR930011423B1 (en) Testing method, testing circuit and semiconductor integrated circuit having testing circuit
US6714051B2 (en) Logic circuitry-implemented bus buffer
KR100375252B1 (en) Data processing system
JP2816146B2 (en) Circuit operation test equipment
JP2906073B2 (en) LSI including DC test circuit
US6954879B1 (en) Method and apparatus for communicating configuration data for a peripheral device of a microcontroller via a scan path
US11757434B2 (en) High performance fast Mux-D scan flip-flop
US5912900A (en) Method and system for testing self-timed circuitry
KR100265148B1 (en) Method and device for isolating noise sensitive circuitry from switching current noise on semiconductor substrate
US5872796A (en) Method for interfacing boundary-scan circuitry with linearized impedance control type output drivers
US5341380A (en) Large-scale integrated circuit device
US4766593A (en) Monolithically integrated testable registers that cannot be directly addressed
US6219812B1 (en) Apparatus and method for interfacing boundary-scan circuitry with DTL output drivers

Legal Events

Date Code Title Description
AS Assignment

Owner name: MOTOROLA, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASHBY, LAURIN R.;STEININGER, FRANZ;REEL/FRAME:006559/0242;SIGNING DATES FROM 19930318 TO 19930413

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC.;REEL/FRAME:015698/0657

Effective date: 20040404

Owner name: FREESCALE SEMICONDUCTOR, INC.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC.;REEL/FRAME:015698/0657

Effective date: 20040404

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: CITIBANK, N.A. AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:FREESCALE SEMICONDUCTOR, INC.;FREESCALE ACQUISITION CORPORATION;FREESCALE ACQUISITION HOLDINGS CORP.;AND OTHERS;REEL/FRAME:018855/0129

Effective date: 20061201

Owner name: CITIBANK, N.A. AS COLLATERAL AGENT,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:FREESCALE SEMICONDUCTOR, INC.;FREESCALE ACQUISITION CORPORATION;FREESCALE ACQUISITION HOLDINGS CORP.;AND OTHERS;REEL/FRAME:018855/0129

Effective date: 20061201

AS Assignment

Owner name: CITIBANK, N.A., AS COLLATERAL AGENT,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001

Effective date: 20100413

Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001

Effective date: 20100413

AS Assignment

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0553

Effective date: 20151207

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0143

Effective date: 20151207

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037354/0225

Effective date: 20151207