SlideShare a Scribd company logo
Implementation of Multiple Soft-core
processor on FPGA
SARTHAK GANDHI 100090111004
NIKHIL SHAH 100090111008
DEEPAK KUMAR 100090111016
NIRMIT PATEL 100090111018
PROJECT GUIDE :
PROF. RAHUL MEHTA
Group 19
C.K.PITHAWALA COLLEGE OF ENGINEERING AND
TECHNOLOGY, SURAT
Flow of Presentation
Definition and Motivation
 Definition
 Implementation of Multiple Soft-core processor(PicoBlaze) on FPGA using Xilinx.
 Establishing communication between two PicoBlaze processors.
 Creating an application using the multi-core processor.
 Motivation
 This is a Faculty Defined Project and was inspired by our guide Prof. Rahul Mehta. The idea of doing
something unique and different from others attracted us towards this topic. Backing from the department
and college made this project possible for us.
Literature Review
 VHDL
 Types of processors
 Discrete, Soft-core and Hard-core Processor
 Why Soft-core Processor ?
 PicoBlaze
 PicoBlaze Architecture
 PicoBlaze Interface
 PicoBlaze Instruction set
 Multi-core Processors
VHDL
 A Hardware Description Language that can be used to model a digital system.[1]
 Three basic different description styles:
 Structural
 Dataflow
 behavioural and
 Combination of all is possible.
 The language has constructs that enable you to express the concurrent or sequential
behaviour of a digital system with or without timing.
 Easy & Simple
VHDL view of a digital device
Digital
System
External View
Internal Views
Model
a) Device versus device model
Device
Entity 1
Entity 2
Entity N
Device Model
1
Device Model
1
Device Model
1
Actual Hardware VHDL View
b) VHDL view of a device
Device Device Model
Types of Processors
 Discrete Processor
 A discrete microprocessor is implemented as an ASIC with a specific peripheral set along with the
processor core.
 Hard-core Processor
 Hard core processor is a dedicated part of the integrated circuit in FPGA.
 Soft-core Processor
 Soft core processor is implemented entirely in the logic primitives of an FPGA.
Why Soft-core Processor ?
Soft-Core
• Saves Area
• Customized Easily
• Can be Reconfigured
at run time
• Flexibility
Hard-Core
• Fixed Area
• Unable to adjust
the core
• Cannot be
configured.
• Core cannot be
added later
PicoBlaze Microcontroller
 Xilinx has developed two main Soft-cores:
 MicroBlaze And PicoBlaze
 The PicoBlaze is a compact, capable, and cost-effective fully embedded 8-bit RISC
microcontroller core optimized for the Xilinx FPGA families.[2]
 The MicroBlaze is entirely implemented in general-purpose memory & logic fabrics of FPGA.
 Features of PicoBlaze:
 16 byte-wide general-purpose data registers
 1K instructions of programmable on-chip program store
 Byte-wide Arithmetic Logic Unit (ALU) with CARRY and ZERO indicator flags
 256 input and 256 output ports & up to 240MHz performance
PicoBlaze Architecture
PicoBlaze Interface
 The PicoBlaze design was originally named
KCPSM which stands for "Constant(K)
Coded Programmable State Machine“.
 PicoBlaze consists of two parts:
 1) The processor core (KCPSM3) and
 2) The program memory from which
instructions are fetched and executed by the
processor core.
 There are two VHDL files that are used to
construct the complete PicoBlaze with
program.
In_Port
Reset
interrupt
Instruction
Out_port
Port_id
Read_strobe
Write_strobe
Interrupt_ack
address
KCPSM3
addr
instruction
Instruction
ROM
clk
Interface to
logic
clk
PicoBlaze Instruction set
Multi-core Processors
 More than one PicoBlaze core can be implemented on FPGA and communication between
them can be made using any effective handshake technique.
 The major Handshake Techniques are as follows:
 Direct handshake
 Handshake Based on Reconfigurable Mesh[8]
 Master-Slave technique[7]
 Wrap technique
Direct Handshaking Method
Processor 1
Data Transfer
Processor 2Input from
Switches
Output to
LEDs
Interrupt
Interrupt
Acknowledge
Direct Handshake
 First Processor interrupts second Processor to send data.
 If the second processor gives acknowledgment of interrupt indicating it is free to accept the
data from first processor.
 Then Processor 1 sends data to Processor 2.
 Similarly, the process occurs from Processor 2 to Processor 1.
RMESH
 Configurable switch is required to design.
 Configurable switch are communicating with more
than one PicoBlaze and will reply to the condition
given.
 Here the structure of switching matrix is designed such
a way at a time two PicoBlazes can communicate with
each other.
Reconfigurable Mesh Model
a) A 3x3 Reconfigurable mesh b) Schematic of Rmesh Switch
Master Slave Technique
 One device or process(Master) has unidirectional control over one or more other devices or
process(Slave).
 The direction of control is always from the master to the slave.
 Master PicoBlaze receives all commands and Slave PicoBlazes follows the commands.
 Requires good amount of work distribution.
Master Slave Technique
Master
PicoBlaze
X X X X
Slave
Pico-
Blaze
Slave
Pico-
Blaze
Slave
Pico-
Blaze
Slave
Pico-
Blaze
Wrap Technique
 Traditional reconfigurable mesh implementations use large-scale meshes of simple 1-bit
processing elements.
 Switch elements are scalable in their bit-width, different processors can be easily employed.
 Provide appropriate wrappers that encapsulate the processors and provide the interface to the
