Lecture 14 PicoBlaze Overview

Slides:



Advertisements
Similar presentations
Lecture 16 PicoBlaze Instruction Set & Assembler Directives
Advertisements

Parul Polytechnic Institute
Chapter 2 HARDWARE SUMMARY
Microprocessor and Microcontroller
Processor System Architecture
PicoBlaze CPLD Microcontroller
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
Khaled A. Al-Utaibi  8086 Pinout & Pin Functions  Minimum & Maximum Mode Operations  Microcomputer System Design  Minimum Mode.
© 2003 Xilinx, Inc. All Rights Reserved Advanced Features.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 19 PicoBlaze Interrupt Interface & Assembly Code Development.
Intel 8051 Another family of microcontroller is the Intel 8051 family. The basic 8051 microcontroller has four parallel input/output ports, port 0, 1,
PPI-8255.
CDA 4253 FPGA System Design PicoBlaze Instruction Set Hao Zheng Comp Sci & Eng U of South Florida.
CDA 4253 FPGA System Design The PicoBlaze Microcontroller
ECE 448: Lab 6 Using PicoBlaze Fast Sorting. Part 1: Introduction to Lab 6 Part 2: Instruction Set of PicoBlaze-6 Part 3: Hands-on Session: OpenPICIDE.
Picoblaze Overview EENG Introduction 8-bit microcontroller for Xilinx devices Soft Core – Soft Processor 5% of the resources of spartan 3 (3S200.
Lecture 13 PicoBlaze I/O & Interrupt Interface Example of Assembly Language Routine ECE 448 – FPGA and ASIC Design with VHDL.
Introduction to Experiment 7 Replacing Hardwired Control Unit with the Picoblaze Microcontroller ECE 448 Spring 2009.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
The 8085 Microprocessor Architecture. What 8085 meant for? 80 - year of invention bit processor 5 - uses +5V for power.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
DEPARTMENT OF ELECTRONICS ENGINEERING V-SEMESTER MICROPROCESSOR & MICROCONTROLLER 1 CHAPTER NO microcontroller & programming.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
Unit Microprocessor.
Seminar On 8085 microprocessor
Lecture 18 PicoBlaze Instruction Set & Assembler Directives
Temperature Measurement
COURSE OUTCOMES OF Microprocessor and programming
Everybody.
The 8085 Microprocessor Architecture
CS501 Advanced Computer Architecture
Basic Processor Structure/design
Lecture 15 PicoBlaze Overview
The 8085 Microprocessor Architecture
8086 Microprocessor.
Introduction of microprocessor
Dr. Michael Nasief Lecture 2
8085 microprocessor.
8085 Microprocessor Architecture
..
RTL Design Methodology
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Advisor: Prof. Gandhi Puvvada
Introduction to Microprocessors and Microcontrollers
Number Representations and Basic Processor Architecture
Lecture 16 PicoBlaze I/O & Interrupt Interface
Computer Architecture
Lecture 16 PicoBlaze Overview
Introduction to ModelSim Implementing Sequential
Advisor: Prof. Gandhi Puvvada
Lecture 18 PicoBlaze I/O Interface
ECE 448: Lab 6 Using PicoBlaze Fast Sorting Class Exercise 2.
Review of Aldec Active HDL Implementing Combinational
Lecture 13 PicoBlaze I/O & Interrupt Interface
8085 Microprocessor Architecture
Introducing the PIC Mid-Range Family and the 16F84A
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
The 8085 Microprocessor Architecture
Lecture 15 PicoBlaze I/O & Interrupt Interface
Lecture 13 PicoBlaze I/O & Interrupt Interface
Lecture 17 PicoBlaze I/O & Interrupt Interface
Lecture 14 PicoBlaze Instruction Set
Computer Architecture Assembly Language
Computer Operation 6/22/2019.
Presentation transcript:

Lecture 14 PicoBlaze Overview ECE 448 – FPGA and ASIC Design with VHDL

ECE 448 – FPGA and ASIC Design with VHDL Required reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 14, PicoBlaze Overview Recommended reading K. Chapman, PicoBlaze for Spartan-6, Virtex-6, and 7-Series (KCPSM6) ECE 448 – FPGA and ASIC Design with VHDL

ECE 448 – FPGA and ASIC Design with VHDL Block diagram of a Single-Purpose Processor (FSMD – Finite State Machine with Datapath) ctrl ECE 448 – FPGA and ASIC Design with VHDL

Block diagram of a General-Purpose Processor (Microcontroller) ECE 448 – FPGA and ASIC Design with VHDL

ECE 448 – FPGA and ASIC Design with VHDL PicoBlaze-3 ECE 448 – FPGA and ASIC Design with VHDL

PicoBlaze-3 Overview

PicoBlaze-6 Overview

PicoBlaze-6 Overview

Size of PicoBlaze-6 in Spartan 6 Make an educated guess Resource Utilization in CLB Slices ? Number of PicoBlaze-6 cores fitting inside of the Spartan-6 FPGA (XC6SLX16) used on the Nexys3 FPGA board

Size of PicoBlaze-6 in Spartan 6 Resource Utilization in CLB Slices 26 CLB Slices 1.1% of Spartan-6 used in Nexys3 Number of PicoBlaze-6 cores fitting inside of the Spartan-6 FPGA (XC6SLX16) used in the Nexys3 FPGA board 87 PicoBlaze cores

Speed of PicoBlaze-6 in Spartan 6 Make an educated guess Maximum Clock Frequency ? Maximum number of instructions per second

Speed of PicoBlaze-6 in Spartan 6 Maximum Clock Frequency 105 MHz Maximum number of instructions per second 52.5 millions of instructions per second (MIPS)

Register File of PicoBlaze-3 1 7 Address 16 Registers 8-bit F s0 s1 s2 s3 s4 s5 s6 s7 Register File of PicoBlaze-3 2 3 4 5 6 7 sF

Register File of PicoBlaze-6 Instructions REGBANK A REGBANK B used to switch between banks Only one set of flags Z, C, I Very useful for interrupt service routines

overflow, underflow, or various conditions Definition of Flags Flags are set or reset after ALU operations Zero flag - Z zero condition Z = 1 if result = 0 0 otherwise Carry flag - C overflow, underflow, or various conditions Example* C = 1 if result > 28-1 (for addition) or result < 0 (for subtraction) 0 otherwise *Applies only to addition or subtraction related instructions, refer to the following slides otherwise

Interface of PicoBlaze-3 KCPSM = constant (K) coded programmable state machine ECE 448 – FPGA and ASIC Design with VHDL

Interface of PicoBlaze-3 Name Direction Size Function clk input 1 System clock signal. reset Reset signal. address output 10 Address of the instruction memory. Specifies address of the instruction to be retrieved. instruction 18 Fetched instruction. port_id 8 Address of the input or output port. in_port Input data from I/O peripherals. read_strobe Strobe associated with the input operation. out_port Output data to I/O peripherals. write_strobe Strobe associated with the output operation. interrupt Interrupt request from I/O peripherals. interrupt_ack Interrupt acknowledgment to I/O peripherals ECE 448 – FPGA and ASIC Design with VHDL

Interface of PicoBlaze-6 Name Direction Size Function clk input 1 System clock signal. reset Reset signal. address output 12 Address of the instruction memory. Specifies address of the instruction to be retrieved. instruction 18 Fetched instruction. port_id 8 Address of the input or output port. in_port Input data from I/O peripherals. read_strobe Strobe associated with the input operation. out_port Output data to I/O peripherals. write_strobe Strobe associated with the output operation. interrupt Interrupt request from I/O peripherals. interrupt_ack Interrupt acknowledgment to I/O peripherals ECE 448 – FPGA and ASIC Design with VHDL

Interface of PicoBlaze-6 ECE 448 – FPGA and ASIC Design with VHDL

Additional Ports of PicoBlaze-6 Name Direction Size Function bram_enable output 1 Read enable for the program memory. This signal should be connected to the enable input of the program memory and is used to reduce the power consumption associated with the BRAM(s). k_write_strobe This output will pulse High for one clock cycle when KCPSM6 executes an ‘OUTPUTK’ instruction and the peripheral logic should capture the data provided on ‘out_port’ into the intended destination defined by the value of ‘port_id[3:0]’. Note that only the lower 4-bits of ‘port_id’ are used during ‘OUTPUTK’. sleep input Active High sleep control. When driven High KCPSM6 will complete the current instruction and then enter a sleep mode in which all activity stops. Whilst in the sleep mode all strobes are inactive and the ‘bram_enable’ is Low to disable the program memory resulting in minimum power consumption. All inputs except ‘reset’ are ignored. When ‘sleep’ is returned Low, KCPSM6 resumes execution from the point that it stopped. ECE 448 – FPGA and ASIC Design with VHDL

Generics of PicoBlaze-6 Name Default Range Function hwbuild X”00” X”00”..X”FF” can be used to define any 8-bit value in the range ‘00’ to ‘FF’. It is then possible to load any KCPSM6 register with this value using the ‘HWBUILD sX’ instruction interrupt vector “X3FF” X”00”..X”FFF” When an interrupt occurs (and interrupts are enabled) then KCPSM6 inserts and executes a special form of CALL instruction to a fixed address known as the interrupt vector. By default this address is ‘3FF’ (the last location of a 1K program memory). scratch_pad_ memory_size 64 64, 128, 256 Size of the scratch pad memory. Increasing the default size to 128 (256) bytes, increases the resource utilization by 2 slices (6 slices). ECE 448 – FPGA and ASIC Design with VHDL

PicoBlaze-6 Instantiation ECE 448 – FPGA and ASIC Design with VHDL

ECE 448 – FPGA and ASIC Design with VHDL Development Flow of a System with PicoBlaze ECE 448 – FPGA and ASIC Design with VHDL

PicoBlaze-3 Programming Model ECE 448 – FPGA and ASIC Design with VHDL

PicoBlaze-6 Programming Model Bank B Bank A FFC FFD FFE FFF ECE 448 – FPGA and ASIC Design with VHDL

Syntax and Terminology Syntax Example Definition sX KK PORT(KK) PORT((sX)) RAM(KK) s7 ab PORT(2) PORT((sa)) RAM(4) Value at register 7 Value ab (in hex) Input value from port 2 Input value from port specified by register a Value from RAM location 4

Addressing modes Immediate mode SUB s7, 07 s7 – 07  s7 ADDCY s2, 08 s2 + 08 + C  s2 Immediate mode SUB s7, 07 ADDCY s2, 08 Direct mode ADD sa, sf INPUT s5, 2a sa + sf  sa PORT(2a)  s5 Indirect mode STORE s3, (sa) INPUT s9, (s2) s3  RAM((sa)) PORT((s2))  s9

PicoBlaze ALU Instruction Set Summary (1)

PicoBlaze ALU Instruction Set Summary (2)

PicoBlaze ALU Instruction Set Summary (3)