SlideShare a Scribd company logo
1 of 30
Title: A 32-Bit Parameterized Leon-3 Processor
with Custom Peripheral Integration
TALAL KHALIQ
MSEE-7 (DSSP)
SUPERVISOR: DR. AWAIS M. KAMBOH
1
Motivation
 General Purpose Processors are designed to handle every day tasks.
They are not designed to perform a special tasks which include:
 Floating Point Operation (FPU)
 DSP Algorithms (FFT, DCT etc)
 Video Processing
 Encryption / Decryption
 For this purpose, separate hardware was added to perform these tasks
but they had major drawback: POWER
2
Motivation
 Introduction of System-on-Chip Architectures led to:
 Standard Bus Architectures
 High Performance
 Low Power Consumption
 Coprocessors (Hardware Accelerators) could be added to the
processor for this task
3
Motivation (Example)
 General Purpose tasks
 Most common applications
 Serial data processing
 Specialized tasks (e.g.
graphics, video)
 Most visual applications
 Parallel data processing
 General purpose,
programmable scalar and
vector cores
 High-speed bus architecture
 Low latency memory model
4
Motivation (Example)
5
ARM ML Processor:
 Is optimized for machine learning algorithms
 Has dditional programmable layer engines support the
execution of non-convolution layers
 Has Onboard memory which allows central storage for weights
and feature maps, thus reducing traffic to the external memory
and therefore, power.
Problem Statement
Most of the coprocessor designs that we have studied concentrate only on the
coprocessor architecture and do not incorporate design decisions for
interfacing it in an SoC environment.
Nowadays many powerful public domain IP cores are available for complicated
component like 32 bit processor i.e. LEON3.
It needs some expertise, work and experimentation to implement a
hardware/software co-design project.
We take an effort to present step-by-step description for implementing desired
coprocessor or peripheral on LEON3 processor.
6
Selection of 8 bit Processor (8051 uC)
An Open Source IP Core for 8051 Microcontroller written in VHDL from Oregano
Systems was chosen. Its main features due to which it was chosen are as under:
Instruction set compatible to the industry standard 8051 microcontroller
Active timer/counter and serial interface units selectable via additional special
function register
Parameterizeable via VHDL constants
256 bytes internal RAM
Up to 64 Kbytes ROM and up to 64 Kbytes External RAM
Source code freely available
7
Synthesis on FPGA (8051 uC)
Top module for 8051 was written in VHDL which used:
8051 Core
Memory Cores using Core Generator:
128 x 8 RAM
64k x 8 ROM
64k x 8 External RAM
PLL Core (100MHz board clock to 11.675MHz)
8
Schematic (8051 uC)
9
Adding Peripherals (8051 uC)
 Original design uses 74 I/Os with:
 2x Timers
 1x Serial Port
 2x External Interrupt Units
 Modified peripherals (82 I/Os)
 4x Timers
 2x Serial Port
 3x External Interrupt Units
10
Schematic (Modified)
11
32-bit Processor: Leon3 Introduction
 Leon 3 is 32 bit processor based on SPARC V8 Architecture
 Support for Multiprocessing Configurations
 7 Stage Pipeline
 Can achieve 125 MHz on FPGA and 400 MHz on 0.13um ASICs
 Optional high performance IEEE-754 Floating Point Unit
 Optional SPARC Reference Memory Management Unit
12
Leon3 Advantages
 Open Source in VHDL and netlist
 Multiprocessor Support
 Configuration through GRLIB
 Support for FPGAs and ASICs
 Uniform Method for Hardware & Software debug
 Hardware (excluding EDA Tools) & Software tools are downloadable
13
Leon3 SoC Architecture
14
GRLIB Configuration (Leon3)
15
What we want to achieve (Leon3)
 Custom Template (with File Hierarchy) for Simulation and Synthesis
 New peripherals to enhance the processor's capabilities, and to adapt them for
better performance in a given domain of applications
Create Custom IP
Add Interface or Wrapper
Co-Processor Extension
Create Software Application to use created IP
16
Peripheral Interface
There are two types of Interfaces:
 Memory-Mapped Interface
 Coprocessor Interface
