WO2020139451A1 - Classifying comparators based on comparator offsets - Google Patents

Classifying comparators based on comparator offsets Download PDF

Info

Publication number
WO2020139451A1
WO2020139451A1 PCT/US2019/057960 US2019057960W WO2020139451A1 WO 2020139451 A1 WO2020139451 A1 WO 2020139451A1 US 2019057960 W US2019057960 W US 2019057960W WO 2020139451 A1 WO2020139451 A1 WO 2020139451A1
Authority
WO
WIPO (PCT)
Prior art keywords
comparator
voltage
output signals
input
polarity
Prior art date
Application number
PCT/US2019/057960
Other languages
French (fr)
Inventor
Zhi-yuan ZOU
Original Assignee
Microchip Technology Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/294,467 external-priority patent/US20200213139A1/en
Application filed by Microchip Technology Incorporated filed Critical Microchip Technology Incorporated
Priority to CN201980086569.5A priority Critical patent/CN113227806A/en
Priority to DE112019006541.6T priority patent/DE112019006541T5/en
Publication of WO2020139451A1 publication Critical patent/WO2020139451A1/en

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J151/00Adhesives based on graft polymers in which the grafted component is obtained by reactions only involving carbon-to-carbon unsaturated bonds; Adhesives based on derivatives of such polymers
    • C09J151/003Adhesives based on graft polymers in which the grafted component is obtained by reactions only involving carbon-to-carbon unsaturated bonds; Adhesives based on derivatives of such polymers grafted on to macromolecular compounds obtained by reactions only involving unsaturated carbon-to-carbon bonds
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/24Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being amplitude
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J133/00Adhesives based on homopolymers or copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and at least one being terminated by only one carboxyl radical, or of salts, anhydrides, esters, amides, imides, or nitriles thereof; Adhesives based on derivatives of such polymers
    • C09J133/04Homopolymers or copolymers of esters
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F2/00Processes of polymerisation
    • C08F2/46Polymerisation initiated by wave energy or particle radiation
    • C08F2/48Polymerisation initiated by wave energy or particle radiation by ultraviolet or visible light
    • C08F2/50Polymerisation initiated by wave energy or particle radiation by ultraviolet or visible light with sensitising agents
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F220/00Copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and only one being terminated by only one carboxyl radical or a salt, anhydride ester, amide, imide or nitrile thereof
    • C08F220/02Monocarboxylic acids having less than ten carbon atoms; Derivatives thereof
    • C08F220/04Acids; Metal salts or ammonium salts thereof
    • C08F220/06Acrylic acid; Methacrylic acid; Metal salts or ammonium salts thereof
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F220/00Copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and only one being terminated by only one carboxyl radical or a salt, anhydride ester, amide, imide or nitrile thereof
    • C08F220/02Monocarboxylic acids having less than ten carbon atoms; Derivatives thereof
    • C08F220/10Esters
    • C08F220/12Esters of monohydric alcohols or phenols
    • C08F220/16Esters of monohydric alcohols or phenols of phenols or of alcohols containing two or more carbon atoms
    • C08F220/18Esters of monohydric alcohols or phenols of phenols or of alcohols containing two or more carbon atoms with acrylic or methacrylic acids
    • C08F220/1808C8-(meth)acrylate, e.g. isooctyl (meth)acrylate or 2-ethylhexyl (meth)acrylate
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F220/00Copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and only one being terminated by only one carboxyl radical or a salt, anhydride ester, amide, imide or nitrile thereof
    • C08F220/02Monocarboxylic acids having less than ten carbon atoms; Derivatives thereof
    • C08F220/10Esters
    • C08F220/12Esters of monohydric alcohols or phenols
    • C08F220/16Esters of monohydric alcohols or phenols of phenols or of alcohols containing two or more carbon atoms
    • C08F220/18Esters of monohydric alcohols or phenols of phenols or of alcohols containing two or more carbon atoms with acrylic or methacrylic acids
    • C08F220/1811C10or C11-(Meth)acrylate, e.g. isodecyl (meth)acrylate, isobornyl (meth)acrylate or 2-naphthyl (meth)acrylate
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F236/00Copolymers of compounds having one or more unsaturated aliphatic radicals, at least one having two or more carbon-to-carbon double bonds
    • C08F236/02Copolymers of compounds having one or more unsaturated aliphatic radicals, at least one having two or more carbon-to-carbon double bonds the radical having only two carbon-to-carbon double bonds
    • C08F236/20Copolymers of compounds having one or more unsaturated aliphatic radicals, at least one having two or more carbon-to-carbon double bonds the radical having only two carbon-to-carbon double bonds unconjugated
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F236/00Copolymers of compounds having one or more unsaturated aliphatic radicals, at least one having two or more carbon-to-carbon double bonds
    • C08F236/22Copolymers of compounds having one or more unsaturated aliphatic radicals, at least one having two or more carbon-to-carbon double bonds the radical having three or more carbon-to-carbon double bonds
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F265/00Macromolecular compounds obtained by polymerising monomers on to polymers of unsaturated monocarboxylic acids or derivatives thereof as defined in group C08F20/00
    • C08F265/04Macromolecular compounds obtained by polymerising monomers on to polymers of unsaturated monocarboxylic acids or derivatives thereof as defined in group C08F20/00 on to polymers of esters
    • C08F265/06Polymerisation of acrylate or methacrylate esters on to polymers thereof
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08KUse of inorganic or non-macromolecular organic substances as compounding ingredients
    • C08K5/00Use of organic ingredients
    • C08K5/0008Organic ingredients according to more than one of the "one dot" groups of C08K5/01 - C08K5/59
    • C08K5/0025Crosslinking or vulcanising agents; including accelerators
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08KUse of inorganic or non-macromolecular organic substances as compounding ingredients
    • C08K5/00Use of organic ingredients
    • C08K5/01Hydrocarbons
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08KUse of inorganic or non-macromolecular organic substances as compounding ingredients
    • C08K5/00Use of organic ingredients
    • C08K5/04Oxygen-containing compounds
    • C08K5/13Phenols; Phenolates
    • C08K5/132Phenols containing keto groups, e.g. benzophenones
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08KUse of inorganic or non-macromolecular organic substances as compounding ingredients
    • C08K5/00Use of organic ingredients
    • C08K5/36Sulfur-, selenium-, or tellurium-containing compounds
    • C08K5/37Thiols
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08KUse of inorganic or non-macromolecular organic substances as compounding ingredients
    • C08K7/00Use of ingredients characterised by shape
    • C08K7/22Expanded, porous or hollow particles
    • C08K7/24Expanded, porous or hollow particles inorganic
    • C08K7/28Glass
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J11/00Features of adhesives not provided for in group C09J9/00, e.g. additives
    • C09J11/02Non-macromolecular additives
    • C09J11/06Non-macromolecular additives organic
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J133/00Adhesives based on homopolymers or copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and at least one being terminated by only one carboxyl radical, or of salts, anhydrides, esters, amides, imides, or nitriles thereof; Adhesives based on derivatives of such polymers
    • C09J133/04Homopolymers or copolymers of esters
    • C09J133/06Homopolymers or copolymers of esters of esters containing only carbon, hydrogen and oxygen, the oxygen atom being present only as part of the carboxyl radical
    • C09J133/08Homopolymers or copolymers of acrylic acid esters
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J133/00Adhesives based on homopolymers or copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and at least one being terminated by only one carboxyl radical, or of salts, anhydrides, esters, amides, imides, or nitriles thereof; Adhesives based on derivatives of such polymers
    • C09J133/04Homopolymers or copolymers of esters
    • C09J133/06Homopolymers or copolymers of esters of esters containing only carbon, hydrogen and oxygen, the oxygen atom being present only as part of the carboxyl radical
    • C09J133/10Homopolymers or copolymers of methacrylic acid esters
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J7/00Adhesives in the form of films or foils
    • C09J7/10Adhesives in the form of films or foils without carriers
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J7/00Adhesives in the form of films or foils
    • C09J7/30Adhesives in the form of films or foils characterised by the adhesive composition
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J7/00Adhesives in the form of films or foils
    • C09J7/30Adhesives in the form of films or foils characterised by the adhesive composition
    • C09J7/38Pressure-sensitive adhesives [PSA]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31932Comparators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09DCOATING COMPOSITIONS, e.g. PAINTS, VARNISHES OR LACQUERS; FILLING PASTES; CHEMICAL PAINT OR INK REMOVERS; INKS; CORRECTING FLUIDS; WOODSTAINS; PASTES OR SOLIDS FOR COLOURING OR PRINTING; USE OF MATERIALS THEREFOR
    • C09D151/00Coating compositions based on graft polymers in which the grafted component is obtained by reactions only involving carbon-to-carbon unsaturated bonds; Coating compositions based on derivatives of such polymers
    • C09D151/003Coating compositions based on graft polymers in which the grafted component is obtained by reactions only involving carbon-to-carbon unsaturated bonds; Coating compositions based on derivatives of such polymers grafted on to macromolecular compounds obtained by reactions only involving unsaturated carbon-to-carbon bonds
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2203/00Applications of adhesives in processes or use of adhesives in the form of films or foils
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2301/00Additional features of adhesives in the form of films or foils
    • C09J2301/40Additional features of adhesives in the form of films or foils characterized by the presence of essential components
    • C09J2301/408Additional features of adhesives in the form of films or foils characterized by the presence of essential components additives as essential feature of the adhesive layer
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2301/00Additional features of adhesives in the form of films or foils
    • C09J2301/40Additional features of adhesives in the form of films or foils characterized by the presence of essential components
    • C09J2301/412Additional features of adhesives in the form of films or foils characterized by the presence of essential components presence of microspheres
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2400/00Presence of inorganic and organic materials
    • C09J2400/10Presence of inorganic materials
    • C09J2400/14Glass
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2400/00Presence of inorganic and organic materials
    • C09J2400/20Presence of organic materials
    • C09J2400/22Presence of unspecified polymer
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2400/00Presence of inorganic and organic materials
    • C09J2400/20Presence of organic materials
    • C09J2400/24Presence of a foam
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2423/00Presence of polyolefin
    • C09J2423/10Presence of homo or copolymers of propene
    • C09J2423/106Presence of homo or copolymers of propene in the substrate
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2423/00Presence of polyolefin
    • C09J2423/16Presence of ethen-propene or ethene-propene-diene copolymers
    • C09J2423/166Presence of ethen-propene or ethene-propene-diene copolymers in the substrate
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2433/00Presence of (meth)acrylic polymer
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J2451/00Presence of graft polymer

