1 Contents. Version of EnSilica Ltd, All Rights Reserved

Size: px
Start display at page:

Download "1 Contents. Version of EnSilica Ltd, All Rights Reserved"

Transcription

1

2 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface Resource requirements 4 4 Software Interface Register Map Interrupts 7 5 RSA Operation Introduction Cycle counts References 9 6 Revision History 10 Version of EnSilica Ltd, All Rights Reserved

3 2 Overview The core is an easy to use RSA accelerator peripheral for a 32-bit APB bus. ASIC or FPGA target Key sizes parameterable up to 4096 Performs all code necessary for modular exponentiation Supports short public keys Fully synchronous design APB configuration Verilog 2001 APB Clock APB Slave IRQ APB Registers RSA Engine Figure 1: Version of EnSilica Ltd, All Rights Reserved

4 3 Hardware Interface Module Name esi_rsa_apb HDL Verilog 2001 Technology Generic Source Files esi_rsa_apb.v, esi_rsa_apb_if.v, esi_rsa.v, esi_rsa_ram_sp.v, esi_rsa_ram_pdp.v, esi_pulse_scdc.v Parameter Range Default Description apb_address_width APB address bus width for key sizes apb_data_width APB data bus width key_size_max Maximum supported key size Table 1: Parameters APB Port Direction Width Description pclk Input 1 Clock presetn Input 1 Reset, active-low paddr Input 8 Address psel Input 1 Slave select penable Input 1 Enable pwrite Input 1 Write pwdata Input 32 Write data pclk_cactive Output 1 Clock active pready Output 1 Ready prdata Output 32 Read data pslverr Output 1 Slave error interrupt_n Output 1 Interrupt request, active-low Table 2: APB I/O Ports RSA Port Direction Width Description clk Input 1 RSA clock that can be externally gated reset_n Input 1 Reset, active-low clk_cactive Output 1 RSA clock active Table 3: RSA I/O Ports For complete details of the APB signals, please refer to the AMBA Protocol specifications available at Resource requirements The deliverable contains a RTL compiler script to synthesise the top level with ARM artisan memories. The following table gives some typical results for 200 MHz operation in TSMC90LP. key_size_max Logic area Memory area Total area Equivalent gates ,500 44,200 94,700 33, ,500 61, ,600 39, ,500 88, ,000 49,250 Variants using only single port register files or just registers are also supported. Version of EnSilica Ltd, All Rights Reserved

5 4 Software Interface 4.1 Register Map The software register map for the 1024 bit configuration is given below. For other configurations the address offset scales accordingly Register Address offset Access Description a_memory 0x000 R/W Residue memory b_memory 0x080 R/W Message memory d_memory 0x100 R/W Private key memory n_memory 0x180 R/W Modulus memory control 0x200 R/W Control register status 0x204 R/W Status register instruction 0x208 R/W Instruction register n0prime 0x20C R/W n0' register length 0x210 R/W Length register e 0x214 R/W Public key register Table 4: Register Map Control Register The control register contains the module and interrupt enable bits. The interrupt enable bit only affects the generation of the hardware interrupt, it does not affect the software interrupt status bit in the status register. Figure 2: Format of the control register 1 0 IE E Register Values Description E 0 - Disable Enable for RSA module. 1 - Enable IE 0 - Disable Interrupt 1 - Enable Interrupt Interrupt enable. Table 5: Fields of the control register Status Register The status register contains the interrupt status bit. To clear a bit in the status register, write a 1 to it. Writing a 0 will leave it unchanged. Figure 3: Format of the status register 0 IS Register Values Description IS 0 - Interrupt not set 1 - Interrupt set Interrupt status. This bit is set to 1 once all the micro-instructions in the control register have finished. It is set independent of the IE field to allow software polling instead of hardware interrupt generation. Write 1 to clear. Table 6: Fields of the status register Version of EnSilica Ltd, All Rights Reserved

6 4.1.3 Instruction Register The instruction register contains a selection of flags that control the operation of the module. A sequence of instructions can be performed by setting more than one flag in this register, and they will be executed strictly in the order from LSB to MSB. The register is autocleared when all instructions are complete OP12 OP11 OP10 OP9 RES OP7 OP6 OP5 OP4 OP3 OP2 OP1 OP0 Figure 4: Format of the instruction register Register Syntax Values Description OP0 MON B,A,B 0 - Disabled OP1 RED B,B,R 0 - Disabled OP2 RED A,1,R 0 - Disabled OP3 RED A,A,R 0 - Disabled OP4 MON A,A,B 0 - Disabled OP5 MON B,B,B 0 - Disabled OP6 EXP_PRI 0 - Disabled for to if then OP7 EXP_PUB 0 - Disabled for to if then RES Reserved Write as 0 OP9 MON B,1,A 0 - Disabled OP10 MON B,1,B 0 - Disabled OP11 MON A,1,A 0 - Disabled OP12 Reserved Write as 0 Table 7: Fields of the instruction register N0prime Register The n0prime register holds a constant required for Montgomery reduction 31 0 N0PRIME Figure 5: Format of the n0prime register The Montgomery multiplier requires an additional quantity,. This is the negative inverse of the least significant digit of n_memory modulo, i.e.. This is easily calculated in software Length Register The length register holds the array digit and bit sizes PRI_KEY_BITS PUB_KEY_BITS SIZE Figure 6: Format of the length register Version of EnSilica Ltd, All Rights Reserved

