EP2842066A1 - Method for producing a dpa-resistant logic circuit - Google Patents

Method for producing a dpa-resistant logic circuit

Info

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
Application number
EP13717247.4A
Other languages
German (de)
French (fr)
Inventor
Friedrich Eppensteiner
Majid Ghameshlu
Herbert Taucher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG Oesterreich
Original Assignee
Siemens AG Oesterreich
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG Oesterreich filed Critical Siemens AG Oesterreich
Publication of EP2842066A1 publication Critical patent/EP2842066A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/06Structured ASICs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power 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

The invention relates to a method for producing a logic circuit, in particular an application-specific integrated circuit or ASIC. A description of the logic circuit is formulated (2) in a hardware description language and then converted (3) into a description of a corresponding physical circuit, i.e. into a netlist, using a conversion program, i.e. a synthesis tool, said description consisting at least largely of standard cells (S1, S2, S3, S4, S5). During the conversion process, the standard cells (S1, S2, S3, S4, S5) which are used in the netlist are replaced (4) with standard cell (S1, S2, S3, S4, S5) versions (vS1, vS2, vS3, vS4, vS5) which have a correspondingly balanced power dissipation. Spying on a mode of operation of the circuit by analyzing a power consumption of the circuit is thus advantageously hindered or prevented, in particular in security-relevant circuits.

Description

