Universal digital block interconnection and channel routing

Information

  • Patent Grant
  • 8482313
  • Patent Number
    8,482,313
  • Date Filed
    Monday, May 2, 2011
    13 years ago
  • Date Issued
    Tuesday, July 9, 2013
    11 years ago
Abstract
A programmable routing scheme provides improved connectivity both between Universal Digital Blocks (UDBs) and between the UDBs and other micro-controller elements, peripherals and external Inputs and Outputs (I/Os) in the same Integrated Circuit (IC). The routing scheme increases the number of functions, flexibility, and the overall routing efficiency for programmable architectures. The UDBs can be grouped in pairs and share associated horizontal routing channels. Bidirectional horizontal and vertical segmentation elements extend routing both horizontally and vertically between different UDB pairs and to the other peripherals and I/O.
Description
TECHNICAL FIELD

The present disclosure relates generally to programmable devices, and more particularly to a programmable interconnect matrix.


BACKGROUND

Field-programmable gate arrays (FPGAs) and Programmable Logic Devices (PLDs) have been used in data communication and telecommunication systems. Conventional PLDs and FPGAs consist of an array of programmable elements, with the elements programmed to implement a fixed function or equation. Some currently-available Complex PLD (CPLD) products comprise arrays of logic cells. Conventional PLD devices have several drawbacks, such as limited speed and limited data processing capabilities.


In developing complex integrated circuits, there is often a need for additional peripheral units, such as operational and instrument amplifiers, filters, timers, digital logic circuits, analog to digital and digital to analog converters, etc. As a general rule, implementation of these extra peripherals create additional difficulties: extra space for new components, additional attention during production of a printed circuit board, and increased power consumption. All of these factors can significantly affect the price and development cycle of the project.


The introduction of the Programmable System on Chip (PSoC) features digital and analog programmable blocks, which allow the implementation of a large number of peripherals. A programmable interconnect allows analog and digital blocks to be combined to form a wide variety of functional modules. The digital blocks consist of smaller programmable blocks and are configured to provide different digital functions. The analog blocks are used for development of analog elements, such as analog filters, comparators, inverting amplifiers, as well as analog to digital and digital to analog converters. Current PSoC architectures provide only a coarse grained programmability where only a few fixed functions are available with only a small number of connection options.


SUMMARY

A programmable interconnect matrix includes horizontal channels that programmably couple different groups of one or more digital blocks together. The interconnect matrix can include segmentation elements that programmably interconnect different horizontal channels together. The segmentation elements can include horizontal segmentation switches that programmably couple together the horizontal channels for different groups of digital blocks in a same row. Vertical segmentation switches can programmably couple together the horizontal channels for different groups of digital blocks in different rows.


Vertical channels can programmably connect the horizontal channels in different rows. The horizontal channels provide more connectivity between the digital blocks located in the same rows than connectivity provided by the vertical channels connecting the digital blocks in different rows. Two digital blocks in a same digital block pair can be tightly coupled together to common routes in a same associated horizontal channel and different digital block pairs can be less tightly coupled together through the segmentation elements.


Programmable switches are configured to connect different selectable signals from the digital bocks to their associated horizontal channels. Programmable tri-state buffers in the segmentation elements can be configured to selectively couple together and drive signals between different horizontal channels.


A Random Access Memory (RAM) can be configured to programmably control how the different digital blocks are coupled together through the interconnection matrix. Undedicated Inputs and Outputs (I/Os) can be programmably coupled to different selectable signals in different selectable digital blocks through different selectable routes in the interconnection matrix. The undedicated Inputs and Outputs refer to the connections on the Integrated Circuit (IC) to external signals.


A micro-controller system is programmably coupled to the different digital blocks through the interconnect matrix and is programmably coupled to the different programmable Inputs/Outputs (I/Os) through the interconnect matrix. The micro-controller system can include a micro-controller, an interrupt controller, and Direct Memory Access (DMA) controller. Interrupt requests can be programmably coupled between the interrupt controller and different selectable digital blocks or different selectable I/Os through the interconnect matrix. DMA requests can also be programmably coupled between the DMA controller and different selectable digital blocks or different selectable I/Os through the interconnect matrix. In one embodiment, the micro-controller, digital blocks, I/Os, and interconnect are all located in a same integrated circuit.


In one embodiment, the digital blocks comprise a first group of uncommitted logic elements that are programmable into different logic functions and also include a second group of structural logic elements that together form a programmable arithmetic sequencer.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic block diagram illustrating an example PSoC architecture that includes a Universal Digital Block (UDB) array.



FIG. 2 is a schematic block showing an interconnect matrix in the UDB array.



FIG. 3 is a schematic block diagram showing how a pair of UDBs are tightly coupled to a horizontal routing channel.



FIG. 4 is a schematic block diagram showing programmable switches that connect the UDBs in FIG. 3 to the horizontal routing channel.



FIG. 5 is a schematic block diagram showing segmentation elements in the interconnect matrix.



FIG. 6 is a schematic block diagram showing different programmable switches in the segmentation elements of FIG. 5 in more detail.



FIG. 7 is a schematic block diagram that shows how the interconnect matrix of FIG. 2 can connect different interconnect paths to a micro-controller system.



FIG. 8 is a schematic diagram that shows one of the UDBs in more detail.



FIG. 9 is a schematic diagram that shows a datapath in the UDB of FIG. 8 in more detail.





INTRODUCTION

A new programmable routing scheme provides improved connectivity both between Universal Digital Blocks (UDBs) and between the UDBs and other micro-controller elements, peripherals and external Inputs and Outputs (I/Os) in the same Integrated Circuit (IC). The routing scheme increases the number of functions and the overall routing efficiency for programmable architectures. The UDBs can be grouped in pairs and share associated horizontal routing channels. Bidirectional horizontal and vertical segmentation elements extend routing both horizontally and vertically between different UDB pairs and to the other peripherals and I/O.


DETAILED DESCRIPTION


FIG. 1 is a high level view of a Universal Digital Block (UDB) array 110 contained within a Programmable System on a Chip (PSoC) Integrated Circuit (IC) 100. The UDB array 110 includes a programmable interconnect matrix 130 that connects together the different UDBs 120. The individual UDBs 120 each include a collection of uncommitted logic in the form of Programmable Logic Devices (PLDs) and structural dedicated logic elements that form a datapath 210 shown in more detail in FIGS. 8 and 9.


UDB Array


