An Implementation of Picoblaze 8bit Microcontroller in Verilog - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

An Implementation of Picoblaze 8bit Microcontroller in Verilog

Description:

An Implementation of Picoblaze 8-bit Microcontroller in Verilog. CS497 Presentation ... assembler (an executable) gives the verilog file for a program written ... – PowerPoint PPT presentation

Number of Views:310
Avg rating:3.0/5.0
Slides: 23
Provided by: charmC
Category:

less

Transcript and Presenter's Notes

Title: An Implementation of Picoblaze 8bit Microcontroller in Verilog


1
An Implementation of Picoblaze 8-bit
Microcontroller in Verilog
  • CS497 Presentation
  • Supervised by Dr. Shashank K. Mehta
  • Presented by Abhinav S. Bhatele (Y1008)

2
Introduction
  • Constant(k) Coded Programmable State Machine
    (KCPSM) developed by Xilinx
  • It is a 8-bit fully embedded microcontroller
  • It has 8 16-bit registers, ALU, 256 I/O ports,
    15-location CALL/RETURN stack
  • It also has facility for reset and interrupt
  • Instruction size is 16-bits

3
Constant(k) Coded machine
  • Constant values are specified for use in the
    following aspects of a program
  • Constant data value for use in an ALU operation
  • Constant port address to access a specific piece
    of information or control logic external to the
    PicoBlaze module
  • Constant address values for controlling the
    execution sequence of the program
  • Constant Cycles
  • All instructions under all conditions execute
    over two clock cycles.
  • Constant Program Length
  • The program length is 256 instructions

4
Microcontroller Diagram
5
Details
  • Registers
  • 16 8-bit registers labelled from s0 to sF
  • ALU
  • Takes two operands of 8-bits and returns the
    result to the first register
  • Add, Subtract with and without a carry are
    supported
  • LOAD, AND, OR and XOR
  • Flow Control
  • Zero and Carry flags are set by the ALU
    operations
  • CALL/RETURN used for subroutine facilities

6
Details (contd.)
  • Reset
  • Processor goes back to initial state
  • Starts executing from address 00
  • Everything except the registers is reinitialized
  • Input/Output
  • During an input the value on the indicated port
    is transferred to one of the registers
  • During an output the value from one of the
    registers is written on an output port
  • Interrupt
  • A single interrupt is allowed

7
Use of the available VHDL Code
  • Code divided into modules which were instantiated
    and used by the main module
  • Code of individual modules uses pre-defined
    libraries like unisim
  • We looked at the instantiations in the main
    module and the connections between them
  • Port mapping of signals and wires to various
    modules helped us arrive at the datapath

8
Lets see how ??
  • The next problem to figure out what these boxes
    do ?
  • To do this we need to look at the instruction set
    first

9
Instruction Set
  • Program Control Group
  • Jump Instruction Both conditional and
    unconditional
  • Call Instruction

10
  • Program Control Group
  • Return Instruction

11
Interrupt Group
  • ReturnI
  • Enable and Disable Interrupt

12
Logical Group
  • LOAD
  • AND

13
Logical Group (contd.)
  • OR
  • XOR

14
Arithmetic Group
  • ADD without carry
  • ADDC - with carry

15
Arithmetic Group (contd.)
  • SUB without carry
  • SUBC with carry

16
Shift and Rotate Group
  • Shift right
  • Shift left

17
Shift right
18
Shift left
19
Input and Output Group
  • Input
  • Output

20
Individual Modules
  • Operand Select
  • Arithmetic Group
  • Logic Group
  • Shift and Rotate Group
  • ALU Multiplexer
  • ALU Control
  • Program Counter
  • Stack Counter

21
Conclusion
  • The latest assembler (an executable) gives the
    verilog file for a program written in this
    instruction set
  • A module of the Program ROM is used together with
    the processors main module
  • Together they define the complete microcontroller

22
THANK YOU !!
Write a Comment
User Comments (0)
About PowerShow.com