Beschreibung description
VERFAHREN ZUR HERSTELLUNG EINER DPA-RESISTENTEN LOGISCHEN SCHALTUNG Technisches Gebiet  PROCESS FOR PRODUCING A DPA RESISTANT LOGICAL SWITCHING Technical field
Die vorliegende Erfindung betrifft allgemein das Gebiet der der elektronischen und logischen Schaltungen, insbesondere so genannter anwendungsspezifischen, integrierten Schaltungen oder so genannter ASICs. Im Speziellen bezieht sich die vorliegende Erfindung auf ein Verfahren zur Herstellung einer logischen Schaltung, insbesondere einer anwendungsspezifischen, integrierten Schaltung, welche zumindest teilweise aus Standardelementen bzw. Standardfunktionen, so genannten Stan- dardzellen, aufgebaut ist. Dabei wird eine in einer Hardware¬ beschreibungssprache abgefasste Beschreibung der logischen Schaltung von einem Übersetzungsprogramm in eine zumindest zum Großteil aus den so genannten Standardzellen bestehende Beschreibung einer entsprechenden, physikalischen Schaltung, in eine so genannte Netzliste, umgewandelt. 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. In particular, 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. Here, a drafted in a hardware description language ¬ description of the logic circuit by a program translation in an at least consisting mostly of the so-called standard cell description of a corresponding physical circuit, converted into a so-called net list.
Stand der Technik State of the art
Logische bzw. elektronische Schaltungen, welche insbesondere als so genannte integrierte Schaltungen realisiert sind, bil¬ den heutzutage die Grundlage für jegliche Elektronik, insbe¬ sondere in der Computertechnik. Üblicherweise bestehen elektronische Schaltungen aus auf einem einzelnen Substrat (z.B. Halbleitersubstrat, etc.) untergebrachten und miteinander verdrahteten elektronischen Bauelementen. Eine integrierteLogical 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. Usually, electronic circuits consist of electronic components housed and wired together on a single substrate (eg, semiconductor substrate, etc.). An integrated
Schaltung besteht damit aus einer großen Anzahl von verschiedenartigen Bauelementen sowie verbindenden Leiterzügen auf oder in einem einkristallinen Substrat. Erst durch diese Integration ist es möglich, umfangreiche Funktionalitäten und Anwendungen auf einem kleinen Raum zur Verfügung zu stellen. Durch integrierte Schaltungen wird eine Vielzahl von Anwendungen (z.B. in mobilen Geräten, SIM-Karten, RFIDs, Mobiltelefonen, etc.) erst technisch realisierbar, da diese Anwen- düngen sonst oft zu teuer, zu komplex, zu leistungsintensiv oder zu groß (z.B. für einen Einbau in das jeweilige Gerät, etc . ) wären . Werden logische bzw. integrierte Schaltungen für eine spe¬ zielle Anwendung erstellt, so werden diese Schaltungen häufig als anwendungsspezifische, integrierte Schaltungen oder ap- plication-specific integrated circuit oder kurz als ASICs be¬ zeichnet. ASICs werden damit in vielen verschiedenen elektro- nischen Geräten - beispielsweise von einem Radiowecker über Mobilfunkgeräte bis zu Hochleistungsrechnern - eingesetzt. Ein Grund für die Entwicklung von anwendungsspezifischen, integrierten Schaltungen oder ASICs, welche nach der Realisierung nicht mehr manipulierbar sind, ist vor allem bei einer hohen Fertigungsstückzahl eine Kostenersparnis gegenüber einem diskreten Aufbau von Schaltungen. Insbesondere bei digitalen ASICs kann die jeweilige integrierte Schaltung so für die jeweilige Anwendung entworfen werden, dass von diesem ASIC dann z.B. platz-, Verbrauchs-, kosten- und/oder leis- tungsoptimiert gearbeitet wird. Der Unterschied zu anderen logischen Schaltungen wie z.B. Field Programmable Gate Arrays (FPGAs) oder programmierbaren logischen Schaltungen (PLDs) besteht vor allem darin, dass bei einem ASIC die Funktionali¬ tät der integrierten Schaltung bei der Herstellung eindeutig festgelegt wird und von einem Anwender nicht mehr verändert werden kann. Dabei können moderne ASICs oft nicht nur einfa¬ che logische Funktionen bzw. Logikgatter umfassen, sondern auch Systemblöcke, Speicherblöcke, Prozessoren, etc., um die gewünschten Funktionalitäten bzw. Funktionen zu realisieren. 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. One reason for the development of application-specific, integrated circuits or ASICs, which are no longer manipulable after implementation, especially at a high production cost, a cost savings over a discrete circuit design. Particularly in the case of digital ASICs, 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. The difference to other logic circuits such as field-programmable gate array (FPGA) or programmable logic circuits (PLDs) consists mainly in the fact that in an ASIC which the integrated circuit functionali ¬ ty is uniquely defined in the manufacture and from a user no longer can be changed. In this modern ASICs can often include not only simp ¬ che logical functions or logic gates, but also system blocks, memory blocks, processors, etc., in order to realize the desired functionality and features.
Für die Erstellung bzw. für einen Entwurf eines ASICs bzw. einer anwendungsspezifischen, integrierten Schaltung wird üblicherweise eine so genannte Hardwarebeschreibungssprache wie z.B. die so genannten Very High Speed Integrated Circuit Hardware Description Language (VHDL) oder Verilog eingesetzt. Die Hardwarebeschreibungssprache ist dabei eine formale Spra¬ che, mit welcher Operationen von integrierten Schaltungen sowie ihr Design beschrieben werden können. In der Hardwarebe- Schreibungssprache wird eine Beschreibung der jeweiligen lo¬ gischen Schaltung - d.h. beispielsweise zeitliche Abläufe und/oder (räumliche) Schaltkreisstrukturen - abgefasst. Aus einer mit der Hardwarebeschreibungssprache erstellten Be¬ schreibung einer logischen Schaltung bzw. eines ASICs wird dann mit Hilfe eines Übersetzungsprogramms - eines so genann¬ ten Synthese-Tools - eine Beschreibung einer entsprechenden, physikalischen Schaltung bzw. des ASICs - eine so genannte Netzliste - generiert. Dieser Vorgang wird auch als Synthese bezeichnet. Bei der Synthese werden auf Basis der mit der Hardwarebeschreibungssprache abgefassten Beschreibung die je¬ weils vorgegebenen Funktionen für die logische Schaltung bzw. den ASIC aus vorgeplanten bzw. katalogmäßig verfügbaren Ele- menten - den so genannten Standardzellen - zusammengesetzt, welche z.B. in Form von Bibliotheken für das Übersetzungsprogramm bzw. Synthese-Tool zur Verfügung gestellt werden können. Diese Standardzellen können z.B. spezifisch für den Her- stellungsprozess entworfen werden, wobei ein Layout der je- weiligen Standardzelle bereits vor Entwurfbeginn der Schal¬ tung feststeht. Ergebnis der Synthese ist dann die Beschrei¬ bung einer entsprechenden, physikalischen Schaltung bzw. des ASICs - die so genannte Netzliste, welche zum Großteil aus den Standardzellen (z.B. Logikgatter, Speicherblöcke, etc.) besteht. Die Netzliste ist im Bereich des Elektronik- bzw. Schaltungsentwurfs üblicherweise eine Beschreibung der Ver¬ bindungen zwischen den in der Schaltung bzw. im ASIC enthaltenen Standardzellen. Derart realisierte und implementierte logische Schaltungen, insbesondere ASICs, weisen eine strikte Abhängigkeit von den zu verarbeitenden Daten auf. D.h. die in der Schaltung implementierte Logik steht in engem Zusammenhang mit der oder den auszuführenden Funktionen und den dabei verwendeten und/oder entstehenden Daten. Dies kann insbesondere bei sicherheitsre¬ levanten Schaltungen/ASICs oder bei Schaltungen/ASICs mit eingebetteten sicherheitskritischen Systemen einen Angriffpunkt für Attacken darstellen. Dabei werden insbesondere so genannte Side-Channel-Attacks oder Seitekanalattacken einge¬ setzt . 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. Is from a created with the hardware description language Be ¬ rewriting a logic circuit or an ASIC then using a translation program - a so genann ¬ th synthesis tools - a description of a corresponding, physical circuit or ASICs - a so-called net list - generated , This process is also referred to as synthesis. In the synthesis are based on the drawn up with the hardware description language description, the per ¬ weils predetermined functions for the logic circuit or to the ASIC from preplanned or listed in the catalog available ele- ments - the standard cells so - called composite, which, for example in the form of libraries for the translation program or synthesis tool can be made available. For example, 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 sicherheitsre ¬-relevant circuits / or ASICs circuits / ASICs. This is especially so called side-channel attacks or side channel attacks ¬ sets.
Bei einer Seitenkanalattacke werden üblicherweise von einer logischen Schaltung ausgeführte Funktionen und/oder Algorithmen beobachtet und es wird versucht, Korrelationen zwischen den beobachteten Daten und abhängigen, d.h. manipulierten Daten (z.B. Schlüssel, verschlüsselte Daten, etc.), zu finden. Diese Informationen werden beispielsweise aus einer Analyse der Laufzeit eines Algorithmus, dem Energieverbrauch derIn 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
Schaltung während des Ausführens einer Funktion, etc. gewonnen. Dabei kommen z.B. Methoden wie eine einfache und/oder differentielle Verlustleistungsanalyse zum Einsatz. Bei der einfachen Verlustleistungsanalyse wird ein Energie¬ verbrauch einer Schaltung bzw. eines ASICs während beispiels¬ weise sicherheitskritischer (z.B. kryptographischer) Funktionen direkt aufgezeichnet. Da der Energieverbrauch in Abhängigkeit von den jeweils in der Schaltung ausgeführten Opera- tionen variiert, können Rückschlüsse auf Schaltungsaufbau des ASICs, ausgeführte Funktionen und sicherheitskritische Daten gezogen werden. Bei der differentiellen Verlustleistungsanalyse wird der Energieverbrauch einer Schaltung bzw. eines ASICs nicht nur aufgezeichnet, sondern auch statisch analy- siert. Es werden dabei Messabweichungen beim Energieverbrauch ausgenutzt, um auf sicherheitsrelevante Funktionen und/oder Daten schließen zu können. Die differentielle Verlustleis¬ tungsanalyse wird insbesondere bei Schaltungen, etc. angewen¬ det, bei welchen zu große Störungen für die einfache Verlust- leistungsanalyse auftreten. Damit können mittels Verlustleis¬ tungsanalyse vor allem geheime und/oder sensible Daten wie z.B. Schlüssel, etc. anhand einer Analyse des Energie¬ verbrauchs bei in einer Schaltung/ASIC ausgeführten Funktio¬ nen ausspioniert werden. Circuit while performing a function, etc. won. For example, methods such as a simple and / or differential loss performance analysis are used. In the 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. In 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.
Um ein derartiges Ausspionieren von Funktionen und Daten anhand des Energieverbrauchs der Schaltung bzw. ASICs zu ver¬ hindern, besteht z.B. die Möglichkeit Verarbeitungszyklen - d.h. eine Abfolge von Funktionen und/oder Operationen, bei welchen sensible Daten verarbeitet werden - mit zufälligen Verzögerungen zu beaufschlagen, wodurch aus dem Energieverbrauch nicht mehr auf einfache Weise auf Funktion bzw. verarbeitete Daten geschlossen werden kann. Diese Vorgehens¬ weise hat allerdings den Nachteil, dass es zu einer Ver¬ schlechterung der Performance der Schaltung bzw. des ASICs kommt . Alternativ können für logische Schaltungen bzw. ASICs auch spezielle Zellen in so genannter Silizium-Technologie entwi¬ ckelt werden, um die Schaltung bzw. den ASIC vor Seitenkanal- attacken zu schützen. Allerdings sind derartige Zellen sehr speziell und stehen daher nicht für eine breite Masse der ASIC-Technologien zur Verfügung. To such spying on functions and data based on the energy consumption of the circuit or ASIC to prevent ver ¬ example, it is possible processing cycles - ie a sequence of functions and / or operations in which sensitive data is processed - to apply to random delays, which can no longer be easily concluded from the energy consumption on function or processed data. This approach ¬ as has the disadvantage that there is a Ver ¬ deterioration in the performance of the circuit or ASIC. Alternatively, in so-called silicon technology escape ¬ be oped to protect the circuit or ASIC front side channel attacks for logic circuits or ASICs also special cells. However, such cells are very special and therefore not available to a broad mass of ASIC technologies.
Darstellung der Erfindung Presentation of the invention
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Erstellung von logischen Schaltungen, insbesondere anwendungsspezifischen, integrierten Schaltungen bzw. ASICs anzugeben, durch welches auf einfache Weise und geringeren zu¬ sätzlichen Aufwand eine logische Schaltung hergestellt werden kann, welche vor einem Ableiten ausgeführter Funktionen mit- tels Analyse einer Verlustleistung geschützt wird. 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 ¬ sätzlichen effort a logic circuit can be produced which executed before a draining functions is protected by analyzing a power loss.
Die Lösung dieser Aufgabe erfolgt, durch ein Verfahren der eingangs angeführten Art, bei welchem bei einer Umwandlung der in einer Hardwarebeschreibung abgefassten Beschreibung der logischen Schaltung in eine so genannte Netzliste durch ein Übersetzungsprogramm verwendete Standardzellen in der Netzliste durch entsprechende verlustleistungsbalancierte Versionen dieser Standardzellen ersetzt werden. Der Hauptaspekt des erfindungsgemäßen Verfahrens besteht dar¬ in, dass auf einfache Weise und mit relativ geringem zusätz¬ lichen Aufwand bzw. ohne zusätzlichen Aufwand eine Schaltung erstellt wird, bei welcher eine weitgehende Balancierung der Verlustleistung erreicht wird. Die Verlustleistung wird damit weitgehend unabhängig von den zu verarbeiteten Daten gemacht. Weiterhin wird durch das erfindungsgemäße Verfahren eine Schaltung erstellt, bei welcher mittels der verlustleistungs- balancierten Standardzellen alle Basisoperationen (z.B. UND- Verknüpfungen, ODER-Verknüpfungen, etc.) gleichzeitig berechnet werden. Dies geschieht durch den Einsatz der verlustleis¬ tungsbalancierten Standardzellen unabhängig von der eigentlich vorgesehenen bzw. geforderten Funktion. Nicht benötigte Ausgänge von Standardzellen in der Schaltung werden dabei mit einer so genannten Dummy-Load oder Ersatzlast beaufschlagt, damit keine Störungen in der Schaltung auftreten. Durch den Einsatz der verlustleistungsbalancierten Standardzellen in einer logischen Schaltung bzw. in einem ASIC kann ein Erfolg von Seitenkanalattacken, welche auf Methoden der Verlustleistungsanalyse basieren, sehr einfach und effizient für sicherheitsrelevante Funktionen in dieser logischen Schaltung und insbesondere in dieser ASIC-Zelle reduziert werden. Das er¬ findungsgemäße Verfahren erlaubt außerdem eine einfache Rea- lisierung von logischen Schaltungen bzw. ASICs mit Standard- Design-Tools für diverse Standard-CMOS-Technologien . 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 zusätz ¬ 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. Furthermore, 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. This is done through the use of loss-leis ¬ tung balanced standard cells regardless of the actually provided or required function. Unnecessary outputs of standard cells in the circuit are supplied with a so-called dummy load or equivalent load, so that no disturbances in the circuit occur. By using the loss-compensated standard cells in a logic circuit or in an ASIC, a success of side-channel attacks based on methods of power loss analysis can be reduced very simply and efficiently for safety-relevant functions in this logic circuit and in particular in this ASIC cell. He ¬-making proper method also allows easy REA capitalization of logic circuits or ASICs with standard design tools for a variety of standard CMOS technologies.
Es ist vorteilhaft, wenn in der Netzliste verwendete Stan¬ dardzellen um die verlustleistungsbalancierten Versionen die- ser Standardzellen ergänzt werden. Dabei wird die Standard¬ zelle derart erweitert, dass von der verlustleistungsbalancierten Version dieser Standardzelle immer eine ursprüngliche Funktion und eine entsprechend zugehörige, invertierte Funk¬ tion am Ausgang zur Verfügung gestellt wird. Damit wird auf einfache Weise nach einem so genannten Dual-Rail-Prinzip dafür gesorgt, dass in den in der Schaltung bzw. im ASIC verwendeten Standardzellen immer alle Basisoperationen gleichzeitig berechnet werden und damit aus der Verlustleistung die eigentlich vorgesehene bzw. geforderte Funktion der jeweili- gen Standardzelle aus dem Energieverbrauch nicht mehr ableit¬ bar ist. Bei der Umwandlung der mittels Hardwarebeschreibung erstellten Beschreibung der logischen Schaltung in eine Netzliste mit dem Übersetzungsprogramm bzw. Synthese-Tool wird für jede Netzliste bzw. Netz einer logischen Schaltung eine Netzliste bzw. Netz für die jeweils invertierten Funktionen erstellt und entsprechend verbunden. Nicht benötigte Ausgänge werden dabei beispielsweise mit einer so genannten Dummy-Load oder Ersatzlast beaufschlagt. It is advantageous when used in the netlist Stan ¬ dardzellen the power loss balanced versions DIE ser standard cells are added. The Standard ¬ cell is expanded such that an original function and a correspondingly associated inverted radio ¬ tion is provided at the output of the power loss balanced version of this standard cell forever. This ensures in a simple manner according to a so-called dual-rail principle that in the standard cells used in the circuit or in the ASIC, all basic operations are always calculated at the same time and thus the actually provided or demanded function of the respective gen standard cell from the energy consumption is no longer derivable ¬ bar. When converting the description of the logic circuit created by means of hardware description into a netlist with the translation program or synthesis tool For each netlist or network of a logical circuit, a netlist or network for each inverted functions created and connected accordingly. Unnecessary outputs are applied, for example, with a so-called dummy load or equivalent load.
Als Standardzellen werden idealer Weise so genannte Logikgat¬ ter verwendet. Ein Logikgatter oder auch kurz Gatter ist in der technischen Information bzw. bei der Erstellung oder Be- Schreibung einer logischen Schaltung die Realisierung einer so genannten Booleschen Funktion. Durch ein Logikgatter werden Eingangssignale zu Ausgangssignalen verarbeitet. Die Ein¬ gangssignale werden dabei durch Implementierung logischer Operationen wie z.B. UND, ODER, NEGATION, NICHT UND oder NAND, NICHT ODER oder NOR, XOR, etc. zu einem einzigen logischen Ergebnis umgewandelt und durch die Ausgangssignale ab¬ gebildet. Durch das erfindungsgemäße Verfahren werden in ei¬ ner Schaltungsbeschreibung verwendete Logikgatter bei der Synthese durch das Übersetzungsprogramm mit der jeweiligen invertierten Operation bzw. Funktion zur verlustbalancierten Version ergänzt. Das bedeutet, dass beispielsweise ein UND- Gatter durch ein negiertes UND-Gatter - ein so genannten NAND-Gatter - erweitert wird. Bei einem ODER-Gatter wird z.B. ein so genanntes NOR-Gatter ergänzt und so weiter. As standard cells ideally be used so-called Logikgat ¬ ter. 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 ¬. By the inventive method used in egg ¬ ner circuit description logic gate in the synthesis are supplemented by the translation program with the respective inverted operation or function for loss-balanced version. This means, for example, that an AND gate is extended by a negated AND gate, a so-called NAND gate. For an OR gate, for example, a so-called NOR gate is added and so on.
Häufig umfassen logische Schaltungen bzw. ASICs neben Logikgattern auch Speicherblöcke, insbesondere so genannte Flip- Flops. Daher werden zweckmäßiger Weise auch Speicherblöcke, insbesondere Flip-Flops, als Standardzellen für die Erstel- lung einer logischen Schaltung vorgesehen. Speicherblock wie z.B. Flip-Flops, welche auch als bistabile Kippstufe oder bistabiles Kippglied bezeichnet werden, sind elektronische Schaltungen bzw. Elemente, von welche zwei stabile Zustände eingenommen werden können. Damit kann in einem Speicherblöcke bzw. einem Flip-Flop eine Datenmenge von einem Bit über eine bestimmte, vorgegebene Zeitdauer gespeichert werden. Spei¬ cherblöcke sind Grundbausteine von so genannten sequentiellen Schaltungen und damit eine unverzichtbares Bauelement für ei- nen Aufbau einer logischen bzw. elektronischen Schaltung oder einen ASIC. Frequently, 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.
Bei einer speziellen Ausführungsvariante des erfindungsgemä- ßen Verfahrens, insbesondere bei Speicherblöcken als Stan¬ dardzellen, wird für eine verlustleistungsbalancierte Version eines Speicherblocks ein erster Speicherblock mit einem zwei¬ ten Speicherblock derart ergänzt, dass immer wenn der erste Speicherblock geschaltet wird, vom zweiten Speicherblock ein jeweiliger Zustand beibehalten wird und umgekehrt. Das bedeu¬ tet, wenn von einem - z.B. dem ersten - Speicherblock sein Zustand beibehalten wird, dann wird vom anderen - z.B. dem zweiten Speicherblock getoggelt. Auf diese einfache Weise ist dann die Gesamtverlustleistung der verlustleistungsbalancier- ten Version des Speicherblocks weitgehend unabhängig vom je¬ weiligen Zustandswechsel . Ein Zustandswechsel des Speicher¬ blocks (z.B. Flip-Flops) kann damit nicht mehr aus der Ge¬ samtverlustleistung abgeleitet werden. Eine Performance des verlustleistungsbalancierten Speicherblocks bleibt aber weit- gehend gleich einer Performance des ursprünglichen Speicherblocks . In a particular embodiment of the inventive SEN process, particularly in blocks of storage as Stan ¬ dardzellen, 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. In this simple way, the total power dissipation of the verlustleistungsbalancier- th version of the memory block is then largely independent of each ¬ weiligen state change. A change of state of the memory block ¬ (eg flip-flops) can thus not be derived from the Ge ¬ samtverlustleistung. However, a performance of the loss-power-balanced memory block remains largely equal to a performance of the original memory block.
Es ist beim erfindungsgemäßen Verfahren auch günstig, wenn die verlustleistungsbalancierten Versionen der Standardzellen in einer oder gegebenenfalls auch mehreren Bibliotheken für ein Ersetzen der jeweiligen Standardzellen in der Netzliste hinterlegt bzw. zur Verfügung gestellt werden. Auf diese Wei¬ se können beispielsweise Übersetzungsprogramme bzw. Synthese- Tools rasch und kostengünstig angepasst bzw. erweitert wer- den. Standardzellen wie z.B. Logikgatter, Speicherblöcke, etc. werden üblicherweise für einen Herstellungsprozess von logischen Schaltungen bzw. ASICs entworfen und beispielsweise katalogmäßig in Form von Bibliotheken dem Übersetzungspro¬ gramm für die Umwandlung der in der Hardwarebeschreibungs- spräche abgefassten Beschreibung der Schaltung in eine Netzliste zur Verfügung gestellt. Durch ein Hinterlegen der verlustleistungsbalancierten Versionen der Standardzellen können diese sehr einfach und ohne großen Aufwand dem Übersetzungs- Programm zur Verfügung gestellt werden. Vom Übersetzungsprogramm kann dann ohne großen Aufwand eine verlustleistungsba- lancierte Version einer logischen Schaltung bzw. eines ASICs aus der in der Hardwarebeschreibungssprache abgefassten Be- Schreibung der jeweiligen Schaltung erstellt werden, ohne dass beim Erstellen bzw. Designen dieser Schaltung in der Hardwarebeschreibungssprache darauf Rücksicht genommen werden müsste . Kurzbeschreibung der Zeichnung It is also favorable in the method according to the invention if 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. In this Wei ¬ se, for example, 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 Übersetzungspro ¬ gram for the conversion of written in the hardware description discussions description of the circuit in a netlist available posed. By storing the loss-compensated versions of the standard cells, they can be easily and without much effort added to the translation Program be made available. 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. Brief description of the drawing
Die Erfindung wird nachfolgend schematisch in beispielhafter Weise anhand der beigefügten Figuren erläutert. Figur 1 zeigt dabei schematisch einen beispielhaften Ablauf des erfindungs- gemäßen Verfahrens zur Herstellung einer logischen Schaltung. Die Figuren 2a und 2b zeigen Beispiele für ein Ersetzen von Standardzellen durch jeweilige verlustbalancierte Versionen. The invention is explained schematically below by way of example with reference to the accompanying figures. 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.
Ausführung der Erfindung Embodiment of the invention
Figur 1 zeigt in schematischer Weise einen beispielhaften Ablauf des erfindungsgemäßen Verfahrens zur Erstellung einer logischen Schaltung. Das erfindungsgemäße Verfahren beginnt mit einem Startschritt 1. Dann wird in einem zweiten Verfah- rensschritt 2 eine Beschreibung einer logischen Schaltung, insbesondere einer anwendungsspezifischen, integrierten 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
Schaltung bzw. eines ASICs, abgefasst. Für einen derartigen Entwurf bzw. eine derartige Beschreibung der logischen Schaltung (ASIC) werden üblicherweise so genannte Hardwarebe- Schreibungssprachen wie z.B. VHDL, Verilog, etc. eingesetzt. Von dieser Beschreibung der logischen Schaltung werden dabei Operationen, Funktionen, etc. beschrieben, welche von der Schaltung bzw. dem ASIC ausgeführt werden sollen. Die Beschreibung umfasst z.B. zeitliche Abläufe, räumliche Schal- tungsstrukturen, etc. für die Schaltung. Circuit or an ASIC, worded. For such a design or description of the logic circuit (ASIC), so-called hardware writing languages such as e.g. VHDL, Verilog, etc. used. This description of the logic circuit while operations, functions, etc. are described, which are to be executed by the circuit or the ASIC. The description includes e.g. time sequences, spatial circuit structures, etc. for the circuit.
Aus einer in der Hardwarebeschreibungssprache abgefassten Be¬ schreibung einer logischen Schaltung bzw. eines ASICs wird in einem dritten Verfahrensschritt 3 eine Beschreibung einer entsprechenden, physikalischen Schaltung generiert. Die Umwandlung der Beschreibung der logischen Schaltung in die Beschreibung der entsprechenden, physikalischen Schaltung wird mit Hilfe eines Übersetzungsprogramms - eines so genannten Synthese-Tools - durchgeführt. Dieser Vorgang wird auch als Synthese bezeichnet und das Ergebnis der Synthese - d.h. die entsprechende, physikalische Schaltungsbeschreibung - wird auch als Netzliste bezeichnet. Of a, written in the hardware description language Be ¬ rewriting a logic circuit or an ASIC is in 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.
Beim Verfahrensschritt 3 bzw. bei der Synthese werden auf Ba¬ sis der mit der Hardwarebeschreibungssprache abgefassten Be¬ schreibung die jeweils vorgegebenen Funktionen für die Schaltung bzw. den ASIC beispielsweise aus vorgeplanten bzw. kata- logmäßig verfügbaren Elementen - den so genannten Standardzellen - zusammengesetzt. Durch die Netzliste, welche zumin¬ dest zum Großteil aus derartigen Standardzellen wie z.B. Logikgattern, Speicherblöcken, etc. besteht, werden üblicherweise Verbindungen zwischen den in der Schaltung bzw. im ASIC verwendeten Standardzellen und damit eine Struktur dieser Schaltung beschrieben. Die Standardzellen können für das Übersetzungsprogramm bzw. für das Synthese-Tool beispielswei¬ se in Form von Bibliotheken zur Verfügung gestellt werden, wobei die Standardzellen z.B. spezifisch für den jeweiligen Herstellungsprozess entworfen werden können. Damit stehen die jeweiligen Standardzellen z.B. bereits vor Beginn eines At step 3 or in the synthesis of drawn up with the hardware description language Be ¬ letters are respectively given functions for the circuit or ASIC, for example, pre-planned or logmäßig available kata- elements on Ba ¬ sis - the standard cells so - called assembled. By 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. Thus, the respective standard cells, for example, already before the beginning of a
Schaltungsentwurfs fest. Circuit design.
In einem vierten Verfahrensschritt 4 werden dann die Stan- dardzellen, welche in der im Verfahrensschritt 3 generierten Netzliste verwendet werden, durch entsprechende verlustleis- tungsbalancierte Versionen dieser jeweils verwendeten Standardzellen ersetzt. Der vierte Verfahrensschritt 4 kann dabei beispielsweise nach dem dritten Verfahrensschritt 3 ausge- führt werden. Das bedeutet, dass z.B. zuerst aus der Be¬ schreibung der logischen Schaltung eine Netzliste generiert wird, und dann in dieser Netzliste die verwendeten Standard¬ zellen durch entsprechende verlustleistungsbalancierte Versi- onen ersetzt werden. Dabei kann z.B. eine Standardzelle der¬ art ergänzt werden, dass von der verlustleistungsbasierten Version der Standardzelle am Ausgang der Standardzelle immer eine Funktion sowie ein zugehörige invertierte Funktion zur Verfügung gestellt wird. Alternativ können die entsprechenden verlustleistungsbalancierten Versionen der Standardzellen auch in Form von einer oder mehreren speziellen Bibliotheken zur Verfügung gestellt werden. Alternativ kann der vierte Verfahrensschritt 4 beispielsweise auch in den dritten Verfahrensschritt 3 integriert sein. In 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. This means that, for example, from the first Be ¬ scription of the logic circuit, a netlist is generated, and then in this netlist ¬ the standard cells used by a corresponding power loss balanced insurance be replaced. In this case, for example, 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. Alternatively, the corresponding loss-power-balanced versions of the standard cells can also be provided in the form of one or more special libraries. Alternatively, the fourth method step 4 may also be integrated into the third method step 3, for example.
D.h., dass beim Erstellen der Netzliste anstatt einer bestimmten Standardzelle immer die entsprechende verlustleis- tungsbalancierte Version dieser Standardzelle genommen wird. Auch bei dieser Variante können die verlustleistungsbalancierten Versionen der Standardzellen beispielsweise dem Übersetzungsprogramm als spezielle Bibliothek zur Verfügung gestellt werden oder durch Ergänzen der entsprechenden Standardzellen - d.h. es werden Funktion und invertierte Funktion am Ausgang angezeigt - in die Netzliste eingesetzt werden. This means that when creating the netlist instead of a certain standard cell, the corresponding loss-balanced version of this standard cell is always taken. In this variant too, 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.
In den Figuren 2a und 2b sind beispielhaft und schematisch in Netzlisten gebräuchliche Standardzellen Sl bis S4 bzw. S5 sowie die entsprechenden verlustleistungsbalancierten Versionen vSl bis vS4 bzw. vS5 dargestellt, wobei die verlustleistungs- balancierte Version vSl bis vS4 bzw. vS5 immer funktionsäqui¬ valent zur entsprechenden Standardzelle ist. In Figures 2a and 2b by way of example and schematically in common use in netlists standard cells Sl to S4 and S5 and the corresponding power loss balanced versions VSL are shown to vS4 or VS5, wherein the loss power balanced version VSL to vS4 or VS5 always funktionsäqui ¬ valent for corresponding standard cell.
Figur 2a zeigt dabei die beispielhaften Standardzellen Sl, S2, S3 und S4. Diese Standardzellen Sl bis S4 sind so genannte Logikgatter, welche eine Realisierung von so genannten Booleschen Funktionen darstellen, und von welchen Eingangsignale A, B zu einem Ausgangssignal Y verarbeitet wird. Ein erste, beispielhafte Standardzelle Sl wird für eine Rea¬ lisierung einer logischen UND-Funktion verwendet - d.h. die Eingangssignale A, B werden durch eine so genannte UND- Funktion zu einem Ausgangssignal Y verknüpft. Im vierten Ver- fahrensschritt 4 des erfindungsgemäßen Verfahrens wird die erste Standardzelle Sl durch eine erste entsprechende ver¬ lustbalancierte Version vSl der Standardzelle Sl ersetzt. Die erste verlustbalancierte Version vSl der Standardzelle Sl wird dadurch ausgezeichnet, dass von ihr alle Basisoperatio¬ nen gleichzeitig berechnet werden können - unabhängig von der eigentlich geforderten Funktion. Die erste verlustbalancierte Version vSl besteht aus einem oberen Teil und einem unteren Teil . 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 ¬ Lisierung a logical AND function - ie the input signals A, B are linked by a so-called AND function to an output signal Y. In the fourth Step 4 of the method according to the invention, 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.
Im oberen Teil sind z.B. vier Logikgatter, welche beispielsweise vier logische Grundfunktionen (UND, ODER, NAND, NOR) darstellen, derart vernetzt bzw. derart geschaltet, dass die Eingangssignale A, B zu einer UND-Funktion und einem Aus- gangssignal Y verknüpft werden - d.h. das Ausgangssignal Y weist nur dann z.B. einen Wert 1, wenn beide Eingangssignale ebenfalls den Wert 1 aufweisen. Im unteren Teil, welcher ebenfalls z.B. vier Logikgatter für die vier logischen Grundfunktionen (UND, ODER, NAND, NOR) wie der obere Teil umfasst, sind die vier Logikgatter derart geschaltet, dass bei negier¬ ten Eingangssignalen A_N, B_N am Ausgang die invertierte Funktion bzw. ein invertiertes Ausgangssignal Y_N zum Aus¬ gangssignal Y des oberen Teils zur Verfügung gestellt wird. Die restlichen Ausgänge der ersten verlustbalancierten Versi- on vSl, welche nicht benötigt werden, sind z.B. mit einem so genannten Dummy-Load beaufschlagt. Damit wird von der ersten verlustbalancierte Version vSl der ersten Standardzelle Sl am Ausgang z.B. nach dem Dual-Prinzip am Ausgang immer die Funktion bzw. das Ausgangssignal Y und die invertierte Funktion bzw. das invertierte Ausgangssignal Y_N zur Verfügung ge¬ stellt und in der Netzliste dann entsprechend verbunden. In the upper 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. In the lower part, which also includes, for example, four logic gates for the four basic logic functions (AND, OR, NAND, NOR) as the upper part, 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.
Eine zweite in Figur 2a beispielhaft dargestellte Standard¬ zelle S2 wird für eine Realisierung der logischen ODER- Funktion verwendet, bei welcher Eingangssignale A, B über ei¬ ne ODER-Operation zum Ausgangssignal Y verknüpft werden. Bei einer ODER-Funktion weist das Ausgangssignal Y dann den Wert 1 auf, wenn zumindest eines der beiden Eingangssignale A, B den Wert 1 aufweist. Im vierten Verfahrensschritt 4 wird die ODER-Funktion derart ergänzt oder ersetzt, dass in der Netzliste eine zweite verlustleistungsbalancierte Version vS2 der zweiten Standardzelle S2 verwendet wird. Diese zweite ver- lustleistungsbalancierte Version vS2 der zweiten Standardzel¬ le S2 besteht ebenfalls aus einem oberen und einem unteren Teil, welcher jeweils aus den vier logischen Grundfunktionen (UND, ODER, NAND, NOR) besteht. Der obere Teil ist allerdings so gestaltet, dass die Eingangssignale A, B über die ODER- Funktion zum Ausgangssignal Y verknüpft werden. Im unterenA 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. In the case of an OR function, the output signal Y then has the value 1 if at least one of the two input signals A, B has the value 1. In the fourth method step 4, 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. At the bottom
Teil werden die negierten Eingangssignal A_N, B_N derart ver¬ knüpft, dass am Ausgang die invertierte Funktion bzw. das in¬ vertierte Ausgangssignal Y_N zur Verfügung gestellt wird, c Weiters sind in Figur 2a in einer dritten Standardzelle S3 beispielhaft eine NICHT-UND- oder NAND-Funktion und in einer vierten Standardzelle S4 eine NICHT-ODER- oder NOR-Funktion dargestellt. Bei der NAND-Funktion ergibt das Ausgangssignal Y nur dann einen Wert 0, wenn beide Eingangssignale A, B den Wert 1 aufweisen. Hat zumindest eines der Eingangssignal A, B den Wert 0, so wird am Ausgang als Ausgangssignale Y der Wert 1 ausgegeben. Bei der NOR-Funktion weist das Ausgangssignal Y nur dann den Wert 1 auf, wenn beide Eingangssignale A, B den Wert 0 haben. Ist der Wert von zumindest einem Eingangssignal A, B 1, so weist das Ausgangssignal Y bzw. die Funktion amPart, 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 Furthermore, in Figure 2a, in 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. In the case of the NAND 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. In the case of the NOR function, 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
Ausgang den Wert 0 auf. Durch den vierten Verfahrensschritt 4 werden diese Standardzellen S3, S4 durch eine entsprechende dritte bzw. vierte verlustleistungsbalancierte Version vS3, vS4 der jeweiligen dritten bzw. vierten Standardzelle S3, S4 in der Netzliste ersetzt. Output the value 0. By means of the fourth method step 4, 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.
Auch diese verlustleistungsbalancierten Version vS3, vS4 der dritten bzw. vierten Standardzelle S3, S4 bestehen aus einem oberen und unteren Teil bestehend aus den vier logischen Grundfunktionen (UND, ODER, NAND, NOR) . Dabei ist bei der dritten verlustleistungsbalancierten Version vS3 der dritten Standardzelle S3 im oberen Teil die NAND-Funktion vernetzt und im unteren Teil werden die negierten Eingangssignale A_N, B_N derart verknüpft, dass am Ausgang die invertierte Funkti¬ on bzw. das invertierte Ausgangssignal Y_N zur NAND-Funktion zur Verfügung gestellt wird. Bei der vierten verlustleis- tungsbalancierten Version vS4 der vierten Standardzelle S4 wird im oberen Teil eine NOR-Funktion dargestellt. Durch den unteren Teil werden die negierten Eingangssignale A_N, B_N derart vernetzt, dass am Ausgang die invertierte Funktion bzw. das invertierte Ausgangssignal Y_N zur NOR-Funktion aus¬ gegeben wird. Nicht benötigte Ausgänge werde beispielsweise mit einem so genannten Dummy-Load beaufschlagt, um z.B. Stö¬ rungen, etc. zu verhindern. These 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). In this case, in the third loss-power-balanced version vS3 of the third standard cell S3, 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. In the fourth loss-balanced version vS4 of the fourth standard cell S4, a NOR function is shown in the upper part. Through the lower part of the negated input signals A_N, B_N are networked such that the output of the inverted function or the inverted output signal Y_N is given to the NOR function ¬ . Not required outputs will applied for example with a so-called dummy load in order to prevent eg Stö ¬ measures etc.
In Figur 2b ist beispielhaft und schematisch eine fünfte Standardzelle S5 dargestellt. Die fünfte Standardzelle S5 ist ein beispielhafter Speicherblock S5, welcher z.B. als Flip- Flop ausgeführt ist. Ein derartige Speicherblock S5 bzw. 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 ist eine elektronische Schaltung, von welcher zwei stabile Zustände eingenommen werden können und von wel¬ cher damit eine Datenmenge von einem Bit gespeichert werden kann. Der beispielhaft und schematisch dargestellte Speicherblock S5 ist z.B. ein so genanntes D-Flip-Flop oder Delay- Flip-Flop, durch welches ein Datensignal um einen Takt verzö¬ gert werden kann. Der Speicherblock S5 weist einen Dateneingang D und einen Takteingang auf, sowie einen Ausgang Q und einen zugehörigen invertierten Ausgang QN. Durch den Speicherblock S5 bzw. das D-Flip-Flop S5 wird bei freigeschalte¬ tem Takteingang oder aktiver Taktflanke ein am Eingang D anliegender logischer Zustand gespeichert und in der Folge sein Wert am Ausgang Q ausgegeben. Liegt keine aktive Taktflanke an oder ist der Takteingang deaktiviert, so wird der Eingangswert D nicht übernommen. 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. Through the memory block S5 and the D flip-flop S5, a fitting on the D input logic state is stored and output its value at the Q output in the sequence at freigeschalte ¬ 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.
Im vierten Verfahrensschritt 4 wird eine verlustleistungsba- lancierte Version vS5 des Speicherblocks S5 eingeführt bzw. der Standard-Speicherblock S5 durch diese Version vS5 in der Netzliste ersetzt. Bei der verlustleistungsbalancierten Version vS5 des Speicherblocks S5 bzw. des Flip-Flops S5 wird ein erster Speicherblock SP1 bzw. ein erstes Flip-Flop SP1 durch einen zweiten Speicherblock SP2 bzw. ein zweites Flip- Flop SP2 ergänzt. So wird z.B. beim Flip-Flop S5 das erste D- Flip-Flop SP1 mit einem zweiten D-Flip-Flop SP2 erweitert. Dateneingang D und Ausgang Q des ersten Speicherblocks SP1 bzw. ersten Flip-Flops SP1 werden z.B. über ein erstes Logikgatter miteinander verknüpft und bilden dann nach einer Verknüpfung mit einem Ausgang des zweiten Speicherblocks SP2 bzw. Flip-Flops SP2 einen Dateneingang des zweiten Speicherblocks SP2 bzw. Flip-Flops SP2. Insgesamt weist die verlust- leistungsbalancierte Version vS5 des Speicherblocks S5 einen Dateneingang D sowie einen Ausgang Q und einen zugehörigen invertierten Ausgang QN für die Vernetzung in der Netzliste auf. Allerdings ist die Verlustleistung der verlustleistungs- balancierten Version vS5 des Speicherblocks S5 weitgehend un- abhängig von einem Zustandswechsel , da beispielsweise das zweite Flip-Flop SP2 toggelt, wenn vom ersten Flip-Flop SP1 ein Zustand beibehalten wird und umgekehrt. Damit werden so genannte Seitenkanal-Attacken erheblich erschwert. Derartige verlustleistungsbalancierte Versionen können auch zu weiteren Speicherblöcken bzw. Flip-Flops wie z.B. T-Flip- Flops oder Toggle-Flip-Flops , etc. erstellt werden. In the fourth method step 4, 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. In the loss-power-balanced version vS5 of the memory block S5 or the flip-flop S5, 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. For example, in the flip-flop S5, 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. Overall, 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. However, 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.
Durch das erfindungsgemäße Verfahren werden Standardzellen Sl, S2, S5 wie z.B. Logikgatter, Speicherblöcke, etc. in einer Netzliste durch entsprechende verlustleistungsbalancierte Versionen vSl, vS2, vS5 dieser Standardzellen Sl, S2, S5 ersetzt oder zu diesen ergänzt. Damit kann ein Er¬ folg von so genannten Seitenkanal-Attacken auf eine logische Schaltung bzw. einen ASIC maßgeblich reduziert werden. By means of the method according to the invention, 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. For a successful ¬ He can be reduced significantly by so-called side-channel attacks on a logic circuit or an ASIC.