7 Register Values Description SIZE 0-32 The number of digits in the modulus n_memory. PUB_KEY_BITS 1-31 The number of bits in the public key register e. PRI_KEY_BITS 1-key_size_max The number of bits in the private key memory d_memory. Table 8: Fields of the length register Public Key Register The e register holds the public key E Figure 7: Format of the length register The public key is usually chosen to be very simple, for example is a common choice. In this IP the public key cannot be more than 32 bits long. 4.2 Interrupts The interrupt status bit IS is set when all instructions in the control field have executed to completion. The interrupt_n signal will be raised when the IS bit is set and the IE flag in the control register is set to 1. The IS bit is set independent of the IE flag setting. The IS bit and interrupt_n signal are both cleared by writing a 1 to the status register. Version of EnSilica Ltd, All Rights Reserved

8 5 RSA Operation 5.1 Introduction The RSA algorithm finds application in public key cryptography. This core accelerates one of the core functions required, that of modular exponentiation. The following equation is used to produce the ciphertext from a message using a public key and modulus The inverse operation recovers the message from the ciphertext using the private key. The modular exponentiation is broken down inside the hardware to a series of modular multiplications and these in-turn are performed by an efficient digit based algorithm called Montgomery multiplication. The modular exponentiation LSB method is defined as follows function ModExp(,, ) Input: -bit modulus in n_memory message in b_memory exponent with bits in d_memory or e Output: in b_memory Step 1. Step 2. Step 3. for to if then end if Step 4. end for return Where is defined as and, with digits of size,, and must be odd. The IP core is capable of carrying out a number of micro-instructions to perform the complete algorithm, and these are available individually so intermediate results can be stored, or they can be chained together to complete the calculation without intervention. For example the algorithm above can be completed in one step using the sequence of microinstructions intable 9; write 0x246 for private key or 0x286 for public key exponentiation to the instruction register. The cycle count is given for an 1024-bit RSA and public key Version of EnSilica Ltd, All Rights Reserved

9 Step Instruction OP Operation Cycles Initial Load message into 1 RED B,B,R OP RED A,1,R OP EXP_PRI OP6 for to or or if then EXP_PUB OP7 4 MON B,1,A OP Total Table 9: Performing a one-off modular exponentiation If the same modulus is to be reused for multiple messages the n-reduction in Step 1 is best performed in a different manner. This involves using the hardware instructions to pre-calculate and store, which can be re-used multiple times to quickly get the message n-residue with one iteration of MonPro. The precalculation can be performed by writing 0xC to the instruction register. You then read back the result from a_memory and store it in the processor memory. When you come to perform the modular exponentiation you now write back to a_memory in addition to writing the message into b_memory, and the new instruction to execute is now either 0x245 or 0x285 for private and public key respectively. Note that the a_memory is overwritten each time so will need to be re-loaded, hence the requirement for the processor to store it away. The cycle count is given for an 1024-bit RSA and public key The new sequence is given in Table 10. Step Instruction OP Operation Cycles Pre 1 RED A,1,R OP Pre 2 RED A,A,R OP Initial Load message into b_memory Load into a_memory 1 MON B,A,B OP RED A,1,R OP EXP_PRI OP6 for to or or if then EXP_PUB OP7 4 MON B,1,A OP Total Table 10: Performing multiple modular exponentiation with the same modulus 5.2 Cycle counts The cycle counts using the method described in Table 10 are given in Table 11. The public key is in these examples, and the private exponent has an equal number of 1's and 0's. RSA 1024 Public key RSA 1024 Private key 50,973 3,648,272 Table 11: Cycle count 5.3 References 1 PKCS#1 v2.1: RSA Cryptography Standard. RSA Laboratories. June 14, 2002 Table 12: References Version of EnSilica Ltd, All Rights Reserved

10 6 Revision History Revision Date Description /03/2012 Initial Release /01/2013 Corrected register map offsets for byte address Renamed from esi_apb_rsa to esi_rsa_apb Table 13: Revision History Version of EnSilica Ltd, All Rights Reserved

esi-multichannel Timer

esi-multichannel Timer 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface 5 4.1 Register Map 5 4.2 Interrupts 6 Version 2.2 - Confidential 2 of 6 2010 EnSilica Ltd, All Rights Reserved 2 Overview

More information

1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface Register Map Interrupts 6 5 Revision History 8

1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface Register Map Interrupts 6 5 Revision History 8 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface 5 4.1 Register Map 5 4.2 Interrupts 6 5 Revision History 8 Version 2.3.2 - Confidential 2 of 8 2011 EnSilica Ltd, All Rights