17
APB Slave RTL
18
APB Slave Software Interface
19
Leon3 Processor
AMBA AHB BUS
Memory
Co-Processor
Wrapper
0x4000000 0x8000000
Int *MMRegister = (int*) 0x8000000; //Base Address of Co-Processor Wrapper
// write the value 0xFF into the register
*MMRegister = 0xFF;
// read the register
int value = *MMRegister;
AHB/
APB
Bridge
AMBA APB BUS
0x8000800
(N bit) Multiplier Shift-and-Add
20
Multiplier Peripheral Design
21
Multiplier Peripheral Software
22
 Base pointer for Multiplier
Peripheral is 0x80000800
For N=4,8 and 16
 Pointer at 0x80000800 is 32-bit
 Integer which takes 16-bit
multiplier and multiplicand
concatenated together to get
product value in 32-bit.
 Link between variables and
pointer values is shown above
For N=32
 Separate variables for
multiplier and multiplicand.
 Product is 64-bit which needs
to be declared as two integers
concatenated or double (in
embedded C) As shown below.
AHB Slave Interface
23
The Advanced High-Performance Bus (AHB) is part of the AMBA
hierarchy of buses and is intended for:
 High Performance Designs with multiple bus masters and
 High bandwidth operations
 High clock frequency operations
AHB Software Interface
24
Leon3 Processor
AMBA AHB BUS
PROM
Memory
Co-Processor
Wrapper
0x4000000 0xFF00000
Int *MMRegister = (int*) 0xFF00000; //Base Address of Co-Processor Wrapper
// write the value 0xFF into the register
*MMRegister = 0xFF;
// read the register
int value = *MMRegister;
AES-128 Pipelined Cipher
25
 AES-128 pipelined cipher core which is downloaded as open source
project from OpenCores, uses AES algorithm which is a symmetric
block cipher to encrypt information.
 It takes 128-bit Plain text and Key Data (symmetric block cipher) and
outputs 128-bit ciphered data.
 This core is designed in Verilog and needs to be packaged in VHDL to
interface it with AMBA bus and Leon Processor.
AES-128 Hardware Interface
26
AES-128 Software Pointers
27
 In software, the representation of a 128-register is used using 32-bit (Integer)
pointer.
 The base address of this pointer is determined by Slave bus index of the AES
Wrapper i.e. bus index for Slave (HINDEX=8) will be 0xFF000000 with 1-
Mbytes memory and Address (HADDR) at 16FF0.
 We use 4 32-bit Write and Read Registers. For Key and Plain Text values,
HADDR(6:2) is decoded at '0000' as '0' and '1' respectively.
AES-128 Software Verification
28
 Key Data:
 Register 0: [00000000]
 Register 1: [00000000]
 Register 2: [00000000]
 Register 3: [00000000]
 Plain Text:
 Register 0: [F34481EC]
 Register 1: [3CC627BA]
 Register 2: [CD5DC3FB]
 Register 3: [08F273E6]
Timeline
Custom Template (with File Hierarchy) for Simulation and Synthesis March 2018
Create Custom IP June 2018
Add Interface or Wrapper August 2018
Co-Processor Extension and Software Application Sep 2018
AES Integration Oct 2018
29
THANK YOU
30

More Related Content

What's hot

Z 80 processors (History-Products)
Z 80 processors (History-Products)Z 80 processors (History-Products)
Z 80 processors (History-Products)Mohammed Hilal
 
Embedded System Programming on ARM Cortex M3 and M4 Course
Embedded System Programming on ARM Cortex M3 and M4 CourseEmbedded System Programming on ARM Cortex M3 and M4 Course
Embedded System Programming on ARM Cortex M3 and M4 CourseFastBit Embedded Brain Academy
 
The Intel 8086 microprocessor
The Intel 8086 microprocessorThe Intel 8086 microprocessor
The Intel 8086 microprocessorGeorge Thomas
 
Programming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery Board
Programming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery BoardProgramming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery Board
Programming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery BoardGaurav Verma
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 ArchitectureChangWoo Min
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64Yi-Hsiu Hsu
 
SAI Design and Verification Specs
SAI Design and Verification SpecsSAI Design and Verification Specs
SAI Design and Verification SpecsMostafa Khamis
 
Chp6 assembly language programming for pic copy
Chp6 assembly language programming for pic   copyChp6 assembly language programming for pic   copy
Chp6 assembly language programming for pic copymkazree
 
Introduction of 8086 micro processor .
Introduction of 8086 micro processor .Introduction of 8086 micro processor .
Introduction of 8086 micro processor .Siraj Ahmed
 

