Presentation is loading. Please wait.

Presentation is loading. Please wait.

PicoBlaze & MicroBlaze Ernest Jamro Dep. Of Electronics AGH – University of Science and Technology.

Similar presentations

Presentation on theme: "PicoBlaze & MicroBlaze Ernest Jamro Dep. Of Electronics AGH – University of Science and Technology."— Presentation transcript:

1 PicoBlaze & MicroBlaze Ernest Jamro Dep. Of Electronics AGH – University of Science and Technology

2 2 MicroBlaze 32 bit soft-processor 32 bit instructions 32 registers Independent data and instruction buses Different bus standards: - PLB (Processor Local Bus) - AXI ( Advanced eXtensible Interface) - LMB (Local Memory Bus) - FSL (Fast Simplex Link)

3 3 MicroBlaze Block Diagram

4 4 Different Bus Configurations LMB:AXI / PLB Complexitysimplycomplex Local/glonallocalglobal # Master1>=1

5 5 MB bus configurations: only LMB This configuration cannot communicat with external modules, thus should not be employed

6 6 LMB: Instructions, PLB:Data

7 7 EDK Print Screen

8 8 Instructions:LMB; Data: PLB + LMB MB employs LMB for instructions and memory access and PLB/AXI for peripheral module access

9 9 Only one PLB/AXI bus

10 10 Two PLB/AXI buses Warning: plb_ddr memory cannot be written (how to initialise instruction memory)

11 11 Two PLBs, single memory

12 12 Without Data Cache Manual (in C program) handling of data memory transfer

13 13 Example (6) The MB is booted from BRAM

14 14 Fast Simplex Link (FSL) 32-bit single direction bus – one master one slave

15 15 Registers R0-R31 32x32-bit –general purpose registers R0- always equal to 0 PC – Program counter – initial value = 0 MSR (Machine State Register)

16 16 MSR

17 17 Instruction Format Typu A Instruction Typu B instruction Example: instruction ADD

18 18 Example of Instructions

19 19

20 20 Pipeline Architecture Delay Slot Instructions

21 21 (Hard)Procesor (e.g. PowerPC in Virtex 2Pro) Implemented directly in silicon (ASIC technology) Employs ASIC technology (not FPGA technology) so this silicon area cannot be reused for other purposes Parameters are defined (ASIC) and cannot be changed Is relatively fast and consumes relatively small silicon area and power

22 22 Soft-procesor (e.g. MicroBlaze) Employs standard FPGA logic resources thus the logic resources can be freed when not required Parameters can be freely defined by a user In comparison to the hard-processor is slower, consumes more silicon area and power

23 23 MicroBlaze parameters Different types of buses (PLB/AXI, LMB) (Implement or not) cache memory, define its size Barrel-Shifter fast multiplier: define the bit-width of the multiplier: 32-bit, 64- bit divider debugger (and its parameters) Floating-point unit (and its parameters) MMU – Memory Management Unit

24 24 EDK - Ports

25 25 EDK Addresses

26 26 Adding IP-Cores

27 27 IP-Core Options

28 28 Microprocessor Hardware Specification

29 29 8-bit soft-processor PicoBlaze Optimized for Xilinx Spartan-3 architecturejust 96 slices (0.3% of an XC3S5000 device) and 0.5 to 1 block RAM 16 byte-wide general-purpose data registers 1K instructions of programmable on-chip program store, automatically loaded during FPGA configuration Byte-wide Arithmetic Logic Unit (ALU) with CARRY and ZERO indicator flags 64-byte internal scratchpad RAM 256 input and 256 output ports for easy expansion and enhancement Automatic 31-location CALL/RETURN stack Predictable performance, always two clock cycles per instruction, up to 200 MHz or 100 MIPS in a Virtex-II Pro FPGA Fast interrupt response; worst-case 5 clock cycles Support in Spartan-6, and Virtex-6 FPGA architectures Assembler, instruction-set simulator support

30 30 Block diagram

31 31 Example, external multiplier

32 32 PicoBlaze, in VHDL processor: kcpsm port map( address => address_signal, instruction => instruction_signal, port_id => port_id_signal, write_strobe => write_strobe_signal, out_port => out_port_signal, read_strobe => read_strobe_signal, in_port => in_port_signal, interrupt => interrupt_signal, reset => reset_signal, clk => clk_signal);

33 33 PB, assembler

34 34 PB, data moving

35 35 MicroBlaze – cache memory Small cache memory is much quicker than external memory For the MB it is better to use internal BRAM memory (in the case when data moving is easily determined) than cache as BRAM as quick as cache memory but consumes less recourses

36 36 cache block structure This structure is for tutorial-pupose only (not used in real applications)

37 37 Real Application

38 38 The End

39 39 Uproszczony przykład działania Pamięć Tag CacheL.DanaTag Cache adr 00x00 0x x000x x000x x030x030C 40x030x x050x x060x x070x071C... Linie adresowe: a 30 -a 31 – ignorowane – dane są 4 bajtowe a 24 -a 29 – linie adresowe pamięci tag i danych (instrukcji) a 0 -a 23 – linie adresowe zapisywane w pamięci tag i wykorzystywane podczas porównywania

40 40 LMB (Local Memory Bus) Sygnały

41 41 LMB (odczyt i zapis)

42 42 LMB szybki odczyt

Download ppt "PicoBlaze & MicroBlaze Ernest Jamro Dep. Of Electronics AGH – University of Science and Technology."

Similar presentations

Ads by Google