Introduction to Experiment 7 Sorting Using PicoBlaze ECE 448 Spring 2010.

Slides:



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

Programmable Interval Timer
George Mason University ECE 448 – FPGA and ASIC Design with VHDL ECE 448 Lecture 10 Advanced Testbenches.
Insertion Sort using FPGA’s Aaron Tiedje CSE 670 Winter 2004 March 1, 2004 Professor R. Haskell Embedded Systems using FPGA's.
TK 2633 Microprocessor & Interfacing Lecture 3: Introduction to 8085 Assembly Language Programming (2) 1 Prepared By: Associate Prof. Dr Masri Ayob.
Other I/O LCD display Flash ROM Keyboard (PS/2) UART connectors.
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Shift Registers and Counters By Lakshmi Things that appear hard are normally trivial, If you do the obvious in the obvious way. After all, how “tough”
State Machines Used to Design Sequential Circuits.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 13 PicoBlaze I/O & Interrupt Interface.
PS2 Keyboard Interface Using Spartan-3 Starter Kit Board
Principles & Applications
SAP1 (Simple-As-Possible) Computer
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
8279 KEYBOARD AND DISPLAY INTERFACING
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 12 PicoBlaze Overview.
Introduction to structured VLSI Projects 4 and 5 Rakesh Gangarajaiah
ECE 545 Project 2 Specification Part I. Adjust your synthesizable code for Project 1 in such a way that it complies with the following requirements: a.
Introduction to Experiment 6 Internal FPGA Memories, Pseudo Random Number Generator, Advanced Testbenches ECE 448 Spring 2009.
ECE 448: Lab 4 VGA Display Mini-Pacman. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 19 PicoBlaze Interrupt Interface & Assembly Code Development.
Fibonnaci Sequence Generator and Testbench in VHDL Michael Larson.
RTL Design Methodology Transition from Pseudocode & Interface
8279 KEYBOARD AND DISPLAY INTERFACING
ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics.
Introduction ELEC 330 Digital Systems Engineering Dr. Ron Hayne.
CDA 4253 FPGA System Design PicoBlaze Instruction Set Hao Zheng Comp Sci & Eng U of South Florida.
Lecture 5B Block Diagrams HASH Example.
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.
Teaching Digital Logic courses with Altera Technology
Introduction to Experiment 7 Replacing Hardwired Control Unit with the Picoblaze Microcontroller ECE 448 Spring 2009.
George Mason University Advanced Testbenches Lecture 4.
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and ISim. Using Seven-Segment Displays, Buttons, and Switches.
ECE 448: Lab 4 VGA Display Snake Game. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
ASSEMBLY LANGUAGE PROGRAMMING. Course Objectives Identify the major component of a PC-based system, describe the steps involving in assembling, linking,
Programming PIC 16F84A in Assembly. PIC16F84 pin-out and required external components.
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and Isim. Using Seven-Segment Displays, Buttons, and Switches.
KEYBOARD/DISPLAY CONTROLLER - INTEL Features of 8279 The important features of 8279 are, Simultaneous keyboard and display operations. Scanned keyboard.
ECE 448 – FPGA and ASIC Design with VHDL George Mason University ECE 448 Lab 2 Implementing Combinational Logic in VHDL.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
Introduction to the FPGA and Labs
Implementing Combinational
Temperature Measurement
Microprocessor Systems Design I
Lecture 15 PicoBlaze Overview
RTL Design Methodology
Lecture 14 PicoBlaze Overview
Implementing Combinational and Sequential Logic in VHDL
Lecture 16 PicoBlaze I/O & Interrupt Interface
Lecture 16 PicoBlaze Overview
Introduction to ModelSim Implementing Sequential
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
Using Fpro SoC with Hardware Accelerators
Keyboard/Display Controller (8279)
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
Using FPro SoC with customized hardware cores
ECE 448 Lab 3 – Part 1 FPGA Design Flow Based on
Presentation transcript:

Introduction to Experiment 7 Sorting Using PicoBlaze ECE 448 Spring 2010

2ECE 448 – FPGA and ASIC Design with VHDL Sources P. Chu, FPGA Prototyping by VHDL Examples Chapter 14, Picoblaze Overview Chapter 15, Picoblaze Assembly Code Development Chapter 16, Picoblaze I/O Interface Chapter 17, Picoblaze Interrupt Interface

FE 0FF FE 1FF 255 x 8 DATA RAM MEM_BANK BUTTON SSD3 SSD2 LED PRNG_STATUS PRNG_CTRL MEM_BANK MEM_BANK: A8 A8 – current memory bank number = the most significant bit of the address BUTTON: A A – button active (bit cleared by reading register BUTTON or by interrupt_ack), b3-b0 – buttons 3 to 0 respectively For all modes, button 2 switches to the next mode. b0b1b2b3 PRNG_STATUS: D D – done: bit cleared by writing to register PRNG_CTRL, set after PRNG generates bit numbers, PRNG_CTRL: I I – initialize: after 1 is written to this bit, PRNG generates bit numbers, and the corresponding address (index) of each number SSD1 SSD0 SWITCH

SWITCH: S0 S7-S0 – bits correspond to the state of each switch S1S2S3S4S5S6S7

Task 1 – Browsing Mode …. FA FB FC FD FE …. FA FB FC FD FE AddressData Current Address Two 7-Segment Displays (in hexadecimal notation) (SSD1-SSD0) Button 1 = Increment Address Button 0 = Decrement Address Value at Current Address 255x8 RAM Two 7-Segment Displays (in hexadecimal notation) (SSD3-SSD2)

Task 2 – Edit Mode …. FA FB FC FD FE =>06 …. FA FB FC FD FE AddressData Current Address Two 7-Segment Displays (SSD1-SSD0) (in hexadecimal notation) Button 1 = Increment Address Button 0 = Decrement Address Value at Current Address 255x8 RAM Button 3= Edit Button 1 = Increment Data Button 0 = Decrement Data Button 3= Approve Two 7-Segment Displays (SSD3-SSD2) (in hexadecimal notation)

Task 3 – Initialize …. FA FB FC FD FE B5 C6 …. 7A 5B AddressData Button 3 = Initialize with Pseudorandom Values 255x8 RAM

8-bit LFSR (Linear Feedback Shift Register) with the period of R R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7 = D flip-flop with set or reset determining its initial value after “soft” reset Run for 8 clock cycles before using a new output value.

Task 4 – Sorting …. FA FB FC FD FE …. B4 B6 B8 CC D4 AddressData Button 3= sorting using one of the following modes sorting signed numbers in the descending order sorting signed numbers in the ascending order sorting unsigned numbers in the descending order sorting unsigned numbers in the ascending order Switches 7-6 control the sorting type “00”- signed descending “01”- signed ascending “10” - unsigned descending “11” – unsigned ascending 255x8 RAM

Task 5 – Advanced Testbench Processes Generating Input Stimuli Design Under Test (DUT) Process Comparing Actual Outputs vs. Expected Outputs Design Correct/Incorrect Yes/No Testvector file(s)

Task 5 – Format of an input file number of entries to be sorted (in decimal) empty line numbers to be sorted in the initial order (in the hexadecimal notation, one number per line) empty line numbers after sorting (in the hexadecimal notation, one number per line) 6 B4 89 A A3 B4

Extra Credit Implement keyboard input using the arrow keys using the PS/2 connector in order to replace the buttons. Implement mouse input by using the mouse to click on quadrants on the screen representing different buttons.

Extra Credit

Introduction to Picoblaze Development Environment (Hands-on Session)