Claims

Patentansprüche Patent claims
Verfahren zur Erstellung einer logischen Schaltung, insbesondere einer so genannten anwendungsspezifischen, integrierten Schaltung oder ASIC, wobei eine in einer Hardwarebeschreibungssprache abgefasste Beschreibung der lo¬ gischen Schaltung von einem Übersetzungsprogramm in eine zumindest zum Großteil aus so genannten StandardzellenMethod for creating a logical circuit, in particular a so-called application-specific integrated circuit or ASIC, wherein a description of the logical circuit written in a hardware description language is translated by a translation program into at least a large part of so-called standard cells
(Sl, S2, S3, S4, S5) bestehende Beschreibung einer ent¬ sprechenden, physikalischen Schaltung, in eine so genannte Netzliste, umgewandelt wird (2,(S1, S2, S3, S4, S5) existing description of a corresponding physical circuit is converted into a so-called net list (2,
3), dadurch gekenn¬ zeichnet, dass bei der Umwandlung die verwendeten Standardzellen (Sl, S2, S3, S4, S5) in der Netzliste durch entsprechende verlustleistungsbalancierte Versionen3), characterized in that during the conversion the standard cells used (Sl, S2, S3, S4, S5) in the network list are replaced by corresponding power loss-balanced versions
(vSl, vS2, vS3, vS4, vS5) der verwendeten Standardzellen(vSl, vS2, vS3, vS4, vS5) of the standard cells used
(Sl, S2, S3, S4, S5) ersetzt werden (4) . (Sl, S2, S3, S4, S5) can be replaced (4).
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in der Netzliste verwendete Standardzellen (Sl, S2, S3, S4, S5) für die verlustleistungsbalancierten Versionen (vSl, vS2, vS3, vS4, vS5) dieser Standardzellen (Sl, S2, S3, S4, S5) derart ergänzt werden Method according to claim 1, characterized in that standard cells (Sl, S2, S3, S4, S5) used in the network list for the power loss-balanced versions (vSl, vS2, vS3, vS4, vS5) of these standard cells (Sl, S2, S3, S4 , S5) can be supplemented in this way
(4), dass von der verlustleistungsbalancierten Version (vSl, vS2, vS3, vS4, vS5) einer Standardzelle (Sl, S2, S3, S4, S5) eine ur¬ sprüngliche Funktion und eine entsprechend zugehörige, invertierte Funktion zur Verfügung gestellt wird. (4) that the power loss-balanced version (vSl, vS2, vS3, vS4, vS5) of a standard cell (Sl, S2, S3, S4, S5) provides an original function and a correspondingly associated, inverted function.
Verfahren nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass als Standardzellen (Sl, S2, S3, S4) so genannte Logikgatter verwendet werden. Method according to one of claims 1 to 2, characterized in that so-called logic gates are used as standard cells (Sl, S2, S3, S4).
Verfahren nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass als Standardzellen (S5) Spei¬ cherblöcke, insbesondere so genannte Flip-Flops, verwen¬ det werden. Method according to one of claims 1 to 2, characterized in that memory blocks, in particular so-called flip-flops, are used as standard cells (S5).
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass für eine verlustbalancierte Version (vS5) eines Speicherblocks (S5) ein erster Speicherblock (SP1) mit einem zweiten Speicherblock (SP2) derart ergänzt wird (4), dass immer wenn der erste Speicherblock (SP1) geschalten wird, vom zweiten Speicherblock (SP2) ein jeweiliger Zustand beibehalten wird. 5. The method according to claim 4, characterized in that for a loss-balanced version (vS5) one Memory block (S5), a first memory block (SP1) is supplemented with a second memory block (SP2) in such a way (4) that whenever the first memory block (SP1) is switched, a respective state is maintained by the second memory block (SP2).
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch 6. Method according to one of claims 1 to 5, characterized
gekennzeichnet, dass die verlustleistungsbalancier- ten Versionen (vSl, vS2, vS3, vS4, vS5) der Standardzel¬ len (Sl, S2, S3, S4, S5) in einer speziellen Bibliothek für ein Ersetzen in der Netzliste hinterlegt und zur Verfügung gestellt werden. characterized in that the power loss-balanced versions (vSl, vS2, vS3, vS4, vS5) of the standard cells (Sl, S2, S3, S4, S5) are stored and made available in a special library for replacement in the network list .
EP13717247.4A 2012-04-27 2013-04-12 Method for producing a dpa-resistant logic circuit Ceased EP2842066A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102012207065A DE102012207065A1 (en) 2012-04-27 2012-04-27 Method for producing a logic circuit
PCT/EP2013/057651 WO2013160122A1 (en) 2012-04-27 2013-04-12 Method for producing a dpa-resistant logic circuit