The UDB array 110 is arranged into UDB pairs 122 that each include two UDBs 120 that can be tightly coupled to a shared horizontal routing channel 132. The UDB pairs 122 can also be programmably connected to the horizontal routing channels 132 of other UDB pairs 122 either in the same horizontal row or in different rows through vertical routing channels 134. The horizontal and vertical routing channels and other switching elements are all collectively referred to as the interconnect matrix 130.


A Digital System Interconnect (DSI) routing interface 112 connects a micro-controller system 170 and other fixed function peripherals 105 to the UDB array 110. The micro-controller system 170 includes a micro-controller 102, an interrupt controller 106, and a Direct Memory Access (DMA) controller 108. The other peripherals 105 can be any digital or analog functional element in PSoC 100. The DSI 112 is an extension of the interconnect matrix 130 at the top and bottom of the UDB array 110.



FIG. 2 shows the interconnect matrix 130 in more detail and includes horizontal routing channels 132 that programmably connect with one or more associated Universal Digital Blocks (UDB) 120. In this example, pairs 122 of UDBs 120 are tightly coupled together through their associated horizontal routing channel 132. However, more than two UDBs 120 can be tightly coupled together through the same horizontal routing channel 132.


The interconnect matrix 130 also includes Horizontal/Vertical (H/V) segmentation elements 125 that programmably interconnect the different horizontal routing channels 132 together. The segmentation elements 125 couple together the horizontal routing channels 132 for the different digital block pairs 122 in the same rows. The segmentation elements 125 also programmably couple together the horizontal routing channels 132 for digital block pairs 122 in different rows through vertical routing channels 134.



FIG. 3 shows one of the UDB pairs 122 in more detail. The UDBs 120A and 120B each contain several different functional blocks that in one embodiment include two Programmable Logic Devices (PLDs) 200, a data path 210, status and control 204, and clock and reset control 202. The operations of these different functional elements are described in more detail below in FIGS. 8 and 9.


The two UDBs 120A and 120B in UDB pair 122 are tightly coupled together to common routes in the same associated horizontal routing channel 132. Tight coupling refers to the UDB I/O signals 127 in the upper UDB 120A and the corresponding signals 128 in the lower UDB 120B all being directly connected to the same associated horizontal routing channel 132. This tight coupling provides high performance signaling between the two UDBs 120A and 120B. For example, relatively short connections 127 and 128 can be programmably established between the upper UDB 120A and the lower UDB 120B.


In one embodiment, the horizontal routing channels 132 can also have a larger number of routes and connections to the UDBs 120A and 120B than the vertical routing channels 134 shown in FIG. 2. This allows the horizontal routing channels 132 to provide more interconnectivity both between the UDBs 120A and 120B in UDB pair 122 and also provides more interconnectivity between different UDB pairs 122 in the same rows of interconnect matrix 130.


Thus, the interconnect matrix 130 in FIGS. 1 and 2 more effectively uses chip space by providing more traces and connectivity for the shorter/higher performance horizontal routing channels 132 than the relatively longer/lower performance vertical routing channels 134.



FIG. 4 shows switching elements 145 that connect the different I/O signals 127 and 128 for the UDBs 120A and 120B in FIG. 3 to the horizontal routing channel 132. In this example, an output 127A from the upper UDB 120A in the UDB pair 122 drives an input 128A in the lower UDB 120B. A buffer 138 is connected to the UDB output 127A and a buffer 140 is connected to the UDB input 128A. The output 127A and input 128A are connected to vertical wires 146 and 148, respectively, that intersect the horizontal routing channel wire 132A with a regular pattern.


At the switch points, RAM bits operate RAM cells 136 and 138 which in turn control Complementary Metal Oxide Semi-conductor (CMOS) transmission gate switches 142 and 144, respectively. The switches 142 and 144 when activated connect the UDB output 127A and the UDB input 128A to horizontal routing channel wire 132A.


The RAM cells 136 and 137 are programmably selectable by the micro-controller 102 (FIG. 1) by writing values into a configuration RAM 410 (FIG. 7). This allows the micro-controller 102 to selectively activate or deactivate any of the gate switches 142 and 144 and connect any I/O 127 or 128 from either of the two universal digital blocks 120A and 120B to different wires in the horizontal channel 132.



FIG. 5 shows the interconnect matrix 130 previously shown in FIGS. 1 and 2 in further detail. The segmentation elements 125 can include different combinations of horizontal segmentation switches 152 and vertical segmentation switches 154. The horizontal segmentation switches 152 programmably couple together adjacent horizontal routing channels 132 located in the same row. The vertical segmentation switches 152 programmably couple together horizontal routing channels 132 located vertically in adjacent rows via vertical routing channels 134.


In addition to the segmentation elements 125, the interconnect matrix 130 includes the switching elements 145 previously shown in FIG. 4 that programmably connect the upper and lower UDBs 120A and 120B with their associated horizontal routing channels 132.


Referring to FIGS. 5 and 6, the segmentation elements 125 comprise arrays of horizontal segmentation switches 152 that are coupled in-between different horizontal routing channels 132 and vertical segmentation switches 154 coupled in-between the vertical routing channels 134. Each segmentation switch 152 and 154 is controlled by two bits 162A and 162B from the configuration RAM 410 (FIG. 7). The two bits 162A and 162B together control a tri-state buffer 164.


When bit 162A is set, the buffer 164A drives one of the horizontal or vertical channel lines 166 from left to right. When bit 162B is set, the buffer 164B drives the same horizontal or vertical channel line 166 from right to left. If neither bit 162A or bit 162B is set, the buffers 164A and 164B drive line 166 to a high impedance state.


Configuration and Programmability


Any combination of the switching elements 145, horizontal segmentation switches 152, and vertical segmentation switches 154 can be programmably configured to connect together almost any combination of external I/O pins 104 (FIG. 1), UDBs 120, and micro-controller system elements 170, fixed peripherals 105, and UDBs 120 (FIG. 1).



FIG. 7 shows different examples of how different types of interconnect paths can be programmed through the interconnect matrix 130. A Random Access Memory (RAM) or a set of configuration registers 410 are directly readable and writeable by the micro-controller 102. The configuration registers 410 are shown as a stand-alone RAM in FIG. 7 for illustrative purposes. However, it should be understood that certain configuration registers 410 can be located within the individual UDBs 120 while other configuration registers can be stand-alone registers that are accessed by multiple different functional elements.