More information

1 Contents. Version of EnSilica Ltd, All Rights Reserved

1 Contents. Version of EnSilica Ltd, All Rights Reserved 56/SHA224 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 3.1 Area 4 4 Software Interface 5 4.1 Register Map 5 5 SHA256/SHA224 Operation 8 5.1 Introduction 8 5.2 Cycle counts 8 6 Revision History

More information

1 Contents. Version of EnSilica Ltd, All Rights Reserved

1 Contents. Version of EnSilica Ltd, All Rights Reserved 1 Contents esi-apb-aes 1 Contents 2 2 Overview 3 3 Hardware Interface 4 3.1 Area 5 4 Software Interface 6 4.1 Register Map 6 5 AES Operation 11 5.1 Introduction 11 5.2 DMA operation 12 5.3 CBC operation

More information

APB4 GPIO. APB4 GPIO Datasheet Roa Logic, All rights reserved

APB4 GPIO. APB4 GPIO Datasheet Roa Logic, All rights reserved 1 APB4 GPIO Datasheet 2 Introduction The APB4 GPIO Core is fully parameterised core designed to provide a userdefined number of general purpose, bidirectional IO to a design. The IO are accessible via

More information

Roa Logic. APB4 Multiplexer. Datasheet. October, c Roa Logic B.V.

Roa Logic. APB4 Multiplexer. Datasheet.   October, c Roa Logic B.V. Roa Logic Silicon Proven IP for FPGA and ASIC www.roalogic.com APB4 Multiplexer Datasheet http://roalogic.github.io/plic October, 2017 c Roa Logic B.V. Contents 1 Introduction 1 1.1 Features......................................

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Ron Dreslinski University of Michigan Lecture 5: Memory-mapped I/O review, APB, Mostly APB though J January 18 th 2018 1 Administra,ve Midterm Exam: Monday,

More information

A VHDL 8254 Timer core

A VHDL 8254 Timer core An www.opencores.org Project hlefevre@opencores.org Revision History Revision Date Author Description 0.1 3 Aug 2008 H LeFevre Initial Release of source files 0.5 4 Aug 2008 H LeFevre Add info about Timer

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Branden Ghena University of Michigan Lecture 4: Memory-Mapped I/O, Bus Architectures September 11, 2014 Slides developed in part by Mark Brehob & Prabal

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 5: Memory-mapped I/O review, APB, start interrupts. Mostly APB though Sept. 19 th 2018 1 Today Memory-mapped I/O

More information

CoreAHBtoAPB3 v3.1. Handbook

CoreAHBtoAPB3 v3.1. Handbook CoreAHBtoAPB3 v3.1 Handbook CoreAHBtoAPB3 v3.1 Handbook Table of Contents Introduction... 3 Core Overview... 3 Key Features... 3 Supported Microsemi FPGA Families... 3 Core Version... 4 Supported Interfaces...

More information

AvnetCore: Datasheet

AvnetCore: Datasheet AvnetCore: Datasheet CAN Controller with / FIFO Intended Use: Automotive Industry Engine Control Unit Sensors Version 1.0, July 2006 xcan_clk (>8 MHz) pclk reset_n APB Interrupts System Control APB Interface

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Ron Dreslinski University of Michigan Lecture 4: Bit of assembly, Memory-mapped I/O, APB January 16, 2018 1 Admin HW2 Due Thursday. HW1 answers posted as

More information

EECS 373 Midterm 2 Fall 2018

EECS 373 Midterm 2 Fall 2018 EECS 373 Midterm 2 Fall 2018 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Nor did I discuss this exam with anyone after

More information

EECS 373 Lab 3: Introduction to Memory Mapped I/O

EECS 373 Lab 3: Introduction to Memory Mapped I/O EECS 373 Lab 3: Introduction to Memory Mapped I/O In this lab we will learn: To develop custom peripheral hardware in the SmartFusion FPGA using the Libero CAD tools. The fundamentals of memory-mapped

More information

EECS 373 Midterm Winter 2013

EECS 373 Midterm Winter 2013 EECS 373 Midterm Winter 2013 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: # Page Points 2 /15 3 /20 4 /12 5 /13

More information

CoreAPB3 v4.1. Handbook

CoreAPB3 v4.1. Handbook CoreAPB3 v4.1 Handbook CoreAPB3 v4.1 Handbook Table of Contents Introduction... 3 Core Overview... 3 Key Features... 5 Supported Microsemi FPGA Families... 5 Core Version... 5 Supported Interfaces... 5

More information

EECS 373 Midterm Winter 2016

EECS 373 Midterm Winter 2016 EECS 373 Midterm Winter 2016 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Nor did I discuss this exam with anyone after

More information

CoreGPIO v3.1. Handbook

CoreGPIO v3.1. Handbook CoreGPIO v3.1 Handbook Table of Contents Introduction...5 Core Overview... 5 Key Features... 5 Supported Families... 5 Core Version... 6 Supported Interfaces... 6 Device Utilization and Performance...