Publications (1)

Publication Number Publication Date
EP2842066A1 true EP2842066A1 (en) 2015-03-04

Family

ID=48141962

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13717247.4A Ceased EP2842066A1 (en) 2012-04-27 2013-04-12 Method for producing a dpa-resistant logic circuit

Country Status (5)

Country Link
US (1) US20150095861A1 (en)
EP (1) EP2842066A1 (en)
CN (1) CN104246779A (en)
DE (1) DE102012207065A1 (en)
WO (1) WO2013160122A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10217375B4 (en) * 2002-04-18 2006-08-24 Infineon Technologies Ag Circuit arrangement and method for generating a dual-rail signal
US7260808B1 (en) * 2004-12-11 2007-08-21 National Semiconductor Corporation Method and metric for low power standard cell logic synthesis
CN101187963B (en) * 2006-11-15 2010-05-12 北京同方微电子有限公司 A logic unit for oppositional differential power consumption analysis
US20110066906A1 (en) * 2009-09-14 2011-03-17 LSI Corporate Pulse Triggered Latches with Scan Functionality
CN101695021A (en) * 2009-10-22 2010-04-14 杭州晟元芯片技术有限公司 System and method for resisting SPA/DPA attack

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2013160122A1 *

Also Published As

Publication number Publication date
DE102012207065A1 (en) 2013-10-31
CN104246779A (en) 2014-12-24
US20150095861A1 (en) 2015-04-02
WO2013160122A1 (en) 2013-10-31

