US20090177814A1 - Programmable Modular Circuit For Testing and Controlling A System-On-A-Chip Integrated Circuit, and Applications Thereof - Google Patents
Programmable Modular Circuit For Testing and Controlling A System-On-A-Chip Integrated Circuit, and Applications Thereof Download PDFInfo
- Publication number
- US20090177814A1 US20090177814A1 US11/971,611 US97161108A US2009177814A1 US 20090177814 A1 US20090177814 A1 US 20090177814A1 US 97161108 A US97161108 A US 97161108A US 2009177814 A1 US2009177814 A1 US 2009177814A1
- Authority
- US
- United States
- Prior art keywords
- serial
- parallel interface
- line
- interface registers
- data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31723—Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318505—Test of Modular systems, e.g. Wafers, MCM's
Definitions
- the present invention generally relates to electronics. More particularly, it relates to a programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof.
- SoC system-on-a-chip
- An SoC may contain digital, analog, mixed-signal, and radio-frequency functions. SoC designs are typically preferred over multi-chip designs, for example, because SoC designs usually consume less power and have a lower cost and higher reliability than multi-chip designs.
- the present invention provides a programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof.
- the programmable modular circuit comprises a plurality of serial-to-parallel interface registers coupled together by a data line, a clock line, and an enable line.
- Each of the plurality of serial-to-parallel interface registers is coupled to a module of the system-on-a-chip.
- the data line and the clock line are used to serially clock data into the plurality of serial-to-parallel interface registers.
- Applying a first logical value to the enable line provides the data serially clocked into the plurality of serial-to-parallel interface registers to modules of the system-on-a-chip.
- Applying a second logical value to the enable line provides default values to modules of the system-on-a-chip.
- the data values serially clocked into the plurality of serial-to-parallel interface registers can be used to test and/or to modify selected operating characteristics of the system-on-a-chip.
- FIG. 1A is a diagram of an example electronic system in which a programmable modular circuit according to an embodiment of the present invention is employed.
- FIG. 1B is a diagram of an example system-on-a-chip integrated circuit in which a programmable modular circuit according to an embodiment of the present invention is employed.
- FIG. 1C is a diagram of an example test and control interface module according to an embodiment of the present invention.
- FIG. 2 is a diagram of an example programmable modular circuit according to an embodiment of the present invention.
- FIG. 3 is a diagram of an example serial-to-parallel interface register according to an embodiment of the present invention.
- FIG. 4 is an example timing diagram for a programmable modular circuit according to an embodiment of the present invention.
- FIGS. 5-7 are diagrams that illustrates various example applications of a programmable modular circuit according to an embodiment of the present invention.
- the present invention provides a programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof.
- references to “one embodiment”, “an embodiment”, “an example embodiment”, etc. indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- a programmable modular circuit comprises a plurality of serial-to-parallel interface registers coupled together by a data line, a clock line, and an enable line.
- Each of the plurality of serial-to-parallel interface registers is coupled to a module of the system-on-a-chip.
- the data line and the clock line are used to serially clock data into the plurality of serial-to-parallel interface registers.
- Applying a first logical value to the enable line provides the data serially clocked into the plurality of serial-to-parallel interface registers to modules of the system-on-a-chip.
- Applying a second logical value to the enable line provides default values to modules of the system-on-a-chip.
- the data values serially clocked into the plurality of serial-to-parallel interface registers can be used to test and/or to modify selected operating characteristics of the system-on-a-chip.
- FIG. 1A is a diagram of an example electronic system 100 in which a programmable modular circuit according to an embodiment of the present invention is employed.
- Electronic system 100 comprises a cellular telephone 102 in communication with a cellular communication tower 104 .
- cellular telephone 102 includes a system-on-a-chip (SoC) integrated circuit such as SoC 106 shown in FIG. 1B .
- SoC system-on-a-chip
- FIG. 1B is a diagram of an example SoC 106 that includes a programmable modular circuit according to an embodiment of the present invention.
- SoC 106 includes a test and control interface module 108 , a processor 112 , and a plurality of sub-circuits or modules 114 , 116 , 118 , 120 , and 122 .
- modules 114 , 116 , 118 , 120 , and 122 are used to implement various functions of cellular telephone 102 .
- Processor 112 can be any processor such as, for example, a MIPS processor available from MIPS Technology, Inc., 1225 Charleston Road, Mountain View, Calif. 94043-1353.
- modules 114 , 116 , 118 , 120 , and 122 are coupled to a plurality of serial-to-parallel interface registers 115 .
- Module 114 is coupled to serial-to-parallel interface register 115 a.
- Module 116 is coupled to serial-to-parallel interface register 115 b.
- Module 118 is coupled to serial-to-parallel interface register 115 c.
- Module 120 is coupled to serial-to-parallel interface register 115 d.
- Module 122 is coupled to serial-to-parallel interface register 115 n.
- the serial-to-parallel interface register 115 are used to provide test and/or control values to the modules as described in more detail below. Note that an interface register 115 need not necessarily be provided for each module in SoC 106 . Rather, the association of the interface register 115 with a corresponding module is an engineering decision that will depend on the specific application of the SoC.
- data is serially clocked into the plurality of serial-to-parallel interface registers using three pins 107 a - c of SoC 106 .
- Pin 107 a is an enable (EN) pin.
- Pin 107 b is a clock (CLK) pin.
- Pin 107 c is a data pin.
- Data is serially clocked into the plurality of serial-to-parallel interface registers and provided to modules 114 , 116 , 118 , 120 , and 122 in an embodiment by applying signals to pins 107 a - c in the manner illustrated by timing diagram 400 of FIG. 4 .
- data stored in a program register 110 of test and control interface module 108 is serially clocked into the plurality of serial-to-parallel interface registers and provided to modules 114 , 116 , 118 , 120 , and 122 . This is accomplished, for example, under the control of processor 112 as illustrated by FIG. 1C .
- data is provided in a plurality of program registers (not illustrated) and selectively provided to modules 114 , 116 , 118 , 120 , and 122 under processor control in the manner illustrated by timing diagram 400 of FIG. 4 .
- the plurality of program registers may comprise a non-volatile memory that can contain data that is written to the program registers by an application program executed by processor 112 .
- data stored in the selected one of the program registers is selectively provided to modules 114 , 116 , 118 , 120 , and 122 in the manner described above with respect to program register 110 of test and control interface module 108 .
- FIG. 1C is a diagram of an example test and control interface module 108 according to an embodiment of the present invention.
- test and control interface module 108 includes program register 110 , a clock 130 , a counter 132 , an AND gate 134 , an enable (EN) flag or control bit register 136 , and three switches 138 a - c.
- the position of switches 138 a - c is controlled by processor 112 .
- test and control interface module 106 operates as follows.
- Processor 112 stores test or control values in program register 110 .
- Processor 112 changes the enable control bit stored in register 136 from a logical low value to a logical high value.
- Processor 112 sets counter 132 to a value that will enable the test or control values stored in program register 110 to be serially clocked into the plurality of serial-to-parallel interface registers 115 by clock 130 .
- counter 132 counts down to zero, for example, AND gate 132 prevents the clock signal from being applied to the clock line.
- processor 112 can be used to reprogram SoC 106 .
- SoC 106 is reprogrammed remotely, for example, by communicating with processor 112 using a wired or a wireless communication channel.
- SoC 106 can be remotely reprogrammed, for example, using a backchannel of the cellular communication system.
- test and control interface module 108 operates strictly under the control of processor 112 (e.g., there are no pins 107 a - c connected to test and control interface module 106 in this embodiment). In another embodiment, test and control interface module 106 operates only by applying signals to pins 107 a - c (e.g., there is no means to control test and control interface 106 using processor 112 ).
- FIG. 2 is a diagram of an example programmable modular circuit 200 according to an embodiment of the present invention.
- Programmable modular circuit 200 is similar to the programmable modular circuit shown in FIG. 1B except that programmable modular circuit 200 includes one or more serial-to-parallel interface registers 204 coupled in parallel with one or more serial-to-parallel interface registers 115 .
- programmable modular circuit 200 includes serial-to-parallel interface registers 115 a - c and a serial-to-parallel interface register 202 .
- Serial-to-parallel interface register 115 a is coupled to module 114 .
- Serial-to-parallel interface register 115 b is coupled to module 116 .
- Serial-to-parallel interface register 115 c is coupled to module 118 .
- Serial-to-parallel interface register 204 is coupled to a module 202 .
- the serial-to-parallel interface register are coupled together by an enable (EN) line 206 , a clock (CLK) line 208 , and a data line 210 .
- test or control data is serially shifted into the serial-to-parallel interface registers 115 a - c and 204 and provided to modules 114 , 116 , 118 , and 202 by applying signals to lines 206 , 208 , and 210 in the manner illustrated by timing diagram 400 of FIG. 4 .
- the data serially shifted into serial-to-parallel interface register 204 is identical to the data serially shifted into serial-to-parallel interface register 115 c.
- FIG. 3 is a more detailed diagram of an example serial-to-parallel interface register 115 according to an embodiment of the present invention.
- the example serial-to-parallel interface register includes two control value cells 302 a - b.
- each serial-to-parallel interface register 115 includes at least one control value cell 302 .
- control value cell 302 a includes a flip-flop 304 a and a multiplexer 306 a.
- Flop-flop 304 a includes an input port coupled to a data line 314 , an output port coupled to data line 314 , and a clock (CLK) port coupled to a clock line 312 .
- Multiplexer 306 a includes a first input port coupled to data line 314 and the output port of flip-flop 304 a, a second input port coupled to a logical high value (e.g., Vdd) or a logical low value (e.g., ground (GND)), and a select port coupled to an enable (EN) line 310 .
- a logical high value e.g., Vdd
- a logical low value e.g., ground (GND)
- EN enable
- the output of multiplexer 306 a is a test or control value that is provided to a coupled module such as, for, example, module 114 shown in FIG. 2 .
- Control value cell 302 a operates in a manner that will be understood by persons skilled in the relevant art(s) given the description herein.
- Control value cell 302 b includes a flip-flop 304 b and a multiplexer 306 b.
- Flop-flop 304 b includes an input port coupled to data line 314 , an output port coupled to data line 314 , and a clock (CLK) port coupled to clock line 312 .
- Multiplexer 306 b includes a first input port coupled to the data line and the output port of flip-flop 304 b, a second input port coupled to a logical high value (e.g., Vdd) or a logical low value (e.g., ground (GND)), and a select port coupled to enable line 310 .
- Vdd logical high value
- GND ground
- the output of multiplexer 306 b is a test or control value that is provided to a coupled module such as, for, example, module 114 shown in FIG. 3 .
- Control value cell 302 b also operates in a manner that will be understood by persons skilled in the relevant art(s) given the description herein.
- a control value cell 302 can include an optional amplifier block 308 that is used to strengthen or buffer signals transmitted on enable line 310 , clock line 312 , and data line 314 .
- FIG. 4 is an example timing diagram 400 for a programmable modular circuit according to an embodiment of the present invention. As described herein, the signals depicted in timing diagram 400 can be used to operate a programmable modular circuit according to an embodiment of the present invention.
- FIGS. 5-7 are diagrams that illustrates various example applications of a programmable modular circuit according to an embodiment of the present invention.
- FIG. 5 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a resistance value.
- FIG. 6 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a capacitance value.
- FIG. 7 illustrates using a programmable modular circuit according to an embodiment of the present invention to input or provide a security key value.
- the example applications presented in FIGS. 5-7 are merely illustrative and not intended to limit the present invention in any way. Other applications of the present invention will become apparent to persons skilled in the relevant art(s) given the description herein.
- FIG. 5 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a resistance value.
- the resistance value is set by coupling control values serially clocked into a serial-to-parallel interface register 115 to a plurality of electronic switches 510 , 512 , 514 , and 516 .
- the control values operate the electronic switches to add or to remove resistors coupled, for example, in parallel and thereby vary an overall resistance of a circuit or sub-circuit.
- the resisters are coupled in a series configuration and selectively added to or removed from the circuit.
- a logical high value (e.g., 1) closes a switch and thus switches an associated register into a circuit. This is illustrated by electronic switches 510 , 514 , and 516 and resistors 502 , 506 , and 508 .
- a logical low value (e.g., 0) opens a switch and thus switches an associated register out of a circuit. This is illustrated by electronic switch 512 and resistor 504 .
- the present invention can be used, for example, to reprogram a feedback resistance in an amplifier circuit and thus change the gain of the amplifier circuit.
- the present invention can be used to tune a receiver circuit, adjust a filter circuit, etc by changing selected resistance values.
- FIG. 6 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a capacitance value.
- the capacitance value is set by coupling control values serially clocked into a serial-to-parallel interface register 115 to a plurality of electronic switches 610 , 612 , 614 , and 616 .
- the control values operate the electronic switches to add or to remove capacitors coupled, for example, in parallel and thereby vary an overall capacitance.
- a logical high value (e.g., 1) closes a switch and thus switches an associated capacitor into a circuit. This is illustrated by electronic switches 610 and 614 and capacitors 602 and 604 .
- a logical low value (e.g., 0) opens a switch and thus switches an associated capacitor out of a circuit. This is illustrated by electronic switches 614 and 616 and capacitors 606 and 608 .
- the capacitance reprogramming feature of the present invention can be used to vary the operating characteristic of an SoC.
- this feature of the present invention is used in combination with the resistance varying feature described above with reference to FIG. 5 .
- the present invention is used to switch elements other than resistors and/or capacitors into and out of a circuit of an SoC.
- FIG. 7 illustrates using a programmable modular circuit according to an embodiment of the present invention to input or provide a security key value.
- comparators 704 , 706 , 708 , 710 , and 712 compare values shifted into a serial-to-parallel interface register 115 to a security key value stored in a security key register 702 . If each of the compared values match, an AND gate 714 outputs an enable value.
- the enable value can be used for example to control selected features of an SoC such as, for example, audio features, video features, etc.
- the values shifted into serial-to-parallel interface register can be received from a remote location via a wired or a wireless communication channel and used to activate and/or configure an electronic device such as, for example, cellular telephone 102 . Additional applications for this feature of the present invention will become apparent to persons skilled in the relevant art(s) given the description herein.
- implementations may also be embodied in software (e.g., computer readable code, program code and/or instructions disposed in any form, such as source, object or machine language) disposed, for example, in a computer usable (e.g., readable) medium configured to store the software.
- software e.g., computer readable code, program code and/or instructions disposed in any form, such as source, object or machine language
- a computer usable (e.g., readable) medium configured to store the software.
- Such software can enable, for example, the function, fabrication, modeling, simulation, description and/or testing of the apparatus and methods described herein.
- this can be accomplished through the use of general programming languages (e.g., C, C++), hardware description languages (HDL) including Verilog HDL, VHDL, SystemC Register Transfer Level (RTL), and so on, or other available programs.
- HDL hardware description languages
- RTL SystemC Register Transfer Level
- Such software can be disposed in any known computer usable medium such as, for example, semiconductor, magnetic disk, and optical disk (e.g., CD-ROM, DVD-ROM, etc.).
- the apparatus and method embodiments described herein may be included in a semiconductor intellectual property core, (e.g., embodied in HDL) and transformed to hardware in the production of integrated circuits. Additionally, the apparatus and method embodiments described herein may be embodied as a combination of hardware and software. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalence. Furthermore, it should be appreciated that the detailed description of the present invention provided herein, and not the summary and abstract sections, is intended to be used to interpret the claims. The summary and abstract sections may set forth one or more but not all exemplary embodiments of the present invention.
Abstract
Description
- The present invention generally relates to electronics. More particularly, it relates to a programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof.
- The trend in electronic design is to integrate as many circuits of an electronic system or device as possible in a single integrated circuit know as a system-on-a-chip (SoC). An SoC may contain digital, analog, mixed-signal, and radio-frequency functions. SoC designs are typically preferred over multi-chip designs, for example, because SoC designs usually consume less power and have a lower cost and higher reliability than multi-chip designs.
- One drawback of convention SoC designs, however, is that there is limited assess after fabrication to the multiple circuits that make up the SoC. Thus, it can be difficult, if not impossible, to test each of the multiple circuits that makeup the SoC and/or to change the operating characteristics of the multiple circuits that makeup the SoC. Accordingly, new systems, methods and techniques are needed that overcome this limitation.
- The present invention provides a programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof. In an embodiment, the programmable modular circuit comprises a plurality of serial-to-parallel interface registers coupled together by a data line, a clock line, and an enable line. Each of the plurality of serial-to-parallel interface registers is coupled to a module of the system-on-a-chip. The data line and the clock line are used to serially clock data into the plurality of serial-to-parallel interface registers. Applying a first logical value to the enable line provides the data serially clocked into the plurality of serial-to-parallel interface registers to modules of the system-on-a-chip. Applying a second logical value to the enable line provides default values to modules of the system-on-a-chip. The data values serially clocked into the plurality of serial-to-parallel interface registers can be used to test and/or to modify selected operating characteristics of the system-on-a-chip.
- Further embodiments, features, and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.
- The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the present invention and to enable a person skilled in the pertinent art to make and use the present invention.
-
FIG. 1A is a diagram of an example electronic system in which a programmable modular circuit according to an embodiment of the present invention is employed. -
FIG. 1B is a diagram of an example system-on-a-chip integrated circuit in which a programmable modular circuit according to an embodiment of the present invention is employed. -
FIG. 1C is a diagram of an example test and control interface module according to an embodiment of the present invention. -
FIG. 2 is a diagram of an example programmable modular circuit according to an embodiment of the present invention. -
FIG. 3 is a diagram of an example serial-to-parallel interface register according to an embodiment of the present invention. -
FIG. 4 is an example timing diagram for a programmable modular circuit according to an embodiment of the present invention. -
FIGS. 5-7 are diagrams that illustrates various example applications of a programmable modular circuit according to an embodiment of the present invention. - The present invention is described with reference to the accompanying drawings. The drawing in which an element first appears is typically indicated by the leftmost digit or digits in the corresponding reference number.
- The present invention provides a programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof. In the detailed description of the present invention that follows, references to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- In an embodiment, a programmable modular circuit according to the present invention comprises a plurality of serial-to-parallel interface registers coupled together by a data line, a clock line, and an enable line. Each of the plurality of serial-to-parallel interface registers is coupled to a module of the system-on-a-chip. The data line and the clock line are used to serially clock data into the plurality of serial-to-parallel interface registers. Applying a first logical value to the enable line provides the data serially clocked into the plurality of serial-to-parallel interface registers to modules of the system-on-a-chip. Applying a second logical value to the enable line provides default values to modules of the system-on-a-chip. The data values serially clocked into the plurality of serial-to-parallel interface registers can be used to test and/or to modify selected operating characteristics of the system-on-a-chip.
-
FIG. 1A is a diagram of an exampleelectronic system 100 in which a programmable modular circuit according to an embodiment of the present invention is employed.Electronic system 100 comprises acellular telephone 102 in communication with acellular communication tower 104. As would be know to persons skilled in the known relevant art(s),cellular telephone 102 includes a system-on-a-chip (SoC) integrated circuit such asSoC 106 shown inFIG. 1B . It is to be noted, however, that the present invention is not limited to being employed in cellular telephones. -
FIG. 1B is a diagram of anexample SoC 106 that includes a programmable modular circuit according to an embodiment of the present invention. As shown inFIG. 1B , SoC 106 includes a test andcontrol interface module 108, aprocessor 112, and a plurality of sub-circuits ormodules modules cellular telephone 102.Processor 112 can be any processor such as, for example, a MIPS processor available from MIPS Technology, Inc., 1225 Charleston Road, Mountain View, Calif. 94043-1353. - As shown in
FIG. 1B ,modules parallel interface registers 115.Module 114 is coupled to serial-to-parallel interface register 115 a.Module 116 is coupled to serial-to-parallel interface register 115 b.Module 118 is coupled to serial-to-parallel interface register 115 c.Module 120 is coupled to serial-to-parallel interface register 115 d.Module 122 is coupled to serial-to-parallel interface register 115 n. The serial-to-parallel interface register 115 are used to provide test and/or control values to the modules as described in more detail below. Note that aninterface register 115 need not necessarily be provided for each module inSoC 106. Rather, the association of theinterface register 115 with a corresponding module is an engineering decision that will depend on the specific application of the SoC. - In an embodiment, data is serially clocked into the plurality of serial-to-parallel interface registers using three pins 107 a-c of
SoC 106.Pin 107 a is an enable (EN) pin. Pin 107 b is a clock (CLK) pin. Pin 107 c is a data pin. Data is serially clocked into the plurality of serial-to-parallel interface registers and provided tomodules FIG. 4 . - In an embodiment, data stored in a
program register 110 of test andcontrol interface module 108 is serially clocked into the plurality of serial-to-parallel interface registers and provided tomodules processor 112 as illustrated byFIG. 1C . - In an alternative embodiment, data is provided in a plurality of program registers (not illustrated) and selectively provided to
modules FIG. 4 . The plurality of program registers may comprise a non-volatile memory that can contain data that is written to the program registers by an application program executed byprocessor 112. In this embodiment, data stored in the selected one of the program registers is selectively provided tomodules control interface module 108. It will be noted that in this embodiment, there is no need to serially clock data into the interface registers using pins 107 a-c ofSoC 106 from an external source as this data is either provided by executing an application program or is permanently encoded in the program registers. -
FIG. 1C is a diagram of an example test andcontrol interface module 108 according to an embodiment of the present invention. As shown inFIG. 1C , in an embodiment, test andcontrol interface module 108 includesprogram register 110, aclock 130, acounter 132, an ANDgate 134, an enable (EN) flag or control bit register 136, and three switches 138 a-c. In an embodiment, the position of switches 138 a-c is controlled byprocessor 112. - In one embodiment, test and
control interface module 106 operates as follows.Processor 112 stores test or control values inprogram register 110.Processor 112 changes the enable control bit stored inregister 136 from a logical low value to a logical high value.Processor 112 sets counter 132 to a value that will enable the test or control values stored inprogram register 110 to be serially clocked into the plurality of serial-to-parallel interface registers 115 byclock 130. When counter 132 counts down to zero, for example, ANDgate 132 prevents the clock signal from being applied to the clock line. - As will be understood by persons skilled in the relevant art(s) given the description herein,
processor 112 can be used to reprogramSoC 106. In one embodiment,SoC 106 is reprogrammed remotely, for example, by communicating withprocessor 112 using a wired or a wireless communication channel. In the example ofelectronic system 100,SoC 106 can be remotely reprogrammed, for example, using a backchannel of the cellular communication system. - In embodiments of the present invention, test and
control interface module 108 operates strictly under the control of processor 112 (e.g., there are no pins 107 a-c connected to test andcontrol interface module 106 in this embodiment). In another embodiment, test andcontrol interface module 106 operates only by applying signals to pins 107 a-c (e.g., there is no means to control test andcontrol interface 106 using processor 112). -
FIG. 2 is a diagram of an example programmablemodular circuit 200 according to an embodiment of the present invention. Programmablemodular circuit 200 is similar to the programmable modular circuit shown inFIG. 1B except that programmablemodular circuit 200 includes one or more serial-to-parallel interface registers 204 coupled in parallel with one or more serial-to-parallel interface registers 115. - As shown in
FIG. 2 , in an embodiment, programmablemodular circuit 200 includes serial-to-parallel interface registers 115 a-c and a serial-to-parallel interface register 202. Serial-to-parallel interface register 115 a is coupled tomodule 114. Serial-to-parallel interface register 115 b is coupled tomodule 116. Serial-to-parallel interface register 115 c is coupled tomodule 118. Serial-to-parallel interface register 204 is coupled to amodule 202. The serial-to-parallel interface register are coupled together by an enable (EN)line 206, a clock (CLK)line 208, and adata line 210. In an embodiment, test or control data is serially shifted into the serial-to-parallel interface registers 115 a-c and 204 and provided tomodules lines FIG. 4 . In an embodiment, the data serially shifted into serial-to-parallel interface register 204 is identical to the data serially shifted into serial-to-parallel interface register 115 c. -
FIG. 3 is a more detailed diagram of an example serial-to-parallel interface register 115 according to an embodiment of the present invention. As shown inFIG. 3 , the example serial-to-parallel interface register includes two control value cells 302 a-b. In embodiments of the present invention, each serial-to-parallel interface register 115 includes at least one control value cell 302. - As shown in
FIG. 3 ,control value cell 302 a includes a flip-flop 304 a and amultiplexer 306 a. Flop-flop 304 a includes an input port coupled to adata line 314, an output port coupled todata line 314, and a clock (CLK) port coupled to aclock line 312.Multiplexer 306 a includes a first input port coupled todata line 314 and the output port of flip-flop 304 a, a second input port coupled to a logical high value (e.g., Vdd) or a logical low value (e.g., ground (GND)), and a select port coupled to an enable (EN)line 310. The output ofmultiplexer 306 a is a test or control value that is provided to a coupled module such as, for, example,module 114 shown inFIG. 2 .Control value cell 302 a operates in a manner that will be understood by persons skilled in the relevant art(s) given the description herein. -
Control value cell 302 b includes a flip-flop 304 b and amultiplexer 306 b. Flop-flop 304 b includes an input port coupled todata line 314, an output port coupled todata line 314, and a clock (CLK) port coupled toclock line 312.Multiplexer 306 b includes a first input port coupled to the data line and the output port of flip-flop 304 b, a second input port coupled to a logical high value (e.g., Vdd) or a logical low value (e.g., ground (GND)), and a select port coupled to enableline 310. The output ofmultiplexer 306 b is a test or control value that is provided to a coupled module such as, for, example,module 114 shown inFIG. 3 .Control value cell 302 b also operates in a manner that will be understood by persons skilled in the relevant art(s) given the description herein. - As shown in
FIG. 3 , in an embodiment, a control value cell 302 can include anoptional amplifier block 308 that is used to strengthen or buffer signals transmitted on enableline 310,clock line 312, anddata line 314. -
FIG. 4 is an example timing diagram 400 for a programmable modular circuit according to an embodiment of the present invention. As described herein, the signals depicted in timing diagram 400 can be used to operate a programmable modular circuit according to an embodiment of the present invention. -
FIGS. 5-7 are diagrams that illustrates various example applications of a programmable modular circuit according to an embodiment of the present invention. For example,FIG. 5 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a resistance value.FIG. 6 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a capacitance value.FIG. 7 illustrates using a programmable modular circuit according to an embodiment of the present invention to input or provide a security key value. The example applications presented inFIGS. 5-7 are merely illustrative and not intended to limit the present invention in any way. Other applications of the present invention will become apparent to persons skilled in the relevant art(s) given the description herein. - As noted above,
FIG. 5 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a resistance value. The resistance value is set by coupling control values serially clocked into a serial-to-parallel interface register 115 to a plurality ofelectronic switches - In an embodiment, a logical high value (e.g., 1) closes a switch and thus switches an associated register into a circuit. This is illustrated by
electronic switches resistors electronic switch 512 andresistor 504. - As will become apparent to persons skilled in the relevant art(s), the present invention can be used, for example, to reprogram a feedback resistance in an amplifier circuit and thus change the gain of the amplifier circuit. Similarly, the present invention can be used to tune a receiver circuit, adjust a filter circuit, etc by changing selected resistance values.
-
FIG. 6 illustrates using a programmable modular circuit according to an embodiment of the present invention to determine a capacitance value. The capacitance value is set by coupling control values serially clocked into a serial-to-parallel interface register 115 to a plurality ofelectronic switches - In an embodiment, a logical high value (e.g., 1) closes a switch and thus switches an associated capacitor into a circuit. This is illustrated by
electronic switches capacitors electronic switches capacitors - As will become apparent to persons skilled in the relevant art(s), the capacitance reprogramming feature of the present invention can be used to vary the operating characteristic of an SoC. In embodiments, this feature of the present invention is used in combination with the resistance varying feature described above with reference to
FIG. 5 . - In embodiments, the present invention is used to switch elements other than resistors and/or capacitors into and out of a circuit of an SoC.
-
FIG. 7 illustrates using a programmable modular circuit according to an embodiment of the present invention to input or provide a security key value. As shown inFIG. 7 ,comparators parallel interface register 115 to a security key value stored in a securitykey register 702. If each of the compared values match, an ANDgate 714 outputs an enable value. The enable value can be used for example to control selected features of an SoC such as, for example, audio features, video features, etc. In an embodiment, the values shifted into serial-to-parallel interface register can be received from a remote location via a wired or a wireless communication channel and used to activate and/or configure an electronic device such as, for example,cellular telephone 102. Additional applications for this feature of the present invention will become apparent to persons skilled in the relevant art(s) given the description herein. - While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant arts that various changes in form and detail can be made therein without departing from the scope of the invention. For example, in addition to using hardware, implementations may also be embodied in software (e.g., computer readable code, program code and/or instructions disposed in any form, such as source, object or machine language) disposed, for example, in a computer usable (e.g., readable) medium configured to store the software. Such software can enable, for example, the function, fabrication, modeling, simulation, description and/or testing of the apparatus and methods described herein. For example, this can be accomplished through the use of general programming languages (e.g., C, C++), hardware description languages (HDL) including Verilog HDL, VHDL, SystemC Register Transfer Level (RTL), and so on, or other available programs. Such software can be disposed in any known computer usable medium such as, for example, semiconductor, magnetic disk, and optical disk (e.g., CD-ROM, DVD-ROM, etc.).
- It is understood that the apparatus and method embodiments described herein may be included in a semiconductor intellectual property core, (e.g., embodied in HDL) and transformed to hardware in the production of integrated circuits. Additionally, the apparatus and method embodiments described herein may be embodied as a combination of hardware and software. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalence. Furthermore, it should be appreciated that the detailed description of the present invention provided herein, and not the summary and abstract sections, is intended to be used to interpret the claims. The summary and abstract sections may set forth one or more but not all exemplary embodiments of the present invention.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/971,611 US8073996B2 (en) | 2008-01-09 | 2008-01-09 | Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/971,611 US8073996B2 (en) | 2008-01-09 | 2008-01-09 | Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090177814A1 true US20090177814A1 (en) | 2009-07-09 |
US8073996B2 US8073996B2 (en) | 2011-12-06 |
Family
ID=40845491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/971,611 Active 2028-07-28 US8073996B2 (en) | 2008-01-09 | 2008-01-09 | Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof |
Country Status (1)
Country | Link |
---|---|
US (1) | US8073996B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026822A1 (en) * | 2009-10-05 | 2015-01-22 | Asset Intertech, Inc. | Protection of proprietary embedded instruments |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007021732A2 (en) | 2005-08-09 | 2007-02-22 | Texas Instruments Incorporated | Selectable jtag or trace access with data store and output |
JP6358497B2 (en) * | 2014-04-19 | 2018-07-18 | Tianma Japan株式会社 | Control device |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4703484A (en) * | 1985-12-19 | 1987-10-27 | Harris Corporation | Programmable integrated circuit fault detection apparatus |
US5130988A (en) * | 1990-09-17 | 1992-07-14 | Northern Telecom Limited | Software verification by fault insertion |
US5392296A (en) * | 1991-09-05 | 1995-02-21 | Nec Corporation | Testing circuit provided in digital logic circuits |
US5473617A (en) * | 1991-07-03 | 1995-12-05 | Hughes Aircraft Company | High impedance technique for testing interconnections in digital systems |
US5498972A (en) * | 1990-08-15 | 1996-03-12 | Telefonaktiebolaget Lm Ericsson | Device for monitoring the supply voltage on integrated circuits |
US5568492A (en) * | 1994-06-06 | 1996-10-22 | Motorola, Inc. | Circuit and method of JTAG testing multichip modules |
US5933374A (en) * | 1998-06-15 | 1999-08-03 | Siemens Aktiengesellschaft | Memory with reduced wire connections |
US6032278A (en) * | 1996-12-26 | 2000-02-29 | Intel Corporation | Method and apparatus for performing scan testing |
US6226780B1 (en) * | 1998-08-31 | 2001-05-01 | Mentor Graphics Corporation | Circuit design method and apparatus supporting a plurality of hardware design languages |
US6314539B1 (en) * | 1998-10-21 | 2001-11-06 | Xilinx, Inc. | Boundary-scan register cell with bypass circuit |
US6476630B1 (en) * | 2000-04-13 | 2002-11-05 | Formfactor, Inc. | Method for testing signal paths between an integrated circuit wafer and a wafer tester |
US20040002832A1 (en) * | 2002-05-20 | 2004-01-01 | Chan Patrick P. | Method and apparatus for boundary scan of serial interfaces |
US20040015758A1 (en) * | 2002-05-13 | 2004-01-22 | Stmicroelectronics Pvt. Ltd. | Method and device for testing configuration memory cells in programmable logic devices (PLDS) |
US6813738B2 (en) * | 1988-09-07 | 2004-11-02 | Texas Instruments Incorporated | IC test cell with memory output connected to input multiplexer |
US6870375B2 (en) * | 2002-07-01 | 2005-03-22 | Texas Instruments Incorporated | System and method for measuring a capacitance associated with an integrated circuit |
US6975980B2 (en) * | 1998-02-18 | 2005-12-13 | Texas Instruments Incorporated | Hierarchical linking module connection to access ports of embedded cores |
US20070109882A1 (en) * | 2004-12-19 | 2007-05-17 | Masayoshi Taniguchi | Method and apparatus for redundant memory configuration in voltage island |
-
2008
- 2008-01-09 US US11/971,611 patent/US8073996B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4703484A (en) * | 1985-12-19 | 1987-10-27 | Harris Corporation | Programmable integrated circuit fault detection apparatus |
US6813738B2 (en) * | 1988-09-07 | 2004-11-02 | Texas Instruments Incorporated | IC test cell with memory output connected to input multiplexer |
US5498972A (en) * | 1990-08-15 | 1996-03-12 | Telefonaktiebolaget Lm Ericsson | Device for monitoring the supply voltage on integrated circuits |
US5130988A (en) * | 1990-09-17 | 1992-07-14 | Northern Telecom Limited | Software verification by fault insertion |
US5473617A (en) * | 1991-07-03 | 1995-12-05 | Hughes Aircraft Company | High impedance technique for testing interconnections in digital systems |
US5392296A (en) * | 1991-09-05 | 1995-02-21 | Nec Corporation | Testing circuit provided in digital logic circuits |
US5568492A (en) * | 1994-06-06 | 1996-10-22 | Motorola, Inc. | Circuit and method of JTAG testing multichip modules |
US6032278A (en) * | 1996-12-26 | 2000-02-29 | Intel Corporation | Method and apparatus for performing scan testing |
US6975980B2 (en) * | 1998-02-18 | 2005-12-13 | Texas Instruments Incorporated | Hierarchical linking module connection to access ports of embedded cores |
US5933374A (en) * | 1998-06-15 | 1999-08-03 | Siemens Aktiengesellschaft | Memory with reduced wire connections |
US6226780B1 (en) * | 1998-08-31 | 2001-05-01 | Mentor Graphics Corporation | Circuit design method and apparatus supporting a plurality of hardware design languages |
US6314539B1 (en) * | 1998-10-21 | 2001-11-06 | Xilinx, Inc. | Boundary-scan register cell with bypass circuit |
US6476630B1 (en) * | 2000-04-13 | 2002-11-05 | Formfactor, Inc. | Method for testing signal paths between an integrated circuit wafer and a wafer tester |
US20040015758A1 (en) * | 2002-05-13 | 2004-01-22 | Stmicroelectronics Pvt. Ltd. | Method and device for testing configuration memory cells in programmable logic devices (PLDS) |
US20040002832A1 (en) * | 2002-05-20 | 2004-01-01 | Chan Patrick P. | Method and apparatus for boundary scan of serial interfaces |
US6870375B2 (en) * | 2002-07-01 | 2005-03-22 | Texas Instruments Incorporated | System and method for measuring a capacitance associated with an integrated circuit |
US20070109882A1 (en) * | 2004-12-19 | 2007-05-17 | Masayoshi Taniguchi | Method and apparatus for redundant memory configuration in voltage island |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026822A1 (en) * | 2009-10-05 | 2015-01-22 | Asset Intertech, Inc. | Protection of proprietary embedded instruments |
US9305186B2 (en) * | 2009-10-05 | 2016-04-05 | Asset Intertech, Inc. | Protection of proprietary embedded instruments |
Also Published As
Publication number | Publication date |
---|---|
US8073996B2 (en) | 2011-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7587537B1 (en) | Serializer-deserializer circuits formed from input-output circuit registers | |
US10338136B2 (en) | Integrated circuit with low power scan system | |
CN109687848B (en) | Reversible trigger with configurable logic function and configuration method thereof | |
US9407264B1 (en) | System for isolating integrated circuit power domains | |
CN106463039A (en) | Configuring signal-processing systems | |
US7368940B1 (en) | Programmable integrated circuit with selective programming to compensate for process variations and/or mask revisions | |
US9964596B2 (en) | Integrated circuit with low power scan system | |
US8073996B2 (en) | Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof | |
CN106777720A (en) | Circuit verification method and device | |
Lim et al. | An analog model template library: Simplifying chip-level, mixed-signal design verification | |
US8571837B1 (en) | System and method for simulating a bi-directional connect module within an analog and mixed-signal circuit | |
CN105262462A (en) | Digital delay implementation method for integrated circuit and circuit | |
Ren et al. | Reference calibration of body-voltage sensing circuit for high-speed STT-RAMs | |
CN103632726A (en) | Data shift register circuit based on programmable basic logic unit | |
US9786361B1 (en) | Programmable decoupling capacitance of configurable logic circuitry and method of operating same | |
CN105760558A (en) | Layout method of multiple input LUTs (lookup tables) in FPGA (field programmable gate array) chip | |
US7529993B1 (en) | Method of selectively programming integrated circuits to compensate for process variations and/or mask revisions | |
CN104238413B (en) | External crystal oscillator judging circuit of SOC system chip | |
US7403150B1 (en) | Analog-to-digital converter architecture using a capacitor array structure | |
CN110518897B (en) | Method for removing reset and set pins of D flip-flop, D flip-flop and circuit | |
WO2016178332A1 (en) | Programmable logic device, method for verifying error of programmable logic device, and method for forming circuit of programmable logic device | |
US8881082B2 (en) | FEC decoder dynamic power optimization | |
US7861197B2 (en) | Method of verifying design of logic circuit | |
US8436650B2 (en) | Programmable logic device | |
US20130222019A1 (en) | Semiconductor integrated circuit, semiconductor device, and method of designing semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CHIPIDEA MICROELECTRONICA, S.A., PORTUGAL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CARDOSO, PAULO ANTONIO RIBEIRO;REEL/FRAME:022534/0969 Effective date: 20080410 Owner name: MIPSABG CHIPIDEA, LDA., PORTUGAL Free format text: CHANGE OF NAME;ASSIGNOR:CHIPIDEA MICROELECTRONICA, S.A.;REEL/FRAME:022535/0190 Effective date: 20080424 |
|
AS | Assignment |
Owner name: SYNOPYS, INC.,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SNPS PORTUGAL, LDA;MIPSABG CHIPIDEA, LDA;CHIPIDEA MICROELECTRONICS S.A.;REEL/FRAME:024252/0056 Effective date: 20100419 Owner name: SYNOPYS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SNPS PORTUGAL, LDA;MIPSABG CHIPIDEA, LDA;CHIPIDEA MICROELECTRONICS S.A.;REEL/FRAME:024252/0056 Effective date: 20100419 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |