CDA 4253 FPGA System Design The PicoBlaze Microcontroller

Slides:



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

Parul Polytechnic Institute
Chapter 2 HARDWARE SUMMARY
The 8085 Microprocessor Architecture
The 8085 Microprocessor Architecture. Contents The 8085 and its Buses. The address and data bus ALU Flag Register Machine cycle Memory Interfacing The.
PicoBlaze CPLD Microcontroller
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
FPGA & Verilog Today’s lecture: Soft core processors A short course on
ECE 448 – FPGA and ASIC Design with VHDL Lecture 13 PicoBlaze I/O & Interrupt Interface.
Microcontroller based system design
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
created by :Gaurav Shrivastava
© 2003 Xilinx, Inc. All Rights Reserved Advanced Features.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
Senior Project Presentation: Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad May 6th, 2003 Internal Hardware Design of a Microcontroller.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Intel 8051 Another family of microcontroller is the Intel 8051 family. The basic 8051 microcontroller has four parallel input/output ports, port 0, 1,
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
CDA 4253 FGPA System Design Xilinx FPGA Memories
CDA 4253 FPGA System Design PicoBlaze Instruction Set Hao Zheng Comp Sci & Eng U of South Florida.
THE MICROPROCESSOR A microprocessor is a single chip of silicon that performs all of the essential functions of a computer central processor unit (CPU)
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.
Introduction to Experiment 7 Replacing Hardwired Control Unit with the Picoblaze Microcontroller ECE 448 Spring 2009.
The 8085 Microprocessor Architecture. What 8085 meant for? 80 - year of invention bit processor 5 - uses +5V for power.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
Block diagram of a computer system Basic components of a computer system using block diagrams: Cpu Memory Input and output unit Evolution of microprocessor.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
Unit Microprocessor.
Lecture 18 PicoBlaze Instruction Set & Assembler Directives
Greatest Common Divisor
Temperature Measurement
COURSE OUTCOMES OF Microprocessor and programming
Everybody.
The 8085 Microprocessor Architecture
Basic Processor Structure/design
UNIT – Microcontroller.
Introduction to microprocessor (Continued) Unit 1 Lecture 2
Lecture 15 PicoBlaze Overview
The 8085 Microprocessor Architecture
Introduction of microprocessor
..
RTL Design Methodology
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Introduction to Microprocessors and Microcontrollers
Lecture 14 PicoBlaze Overview
Lecture 16 PicoBlaze I/O & Interrupt Interface
Lecture 16 PicoBlaze Overview
Introduction to ModelSim Implementing Sequential
FPro Bus Protocol and MMIO Slot Specification
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
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
Presentation transcript:

CDA 4253 FPGA System Design The PicoBlaze Microcontroller Hao Zheng Comp Sci & Eng U of South Florida

Overview of PicoBlaze Soft-core microcontroller in VHDL: portable to other platforms. Small: occupies ~20 CLBs. Respectable performance: 50 MIPS Predictable performance: every instruction takes 2 cycles. Suitable for simple data processing and control.

Required Reading Recommended Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 14, PicoBlaze Overview Recommended Reading PicoBlaxe 8-bit Embedded Microcontroller User Guide (UG129) K. Chapman, PicoBlaze for Spartan-6, Virtex-6, and 7-Series (KCPSM6)

Block diagram of a Single-Purpose Processor ctrl

Block diagram of a General-Purpose Processor (Microcontroller)

8-bit data width, 18-bit instruction width, 10-bit program address PicoBlaze Overview 8-bit data width, 18-bit instruction width, 10-bit program address

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 on Basys-3 Maximum Clock Frequency 100 MHz Maximum number of instructions per second 50 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

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 KCPSM = constant (K) coded programmable state machine

Interface of PicoBlaze in_port[7:0] – input data port that carries the data for the INPUT instruction.

Interface of PicoBlaze out_port[7:0] – carries the output data for an OUTPUT instruction.

Interface of PicoBlaze port_id[7:0] – addresses of components connected to PicoBlaze. Holds for two cycles during an INPUT/OUTPUT instruction.

Interface of PicoBlaze write_strobe – being asserted ‘1’ validates the data on the output_port[7:0].

Interface of PicoBlaze read_strobe – being asserted ‘1’ indicates the capture of the data on the input_port[7:0] during an INPUT instruction.

Interface of PicoBlaze reset – needs to be asserted for at least one cycle.

Interface of PicoBlaze interrupt – assert it for at least two cycles to trigger an interrupt event in PicoBlaze.

Interface of PicoBlaze interrupt_ack – acknowledges the current interrupt has been recognized by PicoBlaze. Used to clear the current interrupt.

Interface of PicoBlaze – Summary 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

Use of PicoBlaze in VHDL Design PicoBlaze Component Declaration

Use of PicoBlaze in VHDL Design PicoBlaze Component Instantiation

Use of PicoBlaze in VHDL Design PicoBlaze Program ROM Component Declaration/Instantiation

Development Flow of a System with PicoBlaze

PicoBlaze-3 Programming Model

Addressing Modes Immediate mode SUB s7, 07 s7 s7 – 07 ADDCY s2, 08 s2 s2 + 08 + C Immediate mode SUB s7, 07 ADDCY s2, 08 Direct mode ADD sa, sf INPUT s5, 2a sa sa + sf PORT_ID 2a s5 IN_PORT Indirect mode STORE s3, (sa) INPUT s9, (s2) RAM[sa] s3 PORT_ID s2 s9 IN_PORT

PicoBlaze ALU Instruction Set Summary (1)

PicoBlaze ALU Instruction Set Summary (2)

PicoBlaze ALU Instruction Set Summary (3)