network.
Wrap Technique
a) A network node consisting of a processing element (PE), a switch
element (SE), and corresponding wrappers.
Tools Used
KCPSM3 Assembler
Xilinx Project Navigator
 Project Navigator organizes your design files and runs processes.
 It allows us to do the following:
 Add and create design source files, which appear in the Sources window.
 Modify your source files in the Workspace.
 Run processes on your source files in the Processes window.
 View output from the processes in the Transcript window.
Xilinx ISE Simulator (ISim)
 ISim provides a complete, full-featured HDL simulator integrated within ISE.
 Features:
 Xilinx simulation libraries “built-in”
 Supports VHDL-93 and Verilog 2001
 Standalone Waveform viewing capabilities
 Debug capabilities
 Easy to use - One-click compilation and simulation
 Single click re-compile and re-launch of simulation
FPGA
 Field-programmable gate array (FPGA)
 An integrated circuit designed to be configured by a designer after manufacturing - hence "field-
programmable".
 The FPGA configuration is generally specified using a hardware description language (HDL).
 Overview of the Xilinx Spartan-3E devices:
 The most basic element is a logic cell (LC), which contains a four-input LUT and a D Flip-Flop.
 Two logic cells group to form a slice
 Four slices group to form a configurable logic block (CLB).
FPGA
Logic
Cell
Logic
Cell
Logic
Cell
Logic
Cell
s
s s
s
s
a) Conceptual structure of an FPGA device.
LUT
A
B
C
clk
d q
clk
y
q
A B C y
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
b) Three-input LUT-based logic cell
Work Plan
 Phase 1
 Basic Study of VHDL.[1]
 Literature Study of Soft-core processor.
 Implementation of basic program in Xilinx & to observe their Waveform.
 Basic study of KCPSM3 assembler.
 Implementation of Soft-core in Xilinx.
 To study different handshaking techniques between two processor.
 Load basic program of PicoBlaze on Spartan-3e Board.
Work Plan
 Phase 2
 Selecting the most efficient technique of handshaking.
 Implementation of handshaking method.
 Load the entire program on FPGA.
 Debugging the program and generating synthesis report
 Creating an application using the multi-core processor.
Work done in Phase I
 Thorough study of digital device modelling using VHDL.
 Thorough study of PicoBlaze (KCPSM3) architecture, features, instructions and requirements.
 Learnt to use KCPSM3 assembler.
 Learnt to use Xilinx Project Navigator and ISE Simulator(ISim).
 Successfully interfaced 1K ROM with KCPSM3.
 Successfully designed a simple program to glow LEDs using ONE PicoBlaze.
 Learnt how to download a program onto FPGA.
 Successfully loaded the program on FPGA for testing.
 Designed another program to glow LEDs using TWO PicoBlazes.
 Learnt the design summary to get information about the utilization of FPGA slices.
 Finding an appropriate method of handshaking between multiple processors to be implemented.
Study of KCPSM3 Assembler
 Very simple 8-bit microcontroller.
 Totally embedded into the device and requires no external support.
 Features of KCPSM3:
 16 general purpose registers of 8 bits
 Arithmetic Logic Unit(ALU) provides many simple operations expected in an 8-bit processing unit
 256 input ports and 256 output ports
 64-byte scratchpad memory
Study of PicoBlaze
 Referred to as soft core processor.
 Synthesized from an HDL.
 Uses the programmable logic and routing resources of an FPGA for their implementation.
 It consists of two parts:
 The processor core (KCPSM3)
 The program memory from which instructions are fetched and executed by the processor core
LED program using ONE PicoBlaze
Design Summary of LED program using ONE
PicoBlaze
Steps to setup PicoBlaze on FPGA
 Download the PicoBlaze IDE . Extract PicoBlaze and the PicoBlaze IDE which will provide KCPSM3 assembler .
 Write assembly program. Save it with extension <filename>.psm.
 Assemble the program, this will generate a VHDL file in which block RAM and its initial contents are define using
KCPSM3.exe assembler.
 The assembler will generate vhdl, verilog, hex files etc.. Add the new VHDL file to the project in Xilinx.
 PicoBlaze should be used as a component. The KCPSM3.vhd also had to be added in Xilinx project.
 Same way the ROM file named<filename>.vhd which is generated by KCPSM3 assembler is to be added in Xilinx
Project.
 Link or map the new VHDL module created by the assembler to your source file as a ROM and KCPSM3.
 As done in assembler write corresponding VHDL code in source file that should map all inputs and outputs.
 Write an implementation constraint file to map input and outputs of FPGA IO with Program IO.
 Once mapping is done then Simulate, Synthesis and generate bit file to load file on Spartan 3E.Build and download the
VHDL to the FPGA.
Work done in Phase II
 Selected Direct Handshaking method to communicate between processors.
 Developed the method which includes exchange of Interrupt and Interrupt Acknowledge
signals.
 Implemented one-way handshaking method.
 Implemented two-way handshaking between 2 PicoBlazes.
 Loaded the full program on FPGA with the switch-LED example to demonstrate the working of
multiple PicoBlazes.
 Created an application using this processor.
 Stepper motor controller