More information

APB Free ware, 2015 Fen Logic Ltd.

APB Free ware, 2015 Fen Logic Ltd. APB Free ware, 205 Fen Logic Ltd. The ARM APB interface is used by many IP providers. In this directory you will find various APB related code examples. The docs directory has a copy of the ARM APB AMBA

More information

Architectural design proposal for real time clock for wireless microcontroller unit

Architectural design proposal for real time clock for wireless microcontroller unit Architectural design proposal for real time clock for wireless microcontroller unit Muhammad Nor Azwan Mohd Alias 1, *, and Shaiful Nizam Mohyar 1 1 School of Microelectronic Engineering, University Malaysia

More information

EECS 373 Midterm Winter 2012

EECS 373 Midterm Winter 2012 EECS 373 Midterm Winter 2012 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Nor did I discuss this exam with anyone after

More information

CoreSPI v5.0. Handbook

CoreSPI v5.0. Handbook CoreSPI v5.0 Handbook Table of Contents Introduction... 5 Key Features... 5 Core Version... 6 Supported Interfaces... 6 Utilization and Performance... 6 1 - Design Description... 7 Verilog/VHDL Parameters...

More information

International Journal of Applied Sciences, Engineering and Management ISSN , Vol. 05, No. 02, March 2016, pp

International Journal of Applied Sciences, Engineering and Management ISSN , Vol. 05, No. 02, March 2016, pp Design of High Speed AMBA APB Master Slave Burst Data Transfer for ARM Microcontroller Kottu Veeranna Babu 1, B. Naveen Kumar 2, B.V.Reddy 3 1 M.Tech Embedded Systems Student, Vikas College of Engineering

More information

1 Contents. Version of EnSilica Ltd, All Rights Reserved

1 Contents. Version of EnSilica Ltd, All Rights Reserved 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface 5 4.1 Register Map 5 4.2 FIFO Data Format 6 4.3 Interrupts 7 5 Revision History 8 Version 2.6.8 2 of 8 2012 EnSilica Ltd,

More information

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week?

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week? Announcements EECS 373 Homework #2 Where was I last week? Design of Microprocessor-Based Systems VLCS 14 MobiCom 14 HotWireless 14 Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses

More information

Peripheral Test Block

Peripheral Test Block Peripheral Test Block Revision: r0p0 Technical Reference Manual Copyright 2005 ARM Limited. All rights reserved. ARM DDI 0364A Peripheral Test Block Technical Reference Manual Copyright 2005 ARM Limited.

More information

EECS 373 Midterm 2 Exam Winter 2018

EECS 373 Midterm 2 Exam Winter 2018 EECS 373 Midterm 2 Exam Winter 2018 Name: SOLUTION unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem # Points 1 /15

More information

A VHDL UART core

A VHDL UART core An www.opencores.org Project hlefevre@opencores.org Revision History Revision Date Author Description 0.1 18 Feb 2006 H LeFevre Release of TX and RX modules 0.2 25 Feb 2006 H LeFevre Fist Alpha release

More information

Core8051s v2.4 Handbook

Core8051s v2.4 Handbook Core8051s v2.4 Handbook Actel Corporation, Mountain View, CA 94043 2010 Actel Corporation. All rights reserved. Printed in the United States of America Part Number: 50200084-2 Release: September 2010 No

More information

EECS 373 Fall 2018 Homework #3

EECS 373 Fall 2018 Homework #3 EECS 373 Fall 2018 Homework #3 Answers 1) Loaders, Linkers and Executables a) In straightforward English, explain the role of a linker. [7 points] A linker receives object files as input and must emit

More information

CoreSPI v3.0. Handbook

CoreSPI v3.0. Handbook CoreSPI v3.0 Handbook Actel Corporation, Mountain View, CA 94043 2008 Actel Corporation. All rights reserved. Printed in the United States of America Part Number: 51700089-1 Release: January 2008 No part

More information

CANmodule-IIx. Version 2.7.0

CANmodule-IIx. Version 2.7.0 Datasheet CANmodule-IIx Version 2.7.0 INICORE INC. 5600 Mowry School Road Suite 180 Newark, CA 94560 t: 510 445 1529 f: 510 656 0995 e: info@inicore.com www.inicore.com C O P Y R I G H T 2 0 0 2-2 0 0

More information

CANmodule-III. Version Datasheet

CANmodule-III. Version Datasheet Datasheet CANmodule-III Version 2.2.5 INICORE INC. 5600 Mowry School Road Suite 180 Newark, CA 94560 t: 510 445 1529 f: 510 656 0995 e: info@inicore.com www.inicore.com 2 0 0 2-2 0 0 5, I N I C O R E,

More information

A User s Experience with SystemVerilog