A first set of bits in RAM section 412 are associated with the RAM cells 136 and 137 shown in FIG. 4 that control connections between the inputs and output of UDB and their associated horizontal routing channels 132. A second set of bits in RAM section 414 control how the horizontal segmentation switches 152 in FIGS. 5 and 6 connect the horizontal routing channels 132 in the same rows together and other bits in RAM section 414 control how the vertical segmentation switches 154 connect together the horizontal routing channels 132 in different rows.


Pursuant to the micro-controller 102 programming RAM 410, the interconnect matrix 130 is configured with a first interconnect path 176 that connects a UDB 120C to the interrupt controller 106. The UDB 1200 can then send interrupt requests to the DMA controller 108 over interconnect path 176. A second interconnect path 178 is established between a peripheral (not shown) in the PSoC chip 100 (FIG. 1) and the DMA controller 108. The peripheral sends DMA requests to the DMA controller 108 over the interconnect path 178 established over the interconnect matrix 130.


A third interconnect path 180 is also configured by the micro-controller 102 by loading bits into RAM sections 412 and 414. The DMA controller 108 uses the interconnect path 180 to send a DMA terminate signal to UDB 120D. A fourth interconnect path 182 is programmably configured between one of the PSoC I/O pins 104 and a fixed digital peripheral, such as the micro-controller 102. The interconnect path 182 is used to send I/O signals between the micro-controller 102 and the I/O pin 104.


Interconnect paths 176-182 are of course just a few examples of the many different interconnect configurations that can be simultaneously provided by the interconnect matrix 130. This example also shows how different I/O pins 104, UDBs 120, and other peripherals can be connected to the same interrupt line on the interrupt controller 106 or connected to the same DMA line on the DMA controller 108.


Typically, interrupt requests received by an interrupt controller and DMA requests received by a DMA controller can only be connected to one dedicated pin. The interconnect matrix 130 allows any variety of different selectable functional elements or I/O pins to be connected to the same input or output for the interrupt controller 106 or DMA controller 108 according to the programming of RAM 410 by micro-controller 102.


The programmability of the interconnect matrix 130 also allows any number, or all, of the I/O pins 104 to be undedicated and completely programmable to connect to any functional element in PSoC 100. For example, the pin 104 can operate as an input pin for any selectable functional element in FIG. 7. In another interconnect matrix configuration, the same pin 104 can operate as an output pin when connected to a first peripheral and operate as an output pin when connected to a different peripheral.


Universal Digital Block



FIG. 8 is a top-level block diagram for one of the UDBs 120. The major blocks include a pair of Programmable Logic Devices (PLDs) 200. The PLDs 200 take inputs from the routing channel 130 and form registered or combinational sum-of-products logic to implement state machines, control for datapath operations, conditioning inputs and driving outputs.


The PLD blocks 200 implement state machines, perform input or output data conditioning, and create look-up tables. The PLDs 200 can also be configured to perform arithmetic functions, sequence datapath 210, and generate status. PLDs are generally known to those skilled in the art and are therefore not described in further detail.


The datapath block 210 contains highly structured dedicated logic that implements a dynamically programmable ALU, comparators, and condition generation. A status and control block 204 allows micro-controller firmware to interact and synchronize with the UDB 120 by writing to control inputs and reading status outputs.


A clock and reset control block 202 provides global clock selection, enabling, and reset selection. The clock and reset block 202 selects a clock for each of the PLD blocks 200, the datapath block 210, and status and control block 204 from available global system clocks or a bus clock. The clock and reset block 202 also supplies dynamic and firmware resets to the UDBs 120.


Routing channel 130 connects to UDB 110 through a programmable switch matrix and provides connections between the different UDBs in FIG. 7. A system bus interface 140 maps all registers and RAMs in the UDBs 120 into a system address space and are accessible by the micro-controller 102.


The PLDs 200 and the datapath 210 have chaining signals 212 and 214, respectively, that enable neighboring UDBs 120 to be linked to create higher precision functions. The PLD carry chain signals 212 are routed from the previous adjacent. UDB 120 in the chain, and routed through each macrocell in both of the PLDs 200. The carry out is then routed to the next UDB 120 in the chain. A similar connectivity is provided by the datapath chain 214 between datapath blocks 210 in adjacent UDBs 120.


Referring to FIG. 9, each UDB 120 comprises a combination of user defined control bits that are loaded by the micro-controller 102 into control registers 250. The control registers 250 can be part of the control blocks 202 and 204 described above in FIG. 8. The control registers 250 feed uncommitted programmable logic 200. The same control blocks 202 and 204 described above in FIG. 8 also include associated status registers 256 that allow the micro-controller 102 to selectably read different internal states for structural arithmetic elements 254 within the datapath 210.


The datapath 210 comprises highly structured logic elements 254 that include a dynamically programmable ALU 304, conditional comparators 310, accumulators 302, and data buffers 300. The ALU 304 is configured to perform instructions on accumulators 302, and to update the sequence controlled by a sequence memory. The conditional comparators 310 can operate in parallel with the ALU 304. The datapath 210 is further optimized to implement typical embedded functions, such as timers, counters, etc.


The combination of uncommitted PLDs 200 with a dedicated datapath module 210 allow the UDBs 120 to provide embedded digital functions with more efficient higher speed processing. The dedicated structural arithmetic elements 254 more efficiently implement arithmetic sequencer operations, as well as other datapath functions. Since the datapath 210 is structural, fewer gates are needed to implement the structural elements 254 and fewer interconnections are needed to connect the structural elements 254 together into an arithmetic sequencer. Implementing the same datapath 210 with PLDs could require additional combinational logic and additional interconnections.


The structured logic in the datapath 210 is also highly programmable to provide a wide variety of different dynamically selectable arithmetic functions. Thus, the datapath 210 not only conserves space on the integrated circuit 100 (FIG. 1) but also is more accessible and programmable than other structured arithmetic sequencers.


The functional configurability of the datapath 210 is provided through the control registers 250 and allow the micro-controller 102 to arbitrarily write into a system state and selectively control different arithmetic functions. The status registers 256 allow the micro-controller 102 to also identify different states associated with different configured arithmetic operations.


The flexible connectivity scheme provided by the routing channel 130 selectively interconnects the different functional element 250, 200, 254, and 256 together as well as programmably connecting these functional element to other UDBs, I/O connections, and peripherals. Thus, the combination of uncommitted logic 200, structural logic 254, and programmable routing channel 130 provides more functionality, flexibility, and more efficiently uses less integrated circuit space.