Direct Handshaking Method
Processor 1
Data Transfer
Processor 2Input from
Switches
Output to
LEDs
Interrupt
Interrupt
Acknowledge
Algorithm
1
• Processor1 generates and sends an Interrupt signal to Processor2.
2
• Processor2 waits till all its processes end and becomes free.
• Once Free, Processor2 acknowledges Processor1 by sending
Intr_ack signal.
3
• On reception of Intr_ack signal, Processor1 sends the data to
Processor2.
-- Your Program Here--
ADDRESS 3FF
JUMP isr
Example of Interrupt Flow in PicoBlaze
main: -- Your Program Here--
ENABLE INTERRUPT
INPUT s0, 00
INPUT s1, 01
-- Your Program Here--
OUTPUT s0, 00
-- Your Program Here--
CALL critical timing
-- Your Program Here--
JUMP main
critical timing: DISABLE INTERRUPT
-- Your Program Here--
ENABLE INTERRUPT
RETURN
isr: TEST s7, 02
-- Your Program Here--
RETURNI ENABLE
ADDRESS 000
1
2
3
4
5
6
• The interrupt input is not recognized until the
INTERRUPT_ENABLE flag is set.
• INTERRUPT Input asserted at (2).
• In timing-critical functions or areas where absolute predictability is
required, temporarily disable the interrupt.
• Re-enable the interrupt input when the time-critical function is
complete.
• The interrupt vector is always located at the most-significant
memory location, where all the address bits are ones.
• Jump to the interrupt service routine.
• The interrupt input is automatically disabled.
• Use the RETURNI instruction to return from an interrupt.
RTL Schematic of LED Program using TWO
PicoBlazes
Design Summary of LED program using TWO
PicoBlazes
Output Waveform
Fig (i)
DelayCalculation
acknowledge received
Fig (ii)
Result
 Synthesis report generated shows that only 10% of Spartan-3E slices are used while
implementing TWO PicoBlazes, this shows that we can load simultaneous10 PicoBlazes on a
single FPGA.
 Fig (i) i.e. the Output Waveform shows how data is transfer from one PicoBlaze to another
with use of interrupt.
 Fig (ii) shows the time-delay between the interrupt send by 1st PicoBlaze and the interrupt
acknowledge received by it is 2500ns.
 A single PicoBlaze can interrupt 64 PicoBlazes(ONE at a time).
Dual-Core PicoBlaze
Switch 0
Interrupt
Interrupt
Acknowledgement
PROCESSOR 1 PROCESSOR 2
Data Transfer
Input from
Switches
Output to
LEDs
Output to
LEDs
Input from
Switches
Block Diagram
Waveforms (Processor1 to Processor2)
Switch(0) = 0
 Switches on Processor1
 LEDs on Processor2
Waveforms (Processor2 to Processor1)
Switch(0) = 1
 Switches on Processor2
 LEDs on Processor1
RTL Schematic Processor1
Processor2
ROM1
ROM2
Switches
LEDs
Design Summary
Stepper Motor Control
Clockwise Rotation Anti-Clockwise Rotation
LED1 - 0 0 0 1
LED2 - 0 0 1 0
LED3 - 0 1 0 0
LED4 - 1 0 0 0
LED1 - 0 0 0 1
LED2 - 0 0 1 0
LED3 - 0 1 0 0
LED4 - 1 0 0 0
Waveform for Clockwise rotation
Waveform for Anti-Clockwise rotation
References
1. J. Bhasker “ A VHDL-Primer ”, Third Edition.
2. PicoBlaze 8-bit Embedded Microcontroller User Guide
http://www.xilinx.com/support/documentation/ip_documentation/ug129.pdf
3. Mehta Rahul V. “Implementation of PicoBlaze on Xilinx's Spartan 3E FPGA”, International Journal
of Computer and Electronics engineering Volume 4 Number 2(July-Dec 2012).
4. Volnei A. Pedroni “Circuit Design with VHDL”, Massachusetts Institute of Technology, 2004.
5. Download PicoBlaze reference designs and additional files.
http://www.xilinx.com/ipcenter/processor_central/picoblaze
6. http://www.eng.auburn.edu/~strouce/class/elec4200/ KCPSM3_Manual.pdf
7. Rahul V. Mehta, Pinal J. Engineer, Milind S. Shah, “Multiple PicoBlazes – Review And
Implementation”.
8. Heiner Giefers and Marco Platzner “A Many-core Implementation Based On The
Reconfigurable Mesh Model ”, University of Paderborn.
Queries or Suggestions
THANKS..
Built Applications
 OpenRISC was first fabricated into a commercial standalone ASIC by Flextronics in 2003.
 More recently it has been used by Samsung in their set top box processors, starting with the SDP -83 ‘B’
series through to the SDP-1003 and SDP-1006 ‘E’ series.
 A fault-tolerant version of OpenRISC was developed by the Swedish space and defense company ÅAC
Microtec, and flew in NASA’s TechEdSat last year.
 One of its BA family of processors, derivative from the original OpenRISC, was used by NXP in its JN5148
ultra-low power Zigbee transceiver chip.
 LEON has been used for many space based projects by both the European Space Agency and NASA.
 Complete Verilog implementation of a 2D/ 3D graphics processor capable of OpenGL and D3D with full
test suite.
PicoBlaze Merits/Demerits
Merits Demerits
• Easy to program, excellent for control and
state machine applications
• Resource requirements remain constant
with increasing complexity
• Re-uses logic resources, excellent for
lower-performance functions
• Executes sequentially
• Performance degrades with increasing
complexity
• Program memory requirements increase
with increasing complexity
• Slower response to simultaneous inputs
Uses
 Frequency Generator/ counter
 Amplifier, ADC,DAC
 Real Time Clock
 System Generator For DSP

More Related Content

What's hot

fpga programming
fpga programmingfpga programming
fpga programmingAnish Gupta
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOC
A B Shinde
 
