Picoblaze Overview EENG 2910. Introduction 8-bit microcontroller for Xilinx devices Soft Core – Soft Processor 5% of the resources of spartan 3 (3S200.

Slides:



Advertisements
Similar presentations
Control Unit Implemntation
Advertisements

PicoBlaze CPLD Microcontroller
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 1: Bits, bytes and a simple processor dr.ir. A.C. Verschueren.
TK 2633 Microprocessor & Interfacing
CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model
Execution of an instruction
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Memory - Registers Instruction Sets
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
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.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Programming Models CT213 – Computing Systems Organization.
Machine Instruction Characteristics
Basic Architecture Lecture 15. In general, if the number of bits is n, then the number of different combinations of 0s and 1s that can be made is 2 n.
© 2003 Xilinx, Inc. All Rights Reserved Advanced Features.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
Execution of an instruction
Lecture 14 Today’s topics MARIE Architecture Registers Buses
CS 111 – Sept. 15 Chapter 2 – Manipulating data by performing instructions “What is going on in the CPU?” Commitment: –Please read through section 2.3.
1 Purpose of This Chapter In this chapter we introduce a basic computer and show how its operation can be specified with register transfer statements.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 19 PicoBlaze Interrupt Interface & Assembly Code Development.
Dale & Lewis Chapter 5 Computing components
CDA 4253 FPGA System Design PicoBlaze Instruction Set Hao Zheng Comp Sci & Eng U of South Florida.
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.
What is a program? A sequence of steps
Lecture 13 PicoBlaze I/O & Interrupt Interface Example of Assembly Language Routine ECE 448 – FPGA and ASIC Design with VHDL.
PART 4: (1/2) Central Processing Unit (CPU) Basics CHAPTER 12: P ROCESSOR S TRUCTURE AND F UNCTION.
Structure and Role of a Processor
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
8 085Microprocessor Temp Reg (8) Accumulator (A reg) Flag flip flops(8) Instruction Register (8) Arithmetic Logic Unit ALU Instruction Decoder and Machine.
“ INSTRUCTIONS SET OF AVR MICROCONTROLLER ” SIGMA INSTITUTE OF ENGINEERING Prepared By: SR.NO NAME OF STUDENT ENROLLMENT 1 Abhishek Lakhara
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
Lecture 18 PicoBlaze Instruction Set & Assembler Directives
Gunjeet Kaur Dronacharya Group of institutions
3.Instruction Set of 8085 Consists of 74 operation codes, e.g. MOV
Lecture 15 PicoBlaze Overview
Chap 7. Register Transfers and Datapaths
Introduction of microprocessor
Chapter 4 The Von Neumann Model
Microcomputer Programming
Computer Organization and Design
Chapter 4 The Von Neumann Model
Assembly Programming using MIPS R3000 CPU
Lecture 14 PicoBlaze Overview
CS/COE0447 Computer Organization & Assembly Language
Computer Architecture
Lecture 16 PicoBlaze Overview
Introduction to ModelSim Implementing Sequential
CS149D Elements of Computer Science
Review of Aldec Active HDL Implementing Combinational
ECE232: Hardware Organization and Design
MARIE: An Introduction to a Simple Computer
ECEG-3202 Computer Architecture and Organization
ECEG-3202 Computer Architecture and Organization
Prof. Sirer CS 316 Cornell University
The Stored Program Computer
Assembly Programming using MIPS R3000 CPU
MIPS Assembly.
Computer Concept and Practice
Lecture 14 PicoBlaze Instruction Set
Basic components Instruction processing
CPU Structure and Function
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Computer Architecture Assembly Language
Chapter 4 The Von Neumann Model
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Picoblaze Overview EENG 2910

Introduction 8-bit microcontroller for Xilinx devices Soft Core – Soft Processor 5% of the resources of spartan 3 (3S200 devicee) Compact, and Flexible Utilized for simple data processing and control

Introduction 8-bit data width 8-bit ALU with carry and zero flag 16 8-bit general-purpose registers 64-byte data memory 18 bit instruction width 10-bit instruction address (supports 1024 instr.) 256 input ports and 256 output ports 2 clock cycles per instruction

Instruction Set Logical Instructions Arithmetic Instruction Compare and test Instruction Shift and rotate Instruction Data Movement Instruction Program flow control Instructions Interrupt related Instruction

Programming Model (Notation) sX, sY : represents General Purpose Register Pc : Program Counter Tos : top-of-stack pointer of the call/return stack c, z, i: carry, zero, and interrupt flags Kk : 8 bit constant or port id Ss : 6-bit constant data memory address AAA: 10-bit constant instruction memory address.

Instruction Format op sX, sY : register-register format (sX, sY – operand, op – operation, sX – destination, sX  sX op kk) op sX, kk: register-constant format (?) op sX: single – register format – used in shifting and rotating instructions with one operand. op AAA : single-address format. E.g jump and call instruction. AAA – address. Op - instruction without operand

Operations (Examples) Logical Operation (6 instructions) : and, or, xor Arithmetic operation (8): add, addcy or addc (addcy – add with carry flag), sub, subcy or subc. Compare and Test operation: compare sX, sY or comp sX, sY, compare sX, kk or comp sX, kk if sX=sY then z  1 else z  0; if sX>sY then c  1 else c  0; test sX, SY t  s X and s Y ; if t = 0 then else z  0; C  t(7) xor t(6) xor....xor t(0)

Operations Shift and Rotate Instruction sl0 sX – Shift a register left 1 bit and shift 0 into the LSB. sX  sX(6…0) & 0; c  sX(7) sl1 sX – shift a register left 1 bit and shift 1 into LSB. sX  sX(6…0) & sX(0); c  sX(7) slx sX – shift a register left 1 bit and shift sX(0) into the LSB. sla sX – shift left 1 bit and shift c into LSB similarly, sr0, sr1, srx, sra sX, rl sX, rr sX etc.

Data Movement Computation done via Registers and ALU Movement between - registers – load -Register and data RAM – Fetch and Store -Register and I/O port : input and output Load sX, sY; load sX, kk; - sX  (sY or kk); fetch sX, (sY) or fetch (sX, sY);- sX  RAM(sY); Fetch sX, SS, - sX  RAM(sY); store sX, (sY) (or store sX, sY) –RAM[sX]  sX; - move data from register to data RAM. Input sX, (sY), or in sX, sY –move data from input port to a register. sX  in_port Output sX, (sY) (out sX, sY) move data from a register to the input port

Program Flow Jump, call, and return – load a value to the program counter and modify program flow. Unconditionally or conditionally based on zero and carry flags. Jump AAA – unconditional jump Jump c, AAA – jump if carry flag is set ( if c = 0 then pc  AAA else pc = pc + 1) Jump nc, AAA; jump z, AAA; jump nz, AAA

Program flow - Call and Return Implementation of functions Call – loads a new value to the pc, saves it current value to a stack (special buffer). The routine contains a return( obtains the saved value from the stack and increment by 1) at the end. Picoblaze support nested function (LIFO). Picoblaze has 31-word stack.

Program flow Call AAA (unconditionally call subroutine) tos  tos Stack [tos]  pc; Pc  AAA Call c, AAA (conditionally call subroutine) If (c = 1) tos  tos Stack [tos]  pc; Pc  AAA Else Pc  pc + 1 Return (ret) Return c, (ret c)