Similar Documents

Publication Publication Date Title
DE112014000616T5 (en) Double Structure Clock Tree Synthesis (CTS)
DE69418012T2 (en) Frequency multiplier with a tree structure of CMOS logic gates of the type "exclusive OR"
DE102006004557A1 (en) Cryptographic logic circuit for simple power analysis (SPA) and differential power analysis (DPA) has first logic unit that executes logic operation for data, and second logic unit that executes logic operation for first logic unit results
DE102013103806B4 (en) Moving cell boundaries in the layout of a semiconductor device
EP2660738A1 (en) Distribution power flow analysis system and method
DE10053207A1 (en) Design validation method for integrated system chip circuit, involves validating entire design using simulation test banks of complete system chip and execution of application
DE102010029735A1 (en) Method for generating a bit vector
DE102012210990A1 (en) Method for generating random numbers
DE102013204274A1 (en) Method for detecting a correlation
EP3244326A1 (en) Method for creating a fpga netlist
DE102013114341A1 (en) A system, method and computer program product for automatic two-phase clocking
DE102009000322A1 (en) Non-linear feedback shift register and method for non-linear signature formation
DE102005037357B3 (en) Logic circuit for calculating result operand esp. for safety-sensitive applications, has two logic stages with first between input and intermediate node, and second between intermediate nodes and output
DE102020124791A1 (en) Method for the transmission of data from a first processing unit to a second processing unit
WO2013004490A1 (en) Method for generating a random output bit sequence
Uhle et al. A SystemCAMS extension for the simulation of non-linear circuits
EP2842066A1 (en) Method for producing a dpa-resistant logic circuit
DE102004009144B4 (en) A logic cell and method for performing a dual rail logic operation and storage medium
EP1723723B1 (en) Logic basic cell, logic basic cell array and logic device
DE102012016610B4 (en) Real-time circuit simulation
EP2264901A2 (en) Integrated circuit and standard cell of same
DE60000981T2 (en) DEVICE AND METHOD FOR DELAYING PULSE SIGNALS AND PULSE CLOCK SIGNALS
EP3246832B1 (en) Method for protecting an fpga against an unauthorized use of the rtl source code
JP5807887B1 (en) Programmable logic device, programmable logic device error verification method, and programmable logic device circuit formation method
DE112008003831T5 (en) Synchronous sequential logic device with double-triggered flip-flops and a method for specifically time-delayed triggering of such state-storing registers

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