Online test program generator for RISC-V processors
Online test program generator for RISC-V processorsOnline test program generator for RISC-V processors
Online test program generator for RISC-V processors
RISC-V International
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
Kamlesh Kumar
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
Sudhanshu Janwadkar
 
VLSI
VLSI VLSI
VLSI
So Ma
 
vlsi design flow
vlsi design flowvlsi design flow
vlsi design flowAnish Gupta
 
Logic Simulation, Modeling, and Testing
Logic Simulation, Modeling, and TestingLogic Simulation, Modeling, and Testing
Logic Simulation, Modeling, and Testing
Aksum Institute of Technology(AIT, @Letsgo)
 
VLSI Technology
VLSI TechnologyVLSI Technology
VLSI Technology
Hasib Hossen
 
FPGA
FPGAFPGA
VLSI testing and analysis
VLSI testing and analysisVLSI testing and analysis
VLSI testing and analysis
Surekha PuriGosavi
 
System On Chip (SOC)
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)Shivam Gupta
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array) Iffat Anjum
 
Fpga
FpgaFpga
VLSI Technology Trends
VLSI Technology TrendsVLSI Technology Trends
VLSI Technology Trends
Usha Mehta
 
Programmable logic device (PLD)
Programmable logic device (PLD)Programmable logic device (PLD)
Programmable logic device (PLD)
Sɐɐp ɐɥɯǝp
 
Hard ip based SoC design
Hard ip based SoC designHard ip based SoC design
Hard ip based SoC design
Vinchipsytm Vlsitraining
 
Delays in verilog
Delays in verilogDelays in verilog
Delays in verilog
JITU MISTRY
 
RISC-V Online Tutor
RISC-V Online TutorRISC-V Online Tutor
RISC-V Online Tutor
RISC-V International
 

What's hot (20)

fpga programming
fpga programmingfpga programming
fpga programming
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOC
 
Online test program generator for RISC-V processors
Online test program generator for RISC-V processorsOnline test program generator for RISC-V processors
Online test program generator for RISC-V processors
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
 
VLSI
VLSI VLSI
VLSI
 
vlsi design flow
vlsi design flowvlsi design flow
vlsi design flow
 
Logic Simulation, Modeling, and Testing
Logic Simulation, Modeling, and TestingLogic Simulation, Modeling, and Testing
Logic Simulation, Modeling, and Testing
 
VLSI Technology
VLSI TechnologyVLSI Technology
VLSI Technology
 
ASIC
ASICASIC
ASIC
 
FPGA
FPGAFPGA
FPGA
 
VLSI testing and analysis
VLSI testing and analysisVLSI testing and analysis
VLSI testing and analysis
 
System On Chip (SOC)
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array)
 
Fpga
FpgaFpga
Fpga
 
VLSI Technology Trends
VLSI Technology TrendsVLSI Technology Trends
VLSI Technology Trends
 
Programmable logic device (PLD)
Programmable logic device (PLD)Programmable logic device (PLD)
Programmable logic device (PLD)
 
Hard ip based SoC design
Hard ip based SoC designHard ip based SoC design
Hard ip based SoC design
 
Delays in verilog
Delays in verilogDelays in verilog
Delays in verilog
 
RISC-V Online Tutor
RISC-V Online TutorRISC-V Online Tutor
RISC-V Online Tutor
 

Viewers also liked

Implementation of Soft-core Processor on FPGA
Implementation of Soft-core Processor on FPGAImplementation of Soft-core Processor on FPGA
Implementation of Soft-core Processor on FPGA
Deepak Kumar
 
FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
Somnath Mazumdar
 
Example my hdl
Example my hdlExample my hdl
Example my hdl
sean chen
 
Spartan-3A/3AN FPGA Starter Kit Board User Guide
Spartan-3A/3AN  FPGA Starter Kit  Board User GuideSpartan-3A/3AN  FPGA Starter Kit  Board User Guide
Spartan-3A/3AN FPGA Starter Kit Board User Guide
Remmy Fuentes Telleria
 
FPGA Verilog Processor Design
FPGA Verilog Processor DesignFPGA Verilog Processor Design
FPGA Verilog Processor Design
Archana Udaranga
 
14 284-291
14 284-29114 284-291
14 284-291
idescitation
 
80 152-157
80 152-15780 152-157
80 152-157
idescitation
 
Spartan 3e用户手册
Spartan 3e用户手册Spartan 3e用户手册
Spartan 3e用户手册zhaojk90
 
Dsp Based Field Programable Gate Array
Dsp Based Field Programable Gate ArrayDsp Based Field Programable Gate Array
Dsp Based Field Programable Gate Arraydecebems
 
Overview of Nios II Embedded Processor
Overview of Nios II Embedded ProcessorOverview of Nios II Embedded Processor
Overview of Nios II Embedded Processor
Altera Corporation
 
Introduction to the Module - Fundamentals of Psychology Lecture 1
Introduction to the Module - Fundamentals of Psychology Lecture 1Introduction to the Module - Fundamentals of Psychology Lecture 1
Introduction to the Module - Fundamentals of Psychology Lecture 1
Simon Bignell
 
"Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe...
"Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe..."Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe...
"Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe...
Edge AI and Vision Alliance
 
The Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft ProcessorThe Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft Processor
Deepak Tomar
 
Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...
Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...
Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...
Naoki Shibata
 
Calculator design with lcd using fpga
Calculator design with lcd using fpgaCalculator design with lcd using fpga
Calculator design with lcd using fpga
Hossam Hassan
 
Processors used in System on chip
Processors used in System on chip Processors used in System on chip
Processors used in System on chip
A B Shinde
 