The interconnect matrix 130 also requires little or no dedicated UDB block routing. All data, state, control, signaling, etc, can be routed through the interconnect matrix 130 in the UDB array 110. The array routing is efficient because there is little or no difference between a local UDB net and a net that spans the UDB array. Horizontal and vertical segmentation allow the array to be partitioned for increased efficiency and random access to the RAM 410 allow high speed configuration or on the fly reconfiguability.


The system described above can use dedicated processor systems, micro controllers, programmable logic devices, or microprocessors that perform some or all of the operations. Some of the operations described above can be implemented in software and other operations can be implemented in hardware.


For the sake or convenience, the operations are described as various interconnected functional blocks or distinct software modules. This is not necessary, however, and there can be cases where these functional blocks or modules are equivalently aggregated into a single logic device, program or operation with unclear boundaries. In any event, the functional blocks and software modules or features of the flexible interface can be implemented by themselves, or in combination with other operations in either hardware or software.


Having described and illustrated the principles of the invention in a preferred embodiment thereof, it should be apparent that the invention can be modified in arrangement and detail without departing from such principles. Claim is made to all modifications and variation coming within the spirit and scope of the following claims.

Claims
  • 1. An apparatus, comprising: a plurality of digital blocks arranged into one or more pairs;a programmable interconnect matrix including a first set of routing channels that programmably couple at least the two digital blocks of the one or more pairs together and segmentation elements that programmably interconnect two or more of the first set of routing channels together; anda micro-controller system programmably coupled to the plurality of digital blocks and to one or more Inputs/Outputs (I/Os) through the programmable interconnect matrix.
  • 2. The apparatus of claim 1, wherein at least one of the plurality of digital blocks is a programmable digital block.
  • 3. The apparatus of claim 1, wherein the micro-controller system comprises: a micro-controller coupled to the programmable interconnect matrix; anda Direct Memory Access (DMA) controller coupled to the programmable interconnect matrix.
  • 4. The apparatus of claim 3, wherein the micro-controller system, the plurality of digital blocks, the one or more I/Os, and the programmable interconnect matrix are all located in a same integrated circuit.
  • 5. The apparatus of claim 1, wherein the micro-controller system comprises: a micro-controller coupled to the programmable interconnect matrix; andan interrupt controller coupled to the programmable interconnect matrix.
  • 6. The apparatus of claim 5, wherein the micro-controller system, the plurality of digital blocks, the one or more I/Os, and the programmable interconnect matrix are all located in a same integrated circuit.
  • 7. The apparatus of claim 1, further comprising a configuration memory coupled to the micro-controller system.
  • 8. The apparatus of claim 1, further comprising a memory device accessible by the micro-controller system to control how the one or more of the plurality of digital blocks connect to the first set of routing channels.
  • 9. The apparatus of claim 8, wherein the memory device is accessible by the micro-controller system to control how the first set of routing channels connect to the segmentation elements.
  • 10. The apparatus of claim 1, wherein the segmentation elements comprises: horizontal segmentation switches that programmably couple together the first set of routing channels in a same row; andvertical segmentation switches that programmably couple together the first set of routing channels in one or more rows through a second set of routing channels.
  • 11. The apparatus of claim 1, further comprising: programmably selectable channel switches configured to connect one or more selectable signals from the plurality of digital bocks to associated ones of the first set of routing channels; andprogrammable tri-state buffers in the segmentation elements configured to selectively couple together and drive signals between the associated ones of the first set of routing channels.
  • 12. A method, comprising: programming an interconnect matrix to connect two or more functional elements to a first set of routing channels, wherein the two or more functional elements are arranged into one or more pairs, the pairs being coupled together through one or more of the first set of routing channels;programming the interconnect matrix to interconnect two or more of the first set of routing channels together;writing, by a micro-controller system, a first set of values into a configuration memory that control connections between the two or more functional elements and the first set of routing channels.
  • 13. The method of claim 12, further comprising: writing, by the micro-controller system, a second set of values into the configuration memory that control the interconnections between the two or more of the first set of routing channels; andwriting, by the micro-controller system, a third set of values into the configuration memory that control the interconnections between the first set of routing channels and a second set of routing channels.
  • 14. The method of claim 13, further comprising programming the interconnect matrix to further connect the two or more of the first set of routing channels to each other through the second set of routing channels.
  • 15. The method of claim 12, wherein the one or more functional elements comprises one or more programmable digital blocks.
  • 16. The method of claim 12, further comprising programming one or more paths through the interconnect matrix that connect one or more external pins or one or more internal functional elements to a same interrupt line on an internal interrupt controller.
  • 17. The method of claim 12, further comprising programming one or more paths through the interconnect matrix that connect one or more external pins or one or more internal functional elements to a same Direct Memory Access (DMA) line on an internal DMA controller.
  • 18. An apparatus, comprising: a plurality of digital blocks arranged into one or more pairs;a programmable interconnect matrix including a first set of routing channels that programmably couple at least the two digital blocks of the one or more pairs together and segmentation elements that programmably interconnect two or more of the first set of routing channels together; anda micro-controller system programmably coupled to the plurality of digital blocks, to at least one Input/Output (I/O), and a fixed function peripheral through the programmable interconnect matrix.
  • 19. The apparatus of claim 18, wherein the micro-controller system comprises: a micro-controller coupled to the programmable interconnect matrix; anda Direct Memory Access (DMA) controller coupled to the programmable interconnect matrix.
  • 20. The apparatus of claim 19, wherein the micro-controller system, the plurality of digital blocks, the I/O port, and the programmable interconnect matrix are all located in a same integrated circuit.
  • 21. The apparatus of claim 18, wherein the micro-controller system comprises: a micro-controller coupled to the programmable interconnect matrix; andan interrupt controller coupled to the programmable interconnect matrix.
  • 22. The apparatus of claim 21, wherein the micro-controller system, the plurality of digital blocks, the I/O port, and the programmable interconnect matrix are all located in a same integrated circuit.
Parent Case Info

The present application is a continuation of U.S. application Ser. No. 12/786,412 which claims priority U.S. Non Provisional application Ser. No. 11/965,291 filed Dec. 27, 2007, now U.S. Pat. No. 7,737,724 issued on Jun. 15, 2010 and U.S. Provisional Application No. 60/912,399 filed on Apr. 17, 2007 all of which are incorporated herein by reference.