What's hot (19)

Z 80 processors (History-Products)
Z 80 processors (History-Products)Z 80 processors (History-Products)
Z 80 processors (History-Products)
 
Al2ed chapter3
Al2ed chapter3Al2ed chapter3
Al2ed chapter3
 
Embedded System Programming on ARM Cortex M3 and M4 Course
Embedded System Programming on ARM Cortex M3 and M4 CourseEmbedded System Programming on ARM Cortex M3 and M4 Course
Embedded System Programming on ARM Cortex M3 and M4 Course
 
Lecture9
Lecture9Lecture9
Lecture9
 
Pentium
PentiumPentium
Pentium
 
The Intel 8086 microprocessor
The Intel 8086 microprocessorThe Intel 8086 microprocessor
The Intel 8086 microprocessor
 
microprocessor
 microprocessor microprocessor
microprocessor
 
Intel 80486 Microprocessor
Intel 80486 MicroprocessorIntel 80486 Microprocessor
Intel 80486 Microprocessor
 
מצגת פרויקט
מצגת פרויקטמצגת פרויקט
מצגת פרויקט
 
Programming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery Board
Programming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery BoardProgramming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery Board
Programming the ARM CORTEX M3 based STM32F100RBT6 Value Line Discovery Board
 
Architecture of pentium family
Architecture of pentium familyArchitecture of pentium family
Architecture of pentium family
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
 
X86 Architecture
X86 Architecture X86 Architecture
X86 Architecture
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 
SAI Design and Verification Specs
SAI Design and Verification SpecsSAI Design and Verification Specs
SAI Design and Verification Specs
 
Chp6 assembly language programming for pic copy
Chp6 assembly language programming for pic   copyChp6 assembly language programming for pic   copy
Chp6 assembly language programming for pic copy
 
Introduction of 8086 micro processor .
Introduction of 8086 micro processor .Introduction of 8086 micro processor .
Introduction of 8086 micro processor .
 
It322 intro 1
It322 intro 1It322 intro 1
It322 intro 1
 
8086 Microprocessor
8086 Microprocessor8086 Microprocessor
8086 Microprocessor
 

Similar to A 32-Bit Parameterized Leon-3 Processor with Custom Peripheral Integration

Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)
Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)
Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)Talal Khaliq
 
Introduction to microprocessor
Introduction to microprocessorIntroduction to microprocessor
Introduction to microprocessorRamaPrabha24
 
15CS44 MP & MC Module 1
15CS44 MP & MC Module 115CS44 MP & MC Module 1
15CS44 MP & MC Module 1RLJIT
 
Assembly programming
Assembly programmingAssembly programming
Assembly programmingOmar Sanchez
 
Overview of ST7 8-bit Microcontrollers
Overview of ST7 8-bit MicrocontrollersOverview of ST7 8-bit Microcontrollers
Overview of ST7 8-bit MicrocontrollersPremier Farnell
 
embedded system and microcontroller
 embedded system and microcontroller embedded system and microcontroller
embedded system and microcontrollerSHILPA Sillobhargav
 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLinaro
 
Microprocessor (1)
Microprocessor (1)Microprocessor (1)
Microprocessor (1)Muhd Azlan
 
arm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.pptarm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.pptmanikandan970975
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architectureZakaria Gomaa
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL Amr Rashed
 
Introduction to-microprocessors
Introduction to-microprocessorsIntroduction to-microprocessors
Introduction to-microprocessorsVolodymyr Ushenko
 
VJITSk 6713 user manual
VJITSk 6713 user manualVJITSk 6713 user manual
VJITSk 6713 user manualkot seelam
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler ProgrammingOmar Sanchez
 

Similar to A 32-Bit Parameterized Leon-3 Processor with Custom Peripheral Integration (20)

Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)
Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)
Design of 32 Bit Processor Using 8051 and Leon3 (Progress Report)
 
The Cell Processor
The Cell ProcessorThe Cell Processor
The Cell Processor
 
8051 presentation
8051 presentation8051 presentation
8051 presentation
 
Introduction to microprocessor
Introduction to microprocessorIntroduction to microprocessor
Introduction to microprocessor
 
15CS44 MP & MC Module 1
15CS44 MP & MC Module 115CS44 MP & MC Module 1
15CS44 MP & MC Module 1
 