8251 08 Serial
8251 08 Serial8251 08 Serial
8251 08 SerialAisu
 
FPGA Tutorial - LCD Interface
FPGA Tutorial - LCD InterfaceFPGA Tutorial - LCD Interface
FPGA Tutorial - LCD Interface
Politeknik Elektronika Negeri Surabaya
 

Viewers also liked (20)

Implementation of Soft-core Processor on FPGA
Implementation of Soft-core Processor on FPGAImplementation of Soft-core Processor on FPGA
Implementation of Soft-core Processor on FPGA
 
FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
 
Example my hdl
Example my hdlExample my hdl
Example my hdl
 
Spartan-3A/3AN FPGA Starter Kit Board User Guide
Spartan-3A/3AN  FPGA Starter Kit  Board User GuideSpartan-3A/3AN  FPGA Starter Kit  Board User Guide
Spartan-3A/3AN FPGA Starter Kit Board User Guide
 
FPGA Verilog Processor Design
FPGA Verilog Processor DesignFPGA Verilog Processor Design
FPGA Verilog Processor Design
 
14 284-291
14 284-29114 284-291
14 284-291
 
80 152-157
80 152-15780 152-157
80 152-157
 
Spartan 3e用户手册
Spartan 3e用户手册Spartan 3e用户手册
Spartan 3e用户手册
 
Dsp Based Field Programable Gate Array
Dsp Based Field Programable Gate ArrayDsp Based Field Programable Gate Array
Dsp Based Field Programable Gate Array
 
Overview of Nios II Embedded Processor
Overview of Nios II Embedded ProcessorOverview of Nios II Embedded Processor
Overview of Nios II Embedded Processor
 
Introduction to the Module - Fundamentals of Psychology Lecture 1
Introduction to the Module - Fundamentals of Psychology Lecture 1Introduction to the Module - Fundamentals of Psychology Lecture 1
Introduction to the Module - Fundamentals of Psychology Lecture 1
 
"Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe...
"Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe..."Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe...
"Using Inertial Sensors and Sensor Fusion to Enhance the Capabilities of Embe...
 
The Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft ProcessorThe Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft Processor
 
Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...
Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...
Task Scheduling Algorithm for Multicore Processor Systems with Turbo Boost an...
 
Microblaze
MicroblazeMicroblaze
Microblaze
 
Calculator design with lcd using fpga
Calculator design with lcd using fpgaCalculator design with lcd using fpga
Calculator design with lcd using fpga
 
Processors used in System on chip
Processors used in System on chip Processors used in System on chip
Processors used in System on chip
 
8251 08 Serial
8251 08 Serial8251 08 Serial
8251 08 Serial
 
FPGA Tutorial - LCD Interface
FPGA Tutorial - LCD InterfaceFPGA Tutorial - LCD Interface
FPGA Tutorial - LCD Interface
 
Multi core processor
Multi core processorMulti core processor
Multi core processor
 

Similar to Implementation of Soft-core processor on FPGA (Final Presentation)

Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
SnehaLatha68
 
VLSI Study experiments
VLSI Study experimentsVLSI Study experiments
VLSI Study experimentsGouthaman V
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments IGouthaman V
 
microprocessor
   microprocessor   microprocessor
microprocessor
ATTO RATHORE
 
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxVivek Kumar
 
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
 
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core ArchitecturesPerformance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Dr. Fabio Baruffa
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER) International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
IJCRT2006062.pdf
IJCRT2006062.pdfIJCRT2006062.pdf
IJCRT2006062.pdf
ssuser1e1bab
 
Unit I_MT2301.pdf
Unit I_MT2301.pdfUnit I_MT2301.pdf
Unit I_MT2301.pdf
Kannan Kanagaraj
 
Microcontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basicsMicrocontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basics
Nilesh Bhaskarrao Bahadure
 
A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...
A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...
A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...
IDES Editor
 
FPGA @ UPB-BGA
FPGA @ UPB-BGAFPGA @ UPB-BGA
FPGA @ UPB-BGA
Jose Pinilla
 
X-ISCKER
X-ISCKERX-ISCKER
X-ISCKER
Jose Pinilla
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Pradeep Singh
 
Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
Rameez Raja
 
An introduction to FPGAs and Their MPSOCs
An introduction to FPGAs and Their MPSOCs  An introduction to FPGAs and Their MPSOCs
An introduction to FPGAs and Their MPSOCs
Mohammad Reza Khalifeh Mahmoodi
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
Automatic generation of platform architectures using open cl and fpga roadmap
Automatic generation of platform architectures using open cl and fpga roadmapAutomatic generation of platform architectures using open cl and fpga roadmap
Automatic generation of platform architectures using open cl and fpga roadmapManolis Vavalis
 

Similar to Implementation of Soft-core processor on FPGA (Final Presentation) (20)

Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
 
VLSI Study experiments
VLSI Study experimentsVLSI Study experiments
VLSI Study experiments
 
chameleon chip
chameleon chipchameleon chip
chameleon chip
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments I
 
microprocessor
   microprocessor   microprocessor
microprocessor
 
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
 
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)
 
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core ArchitecturesPerformance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER) International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
IJCRT2006062.pdf
IJCRT2006062.pdfIJCRT2006062.pdf
IJCRT2006062.pdf
 
Unit I_MT2301.pdf
Unit I_MT2301.pdfUnit I_MT2301.pdf
Unit I_MT2301.pdf
 
Microcontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basicsMicrocontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basics
 
A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...
A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...
A PIC compatible RISC CPU core Implementation for FPGA based Configurable SOC...
 