Definitions

  • the present disclosure relates generally to classifying comparators based on comparator offsets, and more specifically, to identifying comparators with suitable offsets for reliable key generation.
  • a physical unclonable function may serve as a unique physical identity in a physical structure (e.g., a semiconductor device such as a microprocessor).
  • a PUF which is based on a physical variation that may occur naturally during a semiconductor manufacturing process, may allow for differentiation between otherwise identical semiconductor devices. Because semiconductor devices may be slightly different, operation of the semiconductor devices (e.g., outputs generated by the semiconductor devices) may vary.
  • FIG. 1 depicts a comparator circuit, according to one or more embodiments of the disclosure
  • FIGS. 2 and 3 are plots for depicting comparator input offset statistical distribution, according to one or more embodiments of the disclosure
  • FIG. 4 is a flowchart of an example method of identifying a comparator with a suitable input offset for key generation
  • FIG. 5 is an example circuit for generating an external offset voltage, in accordance with various embodiments of the disclosure.
  • FIG. 6 is an example circuit diagram including a comparator coupled to a resistor string, according to one or more embodiments of the disclosure
  • FIG. 7 is a block diagram of an example system, according to one or more embodiments of the disclosure.
  • FIG. 8 is a block diagram of an example computing system.
  • DSP Digital Signal Processor
  • IC Integrated Circuit
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may also be referred to herein as a host processor or simply a host
  • the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a general-purpose computer including a processor is considered a special-purpose computer while the general-purpose computer is configured to execute computing instructions (e.g., software code) related to embodiments of the present disclosure.
  • the embodiments may be described in terms of a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operational acts as a sequential process, many of these acts can be performed in another sequence, in parallel, or substantially concurrently. In addition, the order of the acts may be re-arranged.
  • a process may correspond to a method, a thread, a function, a procedure, a subroutine, a subprogram, etc.
  • the methods disclosed herein may be implemented in hardware, software, or both. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on computer-readable media.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • any reference to an element herein using a designation such as“first,”“second,” and so forth does not limit the quantity or order of those elements, unless such limitation is explicitly stated. Rather, these designations may be used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner.
  • a set of elements may comprise one or more elements.
  • the term“substantially” in reference to a given parameter, property, or condition means and includes to a degree that one of ordinary skill in the art would understand that the given parameter, property, or condition is met with a small degree of variance, such as, for example, within acceptable manufacturing tolerances.
  • the parameter, property, or condition may be at least 90% met, at least 95% met, or even at least 99% met.
  • a manufacturing process may be the same for a number of devices (e.g., integrated circuits (ICs)), each device may be slightly diffemet due to normal manufacturing variabilities. More specifically, one or more physical properties of the devices may vary from device to device due to the manufacturing process.
  • One or more distinct physical properties of a device may be considered a physical unclonable function (PUF) of the device (e.g., if it can be used to generate an electrical function reflecting the variation).
  • PUF physical unclonable function
  • devices may be slightly different, operation of the devices (e.g., outputs generated by the devices) may be different. More specifically, for example, outputs (e.g., output values for a given output) of various comparator ICs may vary based on PUFs of the comparator ICs. For example, some comparators may have relatively large input offsets and some comparators may have relatively small input offsets.
  • Comparators with relatively small offsets may have outputs that change polarity due to, for example, noise and/or offset drift (e.g., due to changes in temperature and/or supply voltages). Comparators with relatively large offsets may be more tolerable to noise and offset drift. In other words, comparators with relatively large offsets may have more stable outputs (e.g., the outputs may not change due to noise and offset drift).
  • Various embodiments described herein relate to classifying comparators based on comparator offsets, and more specifically, to methods for identifying comparators including suitable offsets (e.g., for reliable key generation). Yet more specifically, some embodiments may relate to sorting and identifying comparators for reliable key generation (e.g., PUF key generation) based on offset values of the comparators, and the use of the identified comparators to generate a reliable key.
  • reliable key generation e.g., PUF key generation
  • comparators for key generation e.g., wherein each comparator generates one or more bits for multi-bit key
  • each comparator cell on each integrated circuit be repeatable.
  • a comparator output should be the same over the lifetime of the comparator and under all operating conditions (e.g., variations in noise, temperature, and/or supply voltage). Accordingly, for key generation, it may be advantageous to utilize comparators with relatively large offsets.
  • various embodiments as disclosed herein identify comparators with sufficient offsets via one or more tests. Measuring actual exact offset values for comparators may not be required.
  • a comparator may be tested via strobing the comparator multiple times with the two identical inputs (e.g., two inputs tied together). If a polarity of an output of the comparator does not remain the same for each strobe, it may be determined that an offset of the comparator is too small, and thus the output of the comparator may be affected by noise.
  • comparators with offsets that are too small may be rejected, and other remaining comparators may be divided into groups (e.g., two groups) depending on comparator outputs (e.g., comparators outputting a positive offset (e.g., an output having a positive polarity) may be in one group (e.g.,“group 1”) and comparators outputting a negative offset (e.g., an output having a negative polarity) may be in another group (e.g.,“group 2”)).
  • comparator outputs e.g., comparators outputting a positive offset (e.g., an output having a positive polarity) may be in one group (e.g.,“group 1”) and comparators outputting a negative offset (e.g., an output having a negative polarity) may be in another group (e.g.,“group 2”)).
  • each of the remaining comparators may be tested. More specifically, during another testing phase (e.g., a second testing phase), each of the remaining comparator may be supplied an external offset voltage.
  • the external offset voltage applied to a comparator i.e., at the inputs of the comparator
  • the external offset voltage applied to a comparator may have a known absolute value and a polarity that is opposite of a polarity of the offset of the comparator. For example, if a comparator has positive offset (e.g., in group“1”), a negative external offset voltage may be supplied to the comparator. If a comparator has negative offset (e.g., in group“2”), a positive external offset voltage may be supplied to the comparator.
  • the external offset voltage may be determined based on one or more factors. For example, according to some embodiments, the external offset voltage may be selected based on comparator noise, offset drift with temperature, supply voltage, and/or time. More specifically, for example, the sum of these parameters may be used to determine the external
  • a comparator may be strobed multiple times with the external offset voltage. If a polarity of the comparator output does not remain the same as before, or does not remain the same for each strobe, the comparator may be rejected. Otherwise, comparators having outputs that remain the same as before and for each strobe, may be identified as reliable comparators and may be used as PUF comparator cells (e.g., in key generation).
  • an absolute value of an offset of the remaining comparators may be equal to or greater than the predefined external offset voltage. Further, in some embodiments, if the comparator noise and offset drift (e.g., with temperature, supply voltage and time) may be determined empirically, the sum of these parameters may be used as the external test voltage for comparator sorting, which may ensure the comparator repeatability.
  • one or more testing phases may be used to classify a comparator.
  • a comparator may be classified as either reliable or unreliable based either the first testing phase (e.g., wherein inputs of the comparator receive the same signal (e.g., the inputs are tied together) or a second testing phase (e.g., wherein inputs of the comparator receive an offset voltage).
  • a comparator may be classified as either reliable or unreliable based on more than one testing phase (e.g., the first testing phase and the second testing phase).
  • Various embodiments disclosed herein may improve comparator classification. Further, comparators with relatively high repeatability may be used in generating a reliable bit in key generation, thus improving key generation (e.g., for encryption and decryption). For at least these reasons, various embodiments of the present disclosure, as described more fully herein, provide a technical solution to one or more problems that arise from technology that could not reasonably be performed by a person, and various embodiments disclosed herein are rooted in computer technology in order to overcome the problems and/or challenges described above. Further, at least some embodiments disclosed herein may improve computer-related technology by allowing computer performance of a function not previously performable by a computer.
  • FIG. 1 depicts an example comparator circuit 100, according to one or more embodiments of the disclosure.
  • Comparator circuit 100 includes differential inputs Inp and Inn, a plurality of switches (e.g., transistors M1-M8), cross coupled NAND gates configured as an SR flip-flop, and an output Out.
  • switches e.g., transistors M1-M8
  • cross coupled NAND gates configured as an SR flip-flop
  • an output Out During a contemplated operation, an output signal generated at output Out may be based on a signal received an input Inp and a signal received an input Inn.
  • noise, offset, and/or offset drift may impact the output signal.
  • input Inp and input Inn may or may not be configured to receive the same input.
  • input Inp and input Inn may receive the same input (e.g., input Inp and input Inn may be tied together).
  • input Inp and input Inn may be configured to receive a different signal (e.g., an offset voltage may be applied to the inputs).
  • Comparator circuit 100 is provided as an example comparator circuit, and the disclosure is not limited to any particular comparator circuit.
  • FIG. 2 is a plot 200 including an area 202 (i.e., to the right of the Y axis; labeled as“1”) and an area 204 (i.e., to the left of the Y axis; labeled as“0”).
  • comparators having a positive input offset may be represented to the right of the Y axis (e.g., in area 202) and comparators having a negative input offset may be represented to the left of the Y axis (e.g., in area 204).
  • the larger the offset of a comparator the farther the offset may be from the Y axis.
  • the offset of a comparator having an offset of 2x may be farther away from the Y axis than for a comparator having an offset of lx.
  • Comparators having an offset positioned between dashed lines 206 and 208 have a relatively low offset, and therefore the outputs of these comparators may be susceptible to noise and/or offset drift.
  • a comparator may be tested via strobing the comparator multiple times with identical inputs (e.g., two inputs of the comparator are tied together).
  • a number of strobe pulses may be applied to a gate of M5 gate, while an input (e.g., a voltage) may be applied to each of input Inp and input Inn. If a polarity of an output of the comparator does not remain the same for each strobe, it may be determined that an offset of the comparator is too small (e.g., the output is between dashed lines 206 and 208) and thus, the output of the comparator may be affected by noise or other phenomena causing an offset drift.
  • the strobing and the output signal values may happen in sequence. In other words, an output signal value is generated in response to each input strobe.
  • comparators with offsets that are too small may be rejected (e.g., as unreliable), and other remaining comparators may be divided into groups (e.g., two groups) depending on comparator outputs. For example, comparators outputting a positive offset may be in one group (e.g.,“group 1”) and comparators outputting a negative offset may be in another group (e.g.,“group 2”).
  • each of the remaining comparator may be supplied an external offset voltage.
  • the external offset voltage applied to a comparator i.e., at its inputs
  • a positive external offset voltage may be supplied to the comparator (e.g., the potential at input Inp of the comparator is positive in relation to the potential at input Inn of the comparator).
  • the absolute value of the applied offset voltages may be selected so as to be within a predetermined range appropriate for PUF generation.
  • each comparator may be strobed multiple times with the external offset voltage.
  • a number of strobe pulses may be applied to a gate of transistor M5 gate, while the external voltage may be applied to inputs Inp/Inn. If an output of the comparator changes polarity (e.g., a comparator in group 1 is applied a negative offset or a comparator in group 2 is applied a positive offset), an amplitude of the offset of the comparator is likely less than an amplitude of the external offset voltage, and thus the offset of the comparator is likely too small and the comparator may be rejected (e.g., as unreliable).
  • comparators having outputs that remain the same polarity for each strobe may be identified as reliable comparators (e.g., having suitable offsets for reliable key generation).
  • reliable comparators may be used as PUF comparator cells (e.g., in key generation).
  • a polarity of an output of a comparator having an input offset positioned between lines 310 and 312 may not remain the same as before (e.g., as determined via the prior test), or may not remain the same for each strobe, and thus the comparator generating that output may be rejected.
  • a polarity of an output to the left of line 312 (region 304) or to the right of line 310 (region 302, e.g., at point C) may remain the same as before and for each strobe, and thus, the comparator generating that output may be identified as a reliable comparator (e.g., that may be used as a comparator cell in key generation).
  • FIG. 4 is a flowchart of an example method 400 of identifying a comparator with a suitable offset for key generation.
  • Method 400 may be arranged in accordance with at least one embodiment described in the present disclosure.
  • Method 400 may be performed, in some embodiments, by a device or system, such as a circuit 100 (see FIG. 1), circuit 500 (see FIG. 5), circuit 600 (see FIG. 6), system 800 (see FIG. 8), one or more of the components thereof, or another system or device.
  • method 400 may be performed based on the execution of instructions stored on one or more non-transitory computer-readable media.
  • FIG. 4 is a flowchart of an example method 400 of identifying a comparator with a suitable offset for key generation.
  • Method 400 may be arranged in accordance with at least one embodiment described in the present disclosure.
  • Method 400 may be performed, in some embodiments, by a device or system, such as a circuit 100 (see FIG. 1), circuit 500 (see FIG. 5), circuit 600 (see FIG. 6), system
  • Method 400 may begin at block 402, wherein a first voltage may be applied to each of a first input and a second input of a comparator (e.g., via strobing a number of times) to generate a number of output signals from the comparator, and method 400 may proceed to block 404.
  • each output signal may have a one of a first polarity (e.g., a positive offset) and a second polarity (e.g., a negative offset).
  • an external offset voltage may be applied to the comparator (e.g., via strobing a number of times) to generate a second number of output signals from the comparator, and method 400 may proceed to block 406.
  • the first voltage may be applied to the first input and a second voltage may be applied to the second input (e.g., a number of times) to generate the second number of output signals from the comparator, wherein a difference between the first voltage and the second voltage may be equal to the external offset voltage having the second polarity.
  • the comparator in response to each of the second number of output signals being the same polarity, the comparator may be identified as a reliable comparator.
  • a reliable comparator may be used for generating a key, which may be used for data encryption and/or data decryption. More specifically, the reliable comparator may be used as a cell for generating one or more bits of a multi-bit key, as described further below.
  • FIG. 5 depicts an example circuit 500 for generating an external offset voltage.
  • Circuit 500 which may also be referred to as a“resistor string,” may include a number of switches (e.g., transistors M10-M13), a number of resistors R1-R3, and outputs outl and out2.
  • outputs outl and out2 may be coupled to inputs of a comparator (e.g., comparator 100 of FIG. 1).
  • comparator 100 of FIG. 1 For example, output outl may be coupled to a one input of a comparator, and output out2 may be coupled to another input of the comparator.
  • outputs outl and out2 may or may not be coupled together.
  • transistors M10-M13 be configured such that outputs outl and out2 may be coupled together during one phase of a comparator testing process (e.g., by turning on both transistors M10 and M12, or both transistor Mi l and M13), as described herein.
  • outputs outl and out2 may output a first voltage (e.g., to be supplied both inputs of a comparator).
  • transistors M10-M13 be configured such that outputs outl and out2 are not coupled together during another phase of the comparator testing process, as also described herein (e.g., by turning on transistors M10 and M13 while setting transistor Ml 1 and M12 to off or by turning on transistors Mi l and M12 while setting transistor M10 and M13 to off).
  • outputs outl may output the first voltage (e.g., to be supplied to one input of a comparator), and out2 may output a second voltage (e.g., to be supplied to another input of the comparator).
  • Circuit 500 is provided as an example of a circuit for generating an external offset voltage, and other circuits for generating an offset voltage are within the scope of the present disclosure.
  • controller 510 may be configured for controlling a configuration of transistors M10-M13 (e.g., via one or more control signals).
  • FIG. 6 illustrates an example system 600 including a comparator 602 (e.g., comparator 100 of FIG. 1), a resistor string 604 (e.g., circuit 500 of FIG. 5), and a controller 610 (e.g., controller 510 of FIG. 5), according to one or more embodiments of the disclosure.
  • a comparator 602 e.g., comparator 100 of FIG. 1
  • a resistor string 604 e.g., circuit 500 of FIG. 5
  • controller 610 e.g., controller 510 of FIG. 5
  • outputs of resistor string 604 are coupled to inputs of comparator 602.
  • System 600 is provided as an example system including a comparator and a resistor string, and other systems and/or devices including a resistor string coupled to a comparator are within the scope of the present disclosure.
  • FIG. 7 depicts an example system 700, in accordance with various embodiments of the present disclosure.
  • System 700 which may be configured to encrypt and decrypt data (e.g., a secret), includes an encryption module 702, a key generation module 704, and a decryption module 706.
  • key generation module 704 may include one or more comparators for generating a key, which may be used to encrypt and/or decrypt data. More specifically, each comparator of key generation module 704 may be configured to generate one or more bits of a multi-bit key. Further, the one or more comparators of key generation module 704 may be identified as reliable comparators, in accordance with one or more embodiments disclosed herein.
  • FIG. 8 illustrates an example system 800, according to at least one embodiment described herein.
  • System 800 may include any suitable system, apparatus, or device configured for classifying comparators.
  • System 800 may include a processor 810, a memory 820, a data storage 830, and a communication device 840, which all may be communicatively coupled.
  • Data storage 830 may include various types of data, such as offset polarities for one or more comparators, testing information (e.g., related to one or more comparators), reliability information (e.g., related to one or more comparators), or any other information related to classifying comparators based on comparator offsets.
  • processor 810 may include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software modules and may be configured to execute instructions stored on any applicable computer-readable storage media.
  • processor 810 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), or any other digital or analog circuitry configured to interpret and/or to execute program instructions and/or to process data.
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA Field-Programmable Gate Array
  • processor 810 may include any number of processors distributed across any number of network or physical locations that are configured to perform individually or collectively any number of operations described herein.
  • processor 810 may interpret and/or execute program instructions and/or process data stored in memory 820, data storage 830, or memory 820 and data storage 830.
  • processor 810 may fetch program instructions from data storage 830 and load the program instructions into memory 820.
  • instructions executing method 400 may be stored in memory 820 and executed by processor 810.
  • processor 810 may execute the program instructions, such as instructions to perform one or more blocks of method 200 and/or method 300 as described herein. According to various embodiments, processor 810 may perform one or more testing operations. For example, processor 810 may apply a first voltage to each input of a comparator, and process a first output generated by the comparator. Further, processor 810 may identify the comparator as an unreliable comparator based on the first output. Moreover, processor 810 may apply an offset voltage to the comparator, and process a second output generated by the comparator. Moreover, based on the second output, processor 810 may identify the comparator as either a reliable comparator or an unreliable comparator.
  • Memory 820 and data storage 830 may include computer-readable storage media or one or more computer-readable storage mediums for carrying or having computer-executable instructions or data structures stored thereon.
  • Such computer-readable storage media may be any available media that may be accessed by a general-purpose or special-purpose computer, such as processor 810.
  • such computer-readable storage media may include non-transitory computer-readable storage media including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which may be used to carry or store desired program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable storage media.
  • Computer-executable instructions may include, for example, instructions and data configured to cause processor 810 to perform a certain operation or group of operations.
  • Communication unit 840 may include any component, device, system, or combination thereof that is configured to transmit or receive information over a network. In some embodiments, communication unit 840 may communicate with other devices at other locations, the same location, or even other components within the same system. For example, communication unit 840 may include a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device (such as an antenna), and/or chipset (such as a Bluetooth device, an 802.6 device (e.g., Metropolitan AreaNetwork (MAN)), a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like. Communication unit 840 may permit data to be exchanged with a network and/or any other devices or systems described in the present disclosure. For example, communication unit 840 may allow system 800 to communicate with other systems and/or devices.
  • MAN Metropolitan AreaNetwork
  • data storage 830 may be multiple different storage mediums located in multiple locations and accessed by processor 810 through a network.
  • embodiments described herein may include the use of a special purpose or general purpose computer (e.g., processor 810 of FIG. 8) including various computer hardware or software modules, as discussed in greater detail below. Further, as indicated above, embodiments described herein may be implemented using computer-readable media (e.g., memory 820 or data storage 830 of FIG. 8) for carrying or having computer-executable instructions or data structures stored thereon.
  • processor 810 of FIG. 8 e.g., processor 810 of FIG. 8
  • computer-readable media e.g., memory 820 or data storage 830 of FIG.
  • a method may include strobing a comparator multiple times with an offset voltage to generate a number of output signals from the comparator. Further, in response to each of the number of output signals having a same polarity, identifying the comparator as a reliable comparator.
  • a method may include applying a first voltage to each of a first input and a second input of a comparator (e.g., via strobing a number of times) to generate a number of output signals from the comparator.
  • Each output signal may include one of a first polarity and a second polarity.
  • the method may include, in response to each of the number of output signals being the first polarity, applying an offset voltage having the second polarity to the comparator (e.g., via strobing a number of times) to generate a second number of output signals.
  • the method may include, response to each of the second number of output signals having the same polarity, identifying the comparator as a reliable comparator.
  • a method may include, for each comparator of a number of comparators, strobing a comparator with a first voltage at each of a first input and a second input of the comparator to generate a number of output signals from the comparator, each output signal having one of a first polarity and a second polarity.
  • the method may include, in response to each output signal of the number of output signal having the first polarity, strobing the comparator with an external offset voltage having the second polarity to generate a second number of output signals from the comparator.
  • the method may include, in response to each output signal of the second number of output signals having the first polarity, identifying the comparator as a reliable comparator.
  • the method may also include generating a key via a number of reliable comparators.
  • module or“component” may refer to specific hardware implementations configured to perform the actions of the module or component and/or software objects or software routines that may be stored on and/or executed by general purpose hardware (e.g., computer-readable media, processing devices, etc.) of the computing system.
  • general purpose hardware e.g., computer-readable media, processing devices, etc.
  • the different components, modules, engines, and services described in the present disclosure may be implemented as objects or processes that execute on the computing system (e.g., as separate threads). While some of the system and methods described in the present disclosure are generally described as being implemented in software (stored on and/or executed by general purpose hardware), specific hardware implementations or a combination of software and specific hardware implementations are also possible and contemplated.
  • the phrase“A or B” should be understood to include the possibilities of“A” or“B” or“A and B.”
  • the present disclosure has been described herein with respect to certain illustrated embodiments, those of ordinary skill in the art will recognize and appreciate that the present invention is not so limited. Rather, many additions, deletions, and modifications to the illustrated and described embodiments may be made without departing from the scope of the invention as hereinafter claimed along with their legal equivalents.
  • features from one embodiment may be combined with features of another embodiment while still being encompassed within the scope of the invention as contemplated by the inventor.

Abstract

Various embodiments relate to classifying comparators (100) based on comparator offsets. A method may include applying, via a strobe (M5 gate), a first voltage to each of a first input (Inp) and a second input (Inn) of a comparator to generate a number of output signals (Out) from the comparator, wherein each output signal has one of a first polarity and a second polarity. The method may further include in response to each of the number of output signals being the first polarity, applying, via a strobe, an external offset voltage (Vinp at Inp, Vinn at Inn) having the second polarity to the comparator to generate a second number of output signals. Further, the method may include in response to each of the second number of output signals being the same polarity, identifying the comparator as a reliable comparator.

Description

CLASSIFYING COMPARATORS BASED ON COMPARATOR OFFSETS
PRIORITY CLAIM
This application claims the benefit of the filing date of United States Provisional Patent Application No. 62/786,015, filed December 28, 2018, for “METHODS OF CLASSIFING COMPARATORS BASED ON COMPARATOR OFFSETS” (the ’015 Provisional Application), and claims the benefit of the filing date of United States Patent Application Serial No. 16/294,467, filed March 6, 2019, for “CLASSIFYING COMPARATORS BASED ON COMPARATOR OFFSETS,” pending, the disclosure of each of which is hereby incorporated herein in its entirety by this reference.
TECHNICAL FIELD
The present disclosure relates generally to classifying comparators based on comparator offsets, and more specifically, to identifying comparators with suitable offsets for reliable key generation.
BACKGROUND
A physical unclonable function (PUF) may serve as a unique physical identity in a physical structure (e.g., a semiconductor device such as a microprocessor). A PUF, which is based on a physical variation that may occur naturally during a semiconductor manufacturing process, may allow for differentiation between otherwise identical semiconductor devices. Because semiconductor devices may be slightly different, operation of the semiconductor devices (e.g., outputs generated by the semiconductor devices) may vary.
BRIEF DESCRIPTION OF THE DRAWINGS
While this disclosure concludes with claims particularly pointing out and distinctly claiming specific embodiments, various features and advantages of embodiments within the scope of this disclosure may be more readily ascertained from the following description when read in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a comparator circuit, according to one or more embodiments of the disclosure; FIGS. 2 and 3 are plots for depicting comparator input offset statistical distribution, according to one or more embodiments of the disclosure;
FIG. 4 is a flowchart of an example method of identifying a comparator with a suitable input offset for key generation;
FIG. 5 is an example circuit for generating an external offset voltage, in accordance with various embodiments of the disclosure;
FIG. 6 is an example circuit diagram including a comparator coupled to a resistor string, according to one or more embodiments of the disclosure;
FIG. 7 is a block diagram of an example system, according to one or more embodiments of the disclosure; and
FIG. 8 is a block diagram of an example computing system.
MODE(S) FOR CARRYING OUT THE INVENTION
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which are shown, by way of illustration, specific examples of embodiments in which the present disclosure may be practiced. These embodiments are described in sufficient detail to enable a person of ordinary skill in the art to practice the present disclosure. However, other embodiments may be utilized, and structural, material, and process changes may be made without departing from the scope of the disclosure.
The illustrations presented herein are not meant to be actual views of any particular method, system, device, or structure, but are merely idealized representations that are employed to describe the embodiments of the present disclosure. The drawings presented herein are not necessarily drawn to scale. Similar structures or components in the various drawings may retain the same or similar numbering for the convenience of the reader; however, the similarity in numbering does not mean that the structures or components are necessarily identical in size, composition, configuration, or any other property.
The following description may include examples to help enable one of ordinary skill in the art to practice the disclosed embodiments. The use of the terms“exemplary,”“by example,” and“for example,” means that the related description is explanatory, and though the scope of the disclosure is intended to encompass the examples and legal equivalents, the use of such terms is not intended to limit the scope of an embodiment or this disclosure to the specified components, steps, features, functions, or the like. It will be readily understood that the components of the embodiments as generally described herein and illustrated in the drawing could be arranged and designed in a wide variety of different configurations. Thus, the following description of various embodiments is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. While the various aspects of the embodiments may be presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
Furthermore, specific implementations shown and described are only examples and should not be construed as the only way to implement the present disclosure unless specified otherwise herein. Elements, circuits, and functions may be shown in block diagram form in order not to obscure the present disclosure in unnecessary detail. Conversely, specific implementations shown and described are exemplary only and should not be construed as the only way to implement the present disclosure unless specified otherwise herein. Additionally, block definitions and partitioning of logic between various blocks is exemplary of a specific implementation. It will be readily apparent to one of ordinary skill in the art that the present disclosure may be practiced by numerous other partitioning solutions. For the most part, details concerning timing considerations and the like have been omitted where such details are not necessary to obtain a complete understanding of the present disclosure and are within the abilities of persons of ordinary skill in the relevant art.
Those of ordinary skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. Some drawings may illustrate signals as a single signal for clarity of presentation and description. It will be understood by a person of ordinary skill in the art that the signal may represent a bus of signals, wherein the bus may have a variety of bit widths and the present disclosure may be implemented on any number of data signals including a single data signal.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a special purpose processor, a Digital Signal Processor (DSP), an Integrated Circuit (IC), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor (may also be referred to herein as a host processor or simply a host) may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. A general-purpose computer including a processor is considered a special-purpose computer while the general-purpose computer is configured to execute computing instructions (e.g., software code) related to embodiments of the present disclosure.
The embodiments may be described in terms of a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operational acts as a sequential process, many of these acts can be performed in another sequence, in parallel, or substantially concurrently. In addition, the order of the acts may be re-arranged. A process may correspond to a method, a thread, a function, a procedure, a subroutine, a subprogram, etc. Furthermore, the methods disclosed herein may be implemented in hardware, software, or both. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on computer-readable media. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
Any reference to an element herein using a designation such as“first,”“second,” and so forth does not limit the quantity or order of those elements, unless such limitation is explicitly stated. Rather, these designations may be used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner. In addition, unless stated otherwise, a set of elements may comprise one or more elements.
As used herein, the term“substantially” in reference to a given parameter, property, or condition means and includes to a degree that one of ordinary skill in the art would understand that the given parameter, property, or condition is met with a small degree of variance, such as, for example, within acceptable manufacturing tolerances. By way of example, depending on the particular parameter, property, or condition that is substantially met, the parameter, property, or condition may be at least 90% met, at least 95% met, or even at least 99% met. Although a manufacturing process may be the same for a number of devices (e.g., integrated circuits (ICs)), each device may be slightly diffemet due to normal manufacturing variabilities. More specifically, one or more physical properties of the devices may vary from device to device due to the manufacturing process. One or more distinct physical properties of a device (e.g., an IC) that vary from device to device due to the manufacturing process may be considered a physical unclonable function (PUF) of the device (e.g., if it can be used to generate an electrical function reflecting the variation). Because devices may be slightly different, operation of the devices (e.g., outputs generated by the devices) may be different. More specifically, for example, outputs (e.g., output values for a given output) of various comparator ICs may vary based on PUFs of the comparator ICs. For example, some comparators may have relatively large input offsets and some comparators may have relatively small input offsets. Comparators with relatively small offsets may have outputs that change polarity due to, for example, noise and/or offset drift (e.g., due to changes in temperature and/or supply voltages). Comparators with relatively large offsets may be more tolerable to noise and offset drift. In other words, comparators with relatively large offsets may have more stable outputs (e.g., the outputs may not change due to noise and offset drift).
Various embodiments described herein relate to classifying comparators based on comparator offsets, and more specifically, to methods for identifying comparators including suitable offsets (e.g., for reliable key generation). Yet more specifically, some embodiments may relate to sorting and identifying comparators for reliable key generation (e.g., PUF key generation) based on offset values of the comparators, and the use of the identified comparators to generate a reliable key.
To utilize comparators for key generation (e.g., wherein each comparator generates one or more bits for multi-bit key), it may be advantageous that each comparator cell on each integrated circuit be repeatable. Thus, in some embodiments utilizing comparators for key generation, a comparator output should be the same over the lifetime of the comparator and under all operating conditions (e.g., variations in noise, temperature, and/or supply voltage). Accordingly, for key generation, it may be advantageous to utilize comparators with relatively large offsets.
Rather than measuring actual exact offset values of each comparator (e.g., via detecting when a comparator output switches), various embodiments as disclosed herein identify comparators with sufficient offsets via one or more tests. Measuring actual exact offset values for comparators may not be required. According to some embodiments, during one testing phase (e.g., a first testing phase) a comparator may be tested via strobing the comparator multiple times with the two identical inputs (e.g., two inputs tied together). If a polarity of an output of the comparator does not remain the same for each strobe, it may be determined that an offset of the comparator is too small, and thus the output of the comparator may be affected by noise. In these embodiments, comparators with offsets that are too small may be rejected, and other remaining comparators may be divided into groups (e.g., two groups) depending on comparator outputs (e.g., comparators outputting a positive offset (e.g., an output having a positive polarity) may be in one group (e.g.,“group 1”) and comparators outputting a negative offset (e.g., an output having a negative polarity) may be in another group (e.g.,“group 2”)).
Further, the remaining comparators may be tested. More specifically, during another testing phase (e.g., a second testing phase), each of the remaining comparator may be supplied an external offset voltage. According to some embodiments, the external offset voltage applied to a comparator (i.e., at the inputs of the comparator) may have a known absolute value and a polarity that is opposite of a polarity of the offset of the comparator. For example, if a comparator has positive offset (e.g., in group“1”), a negative external offset voltage may be supplied to the comparator. If a comparator has negative offset (e.g., in group“2”), a positive external offset voltage may be supplied to the comparator. The external offset voltage may be determined based on one or more factors. For example, according to some embodiments, the external offset voltage may be selected based on comparator noise, offset drift with temperature, supply voltage, and/or time. More specifically, for example, the sum of these parameters may be used to determine the external test voltage.
In some embodiments, a comparator may be strobed multiple times with the external offset voltage. If a polarity of the comparator output does not remain the same as before, or does not remain the same for each strobe, the comparator may be rejected. Otherwise, comparators having outputs that remain the same as before and for each strobe, may be identified as reliable comparators and may be used as PUF comparator cells (e.g., in key generation).
In some embodiments, an absolute value of an offset of the remaining comparators may be equal to or greater than the predefined external offset voltage. Further, in some embodiments, if the comparator noise and offset drift (e.g., with temperature, supply voltage and time) may be determined empirically, the sum of these parameters may be used as the external test voltage for comparator sorting, which may ensure the comparator repeatability.
According to various embodiments, one or more testing phases may be used to classify a comparator. For example, in some embodiments, a comparator may be classified as either reliable or unreliable based either the first testing phase (e.g., wherein inputs of the comparator receive the same signal (e.g., the inputs are tied together) or a second testing phase (e.g., wherein inputs of the comparator receive an offset voltage). In other embodiments, a comparator may be classified as either reliable or unreliable based on more than one testing phase (e.g., the first testing phase and the second testing phase).
Various embodiments disclosed herein may improve comparator classification. Further, comparators with relatively high repeatability may be used in generating a reliable bit in key generation, thus improving key generation (e.g., for encryption and decryption). For at least these reasons, various embodiments of the present disclosure, as described more fully herein, provide a technical solution to one or more problems that arise from technology that could not reasonably be performed by a person, and various embodiments disclosed herein are rooted in computer technology in order to overcome the problems and/or challenges described above. Further, at least some embodiments disclosed herein may improve computer-related technology by allowing computer performance of a function not previously performable by a computer.
Various embodiments of the present disclosure are now explained with reference to the accompanying drawings.
FIG. 1 depicts an example comparator circuit 100, according to one or more embodiments of the disclosure. Comparator circuit 100 includes differential inputs Inp and Inn, a plurality of switches (e.g., transistors M1-M8), cross coupled NAND gates configured as an SR flip-flop, and an output Out. During a contemplated operation, an output signal generated at output Out may be based on a signal received an input Inp and a signal received an input Inn. As will be appreciated by a person having ordinary skill in the art, noise, offset, and/or offset drift may impact the output signal. According to various embodiments, depending on a testing phase, input Inp and input Inn may or may not be configured to receive the same input. More specifically, in one testing phase, input Inp and input Inn may receive the same input (e.g., input Inp and input Inn may be tied together). In another testing phase, input Inp and input Inn may be configured to receive a different signal (e.g., an offset voltage may be applied to the inputs). Comparator circuit 100 is provided as an example comparator circuit, and the disclosure is not limited to any particular comparator circuit.
FIG. 2 is a plot 200 including an area 202 (i.e., to the right of the Y axis; labeled as“1”) and an area 204 (i.e., to the left of the Y axis; labeled as“0”). According to some embodiments, comparators having a positive input offset may be represented to the right of the Y axis (e.g., in area 202) and comparators having a negative input offset may be represented to the left of the Y axis (e.g., in area 204). Further, the larger the offset of a comparator, the farther the offset may be from the Y axis. For example, the offset of a comparator having an offset of 2x may be farther away from the Y axis than for a comparator having an offset of lx. Comparators having an offset positioned between dashed lines 206 and 208 have a relatively low offset, and therefore the outputs of these comparators may be susceptible to noise and/or offset drift.
As noted above, according to some embodiments, a comparator may be tested via strobing the comparator multiple times with identical inputs (e.g., two inputs of the comparator are tied together). Stated another way, with reference again to FIG. 1, a number of strobe pulses may be applied to a gate of M5 gate, while an input (e.g., a voltage) may be applied to each of input Inp and input Inn. If a polarity of an output of the comparator does not remain the same for each strobe, it may be determined that an offset of the comparator is too small (e.g., the output is between dashed lines 206 and 208) and thus, the output of the comparator may be affected by noise or other phenomena causing an offset drift. It is noted that, in at least some embodiments, the strobing and the output signal values may happen in sequence. In other words, an output signal value is generated in response to each input strobe.
In these embodiments, comparators with offsets that are too small may be rejected (e.g., as unreliable), and other remaining comparators may be divided into groups (e.g., two groups) depending on comparator outputs. For example, comparators outputting a positive offset may be in one group (e.g.,“group 1”) and comparators outputting a negative offset may be in another group (e.g.,“group 2”).
Moreover, the remaining comparators (e.g., the comparators in groups 1 and 2) may be further tested. More specifically, each of the remaining comparator may be supplied an external offset voltage. The external offset voltage applied to a comparator (i.e., at its inputs) may have a polarity that is opposite of a polarity of the offset of the comparator. For example, if a comparator has positive offset (e.g., in group“1”), a negative external offset voltage may be supplied to the comparator (e.g., the potential at the input Inp of the comparator is negative in relation to the potential at input Inn of the comparator). If a comparator has negative offset (e.g., in group“2”), a positive external offset voltage may be supplied to the comparator (e.g., the potential at input Inp of the comparator is positive in relation to the potential at input Inn of the comparator). The absolute value of the applied offset voltages may be selected so as to be within a predetermined range appropriate for PUF generation.
In some embodiments, each comparator may be strobed multiple times with the external offset voltage. Stated another way, with reference again to FIG. 1, a number of strobe pulses may be applied to a gate of transistor M5 gate, while the external voltage may be applied to inputs Inp/Inn. If an output of the comparator changes polarity (e.g., a comparator in group 1 is applied a negative offset or a comparator in group 2 is applied a positive offset), an amplitude of the offset of the comparator is likely less than an amplitude of the external offset voltage, and thus the offset of the comparator is likely too small and the comparator may be rejected (e.g., as unreliable). Stated another way, if a polarity of the comparator output does not remain the same as before (e.g., as determined via the prior test) or does not remain the same for each strobe, the comparator may be rejected. Otherwise, comparators having outputs that remain the same polarity for each strobe may be identified as reliable comparators (e.g., having suitable offsets for reliable key generation). According to some embodiments, reliable comparators may be used as PUF comparator cells (e.g., in key generation).
With reference to FIG. 3, which depicts a plot 300, a polarity of an output of a comparator having an input offset positioned between lines 310 and 312 (e.g., at either point A or point B), after an external offset voltage is applied to the comparator inputs, may not remain the same as before (e.g., as determined via the prior test), or may not remain the same for each strobe, and thus the comparator generating that output may be rejected. On the other hand, a polarity of an output to the left of line 312 (region 304) or to the right of line 310 (region 302, e.g., at point C) may remain the same as before and for each strobe, and thus, the comparator generating that output may be identified as a reliable comparator (e.g., that may be used as a comparator cell in key generation).
FIG. 4 is a flowchart of an example method 400 of identifying a comparator with a suitable offset for key generation. Method 400 may be arranged in accordance with at least one embodiment described in the present disclosure. Method 400 may be performed, in some embodiments, by a device or system, such as a circuit 100 (see FIG. 1), circuit 500 (see FIG. 5), circuit 600 (see FIG. 6), system 800 (see FIG. 8), one or more of the components thereof, or another system or device. In these and other embodiments, method 400 may be performed based on the execution of instructions stored on one or more non-transitory computer-readable media. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation.
Method 400 may begin at block 402, wherein a first voltage may be applied to each of a first input and a second input of a comparator (e.g., via strobing a number of times) to generate a number of output signals from the comparator, and method 400 may proceed to block 404. For example, each output signal may have a one of a first polarity (e.g., a positive offset) and a second polarity (e.g., a negative offset).
At block 404, in response to each of the number of output signals being the first polarity, an external offset voltage may be applied to the comparator (e.g., via strobing a number of times) to generate a second number of output signals from the comparator, and method 400 may proceed to block 406. For example, the first voltage may be applied to the first input and a second voltage may be applied to the second input (e.g., a number of times) to generate the second number of output signals from the comparator, wherein a difference between the first voltage and the second voltage may be equal to the external offset voltage having the second polarity.
At block 406, in response to each of the second number of output signals being the same polarity, the comparator may be identified as a reliable comparator.
Modifications, additions, or omissions may be made to method 400 without departing from the scope of the present disclosure. For example, the operations of method 400 may be implemented in differing order. Furthermore, the outlined operations and actions are only provided as examples, and some of the operations and actions may be optional, combined into fewer operations and actions, or expanded into additional operations and actions without detracting from the essence of the disclosed embodiment. For example, a reliable comparator may be used for generating a key, which may be used for data encryption and/or data decryption. More specifically, the reliable comparator may be used as a cell for generating one or more bits of a multi-bit key, as described further below.
FIG. 5 depicts an example circuit 500 for generating an external offset voltage. Circuit 500, which may also be referred to as a“resistor string,” may include a number of switches (e.g., transistors M10-M13), a number of resistors R1-R3, and outputs outl and out2. In some embodiments, outputs outl and out2 may be coupled to inputs of a comparator (e.g., comparator 100 of FIG. 1). For example, output outl may be coupled to a one input of a comparator, and output out2 may be coupled to another input of the comparator.
Further, depending on a configuration of transistors M10-M13, outputs outl and out2 may or may not be coupled together. Thus, according to at least some embodiments, transistors M10-M13 be configured such that outputs outl and out2 may be coupled together during one phase of a comparator testing process (e.g., by turning on both transistors M10 and M12, or both transistor Mi l and M13), as described herein. In this example, outputs outl and out2 may output a first voltage (e.g., to be supplied both inputs of a comparator). Further, transistors M10-M13 be configured such that outputs outl and out2 are not coupled together during another phase of the comparator testing process, as also described herein (e.g., by turning on transistors M10 and M13 while setting transistor Ml 1 and M12 to off or by turning on transistors Mi l and M12 while setting transistor M10 and M13 to off). In this example, outputs outl may output the first voltage (e.g., to be supplied to one input of a comparator), and out2 may output a second voltage (e.g., to be supplied to another input of the comparator). Circuit 500 is provided as an example of a circuit for generating an external offset voltage, and other circuits for generating an offset voltage are within the scope of the present disclosure. According to various embodiments, controller 510 may be configured for controlling a configuration of transistors M10-M13 (e.g., via one or more control signals).
FIG. 6 illustrates an example system 600 including a comparator 602 (e.g., comparator 100 of FIG. 1), a resistor string 604 (e.g., circuit 500 of FIG. 5), and a controller 610 (e.g., controller 510 of FIG. 5), according to one or more embodiments of the disclosure. As depicted, outputs of resistor string 604 are coupled to inputs of comparator 602. System 600 is provided as an example system including a comparator and a resistor string, and other systems and/or devices including a resistor string coupled to a comparator are within the scope of the present disclosure.
FIG. 7 depicts an example system 700, in accordance with various embodiments of the present disclosure. System 700, which may be configured to encrypt and decrypt data (e.g., a secret), includes an encryption module 702, a key generation module 704, and a decryption module 706. For example, key generation module 704 may include one or more comparators for generating a key, which may be used to encrypt and/or decrypt data. More specifically, each comparator of key generation module 704 may be configured to generate one or more bits of a multi-bit key. Further, the one or more comparators of key generation module 704 may be identified as reliable comparators, in accordance with one or more embodiments disclosed herein.
FIG. 8 illustrates an example system 800, according to at least one embodiment described herein. System 800 may include any suitable system, apparatus, or device configured for classifying comparators. System 800 may include a processor 810, a memory 820, a data storage 830, and a communication device 840, which all may be communicatively coupled. Data storage 830 may include various types of data, such as offset polarities for one or more comparators, testing information (e.g., related to one or more comparators), reliability information (e.g., related to one or more comparators), or any other information related to classifying comparators based on comparator offsets.
Generally, processor 810 may include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software modules and may be configured to execute instructions stored on any applicable computer-readable storage media. For example, processor 810 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), or any other digital or analog circuitry configured to interpret and/or to execute program instructions and/or to process data.
Although illustrated as a single processor in FIG. 8, it is understood that processor 810 may include any number of processors distributed across any number of network or physical locations that are configured to perform individually or collectively any number of operations described herein. In some embodiments, processor 810 may interpret and/or execute program instructions and/or process data stored in memory 820, data storage 830, or memory 820 and data storage 830. In some embodiments, processor 810 may fetch program instructions from data storage 830 and load the program instructions into memory 820. In one embodiment instructions executing method 400 may be stored in memory 820 and executed by processor 810.
After the program instructions are loaded into memory 820, processor 810 may execute the program instructions, such as instructions to perform one or more blocks of method 200 and/or method 300 as described herein. According to various embodiments, processor 810 may perform one or more testing operations. For example, processor 810 may apply a first voltage to each input of a comparator, and process a first output generated by the comparator. Further, processor 810 may identify the comparator as an unreliable comparator based on the first output. Moreover, processor 810 may apply an offset voltage to the comparator, and process a second output generated by the comparator. Moreover, based on the second output, processor 810 may identify the comparator as either a reliable comparator or an unreliable comparator.
Memory 820 and data storage 830 may include computer-readable storage media or one or more computer-readable storage mediums for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable storage media may be any available media that may be accessed by a general-purpose or special-purpose computer, such as processor 810.
By way of example, and not limitation, such computer-readable storage media may include non-transitory computer-readable storage media including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which may be used to carry or store desired program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable storage media. Computer-executable instructions may include, for example, instructions and data configured to cause processor 810 to perform a certain operation or group of operations.
Communication unit 840 may include any component, device, system, or combination thereof that is configured to transmit or receive information over a network. In some embodiments, communication unit 840 may communicate with other devices at other locations, the same location, or even other components within the same system. For example, communication unit 840 may include a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device (such as an antenna), and/or chipset (such as a Bluetooth device, an 802.6 device (e.g., Metropolitan AreaNetwork (MAN)), a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like. Communication unit 840 may permit data to be exchanged with a network and/or any other devices or systems described in the present disclosure. For example, communication unit 840 may allow system 800 to communicate with other systems and/or devices.
Modifications, additions, or omissions may be made to system 800 without departing from the scope of the present disclosure. For example, data storage 830 may be multiple different storage mediums located in multiple locations and accessed by processor 810 through a network.
As indicated above, the embodiments described herein may include the use of a special purpose or general purpose computer (e.g., processor 810 of FIG. 8) including various computer hardware or software modules, as discussed in greater detail below. Further, as indicated above, embodiments described herein may be implemented using computer-readable media (e.g., memory 820 or data storage 830 of FIG. 8) for carrying or having computer-executable instructions or data structures stored thereon.
Various embodiments relate to a method of classifying a comparator. For example, a method may include strobing a comparator multiple times with an offset voltage to generate a number of output signals from the comparator. Further, in response to each of the number of output signals having a same polarity, identifying the comparator as a reliable comparator.
According to one or more other embodiments, a method may include applying a first voltage to each of a first input and a second input of a comparator (e.g., via strobing a number of times) to generate a number of output signals from the comparator. Each output signal may include one of a first polarity and a second polarity. Further, the method may include, in response to each of the number of output signals being the first polarity, applying an offset voltage having the second polarity to the comparator (e.g., via strobing a number of times) to generate a second number of output signals. Furthermore, the method may include, response to each of the second number of output signals having the same polarity, identifying the comparator as a reliable comparator.
In yet one or more other embodiments, a method may include, for each comparator of a number of comparators, strobing a comparator with a first voltage at each of a first input and a second input of the comparator to generate a number of output signals from the comparator, each output signal having one of a first polarity and a second polarity. In addition, the method may include, in response to each output signal of the number of output signal having the first polarity, strobing the comparator with an external offset voltage having the second polarity to generate a second number of output signals from the comparator. Further, the method may include, in response to each output signal of the second number of output signals having the first polarity, identifying the comparator as a reliable comparator. The method may also include generating a key via a number of reliable comparators.
As used in the present disclosure, the terms“module” or“component” may refer to specific hardware implementations configured to perform the actions of the module or component and/or software objects or software routines that may be stored on and/or executed by general purpose hardware (e.g., computer-readable media, processing devices, etc.) of the computing system. In some embodiments, the different components, modules, engines, and services described in the present disclosure may be implemented as objects or processes that execute on the computing system (e.g., as separate threads). While some of the system and methods described in the present disclosure are generally described as being implemented in software (stored on and/or executed by general purpose hardware), specific hardware implementations or a combination of software and specific hardware implementations are also possible and contemplated.
Terms used in the present disclosure and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as“open” terms (e.g., the term“including” should be interpreted as“including, but not limited to,” the term“having” should be interpreted as“having at least,” the term“includes” should be interpreted as“includes, but is not limited to,” etc.).
Additionally, if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles“a” or“an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases“one or more” or“at least one” and indefinite articles such as“a” or“an” (e.g.,“a” and/or“an” should be interpreted to mean“at least one” or“one or more”); the same holds true for the use of definite articles used to introduce claim recitations.
In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of "two recitations," without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to“at least one of A, B, and C, etc.” or“one or more of A, B, and C, etc.” is used, in general such a construction is intended to include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc. Further, any disjunctive word or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase“A or B” should be understood to include the possibilities of“A” or“B” or“A and B.” While the present disclosure has been described herein with respect to certain illustrated embodiments, those of ordinary skill in the art will recognize and appreciate that the present invention is not so limited. Rather, many additions, deletions, and modifications to the illustrated and described embodiments may be made without departing from the scope of the invention as hereinafter claimed along with their legal equivalents. In addition, features from one embodiment may be combined with features of another embodiment while still being encompassed within the scope of the invention as contemplated by the inventor.

Claims

What is claimed is: 1. A method, comprising;
strobing a comparator multiple times with an external offset voltage to generate a number of output signals from the comparator; and
in response to each of the number of output signals having a same polarity, identifying the comparator as a reliable comparator.
2. The method of claim 1, further comprising in response to each of the number of output signals not being the same polarity, identifying the comparator as an unreliable comparator.
3. The method of claim 1, further comprising strobing the comparator with an input voltage at each of a first input and a second input of the comparator to generate another number of output signals from the comparator.
4. The method of claim 3, wherein the strobing of the comparator with the external offset voltage comprises strobing, in response to the generated another number of output signals all having the same polarity, the comparator with the external offset voltage, wherein the external offset voltage has a polarity opposite a polarity of the another number of output signals.
5. The method of claim 1, further comprising generating a key via the reliable comparator.
6. The method of claim 5, wherein generating the key comprises generating at least one bit of the key via the reliable comparator.
7. The method of claim 5, further comprising at least one of encrypting and decrypting data with the key.
8. A method, comprising:
applying, via a strobe, a first voltage to each of a first input and a second input of a comparator to generate a number of output signals from the comparator, each output signal having one of a first polarity and a second polarity;
in response to each of the number of output signals being the first polarity, applying, via a strobe, an external offset voltage having the second polarity to the comparator to generate a second number of output signals; and
in response to each of the second number of output signals having the same polarity, identifying the comparator as a reliable comparator.
9. The method of claim 8, wherein applying the external offset voltage comprises applying the first voltage to the first input and a second voltage to the second input of the comparator to generate the second number of output signals from the comparator, a difference between the first voltage and the second voltage comprising a voltage equal to the external offset voltage.
10. The method of claim 9, further comprising generating each of the first voltage and the second voltage via a voltage generation circuit including a number of switches, a number of resistors, and a number of outputs.
11. The method of claim 8, further comprising at least one of encrypting and decrypting data with the reliable comparator.
12. The method of claim 8, further comprising generating the first voltage via a resistor string.
13. The method of claim 12, further comprising generating the external offset voltage via the resistor string.
14. The method of claim 12, wherein generating the external offset voltage comprises generating a second voltage via the resistor string, a difference between the first voltage and the second voltage comprising the external offset voltage.
15. The method of claim 14, wherein applying the external offset voltage to the comparator comprises applying the first voltage to the first input of the comparator and the second voltage to the second input of the comparator.
16. A method, the method comprising:
for each comparator of a number of comparators:
strobing a comparator with a first voltage at each of a first input and a second input of the comparator to generate a number of output signals from the comparator, each output signal having one of a first polarity and a second polarity;
in response to each output signal of the number of output signal having the first polarity, strobing the comparator with an external offset voltage having the second polarity to generate a second number of output signals from the comparator; and
in response to each output signal of the second number of output signals having the first polarity, identifying the comparator as a reliable comparator; and generating a key via a number of reliable comparators.
17. The method of claim 16, wherein generating the key comprises generating the key including a number of bits, each bit of the number of bits generated via a comparator of the number of reliable comparators.
18. The method of claim 16, further comprising at least one of encrypting data and decrypting the data with the key.
19. A method, comprising:
applying a first voltage to each of a first input and a second input of a comparator a number of times to generate a first number of output signals from the comparator;
in response to the first number of output signals being either all positive values or all negative values, applying the first voltage to the first input and a second voltage to the second input a number of times to generate a second number of output signals from the comparator, a difference between the first voltage and the second voltage comprising an external offset voltage, the external offset voltage having a negative value if each of the first number of output signals have a positive value, and the external offset voltage having a positive value if each of the first number of output signals have a negative value; and
in response to each of the second number of output signals being either all positive values or all negative values, identifying the comparator as a reliable comparator.
20. The method of claim 19, further comprising generating, via the reliable comparator, one or more bits of a multi -bit encryption key.
PCT/US2019/057960 2018-12-28 2019-10-24 Classifying comparators based on comparator offsets WO2020139451A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980086569.5A CN113227806A (en) 2018-12-28 2019-10-24 Classifying comparators based on comparator offset
DE112019006541.6T DE112019006541T5 (en) 2018-12-28 2019-10-24 CLASSIFICATION OF COMPARATORS BASED ON COMPARATOR OFFSETS

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862786016P 2018-12-28 2018-12-28
US62/786,016 2018-12-28
US16/294,467 US20200213139A1 (en) 2018-12-28 2019-03-06 Classifying comparators based on comparator offsets
US16/294,467 2019-03-06

Publications (1)

Publication Number Publication Date
WO2020139451A1 true WO2020139451A1 (en) 2020-07-02

Family

ID=80998229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/057960 WO2020139451A1 (en) 2018-12-28 2019-10-24 Classifying comparators based on comparator offsets

Country Status (3)

Country Link
CN (1) CN113227806A (en)
DE (1) DE112019006541T5 (en)
WO (1) WO2020139451A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206281A1 (en) * 2011-02-11 2012-08-16 University Of Florida Research Foundation, Inc. Self-healing analog-to-digital converters with background calibration
US20130093467A1 (en) * 2011-10-18 2013-04-18 Analog Devices, Inc. Foreground techniques for comparator calibration
WO2015148659A1 (en) * 2014-03-25 2015-10-01 Mai Kenneth Wei-An Methods for generating reliable responses in physical unclonable functions (pufs) and methods for designing strong pufs
US20160182045A1 (en) * 2013-08-21 2016-06-23 Carnegie Mellon University Reliability of physical unclonable function circuits

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2694835B2 (en) * 1988-10-24 1997-12-24 富士通株式会社 Parallel A / D converter
JP3617569B2 (en) * 1996-04-24 2005-02-09 沖電気工業株式会社 Multi-bit match circuit
GB2378066B (en) * 2001-07-23 2005-10-26 Seiko Epson Corp Comparator circuit and method
EP1451598A2 (en) * 2001-11-26 2004-09-01 Koninklijke Philips Electronics N.V. Test machine for testing an integrated circuit with a comparator
JP3591730B2 (en) * 2002-07-08 2004-11-24 松下電器産業株式会社 A / D converter
KR100887070B1 (en) * 2007-11-27 2009-03-04 경상대학교산학협력단 Method for storage of digital data using offset of comparator and non-volatile solid-state memory device of the method
JP5427658B2 (en) * 2010-03-16 2014-02-26 パナソニック株式会社 Comparator offset correction device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206281A1 (en) * 2011-02-11 2012-08-16 University Of Florida Research Foundation, Inc. Self-healing analog-to-digital converters with background calibration
US20130093467A1 (en) * 2011-10-18 2013-04-18 Analog Devices, Inc. Foreground techniques for comparator calibration
US20160182045A1 (en) * 2013-08-21 2016-06-23 Carnegie Mellon University Reliability of physical unclonable function circuits
WO2015148659A1 (en) * 2014-03-25 2015-10-01 Mai Kenneth Wei-An Methods for generating reliable responses in physical unclonable functions (pufs) and methods for designing strong pufs

Also Published As

Publication number Publication date
DE112019006541T5 (en) 2021-09-30
CN113227806A (en) 2021-08-06

Similar Documents

Publication Publication Date Title
US10218517B2 (en) Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs
US9082514B1 (en) Method and apparatus for physically unclonable function burn-in
US11190365B2 (en) Method and apparatus for PUF generator characterization
EP3895369B1 (en) Method of implementing a physical unclonable function
US20160320451A1 (en) Simulation verification method for fpga function modules and system thereof
TWI559162B (en) Method, apparatus, and machine-readable storage medium for generating a unique identifier
US9378318B2 (en) Shared channel masks in on-product test compression system
US20200213139A1 (en) Classifying comparators based on comparator offsets
US10096379B2 (en) Memory device and method for testing reliability of memory device
US20150340103A1 (en) Embedded Memory Testing Using Back-To-Back Write/Read Operations
EP3136286B1 (en) Data processing system with secure key generation
US9640280B1 (en) Power domain aware insertion methods and designs for testing and repairing memory
US10360992B2 (en) Test devices and test systems
US9443611B2 (en) Semiconductor integrated circuit with bist circuit
WO2020139451A1 (en) Classifying comparators based on comparator offsets
WO2015057375A1 (en) Write driver and program driver for otp (one-time programmable) memory with magnetic tunneling junction cells
JP2017199445A (en) Memory test system and semiconductor device, and memory test method
US20200072899A1 (en) Apparatus, system, and method for an integrated circuit
CN107003856B (en) System and method for fast modification of register contents
US20170344465A1 (en) Systems and methods for generating covering arrays
US9811450B2 (en) Semiconductor test apparatus for controlling tester
JP2006012253A (en) Testing device and testing method
US20200381995A1 (en) Voltage supply device and operation method thereof
US8582354B1 (en) Method and apparatus for testing a resistive memory element
US20230163761A1 (en) Hot carrier injection hardened physically unclonable function circuit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19804981

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19804981

Country of ref document: EP

Kind code of ref document: A1