Assembly programming
Assembly programmingAssembly programming
Assembly programming
 
Overview of ST7 8-bit Microcontrollers
Overview of ST7 8-bit MicrocontrollersOverview of ST7 8-bit Microcontrollers
Overview of ST7 8-bit Microcontrollers
 
embedded system and microcontroller
 embedded system and microcontroller embedded system and microcontroller
embedded system and microcontroller
 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 Plenary
 
Microprocessor (1)
Microprocessor (1)Microprocessor (1)
Microprocessor (1)
 
arm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.pptarm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.ppt
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
 
AT89 S52
AT89 S52AT89 S52
AT89 S52
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
 
Introduction to-microprocessors
Introduction to-microprocessorsIntroduction to-microprocessors
Introduction to-microprocessors
 
Smart logic
Smart logicSmart logic
Smart logic
 
VJITSk 6713 user manual
VJITSk 6713 user manualVJITSk 6713 user manual
VJITSk 6713 user manual
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler Programming
 
MICROCONTROLLER 8051
MICROCONTROLLER 8051MICROCONTROLLER 8051
MICROCONTROLLER 8051
 
assignment 1-MC.pdf
assignment 1-MC.pdfassignment 1-MC.pdf
assignment 1-MC.pdf
 

Recently uploaded

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 

Recently uploaded (20)

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 