FPGA @ UPB-BGA
FPGA @ UPB-BGAFPGA @ UPB-BGA
FPGA @ UPB-BGA
 
X-ISCKER
X-ISCKERX-ISCKER
X-ISCKER
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
 
Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
 
An introduction to FPGAs and Their MPSOCs
An introduction to FPGAs and Their MPSOCs  An introduction to FPGAs and Their MPSOCs
An introduction to FPGAs and Their MPSOCs
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Automatic generation of platform architectures using open cl and fpga roadmap
Automatic generation of platform architectures using open cl and fpga roadmapAutomatic generation of platform architectures using open cl and fpga roadmap
Automatic generation of platform architectures using open cl and fpga roadmap
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

Implementation of Soft-core processor on FPGA (Final Presentation)

  • 1. Implementation of Multiple Soft-core processor on FPGA SARTHAK GANDHI 100090111004 NIKHIL SHAH 100090111008 DEEPAK KUMAR 100090111016 NIRMIT PATEL 100090111018 PROJECT GUIDE : PROF. RAHUL MEHTA Group 19 C.K.PITHAWALA COLLEGE OF ENGINEERING AND TECHNOLOGY, SURAT
  • 3. Definition and Motivation  Definition  Implementation of Multiple Soft-core processor(PicoBlaze) on FPGA using Xilinx.  Establishing communication between two PicoBlaze processors.  Creating an application using the multi-core processor.  Motivation  This is a Faculty Defined Project and was inspired by our guide Prof. Rahul Mehta. The idea of doing something unique and different from others attracted us towards this topic. Backing from the department and college made this project possible for us.
  • 4. Literature Review  VHDL  Types of processors  Discrete, Soft-core and Hard-core Processor  Why Soft-core Processor ?  PicoBlaze  PicoBlaze Architecture  PicoBlaze Interface  PicoBlaze Instruction set  Multi-core Processors
  • 5. VHDL  A Hardware Description Language that can be used to model a digital system.[1]  Three basic different description styles:  Structural  Dataflow  behavioural and  Combination of all is possible.  The language has constructs that enable you to express the concurrent or sequential behaviour of a digital system with or without timing.  Easy & Simple
  • 6. VHDL view of a digital device Digital System External View Internal Views Model a) Device versus device model Device Entity 1 Entity 2 Entity N Device Model 1 Device Model 1 Device Model 1 Actual Hardware VHDL View b) VHDL view of a device Device Device Model
  • 7. Types of Processors  Discrete Processor  A discrete microprocessor is implemented as an ASIC with a specific peripheral set along with the processor core.  Hard-core Processor  Hard core processor is a dedicated part of the integrated circuit in FPGA.  Soft-core Processor  Soft core processor is implemented entirely in the logic primitives of an FPGA.
  • 8. Why Soft-core Processor ? Soft-Core • Saves Area • Customized Easily • Can be Reconfigured at run time • Flexibility Hard-Core • Fixed Area • Unable to adjust the core • Cannot be configured. • Core cannot be added later
  • 9. PicoBlaze Microcontroller  Xilinx has developed two main Soft-cores:  MicroBlaze And PicoBlaze  The PicoBlaze is a compact, capable, and cost-effective fully embedded 8-bit RISC microcontroller core optimized for the Xilinx FPGA families.[2]  The MicroBlaze is entirely implemented in general-purpose memory & logic fabrics of FPGA.  Features of PicoBlaze:  16 byte-wide general-purpose data registers  1K instructions of programmable on-chip program store  Byte-wide Arithmetic Logic Unit (ALU) with CARRY and ZERO indicator flags  256 input and 256 output ports & up to 240MHz performance
  • 11. PicoBlaze Interface  The PicoBlaze design was originally named KCPSM which stands for "Constant(K) Coded Programmable State Machine“.  PicoBlaze consists of two parts:  1) The processor core (KCPSM3) and  2) The program memory from which instructions are fetched and executed by the processor core.  There are two VHDL files that are used to construct the complete PicoBlaze with program. In_Port Reset interrupt Instruction Out_port Port_id Read_strobe Write_strobe Interrupt_ack address KCPSM3 addr instruction Instruction ROM clk Interface to logic clk
  • 13. Multi-core Processors  More than one PicoBlaze core can be implemented on FPGA and communication between them can be made using any effective handshake technique.  The major Handshake Techniques are as follows:  Direct handshake  Handshake Based on Reconfigurable Mesh[8]  Master-Slave technique[7]  Wrap technique
  • 14. Direct Handshaking Method Processor 1 Data Transfer Processor 2Input from Switches Output to LEDs Interrupt Interrupt Acknowledge
  • 15. Direct Handshake  First Processor interrupts second Processor to send data.  If the second processor gives acknowledgment of interrupt indicating it is free to accept the data from first processor.  Then Processor 1 sends data to Processor 2.  Similarly, the process occurs from Processor 2 to Processor 1.
  • 16. RMESH  Configurable switch is required to design.  Configurable switch are communicating with more than one PicoBlaze and will reply to the condition given.  Here the structure of switching matrix is designed such a way at a time two PicoBlazes can communicate with each other.
  • 17. Reconfigurable Mesh Model a) A 3x3 Reconfigurable mesh b) Schematic of Rmesh Switch
  • 18. Master Slave Technique  One device or process(Master) has unidirectional control over one or more other devices or process(Slave).  The direction of control is always from the master to the slave.  Master PicoBlaze receives all commands and Slave PicoBlazes follows the commands.  Requires good amount of work distribution.
  • 19. Master Slave Technique Master PicoBlaze X X X X Slave Pico- Blaze Slave Pico- Blaze Slave Pico- Blaze Slave Pico- Blaze
  • 20. Wrap Technique  Traditional reconfigurable mesh implementations use large-scale meshes of simple 1-bit processing elements.  Switch elements are scalable in their bit-width, different processors can be easily employed.  Provide appropriate wrappers that encapsulate the processors and provide the interface to the network.
  • 21. Wrap Technique a) A network node consisting of a processing element (PE), a switch element (SE), and corresponding wrappers.
  • 24. Xilinx Project Navigator  Project Navigator organizes your design files and runs processes.  It allows us to do the following:  Add and create design source files, which appear in the Sources window.  Modify your source files in the Workspace.  Run processes on your source files in the Processes window.  View output from the processes in the Transcript window.
  • 25. Xilinx ISE Simulator (ISim)  ISim provides a complete, full-featured HDL simulator integrated within ISE.  Features:  Xilinx simulation libraries “built-in”  Supports VHDL-93 and Verilog 2001  Standalone Waveform viewing capabilities  Debug capabilities  Easy to use - One-click compilation and simulation  Single click re-compile and re-launch of simulation
  • 26. FPGA  Field-programmable gate array (FPGA)  An integrated circuit designed to be configured by a designer after manufacturing - hence "field- programmable".  The FPGA configuration is generally specified using a hardware description language (HDL).  Overview of the Xilinx Spartan-3E devices:  The most basic element is a logic cell (LC), which contains a four-input LUT and a D Flip-Flop.  Two logic cells group to form a slice  Four slices group to form a configurable logic block (CLB).
  • 27. FPGA Logic Cell Logic Cell Logic Cell Logic Cell s s s s s a) Conceptual structure of an FPGA device. LUT A B C clk d q clk y q A B C y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 b) Three-input LUT-based logic cell
  • 28. Work Plan  Phase 1  Basic Study of VHDL.[1]  Literature Study of Soft-core processor.  Implementation of basic program in Xilinx & to observe their Waveform.  Basic study of KCPSM3 assembler.  Implementation of Soft-core in Xilinx.  To study different handshaking techniques between two processor.  Load basic program of PicoBlaze on Spartan-3e Board.
  • 29. Work Plan  Phase 2  Selecting the most efficient technique of handshaking.  Implementation of handshaking method.  Load the entire program on FPGA.  Debugging the program and generating synthesis report  Creating an application using the multi-core processor.
  • 30. Work done in Phase I  Thorough study of digital device modelling using VHDL.  Thorough study of PicoBlaze (KCPSM3) architecture, features, instructions and requirements.  Learnt to use KCPSM3 assembler.  Learnt to use Xilinx Project Navigator and ISE Simulator(ISim).  Successfully interfaced 1K ROM with KCPSM3.  Successfully designed a simple program to glow LEDs using ONE PicoBlaze.  Learnt how to download a program onto FPGA.  Successfully loaded the program on FPGA for testing.  Designed another program to glow LEDs using TWO PicoBlazes.  Learnt the design summary to get information about the utilization of FPGA slices.  Finding an appropriate method of handshaking between multiple processors to be implemented.
  • 31. Study of KCPSM3 Assembler  Very simple 8-bit microcontroller.  Totally embedded into the device and requires no external support.  Features of KCPSM3:  16 general purpose registers of 8 bits  Arithmetic Logic Unit(ALU) provides many simple operations expected in an 8-bit processing unit  256 input ports and 256 output ports  64-byte scratchpad memory
  • 32. Study of PicoBlaze  Referred to as soft core processor.  Synthesized from an HDL.  Uses the programmable logic and routing resources of an FPGA for their implementation.  It consists of two parts:  The processor core (KCPSM3)  The program memory from which instructions are fetched and executed by the processor core
  • 33. LED program using ONE PicoBlaze
  • 34. Design Summary of LED program using ONE PicoBlaze
  • 35. Steps to setup PicoBlaze on FPGA  Download the PicoBlaze IDE . Extract PicoBlaze and the PicoBlaze IDE which will provide KCPSM3 assembler .  Write assembly program. Save it with extension <filename>.psm.  Assemble the program, this will generate a VHDL file in which block RAM and its initial contents are define using KCPSM3.exe assembler.  The assembler will generate vhdl, verilog, hex files etc.. Add the new VHDL file to the project in Xilinx.  PicoBlaze should be used as a component. The KCPSM3.vhd also had to be added in Xilinx project.  Same way the ROM file named<filename>.vhd which is generated by KCPSM3 assembler is to be added in Xilinx Project.  Link or map the new VHDL module created by the assembler to your source file as a ROM and KCPSM3.  As done in assembler write corresponding VHDL code in source file that should map all inputs and outputs.  Write an implementation constraint file to map input and outputs of FPGA IO with Program IO.  Once mapping is done then Simulate, Synthesis and generate bit file to load file on Spartan 3E.Build and download the VHDL to the FPGA.
  • 36. Work done in Phase II  Selected Direct Handshaking method to communicate between processors.  Developed the method which includes exchange of Interrupt and Interrupt Acknowledge signals.  Implemented one-way handshaking method.  Implemented two-way handshaking between 2 PicoBlazes.  Loaded the full program on FPGA with the switch-LED example to demonstrate the working of multiple PicoBlazes.  Created an application using this processor.  Stepper motor controller
  • 37. Direct Handshaking Method Processor 1 Data Transfer Processor 2Input from Switches Output to LEDs Interrupt Interrupt Acknowledge
  • 38. Algorithm 1 • Processor1 generates and sends an Interrupt signal to Processor2. 2 • Processor2 waits till all its processes end and becomes free. • Once Free, Processor2 acknowledges Processor1 by sending Intr_ack signal. 3 • On reception of Intr_ack signal, Processor1 sends the data to Processor2.
  • 39. -- Your Program Here-- ADDRESS 3FF JUMP isr Example of Interrupt Flow in PicoBlaze main: -- Your Program Here-- ENABLE INTERRUPT INPUT s0, 00 INPUT s1, 01 -- Your Program Here-- OUTPUT s0, 00 -- Your Program Here-- CALL critical timing -- Your Program Here-- JUMP main critical timing: DISABLE INTERRUPT -- Your Program Here-- ENABLE INTERRUPT RETURN isr: TEST s7, 02 -- Your Program Here-- RETURNI ENABLE ADDRESS 000 1 2 3 4 5 6 • The interrupt input is not recognized until the INTERRUPT_ENABLE flag is set. • INTERRUPT Input asserted at (2). • In timing-critical functions or areas where absolute predictability is required, temporarily disable the interrupt. • Re-enable the interrupt input when the time-critical function is complete. • The interrupt vector is always located at the most-significant memory location, where all the address bits are ones. • Jump to the interrupt service routine. • The interrupt input is automatically disabled. • Use the RETURNI instruction to return from an interrupt.
  • 40. RTL Schematic of LED Program using TWO PicoBlazes
  • 41. Design Summary of LED program using TWO PicoBlazes
  • 44. Result  Synthesis report generated shows that only 10% of Spartan-3E slices are used while implementing TWO PicoBlazes, this shows that we can load simultaneous10 PicoBlazes on a single FPGA.  Fig (i) i.e. the Output Waveform shows how data is transfer from one PicoBlaze to another with use of interrupt.  Fig (ii) shows the time-delay between the interrupt send by 1st PicoBlaze and the interrupt acknowledge received by it is 2500ns.  A single PicoBlaze can interrupt 64 PicoBlazes(ONE at a time).
  • 45. Dual-Core PicoBlaze Switch 0 Interrupt Interrupt Acknowledgement PROCESSOR 1 PROCESSOR 2 Data Transfer Input from Switches Output to LEDs Output to LEDs Input from Switches Block Diagram
  • 46. Waveforms (Processor1 to Processor2) Switch(0) = 0  Switches on Processor1  LEDs on Processor2
  • 47. Waveforms (Processor2 to Processor1) Switch(0) = 1  Switches on Processor2  LEDs on Processor1
  • 50. Stepper Motor Control Clockwise Rotation Anti-Clockwise Rotation LED1 - 0 0 0 1 LED2 - 0 0 1 0 LED3 - 0 1 0 0 LED4 - 1 0 0 0 LED1 - 0 0 0 1 LED2 - 0 0 1 0 LED3 - 0 1 0 0 LED4 - 1 0 0 0
  • 53. References 1. J. Bhasker “ A VHDL-Primer ”, Third Edition. 2. PicoBlaze 8-bit Embedded Microcontroller User Guide http://www.xilinx.com/support/documentation/ip_documentation/ug129.pdf 3. Mehta Rahul V. “Implementation of PicoBlaze on Xilinx's Spartan 3E FPGA”, International Journal of Computer and Electronics engineering Volume 4 Number 2(July-Dec 2012). 4. Volnei A. Pedroni “Circuit Design with VHDL”, Massachusetts Institute of Technology, 2004. 5. Download PicoBlaze reference designs and additional files. http://www.xilinx.com/ipcenter/processor_central/picoblaze 6. http://www.eng.auburn.edu/~strouce/class/elec4200/ KCPSM3_Manual.pdf 7. Rahul V. Mehta, Pinal J. Engineer, Milind S. Shah, “Multiple PicoBlazes – Review And Implementation”. 8. Heiner Giefers and Marco Platzner “A Many-core Implementation Based On The Reconfigurable Mesh Model ”, University of Paderborn.
  • 55. Built Applications  OpenRISC was first fabricated into a commercial standalone ASIC by Flextronics in 2003.  More recently it has been used by Samsung in their set top box processors, starting with the SDP -83 ‘B’ series through to the SDP-1003 and SDP-1006 ‘E’ series.  A fault-tolerant version of OpenRISC was developed by the Swedish space and defense company ÅAC Microtec, and flew in NASA’s TechEdSat last year.  One of its BA family of processors, derivative from the original OpenRISC, was used by NXP in its JN5148 ultra-low power Zigbee transceiver chip.  LEON has been used for many space based projects by both the European Space Agency and NASA.  Complete Verilog implementation of a 2D/ 3D graphics processor capable of OpenGL and D3D with full test suite.
  • 56. PicoBlaze Merits/Demerits Merits Demerits • Easy to program, excellent for control and state machine applications • Resource requirements remain constant with increasing complexity • Re-uses logic resources, excellent for lower-performance functions • Executes sequentially • Performance degrades with increasing complexity • Program memory requirements increase with increasing complexity • Slower response to simultaneous inputs
  • 57. Uses  Frequency Generator/ counter  Amplifier, ADC,DAC  Real Time Clock  System Generator For DSP

Editor's Notes

  1. Selecting a discrete processor that meets the application’s cost and functional requirements can be a time consuming process.
  2. A soft-core can be removed from the design when it is not needed. This saves a lot of area, which can be used for other elements.
  3. PB is free. MB is licensed soft which we need to buy. PB is tiny sized. Appropriate for our aim.