A User s Experience with SystemVerilog A User s Experience with SystemVerilog and Doulos Ltd Ringwood, U.K. BH24 1AW jonathan.bromley@doulos.com michael.smith@doulos.com 2 Objectives Practical use of SystemVerilog Synopsys tools (VCS, Design

More information

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE Akhilesh Kumar and Richa Sinha Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India ABSTRACT Today in the era of modern technology

More information

CoreMDIO_APB v2.0. Handbook

CoreMDIO_APB v2.0. Handbook CoreMDIO_APB v2.0 Handbook Revision History Date Revision Change August 2015 1 Initial release Confidentiality Status This is a non-confidential document. 2 CoreMDIO_APB v2.0 Handbook Table of Contents

More information

ADPCM-HCO Voice Compression Logic Core

ADPCM-HCO Voice Compression Logic Core ADPCM-HCO Voice Compression Logic Core Functional Description The ADPCM-HCO logic core [Adaptive Differential Pulse Code Modulation-High Channel count Optimized] is a peripheral for digital voice compression

More information

ADPCM-LCO Voice Compression Logic Core

ADPCM-LCO Voice Compression Logic Core ADPCM-LCO Voice Compression Logic Core Functional Description The ADPCM-LCO logic core [Adaptive Differential Pulse Code Modulation-Low Channel count Optimized] is a peripheral for digital voice compression/de-compression

More information

Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA

Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA Iqbalur Rahman Rokon, Toufiq Rahman, and Ahsanuzzaman Abstract - In this paper, the design of AMBA processor interface and its

More information

System Design Kit. Cortex-M. Technical Reference Manual. Revision: r0p0. Copyright 2011 ARM. All rights reserved. ARM DDI 0479B (ID070811)

System Design Kit. Cortex-M. Technical Reference Manual. Revision: r0p0. Copyright 2011 ARM. All rights reserved. ARM DDI 0479B (ID070811) Cortex-M System Design Kit Revision: r0p0 Technical Reference Manual Copyright 2011 ARM. All rights reserved. ARM DDI 0479B () Cortex-M System Design Kit Technical Reference Manual Copyright 2011 ARM.

More information

EECS 373 Practice Midterm & Homework #2 Fall 2011

EECS 373 Practice Midterm & Homework #2 Fall 2011 Exam #: EECS 373 Practice Midterm & Homework #2 Fall 2011 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #

More information

Project 1a: Hello World!

Project 1a: Hello World! Project 1a: Hello World! 1. Download cse465.zip from the web page. Unzip this using 7-Zip (not the Windows Utility it doesn t unzip files starting with a period) to your h:\ drive or wherever your CEC

More information

EECS 373 Practice Midterm / Homework #3 Fall 2014

EECS 373 Practice Midterm / Homework #3 Fall 2014 Exam #: EECS 373 Practice Midterm / Homework #3 Fall 2014 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #

More information

Hardware RSA Accelerator. Group 3: Ariel Anders, Timur Balbekov, Neil Forrester

Hardware RSA Accelerator. Group 3: Ariel Anders, Timur Balbekov, Neil Forrester Hardware RSA Accelerator Group 3: Ariel Anders, Timur Balbekov, Neil Forrester May 15, 2013 Contents 1 Background 1 1.1 RSA Algorithm.......................... 1 1.1.1 Definition of Variables for the RSA

More information

VLSI. Institute for Applied Information Processing and Communications VLSI Group. VLSI Design. KU Sommersemester 2007 RSA-2048 Implementation

VLSI. Institute for Applied Information Processing and Communications VLSI Group. VLSI Design. KU Sommersemester 2007 RSA-2048 Implementation VLSI Design KU Sommersemester 2007 RSA-2048 Implementation 1 Motivation RSA: asymmetric cryptography Signature generation Based on modular exponentiation Integer factorization as underlying hard problem

More information

CANmodule-IIIx. Version Datasheet

CANmodule-IIIx. Version Datasheet Datasheet CANmodule-IIIx Version 3.0.0 INICORE INC. 5600 Mowry School Road Suite 180 Newark, CA 94560 t: 510 445 1529 f: 510 656 0995 e: info@inicore.com www.inicore.com C O P Y R I G H T 2 0 0 2-2 0 1

More information

EECS 373 Midterm Winter 2017

EECS 373 Midterm Winter 2017 EECS 373 Midterm Winter 2017 Name: unique name: Sign the following honor code pledge. I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem Points 1 /12

More information

SpaceWire - Time Distribution Protocol VHDL IP Core User s Manual

SpaceWire - Time Distribution Protocol VHDL IP Core User s Manual GAISLER SpaceWire - Time Distribution Protocol VHDL IP Core User s Manual July 2014 Version 1.1 Copyright Aeroflex Gaisler 2014 AEROFLEX GAISLER 2 SPWCUC-REP-0005 Table of contents 1 Introduction... 3

More information

Section III. Transport and Communication

Section III. Transport and Communication Section III. Transport and Communication This section describes communication and transport peripherals provided for SOPC Builder systems. This section includes the following chapters: Chapter 16, SPI

More information

TSEA44 - Design for FPGAs

TSEA44 - Design for FPGAs 2015-11-24 Now for something else... Adapting designs to FPGAs Why? Clock frequency Area Power Target FPGA architecture: Xilinx FPGAs with 4 input LUTs (such as Virtex-II) Determining the maximum frequency

More information

Digital Blocks Semiconductor IP

Digital Blocks Semiconductor IP Digital Blocks Semiconductor IP TFT Controller General Description The Digital Blocks TFT Controller IP Core interfaces a microprocessor and frame buffer memory via the AMBA 2.0 to a TFT panel. In an FPGA,

More information

Designing the Future with Efficiency

Designing the Future with Efficiency Designing the Future with Efficiency Guidance to Adopting SystemVerilog for Design! Axel Scherer, Cadence Design Systems, Chelmsford, MA, USA (axels@cadence.com) Junette Tan, PMC Sierra, Burnaby, BC, Canada

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Branden Ghena University of Michigan Today Memory-Mapped I/O Example Bus with Memory-Mapped I/O Bus Architectures AMBA APB Lecture 4: Memory-Mapped I/O,

More information

AHB2APB Bridge. User Guide. 11/2013 Capital Microelectronics, Inc. China

AHB2APB Bridge. User Guide. 11/2013 Capital Microelectronics, Inc. China AHB2APB Bridge User Guide 11/2013 Capital Microelectronics, Inc. China Contents Contents... 2 1 Introduction... 3 2 AHB2APB Bridge Overview... 4 2.1 Pin Description... 4 2.2 Parameter Description... 4

More information

FPGA Implementation of A Pipelined MIPS Soft Core Processor

FPGA Implementation of A Pipelined MIPS Soft Core Processor FPGA Implementation of A Pipelined MIPS Soft Core Processor Lakshmi S.S 1, Chandrasekhar N.S 2 P.G. Student, Department of Electronics and Communication Engineering, DBIT, Bangalore, India 1 Assistant

More information

EECS 373, Homework 4, Fall 2018 Assigned: Wednesday 10/3; Due: Wednesday 10/10 at 10pm

EECS 373, Homework 4, Fall 2018 Assigned: Wednesday 10/3; Due: Wednesday 10/10 at 10pm EECS 373, Homework 4, Fall 2018 Assigned: Wednesday 10/3; Due: Wednesday 10/10 at 10pm 1. Read https://blog.feabhas.com/2013/01/weak-linkage-in-c-programming/ [4 points] a. Define the term weak linkage.

More information

Core1588 v2.0. Handbook

Core1588 v2.0. Handbook Core1588 v2.0 Handbook Table of Contents Introduction... 5 Core1588 Overview... 5 Key Features... 6 Core Version... 6 Supported Device Families... 6 Supported Interfaces... 6 Design Description... 9 Design

More information

Generic Serial Flash Interface Intel FPGA IP Core User Guide

Generic Serial Flash Interface Intel FPGA IP Core User Guide Generic Serial Flash Interface Intel FPGA IP Core User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Generic

More information

VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE

VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE Aparna Kharade 1 and V. Jayashree 2 1 Research Scholar, Electronics Dept., D.K.T.E. Society's Textile and Engineering Institute, Ichalkaranji, Maharashtra, India.

More information

Universität Dortmund. ARM Cortex-M3 Buses

Universität Dortmund. ARM Cortex-M3 Buses ARM Cortex-M3 Buses Modulo 2 No change in class organization Thursday aftenoon (17-19) Lectures (Rossi) Aprile Giugno (Mod 2) room 1.3 Friday afternoon (14-18) (Benatti): LAB2 Content natural prosecution

More information

Cortex -M System Design Kit. Arm. Technical Reference Manual. Revision: r1p1

Cortex -M System Design Kit. Arm. Technical Reference Manual. Revision: r1p1 Arm Cortex -M System Design Kit Revision: r1p1 Technical Reference Manual Copyright 2011, 2013, 2017 Arm Limited (or its affiliates). All rights reserved. ARM DDI 0479D () Arm Cortex-M System Design Kit

More information

SoC Interconnect Bus Structures

SoC Interconnect Bus Structures SoC Interconnect Bus Structures COE838: Systems on Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Cryptographic Algorithm Using a Multi- Board FPGA Architecture

Cryptographic Algorithm Using a Multi- Board FPGA Architecture Nios II Embedded Processor Design Contest Outstanding Designs 2005 First Prize Cryptographic Algorithm Using a Multi- Board FPGA Architecture Institution: Participants: Instructor: Indian Institute of

More information

Memory-Mapped SHA-1 Coprocessor

Memory-Mapped SHA-1 Coprocessor 19-5870; Rev 0; 5/11 Memory-Mapped SHA-1 Coprocessor General Description The coprocessor with 64-byte RAM is a synthesizable register transfer level (RTL) implementation of the FIPS 180-3 Secure Hash Algorithm

More information

CME AHB2APB Bridge Design Example

CME AHB2APB Bridge Design Example CME AHB2APB Bridge Design Example User Guide 11/2013 Capital Microelectronics, Inc. China Contents Contents... 2 1 Introduction... 3 2 System Level Structure... 4 3 Example Result... 9 4 Pin and Design

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

More information

Scalable Montgomery Multiplication Algorithm

Scalable Montgomery Multiplication Algorithm 1 Scalable Montgomery Multiplication Algorithm Brock J. Prince Department of Electrical & Computer Engineering, Oregon State University, Corvallis, Oregon 97331 E-mail: princebr@engr.orst.edu May 29, 2002

More information

FPGA design with National Instuments

FPGA design with National Instuments FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software

More information

ECC1 Core. Elliptic Curve Point Multiply and Verify Core. General Description. Key Features. Applications. Symbol

ECC1 Core. Elliptic Curve Point Multiply and Verify Core. General Description. Key Features. Applications. Symbol General Description Key Features Elliptic Curve Cryptography (ECC) is a public-key cryptographic technology that uses the mathematics of so called elliptic curves and it is a part of the Suite B of cryptographic

More information

AMBA Keyboard/Mouse PS/2 Interface

AMBA Keyboard/Mouse PS/2 Interface AMBA Keyboard/Mouse PS/2 Interface Datasheet Copyright 1996-1998 ARM Limited. All rights reserved. ARM DDI 0096B AMBA Keyboard/Mouse PS/2 Interface Datasheet Copyright 1996-1998 ARM Limited. All rights

More information

(ARM&Standard&Parallel&Bus) Introduction

(ARM&Standard&Parallel&Bus) Introduction ARM AMBA&Bus (ARM&Standard&Parallel&Bus) 1 Introduction Advanced*Microcontroller*Bus*Architecture*(AMBA) an*open*standard,*on:chip*bus*specification*by*arm describes*a*strategy*for*the*interconnection*and*management*of*

More information

Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design

Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design DANIEL BENGTSSON RICHARD FÅNG Chalmers University of Technology University

More information

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,

More information

Laboratory Exercise 5

Laboratory Exercise 5 Laboratory Exercise 5 Bus Communication The purpose of this exercise is to learn how to communicate using a bus. In the designs generated by using Altera s SOPC Builder, the Nios II processor connects

More information

11 Chrom-Art Accelerator controller (DMA2D)

11 Chrom-Art Accelerator controller (DMA2D) RM0090 Chrom-Art Accelerator controller (DMA2D) 11 Chrom-Art Accelerator controller (DMA2D) 11.1 DMA2D introduction The Chrom-Art Accelerator (DMA2D) is a specialized DMA dedicated to image manipulation.

More information

! Addition! Multiplication! Bigger Example - RSA cryptography

! Addition! Multiplication! Bigger Example - RSA cryptography ! Addition! Multiplication! Bigger Example - RSA cryptography Modular Arithmetic Modular Exponentiation Primality Testing (Fermat s little theorem) Probabilistic algorithm Euclid s Algorithm for gcd (greatest

More information

Intel FPGA Voltage Sensor IP Core User Guide

Intel FPGA Voltage Sensor IP Core User Guide Intel FPGA Voltage Sensor IP Core User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel FPGA Voltage Sensor

More information

Adding Custom Peripherals to the AMBA Host and Peripheral Buses

Adding Custom Peripherals to the AMBA Host and Peripheral Buses Application Note AC301 Adding Custom Peripherals to the AMBA Host and Peripheral Buses Introduction The Actel CoreMP7 microprocessor is a soft-core implementation of the industry-standard ARM7TDMI-S and

More information

White Paper AHB to Avalon & Avalon to AHB Bridges

White Paper AHB to Avalon & Avalon to AHB Bridges White Paper AHB to & to AHB s Introduction For years, system designers have been manually connecting IP peripheral functions to embedded processors, taking anywhere from weeks to months to accomplish.

More information

Ref: AMBA Specification Rev. 2.0

Ref: AMBA Specification Rev. 2.0 AMBA Ref: AMBA Specification Rev. 2.0 1 Outline Overview AHB APB Test methodology SoC Design Lab Shao-Yi Chien 2 Outline Overview AHB APB Test methodology SoC Design Lab Shao-Yi Chien 3 BUS Brief In a

More information

FPGA Can be Implemented Using Advanced Encryption Standard Algorithm

FPGA Can be Implemented Using Advanced Encryption Standard Algorithm FPGA Can be Implemented Using Advanced Encryption Standard Algorithm Shahin Shafei Young Researchers and Elite Club, Mahabad Branch, Islamic Azad University, Mahabad, Iran Email:Shahin_shafei@yahoo.com

More information

Functional Verification of xhci (extensible host controller Interface) for USB 3.1 Using HDL

Functional Verification of xhci (extensible host controller Interface) for USB 3.1 Using HDL Functional Verification of xhci (extensible host controller Interface) for USB 3.1 Using HDL 1 Mr. Dipesh Gehani, 2 Prof. Ketan N. Patel, M.E. Student, Assistant Professor Vishwakarma Government Engineering

More information

High Speed Systolic Montgomery Modular Multipliers for RSA Cryptosystems

High Speed Systolic Montgomery Modular Multipliers for RSA Cryptosystems High Speed Systolic Montgomery Modular Multipliers for RSA Cryptosystems RAVI KUMAR SATZODA, CHIP-HONG CHANG and CHING-CHUEN JONG Centre for High Performance Embedded Systems Nanyang Technological University

More information

08 - Address Generator Unit (AGU)

08 - Address Generator Unit (AGU) October 2, 2014 Todays lecture Memory subsystem Address Generator Unit (AGU) Schedule change A new lecture has been entered into the schedule (to compensate for the lost lecture last week) Memory subsystem

More information

ASIC Logic. Speaker: Juin-Nan Liu. Adopted from National Chiao-Tung University IP Core Design

ASIC Logic. Speaker: Juin-Nan Liu. Adopted from National Chiao-Tung University IP Core Design ASIC Logic Speaker: Juin-Nan Liu Adopted from National Chiao-Tung University IP Core Design Goal of This Lab Prototyping Familiarize with ARM Logic Module (LM) Know how to program LM Outline Introduction

More information

GPIO IP Core Specification

GPIO IP Core Specification GPIO IP Core Specification Author: Damjan Lampret lampret@opencores.org Rev. 0.2 February 20, 2001 Preliminary Draft www.opencores.org Rev 0.2 Preliminary 1 of 18 Revision History Rev. Date Author Description

More information

An SPI interface for the 65(C)02 family of microprocessors

An SPI interface for the 65(C)02 family of microprocessors Rev 4/B Dec 30, 2011 65SPI/B An SPI interface for the 65(C)02 family of microprocessors This device was created to provide a basic SPI interface for the 65xx family of microprocessors. Currently, the only

More information

SD Card Controller IP Specification

SD Card Controller IP Specification SD Card Controller IP Specification Marek Czerski Friday 30 th August, 2013 1 List of Figures 1 SoC with SD Card IP core................................ 4 2 Wishbone SD Card Controller IP Core interface....................

More information

ARM ARCHITECTURE. Contents at a glance:

ARM ARCHITECTURE. Contents at a glance: UNIT-III ARM ARCHITECTURE Contents at a glance: RISC Design Philosophy ARM Design Philosophy Registers Current Program Status Register(CPSR) Instruction Pipeline Interrupts and Vector Table Architecture

More information

APB Bridge Based on AMBA 4.0

APB Bridge Based on AMBA 4.0 APB Bridge Based on AMBA 4.0 G Prathibha Department of ECE Sree Buddha College of Engineering, Pattoor Pandalam, Kerala Ambika Sekhar Department of ECE Sree Buddha College of Engineering, Pattoor Pandalam,

More information

The CoreConnect Bus Architecture

The CoreConnect Bus Architecture The CoreConnect Bus Architecture Recent advances in silicon densities now allow for the integration of numerous functions onto a single silicon chip. With this increased density, peripherals formerly attached

More information

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.

More information

New Integer-FFT Multiplication Architectures and Implementations for Accelerating Fully Homomorphic Encryption

New Integer-FFT Multiplication Architectures and Implementations for Accelerating Fully Homomorphic Encryption New Integer-FFT Multiplication Architectures and Implementations for Accelerating Fully Homomorphic Encryption Xiaolin Cao, Ciara Moore CSIT, ECIT, Queen s University Belfast, Belfast, Northern Ireland,

More information

In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.

In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified. 1 In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified. I will also introduce the idea of a testbench as part of a design specification.

More information

- 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT

- 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT - 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT With the capacity of communications channels increasing at the current

More information

218 SystemVerilog Assertions Handbook, 4th Edition

218 SystemVerilog Assertions Handbook, 4th Edition 218 SystemVerilog Assertions Handbook, 4th Edition Synchronous FIFO to be used as an IP. FIFO management (e.g., push, pop, error handling) is external to the FIFO. SystemVerilog Assertions in the Design

More information

DDR & DDR2 SDRAM Controller Compiler

DDR & DDR2 SDRAM Controller Compiler DDR & DDR2 SDRAM Controller Compiler march 2007, Compiler Version 7.0 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version 7.0.

More information

Graduate Institute of Electronics Engineering, NTU. ASIC Logic. Speaker: Lung-Hao Chang 張龍豪 Advisor: Prof. Andy Wu 吳安宇教授.

Graduate Institute of Electronics Engineering, NTU. ASIC Logic. Speaker: Lung-Hao Chang 張龍豪 Advisor: Prof. Andy Wu 吳安宇教授. ASIC Logic Speaker: Lung-Hao Chang 張龍豪 Advisor: Prof. Andy Wu 吳安宇教授 May 21, 2003 PP. 2 Prototyping Goal of This Lab Familiarize with ARM Logic Module (LM) Know how to program LM PP. 3 Introduction ARM

More information