A 32-Bit Parameterized Leon-3 Processor with Custom Peripheral Integration

  • 1. Title: A 32-Bit Parameterized Leon-3 Processor with Custom Peripheral Integration TALAL KHALIQ MSEE-7 (DSSP) SUPERVISOR: DR. AWAIS M. KAMBOH 1
  • 2. Motivation  General Purpose Processors are designed to handle every day tasks. They are not designed to perform a special tasks which include:  Floating Point Operation (FPU)  DSP Algorithms (FFT, DCT etc)  Video Processing  Encryption / Decryption  For this purpose, separate hardware was added to perform these tasks but they had major drawback: POWER 2
  • 3. Motivation  Introduction of System-on-Chip Architectures led to:  Standard Bus Architectures  High Performance  Low Power Consumption  Coprocessors (Hardware Accelerators) could be added to the processor for this task 3
  • 4. Motivation (Example)  General Purpose tasks  Most common applications  Serial data processing  Specialized tasks (e.g. graphics, video)  Most visual applications  Parallel data processing  General purpose, programmable scalar and vector cores  High-speed bus architecture  Low latency memory model 4
  • 5. Motivation (Example) 5 ARM ML Processor:  Is optimized for machine learning algorithms  Has dditional programmable layer engines support the execution of non-convolution layers  Has Onboard memory which allows central storage for weights and feature maps, thus reducing traffic to the external memory and therefore, power.
  • 6. Problem Statement Most of the coprocessor designs that we have studied concentrate only on the coprocessor architecture and do not incorporate design decisions for interfacing it in an SoC environment. Nowadays many powerful public domain IP cores are available for complicated component like 32 bit processor i.e. LEON3. It needs some expertise, work and experimentation to implement a hardware/software co-design project. We take an effort to present step-by-step description for implementing desired coprocessor or peripheral on LEON3 processor. 6
  • 7. Selection of 8 bit Processor (8051 uC) An Open Source IP Core for 8051 Microcontroller written in VHDL from Oregano Systems was chosen. Its main features due to which it was chosen are as under: Instruction set compatible to the industry standard 8051 microcontroller Active timer/counter and serial interface units selectable via additional special function register Parameterizeable via VHDL constants 256 bytes internal RAM Up to 64 Kbytes ROM and up to 64 Kbytes External RAM Source code freely available 7
  • 8. Synthesis on FPGA (8051 uC) Top module for 8051 was written in VHDL which used: 8051 Core Memory Cores using Core Generator: 128 x 8 RAM 64k x 8 ROM 64k x 8 External RAM PLL Core (100MHz board clock to 11.675MHz) 8
  • 10. Adding Peripherals (8051 uC)  Original design uses 74 I/Os with:  2x Timers  1x Serial Port  2x External Interrupt Units  Modified peripherals (82 I/Os)  4x Timers  2x Serial Port  3x External Interrupt Units 10
  • 12. 32-bit Processor: Leon3 Introduction  Leon 3 is 32 bit processor based on SPARC V8 Architecture  Support for Multiprocessing Configurations  7 Stage Pipeline  Can achieve 125 MHz on FPGA and 400 MHz on 0.13um ASICs  Optional high performance IEEE-754 Floating Point Unit  Optional SPARC Reference Memory Management Unit 12
  • 13. Leon3 Advantages  Open Source in VHDL and netlist  Multiprocessor Support  Configuration through GRLIB  Support for FPGAs and ASICs  Uniform Method for Hardware & Software debug  Hardware (excluding EDA Tools) & Software tools are downloadable 13
  • 16. What we want to achieve (Leon3)  Custom Template (with File Hierarchy) for Simulation and Synthesis  New peripherals to enhance the processor's capabilities, and to adapt them for better performance in a given domain of applications Create Custom IP Add Interface or Wrapper Co-Processor Extension Create Software Application to use created IP 16
  • 17. Peripheral Interface There are two types of Interfaces:  Memory-Mapped Interface  Coprocessor Interface 17
  • 19. APB Slave Software Interface 19 Leon3 Processor AMBA AHB BUS Memory Co-Processor Wrapper 0x4000000 0x8000000 Int *MMRegister = (int*) 0x8000000; //Base Address of Co-Processor Wrapper // write the value 0xFF into the register *MMRegister = 0xFF; // read the register int value = *MMRegister; AHB/ APB Bridge AMBA APB BUS 0x8000800
  • 20. (N bit) Multiplier Shift-and-Add 20
  • 22. Multiplier Peripheral Software 22  Base pointer for Multiplier Peripheral is 0x80000800 For N=4,8 and 16  Pointer at 0x80000800 is 32-bit  Integer which takes 16-bit multiplier and multiplicand concatenated together to get product value in 32-bit.  Link between variables and pointer values is shown above For N=32  Separate variables for multiplier and multiplicand.  Product is 64-bit which needs to be declared as two integers concatenated or double (in embedded C) As shown below.
  • 23. AHB Slave Interface 23 The Advanced High-Performance Bus (AHB) is part of the AMBA hierarchy of buses and is intended for:  High Performance Designs with multiple bus masters and  High bandwidth operations  High clock frequency operations
  • 24. AHB Software Interface 24 Leon3 Processor AMBA AHB BUS PROM Memory Co-Processor Wrapper 0x4000000 0xFF00000 Int *MMRegister = (int*) 0xFF00000; //Base Address of Co-Processor Wrapper // write the value 0xFF into the register *MMRegister = 0xFF; // read the register int value = *MMRegister;
  • 25. AES-128 Pipelined Cipher 25  AES-128 pipelined cipher core which is downloaded as open source project from OpenCores, uses AES algorithm which is a symmetric block cipher to encrypt information.  It takes 128-bit Plain text and Key Data (symmetric block cipher) and outputs 128-bit ciphered data.  This core is designed in Verilog and needs to be packaged in VHDL to interface it with AMBA bus and Leon Processor.
  • 27. AES-128 Software Pointers 27  In software, the representation of a 128-register is used using 32-bit (Integer) pointer.  The base address of this pointer is determined by Slave bus index of the AES Wrapper i.e. bus index for Slave (HINDEX=8) will be 0xFF000000 with 1- Mbytes memory and Address (HADDR) at 16FF0.  We use 4 32-bit Write and Read Registers. For Key and Plain Text values, HADDR(6:2) is decoded at '0000' as '0' and '1' respectively.
  • 28. AES-128 Software Verification 28  Key Data:  Register 0: [00000000]  Register 1: [00000000]  Register 2: [00000000]  Register 3: [00000000]  Plain Text:  Register 0: [F34481EC]  Register 1: [3CC627BA]  Register 2: [CD5DC3FB]  Register 3: [08F273E6]
  • 29. Timeline Custom Template (with File Hierarchy) for Simulation and Synthesis March 2018 Create Custom IP June 2018 Add Interface or Wrapper August 2018 Co-Processor Extension and Software Application Sep 2018 AES Integration Oct 2018 29

Editor's Notes

  1. Memory-Mapped Interface allocates part of the memory address (as shared memory) of Leon3 for communication between peripheral and software. It is generally more reliable and easy-to-use interface to be used for added hardware or peripheral. Coprocessor Interface uses a dedicated port on the processor. This port is driven using a particular set of instructions, the coprocessor instructions.