12.07.2015 Views

Ultra-Low-Power Digital Circuit Design - Microelectronic Systems ...

Ultra-Low-Power Digital Circuit Design - Microelectronic Systems ...

Ultra-Low-Power Digital Circuit Design - Microelectronic Systems ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 3.ELLIPTIC CURVE CRYPTOGRAPHIC PROCESSORFigure 3.1: Basic architecture of the ECC coreThe processor's register le consists of six registers with 163 bits each, named with theletters A through F. Each register has an enable signal which has to be asserted by thestate machine if a dierent value is to be loaded into the register. A global reset signal(one of the inputs to the processor) can be used to initially set all registers to zero. Aglobal clock signal clocks the ip-ops in the register le and in the counter.To start a new operation, the system is reset and then the start signal is asserted. Thestart signal causes the FSM to leave the default state and progress through a number ofstates, rst loading the input data, then calculating the sum of the two input points, andthen the double of one of them.The rst two registers are equipped with multiplexers that are controlled from the FSM.Register A has the most diverse functionality. It can load the output of the ALU, thedata_in input, the output of register B, or one of three predened values.Register B can take either the output of register A or a left-shifted copy of its own value.This allows cyclic shifting of values in register B, used for feeding the operand to the ALUin a bit-serial fashion.The remaining registers C to F serve to store intermediate results. They each take theoutput of the previous register.3.4.1 ALUThe nite eld multiplier is implemented as a bit-serial unit. One of the operands is storedin register B and its MSB is an input to the ALU. During multiplication, register B isleft-shifted at each clock cycle; thus the operand is entered into the ALU bit-serially.The value of the current bit position of B is multiplied with the other operand (registerC) by an array of 163 AND gates. In each cycle, this partial product is added to therunning sum (register A) using an array of 162 XOR gates. If the result has a `1' at the20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!