EP2842066A1 - Verfahren zur herstellung einer dpa-resistenten logischen schaltung - Google Patents
Verfahren zur herstellung einer dpa-resistenten logischen schaltungInfo
- Publication number
- EP2842066A1 EP2842066A1 EP13717247.4A EP13717247A EP2842066A1 EP 2842066 A1 EP2842066 A1 EP 2842066A1 EP 13717247 A EP13717247 A EP 13717247A EP 2842066 A1 EP2842066 A1 EP 2842066A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- circuit
- standard cells
- called
- memory block
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Definitions
- the present invention relates generally to the field of electronic and logic circuits, in particular so-called application-specific integrated circuits or so-called ASICs.
- the present invention relates to a method for producing a logic circuit, in particular an application-specific integrated circuit, which is constructed at least partially from standard elements or standard functions, so-called standard cells.
- Logical or electronic circuits which are in particular realized as a so-called integrated circuits, bil ⁇ now the basis for any electronics, in particular ⁇ sondere in the computer art.
- electronic circuits consist of electronic components housed and wired together on a single substrate (eg, semiconductor substrate, etc.).
- Circuit thus consists of a large number of different types of components and connecting circuit traces on or in a monocrystalline substrate. Only through this integration is it possible to provide extensive functionality and applications in a small space. Integrated circuits make a large number of applications (eg in mobile devices, SIM cards, RFIDs, mobile phones, etc.) technically feasible, since these applications otherwise they are often too expensive, too complex, too intensive or too large (eg for installation in the respective device, etc.). Be logical and integrated circuits for a spe ⁇ cial application creates, these circuits are often referred to as application specific integrated circuits or ap- plication-specific integrated circuit or short-ASICs as be ⁇ records.
- ASICs are thus used in many different electronic devices - for example, from a clock radio via mobile devices to high-performance computers.
- the respective integrated circuit can be designed for the respective application in such a way that space, consumption, cost and / or power-optimized work is then carried out by this ASIC, for example.
- FPGA field-programmable gate array
- PLD programmable logic circuits
- a so-called hardware description language such as the so-called Very High Speed Integrated Circuit Hardware Description Language (VHDL) or Verilog is usually used for the creation or for the design of an ASIC or an application-specific, integrated circuit.
- the hardware description language is a formal Spra ⁇ che, may be with which operations of integrated circuits as well as their design described.
- In the hardware Writing language is a description of the respective logical ⁇ circuit - ie, for example, temporal processes and / or (spatial) circuit structures - written.
- these standard cells can be designed specifically for the production process, wherein a layout of the respective standard cell is already established before the design start of the scarf ⁇ tion. Result of the synthesis is then the descrip ⁇ exercise a corresponding physical circuit or ASICs - the so-called net list, which consists largely of the standard cells (such as logic gates, memory blocks, etc.).
- the netlist is in the field of electronics and circuit design is usually a description of the Ver ⁇ connections between the information contained in the circuit or ASIC in the standard cells.
- Such realized and implemented logic circuits, in particular ASICs have a strict dependence on the data to be processed. That is, the logic implemented in the circuit is closely related to the one or more functions to be performed and the data used and / or generated. This can be embedded with safety critical systems a target for attack, in particular at incorporatesre ⁇ -relevant circuits / or ASICs circuits / ASICs. This is especially so called side-channel attacks or side channel attacks ⁇ sets.
- a side channel attack functions and / or algorithms typically performed by a logic circuit are observed and attempts are made to correlate between the observed data and the dependent, i. manipulated data (e.g., keys, encrypted data, etc.).
- This information is derived, for example, from an analysis of the running time of an algorithm, the energy consumption of the
- Circuit while performing a function, etc. won.
- methods such as a simple and / or differential loss performance analysis are used.
- simple power loss analysis an energy consumption ⁇ a circuit or an ASIC while Example ⁇ as safety-critical (eg, cryptographic) function is directly recorded. Since the power consumption varies depending on the operations performed in the circuit, conclusions can be drawn about the circuit design of the ASIC, functions performed and safety-critical data.
- differential power loss analysis the power consumption of a circuit or an ASIC is not only recorded but also statically analyzed. In doing so, measurement deviations in energy consumption are exploited in order to be able to conclude safety-relevant functions and / or data.
- the differential loss Leis ⁇ shading analysis is in which excessive interference for easy power loss analysis may occur especially in circuits, etc. angewen ⁇ det. Thus especially secret and / or sensitive data such as keys, etc. can be spied based on an analysis of the energy consumption in ⁇ executed in a circuit / ASIC func ⁇ NEN means loss Leis ⁇ tung analysis.
- the invention is therefore based on the object of specifying a method for the creation of logic circuits, in particular, application specific integrated circuits or ASICs, through which in a simple manner and reduced to ⁇ slegilichen effort a logic circuit can be produced which executed before a draining functions is protected by analyzing a power loss.
- the solution of this object is achieved by a method of the type mentioned, in which when converting the written in a hardware description of the logic circuit in a so-called netlist by a translation program used standard cells in the netlist are replaced by corresponding loss-power balanced versions of these standard cells.
- the main aspect of the inventive method represents ⁇ in that a circuit is created in a simple manner and with relatively little effort zusharm ⁇ union or without additional effort, in which a substantial balancing of the Power loss is achieved. The power loss is thus largely independent of the data to be processed.
- a circuit is produced by the method according to the invention, in which all base operations (eg AND operations, OR operations, etc.) are simultaneously calculated by means of the loss-power-balanced standard cells.
- a logic gate or even a short gate is the realization of a so-called Boolean function in the technical information or in the creation or description of a logic circuit.
- a logic gate processes input signals into output signals.
- the A ⁇ output signals are converted by implementing logical operations such as AND, OR, negation NOT AND or NAND, NOR or NOR, XOR, etc. into a single logical result and is formed by the output signals from ⁇ .
- logical operations such as AND, OR, negation NOT AND or NAND, NOR or NOR, XOR, etc.
- logic circuits or ASICs also comprise memory blocks, in particular so-called flip-flops, in addition to logic gates. Therefore, memory blocks, in particular flip-flops, are expediently provided as standard cells for the creation of a logic circuit.
- Memory block such as flip-flops, which are also referred to as bistable flip-flop or bistable flip-flop, are electronic circuits or elements, of which two stable states can be taken. This can be stored in a memory blocks or a flip-flop, a data amount of one bit over a certain, predetermined period of time. Spei ⁇ cherblöcke are the building blocks of so-called sequential circuits and thus indispensable component for egg NEN structure of a logical or electronic circuit or an ASIC.
- a first memory block is supplemented with a two ⁇ th memory block such that always when the first memory block is connected to a power loss balanced version of a memory block from said second memory block is a each state is maintained and vice versa.
- the signified ⁇ tet if from a - the first example - memory block his condition is maintained, then the other - for example toggled to the second memory block.
- a change of state of the memory block ⁇ (eg flip-flops) can thus not be derived from the Ge ⁇ berichtbuchakukan.
- a performance of the loss-power-balanced memory block remains largely equal to a performance of the original memory block.
- the losses-power-balanced versions of the standard cells are stored or made available in one or possibly also several libraries for replacement of the respective standard cells in the netlist.
- translation programs or synthesis can advertising tools adapted or expanded quickly and inexpensively to.
- Standard cells such as logic gates, memory blocks, etc. are usually designed for a manufacturing process of logic circuits or ASICs and, for example, catalogs in the form of libraries the Circuitspro ⁇ gram for the conversion of written in the hardware description discussions description of the circuit in a netlist available posed.
- the translation program can then easily create a loss-based version of a logic circuit or an ASIC from the description written in the hardware description language of the respective circuit, without taking into account the creation or design of this circuit in the hardware description language would have.
- FIG. 1 shows schematically an exemplary sequence of the method according to the invention for producing a logic circuit.
- Figures 2a and 2b show examples of replacement of standard cells by respective loss-balanced versions.
- FIG. 1 shows, in a schematic way, an exemplary sequence of the method according to the invention for producing a logic circuit.
- the method according to the invention begins with a starting step 1. Then, in a second method step 2, a description of a logic circuit, in particular an application-specific, integrated one is provided
- Circuit or an ASIC worded.
- ASIC logic circuit
- So-called hardware writing languages such as e.g. VHDL, Verilog, etc. used.
- VHDL Very High-Vity
- Verilog Verilog
- the description includes e.g. time sequences, spatial circuit structures, etc. for the circuit.
- a third method step 3 generates a description of a corresponding physical circuit.
- the conversion of the description of the logic circuit into the description of the corresponding physical circuit is carried out with the aid of a translation program - a so-called synthesis tool.
- This process is also referred to as synthesis and the result of the synthesis - ie the corresponding physical circuit description - is also called a netlist.
- Be ⁇ letters are respectively given functions for the circuit or ASIC, for example, pre-planned or log grind available kata- elements on Ba ⁇ sis - the standard cells so - called assembled.
- the network list which consists of at least ⁇ largely of such standard cells, such as logic gates, memory blocks, etc., connections between those used in the circuit or ASIC in the standard cell, and thus a structure of this circuit can be commonly described.
- the standard cells can be placed for the translation program or for the synthesis tool beispielswei ⁇ se in the form of libraries, the standard cells such as may be specifically designed for the particular manufacturing process.
- the respective standard cells for example, already before the beginning of a
- a fourth method step 4 the standard cells which are used in the network list generated in method step 3 are then replaced by corresponding loss-compensated versions of these standard cells used in each case.
- the fourth method step 4 can be carried out, for example, after the third method step 3.
- a netlist is generated, and then in this netlist ⁇ the standard cells used by a corresponding power loss balanced insurance be replaced.
- a standard cell of the type can be supplemented so that a function and an associated inverted function are always made available by the loss-power-based version of the standard cell at the output of the standard cell.
- the corresponding loss-power-balanced versions of the standard cells can also be provided in the form of one or more special libraries.
- the fourth method step 4 may also be integrated into the third method step 3, for example.
- the loss-compensated versions of the standard cells can be made available, for example, to the translation program as a special library or by supplementing the corresponding standard cells - i. function and inverted function are displayed on the output - used in the netlist.
- FIG. 2a shows the exemplary standard cells S1, S2, S3 and S4.
- These standard cells S 1 to S 4 are so-called logic gates, which represent a realization of so-called Boolean functions, and from which input signals A, B are processed into an output signal Y.
- a first, exemplary standard cell Sl is used for a rea ⁇ L Deutschen a logical AND function - ie the input signals A, B are linked by a so-called AND function to an output signal Y.
- the first standard cell Sl is replaced by a first corresponding ver ⁇ loss balanced version vSl the standard cell Sl.
- the first loss balanced version VSL of the standard cell Sl is distinguished by the fact that all Basisoperatio ⁇ nen can be calculated simultaneously from it - regardless of the actually required function.
- the first loss-balanced version vSl consists of an upper part and a lower part.
- four logic gates for example, which represent, for example, four basic logic functions (AND, OR, NAND, NOR), are networked or switched such that the input signals A, B are combined to form an AND function and an output signal Y. ie the output signal Y has a value 1 only if, for example, both input signals also have the value 1.
- the four logic gates are switched such that at negier ⁇ th input signals A_N, B_N at the output, the inverted function and an inverted output signal is provided to Y_N from ⁇ output signal Y of the upper part.
- the remaining outputs of the first loss-balanced version vSl, which are not needed, are for example loaded with a so-called dummy load.
- This will of the first loss-balanced version Vsl of the first standard cell Sl at the output for example, always ge ⁇ represents the function or the output signal Y and the inverted function or the inverted output signal Y_N after the dual principle available at the output and in the netlist then connected accordingly.
- a second example shown in Figure 2a Standard ⁇ cell S2 is used for an implementation of the logical OR function, wherein input signals are A, B linked via ei ⁇ ne OR operation to the output signal Y.
- the output signal Y then has the value 1 if at least one of the two input signals A, B has the value 1.
- the OR function is supplemented or replaced in such a way that a second loss-power-balanced version vS2 of the second standard cell S2 is used in the network list.
- This second power loss balanced version VS2 of the second Standardzel ⁇ le S2 also consists of an upper and a lower part which each of the four basic logical functions (AND, OR, NAND, NOR) is. However, the upper part is designed such that the input signals A, B are linked to the output signal Y via the OR function.
- the negated input signal A_N, B_N such ver ⁇ ties that at the output of the inverse function or is provided in ⁇ verted output Y_N available, c
- a third standard cell S3 of example a NAND or NAND function and in a fourth standard cell S4 a NOR function or NOR function.
- the output signal Y results in a value 0 only if both input signals A, B have the value 1. If at least one of the input signals A, B has the value 0, the value 1 is output at the output as output signals Y.
- the output signal Y has the value 1 only if both input signals A, B have the value 0. If the value of at least one input signal A, B 1, then the output signal Y or the function on
- these standard cells S3, S4 are replaced by a corresponding third or fourth loss-power-balanced version vS3, vS4 of the respective third or fourth standard cell S3, S4 in the network list.
- loss-power-balanced version vS3, vS4 of the third and fourth standard cell S3, S4 also consist of an upper and a lower part consisting of the four basic logic functions (AND, OR, NAND, NOR).
- the NAND function is networked in the upper part and in the lower part the negated input signals A_N, B_N linked such that at the output the inverted Functi ⁇ on or the inverted output signal Y_N is provided to the NAND function available.
- NOR function is shown in the upper part.
- FIG. 2b shows, by way of example and schematically, a fifth standard cell S5.
- the fifth standard cell S5 is an exemplary memory block S5 which is e.g. is designed as a flip-flop. Such a memory block S5 or
- Flip-flop S5 is an electronic circuit, from which two stable states can be taken and wel ⁇ cher so that a data amount of one bit can be stored.
- the memory block S5 by way of example and schematically shown is for example a so-called D-type flip-flop or delay flip-flop through which a data signal can be deferrers ⁇ Gert by one clock.
- the memory block S5 has a data input D and a clock input, as well as an output Q and an associated inverted output QN.
- a fitting on the D input logic state is stored and output its value at the Q output in the sequence at glassgeschalte ⁇ system clock input, or an active clock edge. If no active clock edge is present or if the clock input is deactivated, the input value D is not accepted.
- a loss-performance-based version vS5 of the memory block S5 is introduced or the standard memory block S5 is replaced by this version vS5 in the network list.
- a first memory block SP1 and a first flip-flop SP1 respectively supplemented by a second memory block SP2 and a second flip-flop SP2.
- the first D flip-flop SP1 is expanded with a second D-flip-flop SP2.
- Data input D and output Q of the first memory block SP1 and first flip-flops SP1 are linked together, for example, via a first logic gate and then form a data input of the second memory block SP2 or SP2 after connection to an output of the second memory block SP2 or flip-flops SP2 Flip-flops SP2.
- the loss-compensated version vS5 of the memory block S5 has a data input D and an output Q and an associated inverted output QN for networking in the netlist.
- the power loss of the loss-power-balanced version vS5 of the memory block S5 is largely independent of a state change, since, for example, the second flip-flop toggles SP2 if a state is maintained by the first flip-flop SP1 and vice versa. This considerably complicates so-called side channel attacks.
- Such loss-power balanced versions can also be created to further memory blocks or flip-flops such as T-flip-flops or toggle flip-flops, etc.
- standard cells S 1, S 2, S 5 such as logic gates, memory blocks, etc. are replaced or supplemented in a network list by corresponding losses-power-balanced versions vS1, vS2, vS5 of these standard cells S1, S2, S5.
- vS1, vS2, vS5 losses-power-balanced versions of these standard cells S1, S2, S5.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102012207065A DE102012207065A1 (de) | 2012-04-27 | 2012-04-27 | Verfahren zur Herstellung einer logischen Schaltung |
| PCT/EP2013/057651 WO2013160122A1 (de) | 2012-04-27 | 2013-04-12 | Verfahren zur herstellung einer dpa-resistenten logischen schaltung |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2842066A1 true EP2842066A1 (de) | 2015-03-04 |
Family
ID=48141962
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP13717247.4A Ceased EP2842066A1 (de) | 2012-04-27 | 2013-04-12 | Verfahren zur herstellung einer dpa-resistenten logischen schaltung |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20150095861A1 (de) |
| EP (1) | EP2842066A1 (de) |
| CN (1) | CN104246779A (de) |
| DE (1) | DE102012207065A1 (de) |
| WO (1) | WO2013160122A1 (de) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10217375B4 (de) * | 2002-04-18 | 2006-08-24 | Infineon Technologies Ag | Schaltungsanordnung und Verfahren zur Erzeugung eines Dual-Rail-Signals |
| US7260808B1 (en) * | 2004-12-11 | 2007-08-21 | National Semiconductor Corporation | Method and metric for low power standard cell logic synthesis |
| CN101187963B (zh) * | 2006-11-15 | 2010-05-12 | 北京同方微电子有限公司 | 一种对抗差分功耗分析的逻辑单元 |
| US20110066906A1 (en) * | 2009-09-14 | 2011-03-17 | LSI Corporate | Pulse Triggered Latches with Scan Functionality |
| CN101695021A (zh) * | 2009-10-22 | 2010-04-14 | 杭州晟元芯片技术有限公司 | 一种抗spa/dpa攻击的系统和方法 |
-
2012
- 2012-04-27 DE DE102012207065A patent/DE102012207065A1/de not_active Withdrawn
-
2013
- 2013-04-12 WO PCT/EP2013/057651 patent/WO2013160122A1/de not_active Ceased
- 2013-04-12 US US14/396,500 patent/US20150095861A1/en not_active Abandoned
- 2013-04-12 EP EP13717247.4A patent/EP2842066A1/de not_active Ceased
- 2013-04-12 CN CN201380022118.8A patent/CN104246779A/zh active Pending
Non-Patent Citations (2)
| Title |
|---|
| None * |
| See also references of WO2013160122A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102012207065A1 (de) | 2013-10-31 |
| US20150095861A1 (en) | 2015-04-02 |
| WO2013160122A1 (de) | 2013-10-31 |
| CN104246779A (zh) | 2014-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE112014000616T5 (de) | Doppelstruktur-Taktbaumsynthese (CTS) | |
| EP2660738A1 (de) | Verteilungsleistungsflussanalysesystem und Verfahren | |
| DE10053207A1 (de) | Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen | |
| DE102006004557A1 (de) | Kryptografische Logikschaltung und Kryptografieverfahren | |
| DE102013103806A1 (de) | Zelle mit verschobener Grenze sowie Grenzverschiebungsschema | |
| DE102010029735A1 (de) | Verfahren zum Generieren eines Bitvektors | |
| DE102012210990A1 (de) | Verfahren zum Erzeugen von Zufallszahlen | |
| DE102013204274A1 (de) | Verfahren zum Erkennen einer Korrelation | |
| Guo et al. | A new variant of the Zhang neural network for solving online time-varying linear inequalities | |
| DE102013114341A1 (de) | Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung | |
| DE102016110384A1 (de) | Verfahren zum Halbleiterbauelementdesign und zur Halbleiterbauelementherstellung sowie entsprechende Halbleiterbauelemente | |
| WO2013004490A1 (de) | Verfahren zum erzeugen einer zufälligen ausgangsbitfolge | |
| DE102009000322A1 (de) | Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung | |
| DE102004009144B4 (de) | Logikzelle und Verfahren zum Durchführen einer Dual-Rail-Logikoperation und Speichermedium | |
| EP2842066A1 (de) | Verfahren zur herstellung einer dpa-resistenten logischen schaltung | |
| EP2873190A1 (de) | Identifikationsschaltung | |
| DE102020124791A1 (de) | Verfahren zur Übertragung von Daten von einer ersten Recheneinheit zu einer zweiten Recheneinheit | |
| EP3246832B1 (de) | Verfahren zum schutz eines fpgas vor einer unautorisierten anwendung des rtl-quellcodes | |
| CN115618782B (zh) | 局部降电压的集成电路物理实现方法、装置和计算机设备 | |
| EP2264901A2 (de) | Integrierter Schaltkreis und Standartzelle eines integrierten Schaltkreises | |
| DE102012016610A1 (de) | Echtzeit-Schaltungssimulation | |
| DE60000981T2 (de) | Vorrichtung und verfahren zur verzögerung von pulssignalen und pulstaktsignalen | |
| DE112008003831T5 (de) | Synchrone sequentielle Logikvorrichtung mit doppelt getriggerten Flipflops sowie eine Methode zum gezielt zeitversetzten Triggern solcher zustandsspeichernden Register | |
| DE102005037357B3 (de) | Logikschaltung und Verfahren zum Berechnen eines maskierten Ergebnisoperanden | |
| EP1723723B1 (de) | Logik-grundzelle, logik-grundzellen-anordnung und logik-vorrichtung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20140829 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20171027 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
| 18R | Application refused |
Effective date: 20190323 |