US Referenced Citations (352)
Number Name Date Kind
5554951 Gough Sep 1996 A
5555452 Callaway et al. Sep 1996 A
5555907 Philipp Sep 1996 A
5557762 Okuaki et al. Sep 1996 A
5559502 Schutte Sep 1996 A
5559996 Fujioka Sep 1996 A
5563526 Hastings et al. Oct 1996 A
5563529 Seltzer et al. Oct 1996 A
5564010 Henry et al. Oct 1996 A
5564108 Hunsaker et al. Oct 1996 A
5565658 Gerpheide et al. Oct 1996 A
5566702 Philipp Oct 1996 A
5572665 Nakabayashi Nov 1996 A
5572719 Biesterfeldt Nov 1996 A
5574678 Gorecki Nov 1996 A
5574852 Bakker et al. Nov 1996 A
5574892 Christensen Nov 1996 A
5579353 Parmenter et al. Nov 1996 A
5587945 Lin et al. Dec 1996 A
5587957 Kowalczyk et al. Dec 1996 A
5590354 Klapproth et al. Dec 1996 A
5594388 O'Shaughnessy et al. Jan 1997 A
5594734 Worsley et al. Jan 1997 A
5594876 Getzlaff et al. Jan 1997 A
5594890 Yamaura et al. Jan 1997 A
5600262 Kolze Feb 1997 A
5604466 Dreps et al. Feb 1997 A
5608892 Wakerly Mar 1997 A
5614861 Harada Mar 1997 A
5617041 Lee et al. Apr 1997 A
5625316 Chambers et al. Apr 1997 A
5625583 Hyatt Apr 1997 A
5629857 Brennan May 1997 A
5629891 Lemoncheck et al. May 1997 A
5630052 Shah May 1997 A
5630057 Hait May 1997 A
5630102 Johnson et al. May 1997 A
5631577 Freidin et al. May 1997 A
5633766 Hase et al. May 1997 A
5642295 Smayling Jun 1997 A
5646544 Iadanza Jul 1997 A
5646901 Sharpe-Geisler et al. Jul 1997 A
5648642 Miller et al. Jul 1997 A
5651035 Tozun et al. Jul 1997 A
5652893 Ben-Meir et al. Jul 1997 A
5661433 LaRosa et al. Aug 1997 A
5663900 Bhandari et al. Sep 1997 A
5663965 Seymour Sep 1997 A
5664199 Kuwahara Sep 1997 A
5666480 Leung et al. Sep 1997 A
5670915 Cooper et al. Sep 1997 A
5673198 Lawman et al. Sep 1997 A
5675825 Dreyer et al. Oct 1997 A
5677691 Hosticka et al. Oct 1997 A
5680070 Anderson et al. Oct 1997 A
5682032 Philipp Oct 1997 A
5684434 Mann et al. Nov 1997 A
5684952 Stein Nov 1997 A
5686844 Hull et al. Nov 1997 A
5687325 Chang Nov 1997 A
5689195 Cliff et al. Nov 1997 A
5689196 Schutte Nov 1997 A
5691664 Anderson et al. Nov 1997 A
5691898 Rosenberg et al. Nov 1997 A
5694063 Burlison et al. Dec 1997 A
5696952 Pontarelli Dec 1997 A
5699024 Manlove et al. Dec 1997 A
5703871 Pope et al. Dec 1997 A
5706453 Cheng et al. Jan 1998 A
5708589 Beauvais Jan 1998 A
5708798 Lynch et al. Jan 1998 A
5710906 Ghosh et al. Jan 1998 A
5712969 Zimmermann et al. Jan 1998 A
5721931 Gephardt et al. Feb 1998 A
5724009 Collins et al. Mar 1998 A
5727170 Mitchell et al. Mar 1998 A
5728933 Schultz et al. Mar 1998 A
5729704 Stone et al. Mar 1998 A
5730165 Philipp Mar 1998 A
5732277 Kodosky et al. Mar 1998 A
5734272 Belot et al. Mar 1998 A
5734334 Hsieh et al. Mar 1998 A
5737557 Sullivan Apr 1998 A
5737760 Grimmer et al. Apr 1998 A
5745011 Scott Apr 1998 A
5748048 Moyal May 1998 A
5748875 Tzori May 1998 A
5752013 Christensen et al. May 1998 A
5754552 Allmond et al. May 1998 A
5754826 Gamal et al. May 1998 A
5757368 Gerpheide et al. May 1998 A
5758058 Milburn May 1998 A
5760612 Ramirez Jun 1998 A
5761128 Watanabe Jun 1998 A
5763909 Mead et al. Jun 1998 A
5764714 Stansell et al. Jun 1998 A
5767457 Gerpheide et al. Jun 1998 A
5774704 Williams Jun 1998 A
5777399 Shibuya Jul 1998 A
5781030 Agrawal et al. Jul 1998 A
5781747 Smith et al. Jul 1998 A
5784545 Anderson et al. Jul 1998 A
5790882 Silver et al. Aug 1998 A
5790957 Heidari Aug 1998 A
5796183 Hourmand et al. Aug 1998 A
5799176 Kapusta et al. Aug 1998 A
5801958 Dangelo et al. Sep 1998 A
5802073 Platt Sep 1998 A
5802290 Casselman Sep 1998 A
5805792 Swoboda et al. Sep 1998 A
5805897 Glowny Sep 1998 A
5808883 Hawkes Sep 1998 A
5811987 Ashmore, Jr. et al. Sep 1998 A
5812698 Platt et al. Sep 1998 A
5818254 Agrawal et al. Oct 1998 A
5818444 Alimpich et al. Oct 1998 A
5818736 Leibold Oct 1998 A
5819028 Manghirmalani et al. Oct 1998 A
5822387 Mar Oct 1998 A
5822531 Gorczyca et al. Oct 1998 A
5828693 Mays et al. Oct 1998 A
5838583 Varadarajan et al. Nov 1998 A
5841078 Miller et al. Nov 1998 A
5841996 Nolan et al. Nov 1998 A
5844256 Mead et al. Dec 1998 A
5844404 Caser et al. Dec 1998 A
5848285 Kapusta et al. Dec 1998 A
5850156 Wittman Dec 1998 A
5852733 Chien et al. Dec 1998 A
5854625 Frisch et al. Dec 1998 A
5857109 Taylor Jan 1999 A
5861583 Schediwy et al. Jan 1999 A
5861875 Gerpheide Jan 1999 A
5864242 Allen et al. Jan 1999 A
5864392 Winklhofer et al. Jan 1999 A
5867046 Sugasawa Feb 1999 A
5867399 Rostoker et al. Feb 1999 A
5869979 Bocchino Feb 1999 A
5870004 Lu Feb 1999 A
5870309 Lawman Feb 1999 A
5870345 Stecker Feb 1999 A
5872464 Gradinariu Feb 1999 A
5874958 Ludolph Feb 1999 A
5875293 Bell et al. Feb 1999 A
5877656 Mann et al. Mar 1999 A
5878425 Redpath Mar 1999 A
5880411 Gillespie et al. Mar 1999 A
5880598 Duong Mar 1999 A
5883623 Cseri Mar 1999 A
5886582 Stansell Mar 1999 A
5887189 Birns et al. Mar 1999 A
5889236 Gillespie et al. Mar 1999 A
5889723 Pascucci Mar 1999 A
5889936 Chan Mar 1999 A
5889988 Held Mar 1999 A
5894226 Koyama Apr 1999 A
5894243 Hwang Apr 1999 A
5894565 Furtek et al. Apr 1999 A
5895494 Scalzi et al. Apr 1999 A
5896068 Moyal Apr 1999 A
5896330 Gibson Apr 1999 A
5898345 Namura et al. Apr 1999 A
5900780 Hirose et al. May 1999 A
5901062 Burch et al. May 1999 A
5903718 Marik May 1999 A
5905398 Todsen et al. May 1999 A
5909544 Anderson et al. Jun 1999 A
5911059 Profit, Jr. Jun 1999 A
5914465 Allen et al. Jun 1999 A
5914633 Comino et al. Jun 1999 A
5914708 LaGrange et al. Jun 1999 A
5917356 Casal et al. Jun 1999 A
5920310 Faggin et al. Jul 1999 A
5923264 Lavelle et al. Jul 1999 A
5926566 Wang et al. Jul 1999 A
5929710 Bien Jul 1999 A
5930148 Bjorksten et al. Jul 1999 A
5930150 Cohen et al. Jul 1999 A
5931959 Kwiat Aug 1999 A
5933023 Young Aug 1999 A
5933356 Rostoker et al. Aug 1999 A
5933816 Zeanah et al. Aug 1999 A
5935233 Jeddeloh Aug 1999 A
5935266 Thurnhofer et al. Aug 1999 A
5939904 Fetterman et al. Aug 1999 A
5939949 Olgaard et al. Aug 1999 A
5941991 Kageshima Aug 1999 A
5942733 Allen et al. Aug 1999 A
5943052 Allen et al. Aug 1999 A
5945878 Westwick et al. Aug 1999 A
5949632 Barreras, Sr. et al. Sep 1999 A
5952888 Scott Sep 1999 A
5956279 Mo et al. Sep 1999 A
5959871 Pierzchala et al. Sep 1999 A
5963075 Hiiragizawa Oct 1999 A
5963105 Nguyen Oct 1999 A
5963503 Lee Oct 1999 A
5964893 Circello et al. Oct 1999 A
5966027 Kapusta et al. Oct 1999 A
5966532 McDonald et al. Oct 1999 A
5968135 Teramoto et al. Oct 1999 A
5969513 Clark Oct 1999 A
5969632 Diamant et al. Oct 1999 A
5973368 Pearce et al. Oct 1999 A
5974235 Nunally et al. Oct 1999 A
5977791 Veenstra Nov 1999 A
5978584 Nishibata et al. Nov 1999 A
5978937 Miyamori et al. Nov 1999 A
5982105 Masters Nov 1999 A
5982229 Wong et al. Nov 1999 A
5982241 Nguyen et al. Nov 1999 A
5983277 Heile et al. Nov 1999 A
5986479 Mohan Nov 1999 A
5987246 Thomsen et al. Nov 1999 A
5988902 Holehan Nov 1999 A
5994939 Johnson et al. Nov 1999 A
5996032 Baker Nov 1999 A
5999725 Barbier et al. Dec 1999 A
6002268 Sasaki et al. Dec 1999 A
6002398 Wilson Dec 1999 A
6003054 Oshima et al. Dec 1999 A
6003107 Ranson et al. Dec 1999 A
6003133 Moughanni et al. Dec 1999 A
6005814 Mulholland et al. Dec 1999 A
6005904 Knapp et al. Dec 1999 A
6006321 Abbott Dec 1999 A
6006322 Muramatsu Dec 1999 A
6008685 Kunst Dec 1999 A
6008703 Perrott et al. Dec 1999 A
6009270 Mann Dec 1999 A
6009496 Tsai Dec 1999 A
6011407 New Jan 2000 A
6012835 Thompson et al. Jan 2000 A
6014135 Fernandes Jan 2000 A
6014509 Furtek et al. Jan 2000 A
6014723 Tremblay et al. Jan 2000 A
6016554 Skrovan et al. Jan 2000 A
6016563 Fleisher Jan 2000 A
6018559 Azegami et al. Jan 2000 A
6023422 Allen et al. Feb 2000 A
6023565 Lawman et al. Feb 2000 A
6026134 Duffy et al. Feb 2000 A
6026501 Hohl et al. Feb 2000 A
6028271 Gillespie et al. Feb 2000 A
6028959 Wang et al. Feb 2000 A
6031365 Sharpe-Geisler Feb 2000 A
6032268 Swoboda et al. Feb 2000 A
6034538 Abramovici Mar 2000 A
6035320 Kiriaki et al. Mar 2000 A
6037807 Wu et al. Mar 2000 A
6038551 Barlow et al. Mar 2000 A
6041406 Mann Mar 2000 A
6043695 O'Sullivan Mar 2000 A
6043719 Lin et al. Mar 2000 A
6049223 Lytle et al. Apr 2000 A
6049225 Huang et al. Apr 2000 A
6051772 Cameron et al. Apr 2000 A
6052035 Nolan et al. Apr 2000 A
6052524 Pauna Apr 2000 A
6055584 Bridges et al. Apr 2000 A
6057705 Wojewoda et al. May 2000 A
6058263 Voth May 2000 A
6058452 Rangasayee et al. May 2000 A
6061511 Marantz et al. May 2000 A
6066961 Lee et al. May 2000 A
6070003 Gove et al. May 2000 A
6072803 Allmond et al. Jun 2000 A
6075941 Itoh et al. Jun 2000 A
6079985 Wohl et al. Jun 2000 A
6081140 King Jun 2000 A
6094730 Lopez et al. Jul 2000 A
6097211 Couts-Martin et al. Aug 2000 A
6097432 Mead et al. Aug 2000 A
6101457 Barch et al. Aug 2000 A
6101617 Burckhartt et al. Aug 2000 A
6104217 Magana Aug 2000 A
6104325 Liaw et al. Aug 2000 A
6107769 Saylor et al. Aug 2000 A
6107826 Young et al. Aug 2000 A
6107882 Gabara et al. Aug 2000 A
6110223 Southgate et al. Aug 2000 A
6111431 Estrada Aug 2000 A
6112264 Beasley et al. Aug 2000 A
6121791 Abbott Sep 2000 A
6121805 Thamsirianunt et al. Sep 2000 A
6121965 Kenney et al. Sep 2000 A
6121971 Berry et al. Sep 2000 A
6125416 Warren Sep 2000 A
6130548 Koifman Oct 2000 A
6130551 Agrawal et al. Oct 2000 A
6130552 Jefferson et al. Oct 2000 A
6130553 Nakaya Oct 2000 A
6133773 Garlepp et al. Oct 2000 A
6134181 Landry Oct 2000 A
6134516 Wang et al. Oct 2000 A
6137308 Nayak Oct 2000 A
6140853 Lo Oct 2000 A
6141376 Shaw Oct 2000 A
6141764 Ezell Oct 2000 A
6144327 Distinti et al. Nov 2000 A
6148104 Wang et al. Nov 2000 A
6215326 Jefferson et al. Apr 2001 B1
7274212 Burney et al. Sep 2007 B1
7389487 Chan et al. Jun 2008 B1
7737724 Snyder et al. Jun 2010 B2
8026739 Sullam et al. Sep 2011 B2
20010000634 Keehn et al. May 2001 A1
20010002129 Zimmerman et al. May 2001 A1
20010006347 Jefferson et al. Jul 2001 A1
20010010083 Satoh Jul 2001 A1
20010038392 Humpleman et al. Nov 2001 A1
20010043081 Rees Nov 2001 A1
20010044927 Karniewicz Nov 2001 A1
20010045861 Bloodworth et al. Nov 2001 A1
20010047509 Mason et al. Nov 2001 A1
20020010716 McCartney et al. Jan 2002 A1
20020016706 Cooke et al. Feb 2002 A1
20020023110 Fortin et al. Feb 2002 A1
20020042696 Garcia et al. Apr 2002 A1
20020052729 Kyung et al. May 2002 A1
20020059543 Cheng et al. May 2002 A1
20020063688 Shaw et al. May 2002 A1
20020065646 Waldie et al. May 2002 A1
20020068989 Ebisawa et al. Jun 2002 A1
20020073119 Richard Jun 2002 A1
20020073380 Cooke et al. Jun 2002 A1
20020080186 Frederiksen Jun 2002 A1
20020085020 Carroll Jul 2002 A1
20020099863 Comeau et al. Jul 2002 A1
20020109722 Rogers et al. Aug 2002 A1
20020116168 Kim Aug 2002 A1
20020121679 Bazarjani et al. Sep 2002 A1
20020122060 Markel Sep 2002 A1
20020129334 Dane et al. Sep 2002 A1
20020133771 Barnett Sep 2002 A1
20020133794 Kanapathippillai et al. Sep 2002 A1
20020138516 Igra Sep 2002 A1
20020144099 Muro et al. Oct 2002 A1
20020145433 Morrise et al. Oct 2002 A1
20020152234 Estrada et al. Oct 2002 A1
20020152449 Lin Oct 2002 A1
20020156885 Thakkar Oct 2002 A1
20020156998 Casselman Oct 2002 A1
20020161802 Gabrick et al. Oct 2002 A1
20020166100 Meding Nov 2002 A1
20020174134 Goykhman Nov 2002 A1
20020174411 Feng et al. Nov 2002 A1
20020191029 Gillespie et al. Dec 2002 A1
20080263319 Snyder et al. Oct 2008 A1
20080263334 Synder et al. Oct 2008 A1
20080288755 Synder et al. Nov 2008 A1
20080294806 Swindle et al. Nov 2008 A1
Non-Patent Literature Citations (51)
Entry
U.S. Appl. No. 11/322,044, mailed Dec. 28, 2005, Stiff, Jonathon.
U.S. Appl. No. 12/060,176 “Programmable System-On-Chip Hub,” Scott Allen Swindle et al., filed Mar. 31, 2008; 39 pages.
U.S. Appl. No. 12/104,391 “Clock Driven Dynamic Datapath Chaining,” Warren Synder et al., filed Apr. 16, 2008; 31 pages.
U.S. Appl. No. 12/356,468 “System and Method for Dynamically Generating a Configuration Datasheet,” Anderson et al.; filed Jan. 20, 2009; 27 pages.
U.S. Appl. No. 12/765,400 “Autonomous Control in a Programmable System,” Sullam et al., filed Apr. 22, 2010; 30 pages.
U.S. Appl. No. 12/786,412 “Universal Digital Block Interconnection and Channel Routing,” Warren Snyder et al., filed May 24, 2010; 31 pages.
Application No. 2008800122321 “Universal Digital Block Interconnection and Channel Routing,” Warren S. Snyder et al., filed Apr. 17, 2008.
Application No. PCT/US08/60673 “Clock Driven Dynamic Datapath Chaining,” filed Apr. 17, 2008; 24 pages.
Application No. PCT/US08/60680 “Universal Digital Block Interconnection and Channel Routing,” filed Apr. 17, 2008; 25 pages.
Application No. PCT/US08/60685 “Universal Digital Block With Integrated Arithmetic Logic Unit,” filed Apr. 17, 2008; 24 pages.
Application No. PCT/US08/60686 “Programmable System-On-Chip Hub,” filed Apr. 17, 2008; 22 pages.
Application No. PCT/US08/60695 “System Level Interconnect With Programmable Switching,” filed Apr. 17, 2008; 4 pages.
Application No. PCT/US08/60696 “Dynamically Configurable and Re-Configurable Data Path,” filed Apr. 17, 2008; 29 pages.
Ashok Bindra, “Programmable SoC Delivers a New Level of System Flexibility”; Electronic Design; Nov. 6, 2000; 11 pages.
Atmel Corporation: AT9OSC Summary: “Secure Microcontrollers for Smart Cards,” Oct. 1999; 7 pages.
Azim et al., “A Custom DSP Chip to Implement a Robot Motion Controller Proceedings of the IEEE Custom Integrated Circuits Conference,” May 1988, pp. 8.7.1-8.7.5; 6 pages.
Bakker et al., “Micropower CMOS Temperature Sensor with Digital Output,” IEEE Journal of Solid-State Circuits, Jul. 1996; 3 pages.
Balough et al., “White Paper: Comparing IP Integration Approaches for FPGA Implementation,” Feb. 2007, Version 1.1, Altera, pp. 1-7; 7 pages.
Bauer et al.; “A Reconfigurable Logic Machine for Fast Event-Driven Simulation”; Jun. 1998; Design Automation Conference Proceedings; 8 pages.
Burogs et al., “Power Converter Analysis and Design using Matlab: A Transfer Function Approach,” Proceedings of IEEE International Symposium on Industrial Electronics 1998, vol. 2, pp. 552-557; 6 pages.
Bursky, “FPGA Combines Multiple Interfaces and Logic,” Electronic Design, vol. 48 No. 20, Oct. 2, 2000, pp. 74-78; 5 pages.
Catthoor et al., “Architectural Strategies for an Application-Specific Synchronous Multiprocessor Environment,” IEEE transactions on Acoustics, Speech, and Signal Processing; vol. 36, No. 2, Feb. 1988, pp. 265-284; 20 pages.
USPTO Final Rejection for U.S. Appl. No. 12/060,176 dated Jun. 21, 2012; 26 pages.
Chapweske, Adam; “The PS/2 Mouse Interface,” PS/2 Mouse Interfacing, 2001, retrieved on May 18, 2006; 11 pages.
Charles Melear, “Using Background Modes for Testing, Debugging and Emulation of Microcontrollers,” IEEE, 1997, pp. 90-97; 8 pages.
Charles, Jr. et al., “Wirebonding: Reinventing the Process for MCMs,” Apr. 1998, IEEE 7th International Conference on Multichip Modules and High Density Packaging, pp. 300-302; 3 pages.
Ching et al., “An In-Curcuit-Emulator for TMS320C25,” IEEE, 1994, pp. 51-56; 6 pages.
Cover Pages Technology Reports; XML and Electronic Design Automation (EDA); Aug. 2000; retrieved from http://xml.coverpages.org on Mar. 23, 2005; 5 pages.
Cypress MicroSystem, Inc. “Cypress Customer Forums” retrieved from <http://www.cypress.com/forums/messageview>; Nov. 30, 2004; 1 page.
Cypress MicroSystem, Inc. “PsoC Designer: Integrated Development Environment User Guide”; Rev. 1.18; Sep. 8, 2003; 193 pages.
Cypress MicroSystems, Inc. “Cypress MicroSystems Unveils Programmable System-On-A-Chip for Embedded Internet, Communications, and Consumer Systems” Nov. 13, 2000; 3 pages.
Cypress Semiconductor Corporation, “CY8C21x34 Data Sheet,” CSR User Module, CSR V.1.0; Oct. 6, 2005; 36 pages.
Cypress Semiconductor Corporation, “Cypress Introduces PSoC(TM)-Based Capacitive Touch Sensor Solution,” Cypress Press Release; May 31, 2005; <http://www.cypress.com/portal/server>; retrieved on Feb. 5, 2007; 4 pages.
Cypress Semiconductor Corporation, “FAN Controller CG6457AM and CG6462AM,” PSoC Mixed Signal Array Preliminary Data Sheet; May 24, 2005; 25 pages.
Cypress Semiconductor Corporation, “PSoC CY8C20x34 Technical Reference Manual (TRM),” PSoC CY8C20x34 TRM, Version 1.0, 2006; 218 pages.
Cypress Semiconductor Corporation, “PSoC Mixed-Signal Controllers,” Production Description; <http://www.cypress.com/portal/server>; retrieved on Sep. 27, 2005; 2 pages.
Cypress Semiconductor Corporation, “Release Notes srn017,” Jan. 24, 2007; 3 pages.
Dahl et al., “Emulation of the Sparcle Microprocessor with the MIT Virtual Wires Emulation System,” 1994, IEEE, pp. 14-22; 9 pages.
Daniel B. Sedory, “A Guide to DEBUG,” 2004, retrieved on May 20, 2005 from http://www.geocites.com/thestarman3/asm/debug/debug2.htm, pp. 1-11; 7 pages.
Dirk Killat, “A One-Chip Solution for Electronic Ballasts in Fluorescent Lamps,” Power Electronics, http://powerelectronics.com/mag/power—onechip—solution—electronic/, dated Mar. 1, 2004, accessed Sep. 13, 2005; 4 pages.
Durham et al., “Circuit Architectures for High Linearity Monolithic Continuous-Time Filtering,” IEEE, 1992; 7 pages.
Durham et al., “High-Linearity Conitnuous-Time Filter in 5-V VLSI CMOS,” IEEE, 1992; 8 pages.
Durham et al., “Integrated Continuous-Time Balanced Filters for 16-bit DSP Interfaces,” IEEE, 1993; 6 pages.
Duvvuru et al., “Evaluation of a Branch Target Address Cache,” 1995, IEEE, pp. 173-180; 8 pages.
Ebeling et al., “Validating VLSI Circuit Layout by Wirelist Comparison,” Sep. 1983, In the Proceedings of the IEEE International Conference on Computer Aided Design (ICCAD-83), pp. 172-173; 2 pages.
Ebling, “Gemini II: A Second Generation Layout Validation Program;” 1988; in proceedings of the IEEE International Conference on Computer Aided Design (ICCAD-88); 4 pages.
Efstathiou, “Analog Electronics: Basic Circuits of Operational Amplifiers,” <http://web.archive.org/web/20021231045232> Dec. 31, 2002, version, retrieved from the Internet Archives; 10 pages.
Electronic Tools Company; E-Studio User Manuel; 2000; retrieved from http://web.archive.org for site http://e-tools.com on Mar. 23, 2005; 77 pages.
Frank Goodenough, “Analog Counterparts of FPGAS Ease System Design,” Electronic Design, Penton Publishing, Cleveland, OH, Oct. 14, 1994, vol. 42, No. 21, pp. 63-66, 68; 10 pages.
Fred Eady, “PSoC 101,” Circuit Cellar, Aug. 2004, accessed Sep. 13, 2005, http://www.circuitcellar.com/library/print/0804/eady169/2.htm; 4 pages.
From U.S. Appl. No. 10/033,027; “Programmable Microcontroller (PSoC) Architecture (Mixed Analog/Digital)”; Aug. 7, 2001; U.S. Appl. No. 09/924,734 Snyder et al.; 28 pages.
Related Publications (1)
Number Date Country
20110304354 A1 Dec 2011 US
Provisional Applications (1)
Number Date Country
60912399 Apr 2007 US
Continuations (2)
Number Date Country
Parent 12786412 May 2010 US
Child 13099334 US
Parent 11965291 Dec 2007 US
Child 12786412 US